OSDN Git Service

Simplify test, include problem analysis
authorChris Lattner <sabre@nondot.org>
Mon, 29 Sep 2003 21:53:04 +0000 (21:53 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 29 Sep 2003 21:53:04 +0000 (21:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8747 91177308-0d34-0410-b5e6-96231b3b80d8

test/C++Frontend/2003-09-29-ArgumentNumberMismatch.cpp

index 9e348b6..7c4e23f 100644 (file)
@@ -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);
 }