aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.co.uk>2000-11-03 16:02:20 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2000-11-03 16:02:20 +0000
commit30235724a2cd237a613883e9c4149f979acb91ea (patch)
tree6d14921a6aa6c7fac2a6ee1035ffb6babaa48c58
parent94e9dc136e6a3de62c4c75f30d83470fc7c2845b (diff)
downloadgcc-30235724a2cd237a613883e9c4149f979acb91ea.zip
gcc-30235724a2cd237a613883e9c4149f979acb91ea.tar.gz
gcc-30235724a2cd237a613883e9c4149f979acb91ea.tar.bz2
More tests for sequence point warnings.
From-SVN: r37226
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/sequence-pt-1.c19
2 files changed, 17 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9a7634d..12fce88 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-03 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * gcc.dg/sequence-pt-1.c: A few new tests. Unify output for bogus
+ warnings.
+
2000-11-01 Richard Henderson <rth@redhat.com>
* g++.old-deja/g++.ext/namedret1.C: New.
diff --git a/gcc/testsuite/gcc.dg/sequence-pt-1.c b/gcc/testsuite/gcc.dg/sequence-pt-1.c
index 022a998..1969781 100644
--- a/gcc/testsuite/gcc.dg/sequence-pt-1.c
+++ b/gcc/testsuite/gcc.dg/sequence-pt-1.c
@@ -45,15 +45,20 @@ foo (int a, int b, int n, int p, int *ptr, struct s *sptr,
*ap = fnc (ap++); /* { dg-warning "undefined" "sequence point warning" } */
(a += b) + (a += n); /* { dg-warning "undefined" "sequence point warning" } */
a = (b, b++) + (b++, b); /* { dg-warning "undefined" "sequence point warning" } */
+ ap[a++] += a; /* { dg-warning "undefined" "sequence point warning" } */
+ ap[a+=1] += a; /* { dg-warning "undefined" "sequence point warning" } */
+ ap[a++] += a++; /* { dg-warning "undefined" "sequence point warning" } */
+ ap[a+=1] += a++; /* { dg-warning "undefined" "sequence point warning" } */
a = (a++ && 4); /* { dg-bogus "undefined" "bogus sequence point warning" } */
len = sprintf (ans, "%d", len++); /* { dg-bogus "undefined" "bogus sequence point warning" } */
a = fn (a++); /* { dg-bogus "undefined" "sequence point warning" } */
- (a = b++), (a = b++); /* { dg-bogus "undefined" "sequence point warning" } */
- a = (b++, b++); /* { dg-bogus "undefined" "sequence point warning" } */
- a = b++ && b++; /* { dg-bogus "undefined" "sequence point warning" } */
- a = b++ || b++; /* { dg-bogus "undefined" "sequence point warning" } */
- a = (b++ ? b++ : a); /* { dg-bogus "undefined" "sequence point warning" } */
- a = (b++ ? a : b++); /* { dg-bogus "undefined" "sequence point warning" } */
- ap[a++] += bp[b]; /* { dg-bogus "undefined" "sequence point warning" } */
+ (a = b++), (a = b++); /* { dg-bogus "undefined" "bogus sequence point warning" } */
+ a = (b++, b++); /* { dg-bogus "undefined" "bogus sequence point warning" } */
+ a = b++ && b++; /* { dg-bogus "undefined" "bogus sequence point warning" } */
+ a = b++ || b++; /* { dg-bogus "undefined" "bogus sequence point warning" } */
+ a = (b++ ? b++ : a); /* { dg-bogus "undefined" "bogus sequence point warning" } */
+ a = (b++ ? a : b++); /* { dg-bogus "undefined" "bogus sequence point warning" } */
+ ap[a++] += bp[b]; /* { dg-bogus "undefined" "bogus sequence point warning" } */
+ ap[a += 1] += 1; /* { dg-bogus "undefined" "bogus sequence point warning" } */
}