[Bug c/49595] on amd64, sizeof(__int128_t) > sizeof(intmax_t)

sandals at crustytoothpaste dot net gcc-bugzilla@gcc.gnu.org
Thu Jun 30 20:22:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49595

--- Comment #8 from brian m. carlson <sandals at crustytoothpaste dot net> 2011-06-30 20:22:37 UTC ---
(In reply to comment #6)
> By (directly) using an identifier starting with two underscores you are leaving
> the territory of the C standard.

I don't agree.  The footnote to the text that I quoted states:
"Implementation-defined keywords shall have the form of an identifier reserved
for any use as
described in 7.1.3."  So the standard specifies that such
implementation-defined signed integer types (which it has just instructed
implementors must be implemented using double underscores) are part of the
signed integer types. I don't see another legitimate interpretation here.

As I said previously, I want to use 128-bit integers where possible. If
intmax_t were correctly and appropriately defined as to use 128-bit integers,
then the behavior would not only be standards-conforming with regard to C99,
but it would also be practically useful and I wouldn't have to use
double-underscored types at all.



More information about the Gcc-bugs mailing list