On Wed, Nov 21, 2012 at 1:27 PM, Stephen Canon <[email protected]> wrote: > Hi all -- > > This patch attempts to clean up the situation for 128-bit and MS-style > integer literals, as discussed on cfe-dev back in September ("MS 128-bit > literals don't always have the correct type"). > > Here is the brief overview of the intended changes: > > - The MS suffixes i32 and i64 now mean "give me an integer of exactly > this size" rather than "of at least this size", as indicated by tests > performed by various people and reported in the September thread. > - The i128 suffix has been eliminated, as MSVC never actually > supported it; it seems to have snuck into the clang codebase at some point in > the hazy past. > - On targets that support i128 (LP64 targets), literals that are too > large to fit into [unsigned] long long become [unsigned] i128, as allowed by > the paragraphs on "extended integer types" in the C and C++ standards. We > issue a warning in such cases because clang will differ from GCC.
This seems to violate the C requirement that intmax_t is able to represent any signed integer value, etc. -Eli _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
