llvm-project/clang/lib/Format
Mark Zeren d2b2ac6886 [clang-format] Align preprocessor comments with #
Summary:
r312125, which introduced preprocessor indentation, shipped with a known
issue where "indentation of comments immediately before indented
preprocessor lines is toggled on each run". For example these two forms
toggle:

  #ifndef HEADER_H
  #define HEADER_H
  #if 1
  // comment
  #   define A 0
  #endif
  #endif

  #ifndef HEADER_H
  #define HEADER_H
  #if 1
     // comment
  #   define A 0
  #endif
  #endif

This happens because we check vertical alignment against the '#' yet
indent to the level of the 'define'. This patch resolves this issue by
aligning against the '#'.

Reviewers: krasimir, klimek, djasper

Reviewed By: krasimir

Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D42408

llvm-svn: 323904
2018-01-31 20:05:50 +00:00
..
AffectedRangeManager.cpp Added Fixer implementation and fix() interface in clang-format for removing redundant code. 2016-04-25 15:09:22 +00:00
AffectedRangeManager.h removed redundant '#' 2016-04-28 07:52:06 +00:00
BreakableToken.cpp [clang-format] Ignore UnbreakableTailLength sometimes during breaking 2018-01-23 11:26:19 +00:00
BreakableToken.h [clang-format] Ignore UnbreakableTailLength sometimes during breaking 2018-01-23 11:26:19 +00:00
CMakeLists.txt [clang-format] Support sorting using declarations 2017-06-21 12:03:12 +00:00
ContinuationIndenter.cpp [clang-format] Ignore UnbreakableTailLength sometimes during breaking 2018-01-23 11:26:19 +00:00
ContinuationIndenter.h [clang-format] adds enclosing function detection to raw string formatting 2018-01-17 16:17:26 +00:00
Encoding.h [Format] Remove dead code. 2016-12-19 21:10:50 +00:00
Format.cpp [clang-format] Adds space around braces in text protos 2018-01-31 10:14:10 +00:00
FormatInternal.h FormatInternal.h: Add missing includes. 2017-11-21 01:09:17 +00:00
FormatToken.cpp clang-format clang-format. 2017-09-20 09:51:03 +00:00
FormatToken.h Name two bool parameters. No behavior change. 2018-01-23 17:29:41 +00:00
FormatTokenLexer.cpp [clang-format] Support python-style comments in text protos 2017-11-10 12:50:09 +00:00
FormatTokenLexer.h [clang-format] Support python-style comments in text protos 2017-11-10 12:50:09 +00:00
NamespaceEndCommentsFixer.cpp [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
NamespaceEndCommentsFixer.h [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
SortJavaScriptImports.cpp [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
SortJavaScriptImports.h clang-format: [JS] sort ES6 imports. 2016-05-20 11:24:24 +00:00
TokenAnalyzer.cpp [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
TokenAnalyzer.h [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
TokenAnnotator.cpp [clang-format] Align preprocessor comments with # 2018-01-31 20:05:50 +00:00
TokenAnnotator.h [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
UnwrappedLineFormatter.cpp [clang-format] Fix shortening blocks in macros causing merged next line 2018-01-19 16:12:37 +00:00
UnwrappedLineFormatter.h [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
UnwrappedLineParser.cpp Attempt to fix implicit-fallthrough warning after r323218. 2018-01-24 01:47:22 +00:00
UnwrappedLineParser.h clang-format: Support macros in front of @interface / @protocol for ObjC code. 2018-01-23 17:10:25 +00:00
UsingDeclarationsSorter.cpp [clang-format] Deduplicate using declarations 2017-11-24 18:00:01 +00:00
UsingDeclarationsSorter.h [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
WhitespaceManager.cpp [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00
WhitespaceManager.h [clang-format] Format raw string literals 2017-10-30 14:01:50 +00:00