diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/redecl-14.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/redecl-14.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/redecl-14.c b/gcc/testsuite/gcc.dg/redecl-14.c new file mode 100644 index 000000000..b27c02441 --- /dev/null +++ b/gcc/testsuite/gcc.dg/redecl-14.c @@ -0,0 +1,22 @@ +/* Some incompatible external linkage declarations were not diagnosed. + Bug 21342. Test type in inner scope is correct. */ +/* Origin: Joseph Myers <joseph@codesourcery.com> */ +/* { dg-do compile } */ +/* { dg-options "" } */ + +typedef int IA[]; +typedef int IA5[5]; +typedef IA *IAP; +typedef IA5 *IA5P; +extern IAP a[]; +void +f (void) +{ + { + extern IA5P a[]; + sizeof (*a[0]); + } + extern IAP a[]; + extern IAP a[5]; + sizeof (*a[0]); /* { dg-error "invalid application of 'sizeof' to incomplete type 'IA'" } */ +} |