llvm-project/clang/unittests
Mark Zeren 1c3afaf50a [clang-format] Re-land: Fixup #include guard indents after parseFile()
Summary:
When a preprocessor indent closes after the last line of normal code we do not
correctly fixup include guard indents. For example:

  #ifndef HEADER_H
  #define HEADER_H
  #if 1
  int i;
  #  define A 0
  #endif
  #endif

incorrectly reformats to:

  #ifndef HEADER_H
  #define HEADER_H
  #if 1
  int i;
  #    define A 0
  #  endif
  #endif

To resolve this issue we must fixup levels after parseFile(). Delaying
the fixup introduces a new state, so consolidate include guard search
state into an enum.

Reviewers: krasimir, klimek

Subscribers: cfe-commits

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

llvm-svn: 324246
2018-02-05 15:59:00 +00:00
..
AST [AST] namespace ns { extern "C" { int X; }} prints as "ns::X", not as "X" 2018-02-02 13:34:47 +00:00
ASTMatchers Add hasTrailingReturn AST matcher 2018-01-22 22:45:23 +00:00
Analysis [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
Basic [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
CodeGen Unit tests for TBAA metadata generation. 2017-12-22 15:22:45 +00:00
CrossTU [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
Driver [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
Format [clang-format] Re-land: Fixup #include guard indents after parseFile() 2018-02-05 15:59:00 +00:00
Frontend [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
Lex [Lexer] Support adding working directory to relative search dir for #include shortening in HeaderSearch. 2018-01-29 13:21:23 +00:00
Rename [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
Rewrite [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
Sema [Sema] Add visited contexts to CodeCompleteContext 2018-01-17 14:29:25 +00:00
StaticAnalyzer [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
Tooling [Tooling] Test more APIs of ToolExecutor. NFC. 2018-01-26 11:10:32 +00:00
libclang [libclang] Add PrintingPolicy for pretty printing declarations 2018-01-16 10:19:56 +00:00
CMakeLists.txt Add Cross Translation Unit support library 2017-09-22 11:11:01 +00:00