diff options
author | Marek Polacek <polacek@redhat.com> | 2013-10-24 13:54:00 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2013-10-24 13:54:00 +0000 |
commit | 320a9762ee8a82e96c00da7a566df288e4c93266 (patch) | |
tree | 0b6cebfe9184440bc619b2aa6dee15191fab3750 | |
parent | 8e701300d2f20af156f42965df7a2690b5049486 (diff) | |
download | gcc-320a9762ee8a82e96c00da7a566df288e4c93266.zip gcc-320a9762ee8a82e96c00da7a566df288e4c93266.tar.gz gcc-320a9762ee8a82e96c00da7a566df288e4c93266.tar.bz2 |
re PR c++/58705 ([c++11] ICE with invalid initializer for _Complex variable)
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.
From-SVN: r204014
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/typeck2.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/pr58705.C | 5 |
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 123200b..5fa01fe 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2013-10-24 Marek Polacek <polacek@redhat.com> + + PR c++/58705 + * typeck2.c (check_narrowing): Don't check narrowing when the scalar + initializer is empty. + 2013-10-23 Jason Merrill <jason@redhat.com> LWG 2165 diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c index 4b71a76..d6ff3ca 100644 --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -834,7 +834,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; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d68f384..b77200a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2013-10-24 Marek Polacek <polacek@redhat.com> + PR c++/58705 + * g++.dg/parse/pr58705.C: New test. + +2013-10-24 Marek Polacek <polacek@redhat.com> + * gcc.dg/c11-align-5.c: Add more testing. 2013-10-23 Pat Haugen <pthaugen@us.ibm.com> diff --git a/gcc/testsuite/g++.dg/parse/pr58705.C b/gcc/testsuite/g++.dg/parse/pr58705.C new file mode 100644 index 0000000..de2b396 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/pr58705.C @@ -0,0 +1,5 @@ +// PR c++/58705 +// { dg-do compile } +// { dg-options "-Wnarrowing" } + +_Complex float f = {{}}; |