summaryrefslogtreecommitdiff
path: root/test/C++Frontend/2003-09-29-ArgumentNumberMismatch.cpp
blob: 19435c6075064fedb5914e09d4f1341dd16a6a8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// RUN: %llvmgxx -S %s -o - | llvm-as -f -o /dev/null

// 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 foo(C b);

void test(C *P) {
	foo(*P);
}