diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/other/synth1.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/other/synth1.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/other/synth1.C b/gcc-4.9/gcc/testsuite/g++.dg/other/synth1.C new file mode 100644 index 000000000..5829c6c78 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/other/synth1.C @@ -0,0 +1,31 @@ +// Copyright (C) 2004 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 17 Dec 2004 <nathan@codesourcery.com> + +// PR 18975: Rejects legal +// Origin: Wolfgang Roehrl <wolfgang.roehrl@de.gi-de.com> + +struct PTR +{ + PTR (); + PTR (PTR&); + PTR& operator= (PTR&); + +private: + PTR (const PTR&); + PTR& operator= (const PTR&); +}; + + +struct XYZ +{ + XYZ (PTR& p) : ptr(p) {} + + mutable PTR ptr; +}; + + +XYZ f1 (); + + +XYZ f2 (void) { return f1(); } +void f3 (XYZ& dst, const XYZ& src) { dst = src; } |