You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
459 B
34 lines
459 B
// RUN: %clang_cc1 %s -emit-llvm -triple i686-pc-linux -o - -chain-include %s -chain-include %s | FileCheck %s
|
|
// CHECK: define linkonce_odr %{{[^ ]+}} @_ZN1AI1BE3getEv
|
|
#if !defined(PASS1)
|
|
#define PASS1
|
|
|
|
template <typename Derived>
|
|
struct A {
|
|
Derived* get() { return 0; }
|
|
};
|
|
|
|
struct B : A<B> {
|
|
};
|
|
|
|
#elif !defined(PASS2)
|
|
#define PASS2
|
|
|
|
struct C : B {
|
|
};
|
|
|
|
struct D : C {
|
|
void run() {
|
|
(void)get();
|
|
}
|
|
};
|
|
|
|
#else
|
|
|
|
int main() {
|
|
D d;
|
|
d.run();
|
|
}
|
|
|
|
#endif
|