diff --git a/clang/test/CodeGenCXX/pr12104.cpp b/clang/test/CodeGenCXX/pr12104.cpp index d126108073f3..a62f04b66834 100644 --- a/clang/test/CodeGenCXX/pr12104.cpp +++ b/clang/test/CodeGenCXX/pr12104.cpp @@ -1,14 +1,7 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -include %S/pr12104.h %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -x c++ -emit-pch -o %t %S/pr12104.h +// RUN: %clang_cc1 -include-pch %t %s -emit-llvm -o - | FileCheck %s -template struct Patch { - static const unsigned int no_neighbor = 1; -}; -template -const unsigned int Patch::no_neighbor; -void f(const unsigned int); -void g() { - f(Patch<1>::no_neighbor); -} template struct Patch<1>; // CHECK: _ZN5PatchILi1EE11no_neighborE diff --git a/clang/test/CodeGenCXX/pr12104.h b/clang/test/CodeGenCXX/pr12104.h new file mode 100644 index 000000000000..f3e9363fe191 --- /dev/null +++ b/clang/test/CodeGenCXX/pr12104.h @@ -0,0 +1,9 @@ +template struct Patch { + static const unsigned int no_neighbor = 1; +}; +template +const unsigned int Patch::no_neighbor; +void f(const unsigned int); +void g() { + f(Patch<1>::no_neighbor); +}