rt_gccstream/gcc/testsuite/gcc.dg/wtr-label-1.c

53 lines
1.2 KiB
C

/* Test for -Wtraditional warnings on label conflicts with identifiers.
Note, gcc should omit these warnings in system header files.
Origin: Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8/24/2000. */
/* { dg-do compile } */
/* { dg-options "-Wtraditional" } */
enum foo1 { a };
struct foo2 { int i; };
union foo3 { int j; };
int foo4;
typedef int foo5;
void
testfunc1 (foo6)
int foo6;
{
int foo7;
foo1:
foo2:
foo3:
foo4: /* { dg-warning "traditional C lacks" "label conflicts with identifier" } */
foo5: /* { dg-warning "traditional C lacks" "label conflicts with identifier" } */
foo6: /* { dg-warning "traditional C lacks" "label conflicts with identifier" } */
foo7: /* { dg-warning "traditional C lacks" "label conflicts with identifier" } */
testfunc1: /* { dg-warning "traditional C lacks" "label conflicts with identifier" } */
a: /* { dg-warning "traditional C lacks" "label conflicts with identifier" } */
i:
j: ;
}
# 32 "sys-header.h" 3
/* We are in system headers now, no -Wtraditional warnings should issue. */
void
testfunc2 (foo6)
int foo6;
{
int foo7;
foo1:
foo2:
foo3:
foo4:
foo5:
foo6:
foo7:
testfunc2:
a:
i:
j: ;
}