diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-10-02 10:44:23 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-10-02 10:44:23 +0000 |
commit | 0eb3d6c6b602c7fbb290290ff853cb1ffe77e0c4 (patch) | |
tree | 90e7f26ca39213a55265b9d10bc4bb84ec14a2d4 | |
parent | f6fe771af1d2a5ba617c75cff4fba0e3decf925e (diff) | |
download | gcc-0eb3d6c6b602c7fbb290290ff853cb1ffe77e0c4.zip gcc-0eb3d6c6b602c7fbb290290ff853cb1ffe77e0c4.tar.gz gcc-0eb3d6c6b602c7fbb290290ff853cb1ffe77e0c4.tar.bz2 |
re PR c++/58565 ([c++11] ICE with label in statement expression)
/cp
2013-10-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58565
* semantics.c (potential_constant_expression_1): Handle LABEL_EXPR.
/testsuite
2013-10-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58565
* g++.dg/parse/crash64.C: New.
From-SVN: r203109
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/crash64.C | 7 |
4 files changed, 18 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1ec1cd3..55655c6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2013-10-02 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58565 + * semantics.c (potential_constant_expression_1): Handle LABEL_EXPR. + 2013-10-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58563 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 1327794..a7874e7 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -8422,6 +8422,7 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags) case OVERLOAD: case TEMPLATE_ID_EXPR: case LABEL_DECL: + case LABEL_EXPR: case CONST_DECL: case SIZEOF_EXPR: case ALIGNOF_EXPR: diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2fb3cc6..cbeb33d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-10-02 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58565 + * g++.dg/parse/crash64.C: New. + 2013-10-02 Yufeng Zhang <yufeng.zhang@arm.com> * gcc.dg/tree-ssa/slsr-40.c: New test. diff --git a/gcc/testsuite/g++.dg/parse/crash64.C b/gcc/testsuite/g++.dg/parse/crash64.C new file mode 100644 index 0000000..9e1dfea --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/crash64.C @@ -0,0 +1,7 @@ +// PR c++/58565 +// { dg-options "" } + +void foo() +{ + int i = ({ L: ; }); // { dg-error "void value not ignored" } +} |