r368348 - Fix up fd limit diagnosis code

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 9 12:49:16 PDT 2019


Let me know if the problem persists after r368475. Someone else filed
https://bugs.llvm.org/show_bug.cgi?id=42948 as well.

On Thu, Aug 8, 2019 at 11:34 PM Martin Storsjö <martin at martin.st> wrote:

> This change broke compiling Qt.
>
> A repro case looks like this:
>
> mkdir -p fake-qtincl/5.13.1/QtCore/private
> touch fake-qtincl/5.13.1/QtCore/private/qglobal_p.h
> touch fake-qtincl/QtCore
> echo "#include <QtCore/private/qglobal_p.h>" > qtincl.cpp
> bin/clang++ -c qtincl.cpp -Ifake-qtincl -Ifake-qtincl/5.13.1
>
> Previously this ignored the non-directory QtCore, but now clang bails out
> on it. (And this is code that all other major compilers tolerate, afaik.)
>
> // Martin
>
>
> On Thu, 8 Aug 2019, Reid Kleckner via cfe-commits wrote:
>
> > Author: rnk
> > Date: Thu Aug  8 14:35:03 2019
> > New Revision: 368348
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=368348&view=rev
> > Log:
> > Fix up fd limit diagnosis code
> >
> > Apparently Windows returns the "invalid argument" error code when the
> > path contains invalid characters such as '<'. The
> > test/Preprocessor/include-likely-typo.c test does this, so it was
> > failing after r368322.
> >
> > Also, the diagnostic requires two arguments, so add the filename.
> >
> > 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=368348&r1=368347&r2=368348&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/Lex/HeaderSearch.cpp (original)
> > +++ cfe/trunk/lib/Lex/HeaderSearch.cpp Thu Aug  8 14:35:03 2019
> > @@ -316,8 +316,9 @@ const FileEntry *HeaderSearch::getFileAn
> >     // message.
> >     std::error_code EC = File.getError();
> >     if (EC != std::errc::no_such_file_or_directory &&
> > -        EC != std::errc::is_a_directory) {
> > -      Diags.Report(IncludeLoc, diag::err_cannot_open_file) <<
> EC.message();
> > +        EC != std::errc::invalid_argument && EC !=
> std::errc::is_a_directory) {
> > +      Diags.Report(IncludeLoc, diag::err_cannot_open_file)
> > +          << FileName << EC.message();
> >     }
> >     return nullptr;
> >   }
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190809/ecfbbf57/attachment.html>


More information about the cfe-commits mailing list