r368348 - Fix up fd limit diagnosis code

Nico Weber via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 9 12:43:16 PDT 2019


Thanks for taking care of this.

I think having a list of "allowed" error codes is more robust long-term
than having an explicit list of unexpected error codes, even though if it
requires some short-term whack-a-mole.

The original change landed after the 9.0 branch, so we have some time for
whack-a-moleing.

On Fri, Aug 9, 2019 at 3:39 PM Reid Kleckner via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> I'll add std::errc::not_a_directory to the list of ignored errors.
>
> 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
>>
> _______________________________________________
> 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/7a82db9f/attachment.html>


More information about the cfe-commits mailing list