re PR c++/55432 (Too much constexpr makes the compiler crash)
authorPaolo Carlini <paolo.carlini@oracle.com>
Thu, 22 Nov 2012 10:23:03 +0000 (10:23 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 22 Nov 2012 10:23:03 +0000 (10:23 +0000)
2012-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55432
* g++.dg/cpp0x/constexpr-55432.C: New.

From-SVN: r193723

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/constexpr-55432.C [new file with mode: 0644]

index cb52cdc5afededeb9db9777fe349eb4df776e367..382affd8d12b960633f6082dceec9dfcd6180f31 100644 (file)
@@ -1,3 +1,8 @@
+2012-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/55432
+       * g++.dg/cpp0x/constexpr-55432.C: New.
+
 2012-11-21  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/55352
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-55432.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-55432.C
new file mode 100644 (file)
index 0000000..56b09bd
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/55432
+// { dg-do compile { target c++11 } }
+
+struct tag_t{} tag{};
+
+constexpr tag_t const& pass(tag_t & t)
+{
+  return t;
+}
+
+struct S
+{
+  constexpr S(tag_t)  {};
+};
+
+struct T
+{
+  S mem;
+  T( tag_t & args ) : mem(pass(args)) {}
+};
+
+T t(tag);