]> granicus.if.org Git - clang/commit
[clang-format] Fixup #include guard indents after parseFile()
authorMark Zeren <mzeren@vmware.com>
Mon, 5 Feb 2018 14:35:54 +0000 (14:35 +0000)
committerMark Zeren <mzeren@vmware.com>
Mon, 5 Feb 2018 14:35:54 +0000 (14:35 +0000)
commitd169c7996628b07cd5460ee7d33e5a0b49fac2ea
tree6e15ff57117594609b19dd6bcc0bbeb52019b729
parentb9bdf3d4e882e565e4af6a67d419648ef572cd4f
[clang-format] 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

Reviewed By: krasimir

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@324238 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Format/UnwrappedLineParser.cpp
lib/Format/UnwrappedLineParser.h
unittests/Format/FormatTest.cpp