[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.

llvm-svn: 260937

clang/lib/Frontend/FrontendAction.cpp

index a8166a6..cdaa18a 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();