ncw added inline comments.

================
Comment at: lib/Basic/Targets/WebAssembly.h:108
   IntType getLeastIntTypeByWidth(unsigned BitWidth, bool IsSigned) const final 
{
-    // WebAssembly uses long long for int_least64_t and int_fast64_t.
-    return BitWidth == 64
+    // WebAssembly uses long long for int_least64_t and int_fast64_t, and int
+    // for int_least16_t and int_fast16_t.
----------------
ncw wrote:
> dschuff wrote:
> > I think we want least16_t to still be short, no? We do still support 16-bit 
> > shorts, so my interpretation is that the smallest type with width of at 
> > least 16 should still be 16.
> ...is there a way to do that? I couldn't find any other archs that do it; it 
> seems like the stdint.h that Clang provides requires least16_t to match 
> fast16_t. I copied this from the AVR target, although maybe that doesn't 
> support 16-bit at all.
Sorry, now I see that AVR uses int because it has 16-bit ints...

There isn't any existing Clang target that uses 32-bit for fast16_t, so maybe 
it's currently not possible within Clang's framework (or at least, not without 
also fiddling with least16_t). `lib/Frontend/InitPreprocessor.cpp` hardcodes 
some logic with sets them to be the same.

I can abandon this review if that's not acceptable collateral damage (probably 
not, on reflection) - or could tweak InitPreprocessor.cpp and stdint.h to be 
more flexible (might need more review if you don't "own" those files?)


Repository:
  rC Clang

https://reviews.llvm.org/D41941



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to