Skip to content
Snippets Groups Projects
Commit 62ba4ba4 authored by Argyrios Kyrtzidis's avatar Argyrios Kyrtzidis
Browse files

[frontend] Initialize the diagnostic client before loading an ast file.

Issue reported by Tom Honermann!
http://llvm.org/bugs/show_bug.cgi?id=15377

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177336 91177308-0d34-0410-b5e6-96231b3b80d8
parent c7f81163
No related branches found
No related tags found
No related merge requests found
......@@ -188,6 +188,10 @@ bool FrontendAction::BeginSourceFile(CompilerInstance &CI,
setCurrentInput(Input, AST);
// Inform the diagnostic client we are processing a source file.
CI.getDiagnosticClient().BeginSourceFile(CI.getLangOpts(), 0);
HasBegunSourceFile = true;
// Set the shared objects, these are reset when we finish processing the
// file, otherwise the CompilerInstance will happily destroy them.
CI.setFileManager(&AST->getFileManager());
......
// RUN: %clang -emit-llvm -S -o %t1.ll -x c++ - < %s
// RUN: %clang -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;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment