[PATCH] D108882: Add backward compatibility tests for PackConstructorInitializers
Owen Pan via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Aug 28 23:55:01 PDT 2021
owenpan updated this revision to Diff 369308.
owenpan added a comment.
Reworked the logic for handling the backward compatibility.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108882/new/
https://reviews.llvm.org/D108882
Files:
clang/lib/Format/Format.cpp
clang/unittests/Format/FormatTest.cpp
Index: clang/unittests/Format/FormatTest.cpp
===================================================================
--- clang/unittests/Format/FormatTest.cpp
+++ clang/unittests/Format/FormatTest.cpp
@@ -18467,6 +18467,22 @@
PackConstructorInitializers, FormatStyle::PCIS_CurrentLine);
CHECK_PARSE("PackConstructorInitializers: NextLine",
PackConstructorInitializers, FormatStyle::PCIS_NextLine);
+ // For backward compatibility:
+ CHECK_PARSE("BasedOnStyle: Google\n"
+ "ConstructorInitializerAllOnOneLineOrOnePerLine: true\n"
+ "AllowAllConstructorInitializersOnNextLine: false",
+ PackConstructorInitializers, FormatStyle::PCIS_CurrentLine);
+ Style.PackConstructorInitializers = FormatStyle::PCIS_NextLine;
+ CHECK_PARSE("BasedOnStyle: Google\n"
+ "ConstructorInitializerAllOnOneLineOrOnePerLine: false",
+ PackConstructorInitializers, FormatStyle::PCIS_BinPack);
+ CHECK_PARSE("ConstructorInitializerAllOnOneLineOrOnePerLine: true\n"
+ "AllowAllConstructorInitializersOnNextLine: true",
+ PackConstructorInitializers, FormatStyle::PCIS_NextLine);
+ Style.PackConstructorInitializers = FormatStyle::PCIS_BinPack;
+ CHECK_PARSE("ConstructorInitializerAllOnOneLineOrOnePerLine: true\n"
+ "AllowAllConstructorInitializersOnNextLine: false",
+ PackConstructorInitializers, FormatStyle::PCIS_CurrentLine);
Style.EmptyLineBeforeAccessModifier = FormatStyle::ELBAMS_LogicalBlock;
CHECK_PARSE("EmptyLineBeforeAccessModifier: Never",
Index: clang/lib/Format/Format.cpp
===================================================================
--- clang/lib/Format/Format.cpp
+++ clang/lib/Format/Format.cpp
@@ -668,17 +668,19 @@
IO.mapOptional("ConstructorInitializerAllOnOneLineOrOnePerLine",
OnCurrentLine);
IO.mapOptional("AllowAllConstructorInitializersOnNextLine", OnNextLine);
- if (IsGoogleOrChromium &&
- Style.PackConstructorInitializers == FormatStyle::PCIS_NextLine) {
+ if (!IsGoogleOrChromium) {
+ if (Style.PackConstructorInitializers == FormatStyle::PCIS_BinPack &&
+ OnCurrentLine) {
+ Style.PackConstructorInitializers = OnNextLine
+ ? FormatStyle::PCIS_NextLine
+ : FormatStyle::PCIS_CurrentLine;
+ }
+ } else if (Style.PackConstructorInitializers ==
+ FormatStyle::PCIS_NextLine) {
if (!OnCurrentLine)
Style.PackConstructorInitializers = FormatStyle::PCIS_BinPack;
else if (!OnNextLine)
Style.PackConstructorInitializers = FormatStyle::PCIS_CurrentLine;
- } else if (Style.PackConstructorInitializers == FormatStyle::PCIS_BinPack &&
- OnCurrentLine) {
- Style.PackConstructorInitializers = OnNextLine
- ? FormatStyle::PCIS_NextLine
- : FormatStyle::PCIS_CurrentLine;
}
IO.mapOptional("FixNamespaceComments", Style.FixNamespaceComments);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108882.369308.patch
Type: text/x-patch
Size: 3143 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210829/c955a979/attachment.bin>
More information about the cfe-commits
mailing list