diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/torture/pr45854.C')
-rw-r--r-- | gcc/testsuite/g++.dg/torture/pr45854.C | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/torture/pr45854.C b/gcc/testsuite/g++.dg/torture/pr45854.C new file mode 100644 index 000000000..17ee006e0 --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr45854.C @@ -0,0 +1,30 @@ +// { dg-do compile } + +template < typename = void > +struct X { } ; +struct Y +{ + Y () ; +} ; +template < typename = X < > > +struct T +{ + void f () + { + f () ; + } +} ; +struct S +{ + S ( X < > = X < > ()) ; + ~S () + { + T < > () . f () ; + } +} ; +struct Z +{ + S s ; + Y y ; +} a ; + |