This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: proposal to make SIZE_TYPE more flexible
- From: DJ Delorie <dj at redhat dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: richard dot guenther at gmail dot com, gcc at gcc dot gnu dot org
- Date: Wed, 8 Jan 2014 19:31:16 -0500
- Subject: Re: proposal to make SIZE_TYPE more flexible
- Authentication-results: sourceware.org; auth=none
- References: <201310300422 dot r9U4M6Mx002568 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1311161211240 dot 32731 at digraph dot polyomino dot org dot uk> <201311212241 dot rALMf15B028014 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1311212258320 dot 26755 at digraph dot polyomino dot org dot uk> <201311220828 dot rAM8Ss0q011135 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1311221231510 dot 5029 at digraph dot polyomino dot org dot uk> <201311221933 dot rAMJXDUt031382 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1311222046100 dot 12354 at digraph dot polyomino dot org dot uk> <201311222118 dot rAMLIxag003002 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1311230039030 dot 12354 at digraph dot polyomino dot org dot uk> <201312100334 dot rBA3YwMq017441 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1312101709200 dot 15324 at digraph dot polyomino dot org dot uk> <201312201947 dot rBKJlgKS003922 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1312202151510 dot 29339 at digraph dot polyomino dot org dot uk> <201312202159 dot rBKLxmIZ007173 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1312202215280 dot 29339 at digraph dot polyomino dot org dot uk> <201312202240 dot rBKMeVfM008400 at greed dot delorie dot com> <Pine dot LNX dot 4 dot 64 dot 1312210100330 dot 29339 at digraph dot polyomino dot org dot uk>
> I think a patch is more useful once believe feature-complete, which
> means replacing the __int128 support with the new mechanism.
One of the side-effects of taking out the existing __int128 support is
that __int128 isn't in the integer_type_kind list, so isn't a type
that is usable for constants. This breaks int128-4.C, which assumes a
128-bit integer constant. If I add generic support for intN types in
i_t_k[], then we'll get (for example) 20-bit constants, which might
not be what we want. The only other option is to special-case
__int128 if we find it in the __intN list.
Thoughts?
Also, I noted a few tests check for the int128-specific error message
when the type is not supported, but as per our previous discussion,
the __int128 keyword just doesn't exist if the type isn't supported.
Do we need to discern between "not supported with these options" and
"not supported ever" ?