diff options
Diffstat (limited to 'clang/test/PCH/chain-pending-instantiations.cpp')
-rw-r--r-- | clang/test/PCH/chain-pending-instantiations.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/clang/test/PCH/chain-pending-instantiations.cpp b/clang/test/PCH/chain-pending-instantiations.cpp new file mode 100644 index 0000000..e49abcd --- /dev/null +++ b/clang/test/PCH/chain-pending-instantiations.cpp @@ -0,0 +1,33 @@ +// RUN: %clang_cc1 %s -emit-llvm -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 |