diff options
author | Jason Merrill <jason@redhat.com> | 2008-11-14 15:50:59 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2008-11-14 15:50:59 -0500 |
commit | 2d2c68a3e769883a831f6de9af5bdde63698473c (patch) | |
tree | ac5b3e0fe6ddab19687a065e5f741a2f838d5e12 | |
parent | 8b047446c3dd163b1a87abcae25a3aa40f603840 (diff) | |
download | gcc-2d2c68a3e769883a831f6de9af5bdde63698473c.zip gcc-2d2c68a3e769883a831f6de9af5bdde63698473c.tar.gz gcc-2d2c68a3e769883a831f6de9af5bdde63698473c.tar.bz2 |
re PR c++/37740 ([C++0x] "foo f{...}" form compiles, but "new foo{...}" one doesn't)
PR c++/37740
* call.c (build_aggr_conv): Increment i.
From-SVN: r141865
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/call.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/initlist8.C | 19 |
4 files changed, 30 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2c936ef..fd610b1 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2008-11-14 Jason Merrill <jason@redhat.com> + + PR c++/37740 + * call.c (build_aggr_conv): Increment i. + 2008-11-13 Jason Merrill <jason@redhat.com> PR c++/37932 diff --git a/gcc/cp/call.c b/gcc/cp/call.c index bdaf7fd..4d86a44 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -619,7 +619,7 @@ build_aggr_conv (tree type, tree ctor, int flags) conversion *c; tree field = TYPE_FIELDS (type); - for (; field; field = TREE_CHAIN (field)) + for (; field; field = TREE_CHAIN (field), ++i) { if (TREE_CODE (field) != FIELD_DECL) continue; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e2723d7..6e86c2e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-11-14 Jason Merrill <jason@redhat.com> + + PR c++/37740 + * g++.dg/cpp0x/initlist8.C: New test. + 2008-11-13 Steve Ellcey <sje@cup.hp.com> PR middle-end/38004 diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist8.C b/gcc/testsuite/g++.dg/cpp0x/initlist8.C new file mode 100644 index 0000000..db63eee --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/initlist8.C @@ -0,0 +1,19 @@ +// PR c++/37740 +// { dg-options "-std=c++0x" } + +struct A +{ + int i; +}; + +struct B +{ + double d; + A i; +}; + +int main() +{ + A a; + new B{3.2, a}; +} |