This is the mail archive of the gcc-bugs@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: c/9166: [2003-01-03] C front end's type scoping not right


Joseph S. Myers wrote:-

> What makes you think the former prototype is visible at the latter?  The
> former declaration has block scope; as the Rationale discusses, there is a
> delibrate compromise in the standard here, where a former block scope
> external declaration can be considered, but need not be.  Incompatible
> declarations need only be diagnosed in the same scope (by 6.7#4).  
> Declarations refering to the same object or function that are not in the
> same scope merely yield undefined behavior if of incompatible types
> (6.2.7#2).

Fair enough.  Obviously I'd never considered the former declaration
visible, it clearly isn't.  I'd just not read the consequences of
incompatible declarations closely enough.

I think a pedwarn would be nice, though I suspect it's hard with GCC's
current code.

At least the behaviour is better than EDG and LCC, which always reject the
second declaration as incompatible even when it's identical.

Neil.


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