From: Adam Beneschan <adam@irvine.com>
Subject: Re: What is the warning about builtin-function on gcc-4.6.0 ?
Date: Tue, 29 Mar 2011 18:02:40 -0700 (PDT)
Date: 2011-03-29T18:02:40-07:00 [thread overview]
Message-ID: <f0937e6c-cc40-47b9-b17b-2f3fd594e61e@r19g2000prm.googlegroups.com> (raw)
In-Reply-To: wcc39m5u64w.fsf@shell01.TheWorld.com
On Mar 29, 11:35 am, Robert A Duff <bobd...@shell01.TheWorld.com>
wrote:
> > And if it didn't do that, the implementor could change the function to
> > include 'Valid on the operands to ensure that they're not invalid.
>
> Sure, EQUAL can raise C_E on invalid values.
> But I don't think it can return True for invalid values
> that are not mathematically equal. (If it can, I think it's
> a mistake in the REPORT package.) I'm too lazy to inspect it
> right now.
The version of Report's body I'm looking at is from 3/29/01, but the
comments don't indicate any changes to EQUAL since the first version.
EQUAL can't propagate C_E because it has an exception handler for it:
it just reverts to "return X = Y" if any exception is raised. If the
compiler's behavior is incorrect and doesn't raise C_E for
abs(Integer'First) when it's supposed to, then presumably
abs(Integer'First) will still be Integer'First (on a normal 2's
complement machine), and EQUAL will return TRUE. [If the compiler did
something interesting like reserving a bit pattern like 16#8000# or
16#80000000# to be an invalid integer, then Integer'Last would be -
Integer'First and the interesting part of C45632A would never be
executed due to the first IF.]
-- Adam
next prev parent reply other threads:[~2011-03-30 1:02 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-26 6:32 What is the warning about builtin-function on gcc-4.6.0 ? ytomino
2011-03-26 8:45 ` Florian Weimer
2011-03-26 9:13 ` ytomino
2011-03-26 9:43 ` Florian Weimer
2011-03-26 10:07 ` ytomino
2011-03-26 10:24 ` Florian Weimer
2011-03-26 15:14 ` Dmitry A. Kazakov
2011-03-26 21:36 ` ytomino
2011-03-27 9:50 ` Dmitry A. Kazakov
2011-03-26 14:50 ` Simon Wright
2011-03-26 15:50 ` Florian Weimer
2011-03-26 16:32 ` Simon Wright
2011-03-26 17:02 ` Florian Weimer
2011-03-26 17:48 ` Simon Wright
2011-03-26 18:48 ` Florian Weimer
2011-03-27 2:08 ` Randy Brukardt
2011-03-27 8:37 ` Florian Weimer
2011-03-27 16:41 ` Robert A Duff
2011-03-27 17:21 ` Florian Weimer
2011-03-27 17:56 ` Robert A Duff
2011-03-27 16:51 ` Robert A Duff
2011-03-27 17:05 ` Florian Weimer
2011-03-27 17:14 ` Robert A Duff
2011-03-29 2:20 ` Randy Brukardt
2011-03-29 18:35 ` Robert A Duff
2011-03-29 23:35 ` Randy Brukardt
2011-03-30 1:02 ` Adam Beneschan [this message]
2011-03-30 12:57 ` Robert A Duff
2011-03-30 14:41 ` Adam Beneschan
2011-03-30 18:39 ` Robert A Duff
2011-03-30 19:28 ` Randy Brukardt
2011-03-26 21:58 ` ytomino
2011-03-26 22:00 ` Florian Weimer
2011-03-26 22:22 ` anon
2011-03-26 22:36 ` ytomino
2011-03-27 12:00 ` anon
2011-03-27 18:50 ` ytomino
2011-03-27 23:35 ` anon
2011-03-27 23:42 ` anon
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox