summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.mike/p9732a.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p9732a.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9732a.C37
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9732a.C b/gcc/testsuite/g++.old-deja/g++.mike/p9732a.C
new file mode 100644
index 000000000..9af5a9002
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p9732a.C
@@ -0,0 +1,37 @@
+// { dg-do run }
+// prms-id: 9732
+
+class A {
+ int i;
+public:
+ A() { i = 1; }
+ ~A() { }
+};
+
+struct value {
+ A x,y,z;
+};
+
+int crash(const value* capt, value* jet) {
+ return capt == jet;
+}
+
+class euler {
+public:
+ value number() const { return _value; }
+ int distance();
+
+private:
+ value _value;
+};
+
+int euler::distance() {
+ const value& capt = number();
+ value jet;
+ return crash (&capt, &jet);
+}
+
+int main() {
+ euler e;
+ return e.distance();
+}