aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-21 11:14:46 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-21 11:14:46 -0800
commit0ba28a6d484b7aab09c57af8d36e3b789a443c3f (patch)
tree0dfde0176cfef4e0c3e293ad70883b0599ecb578
parent5137bd4f868d44e010dd5be0c0164ef5713af10c (diff)
downloadgcc-0ba28a6d484b7aab09c57af8d36e3b789a443c3f.zip
gcc-0ba28a6d484b7aab09c57af8d36e3b789a443c3f.tar.gz
gcc-0ba28a6d484b7aab09c57af8d36e3b789a443c3f.tar.bz2
wtr-aggr-init-1.c: Test that __extension__ disables then re-enables the warning.
* gcc.dg/wtr-aggr-init-1.c: Test that __extension__ disables then re-enables the warning. From-SVN: r48248
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/wtr-aggr-init-1.c22
2 files changed, 21 insertions, 6 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 157c1a8..fadeb19 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2001-12-21 Richard Henderson <rth@redhat.com>
+ * gcc.dg/wtr-aggr-init-1.c: Test that __extension__ disables then
+ re-enables the warning.
+
+2001-12-21 Richard Henderson <rth@redhat.com>
+
* g++.old-deja/g++.eh/badalloc1.C (malloc): Fix typo.
2001-12-20 Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c b/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c
index e283ea1..c60a695 100644
--- a/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c
+++ b/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c
@@ -20,19 +20,29 @@ testfunc1 (void)
static struct foo f4 = { 0, 0 };
f3 = f4;
+
+ __extension__ ({
+ struct foo f5 = { 0, 0 }; /* { dg-bogus "traditional C rejects automatic" "__extension__ disables warnings" } */
+ f5.i = 0;
+ });
+
+ {
+ struct foo f6 = { 0, 0 }; /* { dg-warning "traditional C rejects automatic" "__extension__ reenables warnings" } */
+ f6.i = 0;
+ }
}
-# 26 "sys-header.h" 3
+# 35 "sys-header.h" 3
/* We are in system headers now, no -Wtraditional warnings should issue. */
-struct foo f5 = { 0, 0 };
-static struct foo f6 = { 0, 0 };
+struct foo f7 = { 0, 0 };
+static struct foo f8 = { 0, 0 };
void
testfunc2 (void)
{
- struct foo f7 = { 0, 0 };
- static struct foo f8 = { 0, 0 };
+ struct foo f9 = { 0, 0 };
+ static struct foo f10 = { 0, 0 };
- f7 = f8;
+ f9 = f10;
}