public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/21342] New: [4.0/4.1 Regression] some incompatible external declarations not diagnosed
@ 2005-05-02 19:55 jsm28 at gcc dot gnu dot org
  2005-05-02 20:00 ` [Bug c/21342] " pinskia at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2005-05-02 19:55 UTC (permalink / raw)
  To: gcc-bugs

My fix to bug 13801 caused some cases of incompatible declarations with external
linkage (in different scopes) not to be diagnosed.  pushdecl fails to update the
type in the external scope with the new information from the new declaration if
there was already a declaration in the current scope, or to check for
consistency with the type in the external scope in those circumstances.

Test 1:

int f(int (*)[]);
int g() { int f(int (*)[2]); }
int f(int (*)[3]);

Test 2:

extern int a[];
void f(void) { extern int a[]; extern int a[10]; }
extern int a[5];

Test 3:

extern int a[];
void f(void) { extern int a[10]; }
extern int a[5];

-- 
           Summary: [4.0/4.1 Regression] some incompatible external
                    declarations not diagnosed
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jsm28 at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21342


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-05-11 10:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-02 19:55 [Bug c/21342] New: [4.0/4.1 Regression] some incompatible external declarations not diagnosed jsm28 at gcc dot gnu dot org
2005-05-02 20:00 ` [Bug c/21342] " pinskia at gcc dot gnu dot org
2005-05-10 12:38 ` cvs-commit at gcc dot gnu dot org
2005-05-10 12:41 ` cvs-commit at gcc dot gnu dot org
2005-05-10 16:41 ` pinskia at gcc dot gnu dot org
2005-05-11 10:18 ` schwab at suse dot de
2005-05-11 10:50 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).