>From the review: This is for gcc 4.8 compat, not for the other reasons mentioned in the CL description.
On Tue, Aug 13, 2019 at 3:31 PM Alexey Bataev via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: abataev > Date: Tue Aug 13 12:32:36 2019 > New Revision: 368739 > > URL: http://llvm.org/viewvc/llvm-project?rev=368739&view=rev > Log: > Don't use std::errc > > Summary: > As noted on Errc.h: > > // * std::errc is just marked with is_error_condition_enum. This means that > // common patters like AnErrorCode == errc::no_such_file_or_directory > take > // 4 virtual calls instead of two comparisons. > > And on some libstdc++ those virtual functions conclude that > > ------------------------ > int main() { > std::error_code foo = > std::make_error_code(std::errc::no_such_file_or_directory); > return foo == std::errc::no_such_file_or_directory; > } > ------------------------- > > should exit with 0. > > Reviewers: thakis, rnk, jfb > > Reviewed By: thakis > > Subscribers: lebedev.ri, dexonsmith, xbolva00, cfe-commits, caomhin > > Tags: #clang > > Differential Revision: https://reviews.llvm.org/D66143 > > Modified: > cfe/trunk/lib/Lex/HeaderSearch.cpp > > Modified: cfe/trunk/lib/Lex/HeaderSearch.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/HeaderSearch.cpp?rev=368739&r1=368738&r2=368739&view=diff > > ============================================================================== > --- cfe/trunk/lib/Lex/HeaderSearch.cpp (original) > +++ cfe/trunk/lib/Lex/HeaderSearch.cpp Tue Aug 13 12:32:36 2019 > @@ -30,6 +30,7 @@ > #include "llvm/ADT/StringRef.h" > #include "llvm/Support/Allocator.h" > #include "llvm/Support/Capacity.h" > +#include "llvm/Support/Errc.h" > #include "llvm/Support/ErrorHandling.h" > #include "llvm/Support/FileSystem.h" > #include "llvm/Support/Path.h" > @@ -315,9 +316,9 @@ const FileEntry *HeaderSearch::getFileAn > // For rare, surprising errors (e.g. "out of file handles"), diag the > EC > // message. > std::error_code EC = File.getError(); > - if (EC != std::errc::no_such_file_or_directory && > - EC != std::errc::invalid_argument && EC != > std::errc::is_a_directory && > - EC != std::errc::not_a_directory) { > + if (EC != llvm::errc::no_such_file_or_directory && > + EC != llvm::errc::invalid_argument && > + EC != llvm::errc::is_a_directory && EC != > llvm::errc::not_a_directory) { > Diags.Report(IncludeLoc, diag::err_cannot_open_file) > << FileName << EC.message(); > } > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits