diff options
Diffstat (limited to 'lib/Tooling/CompilationDatabase.cpp')
| -rw-r--r-- | lib/Tooling/CompilationDatabase.cpp | 13 | 
1 files changed, 5 insertions, 8 deletions
| diff --git a/lib/Tooling/CompilationDatabase.cpp b/lib/Tooling/CompilationDatabase.cpp index 4483b189ca9f..2272be632b9e 100644 --- a/lib/Tooling/CompilationDatabase.cpp +++ b/lib/Tooling/CompilationDatabase.cpp @@ -250,14 +250,11 @@ static bool stripPositionalArgs(std::vector<const char *> Args,    CompileJobAnalyzer CompileAnalyzer; -  for (const auto &Job : Jobs) { -    if (Job.getKind() == driver::Job::CommandClass) { -      const driver::Command &Cmd = cast<driver::Command>(Job); -      // Collect only for Assemble jobs. If we do all jobs we get duplicates -      // since Link jobs point to Assemble jobs as inputs. -      if (Cmd.getSource().getKind() == driver::Action::AssembleJobClass) -        CompileAnalyzer.run(&Cmd.getSource()); -    } +  for (const auto &Cmd : Jobs) { +    // Collect only for Assemble jobs. If we do all jobs we get duplicates +    // since Link jobs point to Assemble jobs as inputs. +    if (Cmd.getSource().getKind() == driver::Action::AssembleJobClass) +      CompileAnalyzer.run(&Cmd.getSource());    }    if (CompileAnalyzer.Inputs.empty()) { | 
