From 16b53405ad2baba783cf7ecf34a623fd64db2dda Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Sat, 13 Jul 2013 19:10:24 -0400 Subject: re PR c++/57402 (ICE: in make_decl_rtl, at varasm.c:1147 when initializing variable-sized array) PR c++/57402 * init.c (build_vec_init): Use {} for arrays of class type. (build_vec_delete): Don't take the address of the array. From-SVN: r200939 --- gcc/testsuite/g++.dg/cpp0x/defaulted45.C | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/defaulted45.C (limited to 'gcc/testsuite/g++.dg/cpp0x') diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted45.C b/gcc/testsuite/g++.dg/cpp0x/defaulted45.C new file mode 100644 index 0000000..e91b3a1 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted45.C @@ -0,0 +1,20 @@ +// { dg-do run } +// { dg-require-effective-target c++11 } + +struct A +{ + int i; + A() = default; + A(int i): i{i} { } + ~A() {} +}; + +int main(int argc, char **argv) +{ + { int i[4] = { 42, 42, 42, 42 }; } + { + A a[4] = { argc }; + if (a[1].i != 0) + __builtin_abort (); + } +} -- cgit v1.1