]> granicus.if.org Git - clang/commitdiff
[Frontend] Make sure WrapperFrontendAction updates CurrentInput after calling BeginSo...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 16 Feb 2016 05:39:33 +0000 (05:39 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 16 Feb 2016 05:39:33 +0000 (05:39 +0000)
I don't have a test case to add unfortunately.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260937 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/FrontendAction.cpp

index a8166a647d588cdbaaba7b6756d9dbb51e2bb440..cdaa18a7a3137e57f325f14f2877e1d1422911cd 100644 (file)
@@ -559,7 +559,10 @@ bool WrapperFrontendAction::BeginSourceFileAction(CompilerInstance &CI,
                                                   StringRef Filename) {
   WrappedAction->setCurrentInput(getCurrentInput());
   WrappedAction->setCompilerInstance(&CI);
-  return WrappedAction->BeginSourceFileAction(CI, Filename);
+  auto Ret = WrappedAction->BeginSourceFileAction(CI, Filename);
+  // BeginSourceFileAction may change CurrentInput, e.g. during module builds.
+  setCurrentInput(WrappedAction->getCurrentInput());
+  return Ret;
 }
 void WrapperFrontendAction::ExecuteAction() {
   WrappedAction->ExecuteAction();