From fc36036b04abe3c899d3bf4dba93e89e2a15dd50 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 5 Nov 2010 01:56:58 -0400 Subject: [PATCH] re PR c++/46304 (g++ crashes with ICE in bitmap_first_set_bit, at bitmap.c:770) PR c++/46304 * pt.c (tsubst_copy): Handle COMPLEX_CST. From-SVN: r166350 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/pt.c | 1 + gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/ext/complex6.C | 10 ++++++++++ 4 files changed, 21 insertions(+) create mode 100644 gcc/testsuite/g++.dg/ext/complex6.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b1c9e01e7b0b..e884898115cd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2010-11-05 Jason Merrill + + PR c++/46304 + * pt.c (tsubst_copy): Handle COMPLEX_CST. + 2010-11-04 Nicola Pero Fixed using the Objective-C 2.0 dot-syntax with class names. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index ca2baebee430..ed04b2be59ea 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -11658,6 +11658,7 @@ tsubst_copy (tree t, tree args, tsubst_flags_t complain, tree in_decl) case INTEGER_CST: case REAL_CST: case STRING_CST: + case COMPLEX_CST: { /* Instantiate any typedefs in the type. */ tree type = tsubst (TREE_TYPE (t), args, complain, in_decl); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a1fb0b11d0c1..90e13ddfb1b9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-11-05 Jason Merrill + + PR c++/46304 + * g++.dg/ext/complex6.C: New. + 2010-11-04 Bud Davis * gfortran.dg/intrinsic_numeric_arg.f: Add test to check diff --git a/gcc/testsuite/g++.dg/ext/complex6.C b/gcc/testsuite/g++.dg/ext/complex6.C new file mode 100644 index 000000000000..9a7c50a7ae52 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/complex6.C @@ -0,0 +1,10 @@ +// PR c++/46304 +// { dg-options "" } + +template +void f() +{ + __complex double d = 1.0 + 2.0i; +} + +template void f();