From: Paolo Carlini Date: Wed, 2 Oct 2013 10:44:23 +0000 (+0000) Subject: re PR c++/58565 ([c++11] ICE with label in statement expression) X-Git-Tag: releases/gcc-4.9.0~3760 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0eb3d6c6b602c7fbb290290ff853cb1ffe77e0c4;p=thirdparty%2Fgcc.git re PR c++/58565 ([c++11] ICE with label in statement expression) /cp 2013-10-02 Paolo Carlini PR c++/58565 * semantics.c (potential_constant_expression_1): Handle LABEL_EXPR. /testsuite 2013-10-02 Paolo Carlini PR c++/58565 * g++.dg/parse/crash64.C: New. From-SVN: r203109 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1ec1cd345cee..55655c60bec0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2013-10-02 Paolo Carlini + + PR c++/58565 + * semantics.c (potential_constant_expression_1): Handle LABEL_EXPR. + 2013-10-01 Paolo Carlini PR c++/58563 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 13277948bf43..a7874e765a7a 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 2fb3cc63e5c4..cbeb33dd7e7f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-10-02 Paolo Carlini + + PR c++/58565 + * g++.dg/parse/crash64.C: New. + 2013-10-02 Yufeng Zhang * 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 000000000000..9e1dfea6c32a --- /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" } +}