// This test uses PrintFunctionNames with -fdelayed-template-parsing because it // happens to use a RecursiveASTVisitor that forces deserialization of AST // files. // // RUN: %clang_cc1 -triple %itanium_abi_triple -fdelayed-template-parsing \ // RUN: -std=c++14 -emit-pch -o %t.pch %s // RUN: %clang_cc1 -triple %itanium_abi_triple \ // RUN: -load %llvmshlibdir/PrintFunctionNames%pluginext \ // RUN: -add-plugin print-fns -std=c++14 -include-pch %t.pch %s -emit-llvm \ // RUN: -fdelayed-template-parsing -debug-info-kind=limited \ // RUN: -o %t.ll 2>&1 | FileCheck --check-prefix=DECLS %s // RUN: FileCheck --check-prefix=IR %s < %t.ll // // REQUIRES: plugins, examples // DECLS: top-level-decl: "func" // IR: define {{.*}}void @_Z4funcv() #ifndef HEADER #define HEADER struct nullopt_t { constexpr explicit nullopt_t(int) {} }; constexpr nullopt_t nullopt(0); #else void func() { } #endif