diff options
author | Andrew Pinski <pinskia@gcc.gnu.org> | 2006-08-14 18:43:28 -0700 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2006-08-14 18:43:28 -0700 |
commit | e63d6886f47b4c844918787f774021cd6faf6270 (patch) | |
tree | 2841b130cdc873d7f81ac3bef24c0f60875f6877 | |
parent | b0100da68143f1d5d088ec0de0befe4d7275ff75 (diff) | |
download | gcc-e63d6886f47b4c844918787f774021cd6faf6270.zip gcc-e63d6886f47b4c844918787f774021cd6faf6270.tar.gz gcc-e63d6886f47b4c844918787f774021cd6faf6270.tar.bz2 |
[multiple changes]
2006-07-14 Andrew Pinski <pinksia@physics.uc.edu>
PR c/27490
PR c/27489
* c-typeck.c (build_compound_expr): If the second expression
is an error mark, then just return an error mark instead of
creating a COMPOUND_EXPR.
2006-08-14 Andrew Pinski <pinskia@physics.uc.edu>
PR c/27490
* gcc.dg/sizeof-2.c: New testcase.
PR c/27489
* gcc.dg/switch-A.c: New testcase.
From-SVN: r116148
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/c-typeck.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/sizeof-2.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/switch-A.c | 7 |
5 files changed, 34 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4561c1f..3706f53 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-07-14 Andrew Pinski <pinksia@physics.uc.edu> + + PR c/27490 + PR c/27489 + * c-typeck.c (build_compound_expr): If the second expression + is an error mark, then just return an error mark instead of + creating a COMPOUND_EXPR. + 2006-07-14 Mike Stump <mrs@apple.com> * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES. diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 506b60f..0a5aae5 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -3425,6 +3425,9 @@ build_compound_expr (tree expr1, tree expr2) else if (warn_unused_value) warn_if_unused_value (expr1, input_location); + if (expr2 == error_mark_node) + return error_mark_node; + return build2 (COMPOUND_EXPR, TREE_TYPE (expr2), expr1, expr2); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6802b84..5f14195 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2006-08-14 Andrew Pinski <pinskia@physics.uc.edu> + + PR c/27490 + * gcc.dg/sizeof-2.c: New testcase. + + PR c/27489 + * gcc.dg/switch-A.c: New testcase. + 2006-08-14 Steve Ellcey <sje@cup.hp.com> PR c++/28288 diff --git a/gcc/testsuite/gcc.dg/sizeof-2.c b/gcc/testsuite/gcc.dg/sizeof-2.c new file mode 100644 index 0000000..018ed74 --- /dev/null +++ b/gcc/testsuite/gcc.dg/sizeof-2.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ + + +void foo() +{ + sizeof(,); /* { dg-error "expected expression before" } */ +} + diff --git a/gcc/testsuite/gcc.dg/switch-A.c b/gcc/testsuite/gcc.dg/switch-A.c new file mode 100644 index 0000000..3bc04c0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/switch-A.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ + +void foo() +{ + switch (,) { } /* { dg-error "expected expression before" } */ +} + |