[patch] change specific int128 -> generic intN

Marc Glisse marc.glisse@inria.fr
Sat Jun 28 10:09:00 GMT 2014


(oups, the message got stuck in my mailer, should have been sent a while 
ago)

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
>> -Wsystem-headers?
>
> I copied the code from the __int128 case, and it explicitly bypassed
> -Wsystem-headers...  so we don't have that problem.

Ah... indeed.

>> 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 
emit_support_tinfo_1...

> 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 
break ARM).

> Your choice ;-)

Well, Jason's.

-- 
Marc Glisse



More information about the Libstdc++ mailing list