This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/49595] on amd64, sizeof(__int128_t) > sizeof(intmax_t)
- From: "sandals at crustytoothpaste dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 30 Jun 2011 20:22:43 +0000
- Subject: [Bug c/49595] on amd64, sizeof(__int128_t) > sizeof(intmax_t)
- Auto-submitted: auto-generated
- References: <bug-49595-4@http.gcc.gnu.org/bugzilla/>
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.