1 // RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -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 };
growStorageBy()11 template <class T> __attribute__((noinline)) void Vector<T>::growStorageBy() {
12 }
foo()13 void foo() {
14  Vector<int> strs;
15  strs.growStorageBy();
16 }
17 
18 // CHECK: attributes [[NI]] = { mustprogress noinline nounwind{{.*}} }
19