34 lines · cpp
1// RUN: %clang_cc1 %s -emit-llvm -triple i686-pc-linux -o - -chain-include %s -chain-include %s | FileCheck %s2// CHECK: define linkonce_odr noundef ptr @_ZN1AI1BE3getEv3#if !defined(PASS1)4#define PASS15 6template <typename Derived>7struct A {8 Derived* get() { return 0; }9};10 11struct B : A<B> {12};13 14#elif !defined(PASS2)15#define PASS216 17struct C : B {18};19 20struct D : C {21 void run() {22 (void)get();23 }24};25 26#else27 28int main() {29 D d;30 d.run();31}32 33#endif34