From 5c5d1cd68a748299a244a6b9fd7c3fce2f09d582 Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Tue, 29 Aug 2000 17:38:09 +0000 Subject: [PATCH] * wtr-label-1.c, wtr-suffix-1.c: New tests. From-SVN: r36041 --- gcc/testsuite/ChangeLog | 4 +++ gcc/testsuite/gcc.dg/wtr-label-1.c | 50 +++++++++++++++++++++++++++++ gcc/testsuite/gcc.dg/wtr-suffix-1.c | 35 ++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/wtr-label-1.c create mode 100644 gcc/testsuite/gcc.dg/wtr-suffix-1.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6466b590df8..3f5dedbea46 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-08-29 Kaveh R. Ghazi + + * wtr-label-1.c, wtr-suffix-1.c: New tests. + 2000-08-27 Kaveh R. Ghazi * gcc.dg/return-type-2.c: New test. diff --git a/gcc/testsuite/gcc.dg/wtr-label-1.c b/gcc/testsuite/gcc.dg/wtr-label-1.c new file mode 100644 index 00000000000..b8d494e7bde --- /dev/null +++ b/gcc/testsuite/gcc.dg/wtr-label-1.c @@ -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 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: +} diff --git a/gcc/testsuite/gcc.dg/wtr-suffix-1.c b/gcc/testsuite/gcc.dg/wtr-suffix-1.c new file mode 100644 index 00000000000..3a163782c6c --- /dev/null +++ b/gcc/testsuite/gcc.dg/wtr-suffix-1.c @@ -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 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; +}