summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/synth1.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/synth1.C33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C b/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C
new file mode 100644
index 000000000..3a27e63cf
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C
@@ -0,0 +1,33 @@
+// { dg-do assemble }
+// { dg-xfail-if "" { sparc64-*-elf } { "*" } { "" } }
+// { dg-options "-pedantic-errors -g -Wall" }
+// GROUPS passed synthetics
+// Check to make sure that g++ doesn't get freaked out about the use
+// of generated methods that it supposedly "can't see".
+
+class Char {
+public:
+ Char();
+ Char(char v);
+
+ // synthetic copy-constructor and operator=
+private:
+ char value;
+};
+
+class XChar: public Char {
+public:
+ XChar();
+ XChar(char v, int serial);
+
+ void operator=(const XChar& other);
+private:
+ int serial;
+};
+
+void
+XChar::operator=(const XChar& other)
+{
+ Char::operator=(other);
+ // serial stays the same
+}