From: jason Date: Wed, 21 Apr 2010 06:06:27 +0000 (+0000) Subject: PR c++/9335 X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=2749d0eb98e8dd66860f367358932659a2bdfd11;hp=684db69c82f50afffd129e14c969081fbb97791f PR c++/9335 gcc/cp: * init.c (constant_value_1): Treat error_mark_node as a constant if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set. * cvt.c (ocp_convert): Handle getting error_mark_node from integral_constant_value. * decl.c (compute_array_index_type): Likewise. gcc/testsuite: * lib/prune.exp: Prune "skipping N instantiation contexts". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158586 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 656c88f3867..e3bc3f6266c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,12 @@ +2010-04-20 Jason Merrill + + PR c++/9335 + * init.c (constant_value_1): Treat error_mark_node as a constant + if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set. + * cvt.c (ocp_convert): Handle getting error_mark_node from + integral_constant_value. + * decl.c (compute_array_index_type): Likewise. + 2010-04-20 Dodji Seketeli PR c++/43800 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 89efbd9923b..59ead9cc06f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2010-04-20 Jason Merrill + + PR c++/9335 + * g++.dg/template/recurse2.C: New. + * g++.dg/parse/crash36.C: Adjust. + * g++.dg/other/fold1.C: Adjust. + * g++.dg/init/member1.C: Adjust. + * lib/prune.exp: Prune "skipping N instantiation contexts". + 2010-04-20 Kaveh R. Ghazi * gcc.dg/torture/builtin-cproj-1.c: Test more cases. diff --git a/gcc/testsuite/g++.dg/template/recurse2.C b/gcc/testsuite/g++.dg/template/recurse2.C index b9767dfb600..cf085e0d553 100644 --- a/gcc/testsuite/g++.dg/template/recurse2.C +++ b/gcc/testsuite/g++.dg/template/recurse2.C @@ -3,6 +3,5 @@ template struct X { static const int value = X::value; // { dg-error "instantiation|incomplete" } - // { dg-message "recursively instantiated" "" { target *-*-* } 5 } }; template struct X<1000>; diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp index 769169d4271..160f651b6e7 100644 --- a/gcc/testsuite/lib/prune.exp +++ b/gcc/testsuite/lib/prune.exp @@ -22,7 +22,7 @@ proc prune_gcc_output { text } { regsub -all "(^|\n)(\[^\n\]*: )?In ((static member |lambda )?function|member|method|(copy )?constructor|destructor|instantiation|program|subroutine|block-data)\[^\n\]*" $text "" text regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text - regsub -all "(^|\n)\[^\n\]*: (recursively )?instantiated from \[^\n\]*" $text "" text + regsub -all "(^|\n)\[^\n\]*: instantiated from \[^\n\]*" $text "" text regsub -all "(^|\n)\[^\n\]*: . skipping \[0-9\]* instantiation contexts \[^\n\]*" $text "" text regsub -all "(^|\n) inlined from \[^\n\]*" $text "" text regsub -all "(^|\n)collect2: ld returned \[^\n\]*" $text "" text