// RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown_unknown -std=c++17 %s -o - -w -debug-info-kind=limited -gsimple-template-names=mangled \ // RUN: | FileCheck %s // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown_unknown -std=c++17 %s -o - -w -debug-info-kind=limited -gsimple-template-names=simple \ // RUN: | FileCheck %s --implicit-check-not=_STN --check-prefix=SIMPLE // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown_unknown -std=c++17 %s -o - -w -debug-info-kind=limited \ // RUN: | FileCheck %s --implicit-check-not=_STN --check-prefix=FULL // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown_unknown -std=c++17 %s -o - -w -debug-info-kind=line-tables-only -gsimple-template-names=mangled -fdebug-info-for-profiling \ // RUN: | FileCheck %s --implicit-check-not=_STN --check-prefix=FULL template void f1() {} template void f2() {} template struct t1 {}; extern int x; int x; struct t2 { template operator t1() { __builtin_unreachable(); } }; template