summaryrefslogtreecommitdiffstats
path: root/llvm/test/Regression/C++Frontend
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-09-29 21:53:04 +0000
committerChris Lattner <sabre@nondot.org>2003-09-29 21:53:04 +0000
commitff06e88ce9d0b0fb0584c5c4640a4a591ea4ce6a (patch)
tree5775eaf9f38d468bb87acfa634268b9c709c809f /llvm/test/Regression/C++Frontend
parent6780a6e3f2cb450efc7db0304dd4ba4d890c24f8 (diff)
downloadbcm5719-llvm-ff06e88ce9d0b0fb0584c5c4640a4a591ea4ce6a.tar.gz
bcm5719-llvm-ff06e88ce9d0b0fb0584c5c4640a4a591ea4ce6a.zip
Simplify test, include problem analysis
llvm-svn: 8747
Diffstat (limited to 'llvm/test/Regression/C++Frontend')
-rw-r--r--llvm/test/Regression/C++Frontend/2003-09-29-ArgumentNumberMismatch.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/test/Regression/C++Frontend/2003-09-29-ArgumentNumberMismatch.cpp b/llvm/test/Regression/C++Frontend/2003-09-29-ArgumentNumberMismatch.cpp
index 9e348b6e134..7c4e23f40ff 100644
--- a/llvm/test/Regression/C++Frontend/2003-09-29-ArgumentNumberMismatch.cpp
+++ b/llvm/test/Regression/C++Frontend/2003-09-29-ArgumentNumberMismatch.cpp
@@ -1,11 +1,15 @@
+// Non-POD classes cannot be passed into a function by component, because their
+// dtors must be run. Instead, pass them in by reference. The C++ front-end
+// was mistakenly "thinking" that 'foo' took a structure by component.
+
struct C {
int A, B;
~C() {}
-
- void operator^(C b) const { }
};
+void foo(C b);
+
void test(C *P) {
- *P ^ *P;
+ foo(*P);
}
OpenPOWER on IntegriCloud