aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorJoseph Myers <jsm@polyomino.org.uk>2003-11-08 01:38:48 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2003-11-08 01:38:48 +0000
commit30321c396e258cd2ed96e93b28a2ccd5b294b56f (patch)
tree71ae503dfdc2ce26ed49c67a3d879c3fde5850ab /gcc/testsuite
parent9b574a7758dc0eca42ec9531aec9970215c536fc (diff)
downloadgcc-30321c396e258cd2ed96e93b28a2ccd5b294b56f.zip
gcc-30321c396e258cd2ed96e93b28a2ccd5b294b56f.tar.gz
gcc-30321c396e258cd2ed96e93b28a2ccd5b294b56f.tar.bz2
c-typeck.c (pedantic_lvalue_warning): Deprecate compound expressions as lvalues.
* c-typeck.c (pedantic_lvalue_warning): Deprecate compound expressions as lvalues. (internal_build_compound_expr): Remove special handling for non-pedantic case. * doc/extend.texi: Document that all extended lvalues are now deprecated. testsuite: * gcc.dg/compound-lvalue-1.c: New test. * gcc.dg/c90-const-expr-2.c, gcc.dg/c99-const-expr-2.c: Remove some XFAILs. From-SVN: r73352
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/c90-const-expr-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/c99-const-expr-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/compound-lvalue-1.c12
4 files changed, 20 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8390d01..9cf4afd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * gcc.dg/compound-lvalue-1.c: New test.
+ * gcc.dg/c90-const-expr-2.c, gcc.dg/c99-const-expr-2.c: Remove
+ some XFAILs.
+
2003-11-06 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/altivec-varargs-1.c: New test.
diff --git a/gcc/testsuite/gcc.dg/c90-const-expr-2.c b/gcc/testsuite/gcc.dg/c90-const-expr-2.c
index 746093b..7363e2a 100644
--- a/gcc/testsuite/gcc.dg/c90-const-expr-2.c
+++ b/gcc/testsuite/gcc.dg/c90-const-expr-2.c
@@ -30,7 +30,7 @@ foo (void)
ASSERT_NPC ((void *)0);
ASSERT_NOT_NPC ((void *)(void *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
ASSERT_NOT_NPC ((void *)(char *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
- ASSERT_NOT_NPC ((void *)(0, 0)); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
+ ASSERT_NOT_NPC ((void *)(0, 0)); /* { dg-bogus "incompatible" "bogus null pointer constant" } */
ASSERT_NOT_NPC ((void *)(&"Foobar"[0] - &"Foobar"[0])); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
/* This last one is a null pointer constant in C99 only. */
ASSERT_NOT_NPC ((void *)(1 ? 0 : (0, 0))); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
diff --git a/gcc/testsuite/gcc.dg/c99-const-expr-2.c b/gcc/testsuite/gcc.dg/c99-const-expr-2.c
index c9f8e0f..1ba1b4a 100644
--- a/gcc/testsuite/gcc.dg/c99-const-expr-2.c
+++ b/gcc/testsuite/gcc.dg/c99-const-expr-2.c
@@ -30,7 +30,7 @@ foo (void)
ASSERT_NPC ((void *)0);
ASSERT_NOT_NPC ((void *)(void *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
ASSERT_NOT_NPC ((void *)(char *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
- ASSERT_NOT_NPC ((void *)(0, 0)); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
+ ASSERT_NOT_NPC ((void *)(0, 0)); /* { dg-bogus "incompatible" "bogus null pointer constant" } */
ASSERT_NOT_NPC ((void *)(&"Foobar"[0] - &"Foobar"[0])); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
/* This last one is a null pointer constant in C99 only. */
ASSERT_NPC ((void *)(1 ? 0 : (0, 0)));
diff --git a/gcc/testsuite/gcc.dg/compound-lvalue-1.c b/gcc/testsuite/gcc.dg/compound-lvalue-1.c
new file mode 100644
index 0000000..c77403d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/compound-lvalue-1.c
@@ -0,0 +1,12 @@
+/* Test for deprecation of compound expressions as lvalues. */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+int x, y;
+
+void
+foo (void)
+{
+ (x, y) = 1; /* { dg-warning "lvalue" "compound expression as lvalue deprecated" } */
+}