Patchwork [C++,testcase,committed] PR 53349

login
register
mail settings
Submitter Paolo Carlini
Date Aug. 11, 2013, 10:07 p.m.
Message ID <52080B1D.2070309@oracle.com>
Download mbox | patch
Permalink /patch/266405/
State New
Headers show

Comments

Paolo Carlini - Aug. 11, 2013, 10:07 p.m.
Hi,

committed to mainline.

Thanks,
Paolo.

////////////////////////
2013-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

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

Patch

Index: g++.dg/cpp0x/constexpr-ice8.C
===================================================================
--- g++.dg/cpp0x/constexpr-ice8.C	(revision 0)
+++ g++.dg/cpp0x/constexpr-ice8.C	(working copy)
@@ -0,0 +1,17 @@ 
+// PR c++/53349
+// { dg-do compile { target c++11 } }
+
+template <int N>
+struct Foo {
+  constexpr Foo(const Foo<N-1> a) : m_a(a)     {}
+  constexpr Foo(const Foo<N> &a)  : m_a(a.m_a) {}
+
+  Foo<N-1> m_a;
+};
+
+template <> struct Foo<0> {};
+
+constexpr Foo<1> catty1(Foo<1> x) { return x; }
+constexpr Foo<2> catty2(Foo<1> x) { return Foo<2>(catty1(x)); }
+
+constexpr auto res = catty2(Foo<1>(Foo<0>()));