[Bug c++/58705] [4.7/4.8/4.9 Regression] [c++11] ICE with invalid initializer for _Complex variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705 --- Comment #6 from Marek Polacek mpolacek at gcc dot gnu.org --- Author: mpolacek Date: Thu Oct 24 13:54:00 2013 New Revision: 204014 URL: http://gcc.gnu.org/viewcvs?rev=204014root=gccview=rev Log: PR c++/58705 cp/ * typeck2.c (check_narrowing): Don't check narrowing when the scalar initializer is empty. testsuite/ * g++.dg/parse/pr58705.C: New test. Added: trunk/gcc/testsuite/g++.dg/parse/pr58705.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/typeck2.c trunk/gcc/testsuite/ChangeLog
[Bug c++/58705] [4.7/4.8/4.9 Regression] [c++11] ICE with invalid initializer for _Complex variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #7 from Marek Polacek mpolacek at gcc dot gnu.org --- Fixed.
[Bug c++/58705] [4.7/4.8/4.9 Regression] [c++11] ICE with invalid initializer for _Complex variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2013-10-14 CC||mpolacek at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org --- Confirmed.
[Bug c++/58705] [4.7/4.8/4.9 Regression] [c++11] ICE with invalid initializer for _Complex variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705 --- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org --- This will ICE even with -std=c++03 -Wnarrowing.
[Bug c++/58705] [4.7/4.8/4.9 Regression] [c++11] ICE with invalid initializer for _Complex variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705 --- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org --- This will fix the ICE, but perhaps we want to give an error instead... I'll regtest this and post to ML. --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -833,7 +833,8 @@ check_narrowing (tree type, tree init) TREE_CODE (type) == COMPLEX_TYPE) { tree elttype = TREE_TYPE (type); - check_narrowing (elttype, CONSTRUCTOR_ELT (init, 0)-value); + if (CONSTRUCTOR_NELTS (init) 0) +check_narrowing (elttype, CONSTRUCTOR_ELT (init, 0)-value); if (CONSTRUCTOR_NELTS (init) 1) check_narrowing (elttype, CONSTRUCTOR_ELT (init, 1)-value); return;
[Bug c++/58705] [4.7/4.8/4.9 Regression] [c++11] ICE with invalid initializer for _Complex variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705 --- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org --- (In reply to Marek Polacek from comment #3) This will fix the ICE, but perhaps we want to give an error instead... IMNSHO we want, as C FE does: 58705.C:1:1: error: empty scalar initializer 58705.C:1:1: error: (near initialization for âfâ) Will put that in the patch.
[Bug c++/58705] [4.7/4.8/4.9 Regression] [c++11] ICE with invalid initializer for _Complex variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705 Volker Reichelt reichelt at gcc dot gnu.org changed: What|Removed |Added Keywords||ice-on-invalid-code Known to work||4.6.0 Target Milestone|--- |4.7.4 Known to fail||4.7.0, 4.8.0, 4.9.0