]> granicus.if.org Git - clang/commit
[Preprocessor] Add a note with framework location for "file not found" error.
authorVolodymyr Sapsai <vsapsai@apple.com>
Tue, 5 Feb 2019 22:34:55 +0000 (22:34 +0000)
committerVolodymyr Sapsai <vsapsai@apple.com>
Tue, 5 Feb 2019 22:34:55 +0000 (22:34 +0000)
commit54cac3348ad57029ef9511cfdfb4e5ba8ab79d2e
tree7339f99165e96068b1d4c6590044788b4d3362c2
parent50b770169401cf24705ba4da310455e97217b6cd
[Preprocessor] Add a note with framework location for "file not found" error.

When a framework with the same name is available at multiple framework
search paths, we use the first matching location. If a framework at this
location doesn't have all the headers, it can be confusing for
developers because they see only an error `'Foo/Foo.h' file not found`,
can find the complete framework with required header, and don't know the
incomplete framework was used instead.

Add a note explaining a framework without required header was found.
Also mention framework directory path to make it easier to find the
incomplete framework.

rdar://problem/39246514

Reviewers: arphaman, erik.pilkington, jkorous

Reviewed By: jkorous

Subscribers: jkorous, dexonsmith, cfe-commits

Differential Revision: https://reviews.llvm.org/D56561

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@353231 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/clang/Basic/DiagnosticLexKinds.td
include/clang/Lex/DirectoryLookup.h
include/clang/Lex/HeaderSearch.h
include/clang/Lex/Preprocessor.h
lib/Frontend/FrontendActions.cpp
lib/Frontend/Rewrite/InclusionRewriter.cpp
lib/Frontend/VerifyDiagnosticConsumer.cpp
lib/Lex/HeaderSearch.cpp
lib/Lex/PPDirectives.cpp
lib/Lex/PPMacroExpansion.cpp
lib/Lex/Pragma.cpp
lib/Lex/Preprocessor.cpp
test/Preprocessor/include-header-missing-in-framework.c [new file with mode: 0644]