llvm-project/clang/lib/Lex
Bruno Cardoso Lopes a9c51fe089 Re-apply: Warning for framework headers using double quote includes
Introduce -Wquoted-include-in-framework-header, which should fire a warning
whenever a quote include appears in a framework header and suggest a fix-it.
For instance, for header A.h added in the tests, this is how the warning looks
like:

./A.framework/Headers/A.h:2:10: warning: double-quoted include "A0.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
#include "A0.h"
         ^~~~~~
         <A/A0.h>
./A.framework/Headers/A.h:3:10: warning: double-quoted include "B.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
#include "B.h"
         ^~~~~
         <B.h>

This helps users to prevent frameworks from using local headers when in fact
they should be targetting system level ones.

The warning is off by default.

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

rdar://problem/37077034

llvm-svn: 335375
2018-06-22 18:05:17 +00:00
..
CMakeLists.txt
HeaderMap.cpp Use StringRef for MemoryBuffer identifier API (NFC) 2016-10-01 16:38:28 +00:00
HeaderSearch.cpp Re-apply: Warning for framework headers using double quote includes 2018-06-22 18:05:17 +00:00
Lexer.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
LiteralSupport.cpp [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals 2018-06-20 17:19:40 +00:00
MacroArgs.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
MacroInfo.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
ModuleMap.cpp [Modules] Improve .Private fix-its to handle 'explicit' and 'framework' 2018-06-15 20:13:28 +00:00
PPCaching.cpp [Lex] Fix crash on code completion in comment in included file. 2018-01-19 23:41:47 +00:00
PPCallbacks.cpp
PPConditionalDirectiveRecord.cpp Switch PPCallbacks to take the new MacroDefinition instead of MacroDirective*, in order to preserve full information on module macro expansion. 2015-05-04 03:15:40 +00:00
PPDirectives.cpp Reland '[clang] Adding CharacteristicKind to PPCallbacks::InclusionDirective' 2018-05-10 19:05:36 +00:00
PPExpressions.cpp Implement P0482R2, support for char8_t type. 2018-05-01 05:02:45 +00:00
PPLexerChange.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
PPMacroExpansion.cpp Add a new driver mode to dump compiler feature and extension options. 2018-05-31 13:57:09 +00:00
PTHLexer.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
Pragma.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
PreprocessingRecord.cpp Reland '[clang] Adding CharacteristicKind to PPCallbacks::InclusionDirective' 2018-05-10 19:05:36 +00:00
Preprocessor.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
PreprocessorLexer.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
ScratchBuffer.cpp [Lex] Use WritableMemoryBuffer in ScratchBuffer.cpp 2018-01-11 10:43:45 +00:00
TokenConcatenation.cpp Now that C++17 is official (https://www.iso.org/standard/68564.html), start changing the C++1z terminology over to C++17. NFC intended, these are all mechanical changes. 2017-12-04 20:27:34 +00:00
TokenLexer.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
UnicodeCharSets.h