[PATCH] D100701: [clang][AVR] Redefine some types to be compatible with avr-gcc

Ben Shi via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 13 19:14:32 PDT 2021


benshi001 added inline comments.


================
Comment at: clang/lib/Basic/Targets/AVR.cpp:313
+  Builder.defineMacro("__UINT16_TYPE__", "unsigned int");
+  Builder.defineMacro("__INT16_TYPE__", "int");
 
----------------
efriedma wrote:
> Redefining `__INT16_TYPE__` like this is unusual.  The macro is normally defined in InitPreprocessor.cpp; if the logic there is wrong, I'd prefer to fix it there.
> 
> For specific types int16_t and uint16_t, I'm not sure if anything inside the compiler actually uses them at the moment, but I'd prefer to encode the type in the TargetInfo, along the lines of getInt64Type(), in case we need these types elsewhere in the future.
Making changes to InitPreprocessor.cpp will affect all targets, and I not familar with other targets. Actually AVR is so special that it defines  `__INT16_TYPE__` to `int`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100701/new/

https://reviews.llvm.org/D100701



More information about the cfe-commits mailing list