jroelofs added a comment. In https://reviews.llvm.org/D27123#615738, @saaadhu wrote:
> Thanks, setting DoubleFormat and LongDoubleFormat fixed the __DBL_ and > __LDBL_ differences. Also, setting SigAtomicType fixed the __SIG_ATOMIC_ > differences as well. I've added those defines to the test. Unrelated, but I > also removed a redundant set of LongLongAlign and overriding of > GetDefaultDwarfVersion (returning 2 wasn't necessary). > > The only remaining (textually) conflicting defines between "avr-gcc -dM -E" > and "clang -dM -E" are > > 1. short vs int for a bunch of __xxx_TYPE__ defines, like say > __CHAR16_TYPE__. short and int are both 2 bytes for the avr, so I think > either one is ok. This will bite you when it comes to C++. Those two types are mangled differently, so you'll get an ABI mismatch in overloads that use those typedefs. > 2. Casts vs plain literals in the defines for double MIN, MAX values. > avr-gcc, for example, defines #define __DBL_MAX__ ((double)3.40282347e+38L), > whereas clang does #define __DBL_MAX__ 3.40282347e+38. Again, I think this > shouldn't matter - I've added the literals sans the cast to the test. That should be fine. https://reviews.llvm.org/D27123 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits