aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2012-11-22 10:23:03 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2012-11-22 10:23:03 +0000
commitb51aa2e56e96b27ea06f75c8982b9a37633abac9 (patch)
treea74c7f72bd4c79fc081b07bdd26fd5d43d021595
parent925e30ffcdd76407d84f9ac08307bb1a4aec4d41 (diff)
downloadgcc-b51aa2e56e96b27ea06f75c8982b9a37633abac9.zip
gcc-b51aa2e56e96b27ea06f75c8982b9a37633abac9.tar.gz
gcc-b51aa2e56e96b27ea06f75c8982b9a37633abac9.tar.bz2
re PR c++/55432 (Too much constexpr makes the compiler crash)
2012-11-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/55432 * g++.dg/cpp0x/constexpr-55432.C: New. From-SVN: r193723
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-55432.C22
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cb52cdc..382affd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..56b09bd
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-55432.C
@@ -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);