* wtr-label-1.c, wtr-suffix-1.c: New tests.

From-SVN: r36041
This commit is contained in:
Kaveh R. Ghazi 2000-08-29 17:38:09 +00:00 committed by Kaveh Ghazi
parent 6ad79f1b8b
commit 5c5d1cd68a
3 changed files with 89 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* wtr-label-1.c, wtr-suffix-1.c: New tests.
2000-08-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/return-type-2.c: New test.

View File

@ -0,0 +1,50 @@
/* 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 (int foo6)
{
int foo7;
foo1:
foo2:
foo3:
foo4: /* { dg-warning "traditional C lacks.*`foo4' conflicts" "label conflicts with identifier" } */
foo5: /* { dg-warning "traditional C lacks.*`foo5' conflicts" "label conflicts with identifier" } */
foo6: /* { dg-warning "traditional C lacks.*`foo6' conflicts" "label conflicts with identifier" } */
foo7: /* { dg-warning "traditional C lacks.*`foo7' conflicts" "label conflicts with identifier" } */
testfunc1: /* { dg-warning "traditional C lacks.*`testfunc1' conflicts" "label conflicts with identifier" } */
a: /* { dg-warning "traditional C lacks.*`a' conflicts" "label conflicts with identifier" } */
i:
j:
}
#line 32 "sys-header.h" 3
/* We are in system headers now, no -Wtraditional warnings should issue. */
void
testfunc2 (int foo6)
{
int foo7;
foo1:
foo2:
foo3:
foo4:
foo5:
foo6:
foo7:
testfunc2:
a:
i:
j:
}

View File

@ -0,0 +1,35 @@
/* Test for -Wtraditional warnings on integer constant suffixes.
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" } */
void
testfunc (void)
{
int i;
double f;
i = 1L;
i = 1l;
i = 1U; /* { dg-warning "traditional C rejects the `U' suffix" "numeric constant suffix" } */
i = 1u; /* { dg-warning "traditional C rejects the `u' suffix" "numeric constant suffix" } */
f = 1.0;
f = 1.0F; /* { dg-warning "traditional C rejects the `F' suffix" "numeric constant suffix" } */
f = 1.0f; /* { dg-warning "traditional C rejects the `f' suffix" "numeric constant suffix" } */
f = 1.0L; /* { dg-warning "traditional C rejects the `L' suffix" "numeric constant suffix" } */
f = 1.0l; /* { dg-warning "traditional C rejects the `l' suffix" "numeric constant suffix" } */
#line 24 "sys-header.h" 3
/* We are in system headers now, no -Wtraditional warnings should issue. */
i = 1L;
i = 1l;
i = 1U;
i = 1u;
f = 1.0;
f = 1.0F;
f = 1.0f;
f = 1.0L;
f = 1.0l;
}