blob: 72997c524b85e3585b7fa4425bdd3beb8351e957 [file] [log] [blame]
Dan Gohman2d65d352009-08-25 15:38:29 +00001// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002
3// Non-POD classes cannot be passed into a function by component, because their
4// dtors must be run. Instead, pass them in by reference. The C++ front-end
5// was mistakenly "thinking" that 'foo' took a structure by component.
6
7struct C {
8 int A, B;
9 ~C() {}
10};
11
12void foo(C b);
13
14void test(C *P) {
15 foo(*P);
16}
17