This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: IMA corner case with forward declarations of statics



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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]