This is the mail archive of the
mailing list for the GCC project.
Re: [patch] change specific int128 -> generic intN
- From: Marc Glisse <marc dot glisse at inria dot fr>
- To: DJ Delorie <dj at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Sat, 28 Jun 2014 12:09:06 +0200 (CEST)
- Subject: Re: [patch] change specific int128 -> generic intN
- Authentication-results: sourceware.org; auth=none
- References: <201404142303 dot s3EN3ONP009938 at greed dot delorie dot com> <201406211624 dot s5LGOFC8031566 at greed dot delorie dot com> <alpine dot DEB dot 2 dot 10 dot 1406211857280 dot 2124 at laptop-mg dot saclay dot inria dot fr> <201406240540 dot s5O5eMQV013685 at greed dot delorie dot com>
(oups, the message got stuck in my mailer, should have been sent a while
On Tue, 24 Jun 2014, DJ Delorie wrote:
Since the check for __STRICT_ANSI__ is removed, do we need to add
__extension__ in front of __GLIBCXX_TYPE_INT_N_0 to avoid warning with
I copied the code from the __int128 case, and it explicitly bypassed
-Wsystem-headers... so we don't have that problem.
That seems complicated. You just need to call emit_support_tinfo_1 on
each of the types (see how fundamentals is used at the end of the
function), no need to put everything in the array.
Sure, *now* you tell me that :-)
Sorry, I should have made that clearer when I introduced
I can do it either way, but it's the same overhead to iterate through
the types. Shoving it into the array is a bit more future-proof, but
keeping the index in sync is a bit of work if the table ever changes.
We are already going to have a second loop, not on the fundamentals array,
calling emit_support_tinfo_1 for __float128 when available, so the array
won't be complete anymore. More precisely, it will iterate either on all
the types on which register_builtin_type was called or on float modes that
don't correspond to float/double/long double (depends on how much they
Your choice ;-)