Long long & templates (was: Re: Loki's tricky templates)
Phil Edwards
pedwards@disaster.jaj.com
Mon Apr 23 13:39:00 GMT 2001
On Mon, Apr 23, 2001 at 07:06:56PM +0200, Paolo Carlini wrote:
> Now I have a curiosity about which I'd like to ask your opinion (I don't know if this
> is a classified topic): why the choice was made to limit for Gcc3.0 that size, at risk
> of an *apparent* (I know that long long are not standard but nonetheless...)
> regression from Gcc2.95.2 (i.e., those 3 Boost testsuite failures)???
I happened on this code yesterday while reading over some mangling documents.
It doesn't seem to be a design decision (e.g., "let's not implement this at
all"), rather it seems that the author had to delay the issue while solving
other problems (e.g., "this probably won't happen anytime soon, I hope").
/* Write out an integeral CST in decimal. */
static inline void
write_integer_cst (cst)
tree cst;
{
if (tree_int_cst_sgn (cst) >= 0)
{
if (TREE_INT_CST_HIGH (cst) != 0)
sorry ("mangling very large integers");
write_unsigned_number (TREE_INT_CST_LOW (cst));
}
else
write_signed_number (tree_low_cst (cst, 0));
}
I'm not familiar with the mangling code, so I don't know how feasible it
would be to "simply" extend write_number to handle full INTEGER_CST's; right
now it takes a single HOST_WIDE_INT instead of the (I think) needed two.
Phil
--
pedwards at disaster dot jaj dot com | pme at sources dot redhat dot com
devphil at several other less interesting addresses in various dot domains
The gods do not protect fools. Fools are protected by more capable fools.
More information about the Gcc
mailing list