xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/noinline-template.cpp (revision 0b98e8aad89f2bd4ba80b523d73cf29e9dd82ce1)
1 // RUN: %clang_cc1 %s  -emit-llvm -o - | FileCheck %s
2 
3 // This was a problem in Sema, but only shows up as noinline missing
4 // in CodeGen.
5 
6 // CHECK: define linkonce_odr void @_ZN6VectorIiE13growStorageByEv(%struct.Vector* %this) [[NI:#[0-9]+]]
7 
8 template <class Ty> struct Vector  {
9   void growStorageBy();
10 };
11 template <class T> __attribute__((noinline)) void Vector<T>::growStorageBy() {
12 }
13 void foo() {
14  Vector<int> strs;
15  strs.growStorageBy();
16 }
17 
18 // CHECK: attributes [[NI]] = { noinline nounwind{{.*}} }
19