diff options
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r-- | clang/lib/Driver/ArgList.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 9 |
3 files changed, 8 insertions, 7 deletions
diff --git a/clang/lib/Driver/ArgList.cpp b/clang/lib/Driver/ArgList.cpp index c76356ca20b..6f7cbb6062d 100644 --- a/clang/lib/Driver/ArgList.cpp +++ b/clang/lib/Driver/ArgList.cpp @@ -51,8 +51,9 @@ void ArgList::eraseArg(OptSpecifier Id) { if ((*it)->getOption().matches(Id)) { it = Args.erase(it); ie = end(); - } else + } else { ++it; + } } } diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index ec6a07a54b5..84321139ff2 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -397,8 +397,9 @@ void Driver::generateCompilationDiagnostics(Compilation &C, if (types::getPreprocessedType(it->first) == types::TY_INVALID) { it = Inputs.erase(it); ie = Inputs.end(); - } else + } else { ++it; + } } if (Inputs.empty()) { Diag(clang::diag::note_drv_command_failed_diag_msg) diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index f006c3b391c..f6600ed1e44 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -2438,11 +2438,10 @@ darwin::CC1::getDependencyFileName(const ArgList &Args, if (Arg *OutputOpt = Args.getLastArg(options::OPT_o)) { std::string Str(OutputOpt->getValue(Args)); - Res = Str.substr(0, Str.rfind('.')); - } else + } else { Res = darwin::CC1::getBaseInputStem(Args, Inputs); - + } return Args.MakeArgString(Res + ".d"); } @@ -2452,9 +2451,9 @@ void darwin::CC1::RemoveCC1UnsupportedArgs(ArgStringList &CmdArgs) const { if (!strcmp(*it, "-Wno-self-assign")) { it = CmdArgs.erase(it); ie = CmdArgs.end(); - } - else + } else { ++it; + } } } |