diff options
Diffstat (limited to 'clang/tools/driver/cc1as_main.cpp')
-rw-r--r-- | clang/tools/driver/cc1as_main.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/clang/tools/driver/cc1as_main.cpp b/clang/tools/driver/cc1as_main.cpp index 91b66f578c4..9b847ab7c4c 100644 --- a/clang/tools/driver/cc1as_main.cpp +++ b/clang/tools/driver/cc1as_main.cpp @@ -262,13 +262,12 @@ static formatted_raw_ostream *GetOutputStream(AssemblerInvocation &Opts, if (Opts.OutputPath != "-") sys::RemoveFileOnSignal(Opts.OutputPath); - std::string Error; - raw_fd_ostream *Out = - new raw_fd_ostream(Opts.OutputPath.c_str(), Error, - (Binary ? sys::fs::F_None : sys::fs::F_Text)); - if (!Error.empty()) { - Diags.Report(diag::err_fe_unable_to_open_output) - << Opts.OutputPath << Error; + std::error_code EC; + raw_fd_ostream *Out = new raw_fd_ostream( + Opts.OutputPath, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text)); + if (EC) { + Diags.Report(diag::err_fe_unable_to_open_output) << Opts.OutputPath + << EC.message(); delete Out; return nullptr; } |