diff options
author | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-15 01:43:28 +0000 |
---|---|---|
committer | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-15 01:43:28 +0000 |
commit | 47adf96bd02beacadd45213c3e790d08ed065d3f (patch) | |
tree | 2841b130cdc873d7f81ac3bef24c0f60875f6877 | |
parent | 051751fcd85278d3fb7c787ea8342e77ea0c8572 (diff) | |
download | gcc-47adf96bd02beacadd45213c3e790d08ed065d3f.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116148 138bc75d-0d04-0410-961f-82ee72b054a4
-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 4561c1f3dcf..3706f53eb34 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 506b60fb0fe..0a5aae5eb37 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 6802b840322..5f141952f1d 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 00000000000..018ed740aaa --- /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 00000000000..3bc04c01729 --- /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" } */ +} + |