From 9d351e633769c77009f3e15b4cbadc4a8024bc37 Mon Sep 17 00:00:00 2001 From: jason Date: Fri, 23 Feb 2018 13:32:41 +0000 Subject: PR c++/70468 - ICE with constructor delegation via typedef. * pt.c (tsubst_initializer_list): Check for other mem-initializers with constructor delegation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257931 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/g++.dg/cpp0x/dc9.C | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/dc9.C (limited to 'gcc/testsuite/g++.dg/cpp0x/dc9.C') diff --git a/gcc/testsuite/g++.dg/cpp0x/dc9.C b/gcc/testsuite/g++.dg/cpp0x/dc9.C new file mode 100644 index 00000000000..b87f5ce618d --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/dc9.C @@ -0,0 +1,30 @@ +// PR c++/70468 +// { dg-do compile { target c++11 } } +// { dg-additional-options -w } + +struct S {}; + +template < typename = S > +class A +{ +public: + A () : f0 (), f1 () {} // { dg-error "" } + +private: + typedef A<> f0; + int f1; +}; + +template < typename = S, typename = S > +class B +{ +}; + +template < typename T1, typename T2 > +B < T1, T2 > &operator<< (B < T1, T2 >&, const int) +{ + A<> (); +} + +template +B < S, S > &operator<< (B < S, S >&, const int); -- cgit v1.2.1