// RUN: %clang -emit-llvm -S -o %t1.ll -x c++ - < %s | |
// RUN: %clang -fno-delayed-template-parsing -emit-ast -o %t.ast %s | |
// RUN: %clang -emit-llvm -S -o %t2.ll -x ast - < %t.ast | |
// RUN: diff %t1.ll %t2.ll | |
// http://llvm.org/bugs/show_bug.cgi?id=15377 | |
template<typename T> | |
struct S { | |
T *mf(); | |
}; | |
template<typename T> | |
T *S<T>::mf() { | |
// warning: control reaches end of non-void function [-Wreturn-type] | |
} | |
void f() { | |
S<int>().mf(); | |
} | |
int main() { | |
return 0; | |
} |