aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2017-01-13 17:27:54 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2017-01-13 17:27:54 +0000
commite3017e522a2080768e8e565408c8c5b0c2cfb788 (patch)
treee8325e04ca8ba11f595668df9e218bba3d8fa719 /gcc
parentaa1ba96b8719da219f92568661e4a9f85a336e08 (diff)
downloadgcc-e3017e522a2080768e8e565408c8c5b0c2cfb788.zip
gcc-e3017e522a2080768e8e565408c8c5b0c2cfb788.tar.gz
gcc-e3017e522a2080768e8e565408c8c5b0c2cfb788.tar.bz2
re PR c++/71166 (ICE with nested constexpr/initializer)
PR c++/71166 * g++.dg/cpp0x/constexpr-array18.C: New test. From-SVN: r244450
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-array18.C23
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dba6a2c..e3f4499 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-01-13 Marek Polacek <polacek@redhat.com>
+
+ PR c++/71166
+ * g++.dg/cpp0x/constexpr-array18.C: New test.
+
2017-01-13 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78534
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-array18.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-array18.C
new file mode 100644
index 0000000..0f2d86e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-array18.C
@@ -0,0 +1,23 @@
+// PR c++/71166
+// { dg-do compile { target c++11 } }
+
+struct Foo { int value; };
+
+constexpr Foo MakeFoo() { return Foo{0}; }
+
+struct Bar {
+ Foo color = MakeFoo();
+};
+
+struct BarContainer {
+ Bar array[1];
+};
+
+Foo X ()
+{
+ return MakeFoo ();
+}
+
+void Foo() {
+ new BarContainer();
+}