aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/C++Frontend/2008-01-25-ResultIsParam.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/C++Frontend/2008-01-25-ResultIsParam.cpp b/test/C++Frontend/2008-01-25-ResultIsParam.cpp
new file mode 100644
index 0000000000..eae402786b
--- /dev/null
+++ b/test/C++Frontend/2008-01-25-ResultIsParam.cpp
@@ -0,0 +1,23 @@
+// RUN: %llvmgcc %s -S -o - | not grep {@_ZN3fooC1Ev.*result}
+// PR1942
+
+class foo
+{
+public:
+ int a;
+ int b;
+
+ foo(void) : a(0), b(0) {}
+
+ foo(int aa, int bb) : a(aa), b(bb) {}
+
+ const foo operator+(const foo& in) const;
+
+};
+
+const foo foo::operator+(const foo& in) const {
+ foo Out;
+ Out.a = a + in.a;
+ Out.b = b + in.b;
+ return Out;
+}