IMA corner case with forward declarations of statics
Geoff Keating
geoffk@geoffk.org
Thu Jun 24 21:08:00 GMT 2004
On 24/06/2004, at 11:56 AM, Dale Johannesen wrote:
> On Jun 24, 2004, at 11:48 AM, Zack Weinberg wrote:
>> Dale Johannesen <dalej@apple.com> writes:
>>
>>> However, 6.2.2 makes it clear that the order does matter,
>>> and the reverse order is undefined behavior. (Which does not mean we
>>> have to treat it as an error; you and I both thought this was valid,
>>> and I'm sure I've seen it done that way. Disallowing it is sure to
>>> break existing code.)
>>
>> Yeah, and there are examples in GCC's own source. I'm thinking
>> mandatory warning in normal mode, error in IMA mode.
>
> I really don't think IMA mode ought to affect semantics. The
> result of building and running a program in IMA mode should be the
> same as with separate compilation, but possibly better optimized, IMO.
There are errors that we produce when doing IMA that we can't produce
when we aren't, because we have more information when doing IMA. For
instance, we detect when a function is declared one way in one
translation unit, and used a different way in another.
More information about the Gcc
mailing list