MyDeveloperDay added a comment.
I guess I'm not making myself clear, I was just hoping you could be super
explicit about what you are changing so anyone coming into this review would
understand why the behaviour had changed (this is just pseudo code it may not
be correct for all cases, but you should get the idea), We need to cover the
`SBS_Empty`,`SBS_Always`,`SBS_Never` cases and the ShortLoops `true/false`
Add a normal for loop to the `verifyFormat` so we can see that `FOREACH` is
being treated exactly the same as as a `for(;;)` loop
FormatStyle Style = getLLVMStyle();
// given that LLVM style is...
// AllowShortBlocksOnASingleLine = FormatStyle::SBS_Never;
// AllowShortLoopsOnASingleLine = false;
// This test ensures that foreach blocks are treated exactly the same as
their for(;;) counterparts.
EXPECT_EQ(Style.AllowShortBlocksOnASingleLine,FormatStyle::SBS_Never)
EXPECT_EQ(Style.AllowShortLoopsOnASingleLine ,true)
verifyFormat("void f() {\n"
" for(int i=0;i<10;i++) {\n}\n"
" foreach (Item *item, itemlist) {\n}\n"
" Q_FOREACH (Item *item, itemlist) {\n}\n"
" BOOST_FOREACH (Item *item, itemlist) {\n}\n"
" UNKNOWN_FORACH(Item * item, itemlist) {\n}\n"
"}",Style);
verifyFormat("void f() {\n"
" for(int i=0;i<10;i++) {\n std::cout << "loop"; }\n"
" foreach (Item *item, itemlist) {\n std::cout << "loop";
}\n"
" Q_FOREACH (Item *item, itemlist) {\n std::cout <<
"loop";}\n"
" BOOST_FOREACH (Item *item, itemlist) {\n std::cout <<
"loop";}\n"
" UNKNOWN_FORACH(Item * item, itemlist) {\n std::cout <<
"loop";}\n"
"}",Style);
verifyFormat("void f() {\n"
" for(int i=0;i<10;i++)\n std::cout << "loop";\n"
" foreach (Item *item, itemlist)\n std::cout << "loop"; \n"
" Q_FOREACH (Item *item, itemlist)\n std::cout << "loop";\n"
" BOOST_FOREACH (Item *item, itemlist)\n std::cout <<
"loop";\n"
" UNKNOWN_FORACH(Item * item, itemlist)\n std::cout <<
"loop";\n"
"}",Style);
Style.AllowShortBlocksOnASingleLine = FormatStyle::SBS_Always;
Style.AllowShortLoopsOnASingleLine = false;
verifyFormat("void f() {\n"
" for(int i=0;i<10;i++) {}\n"
" foreach (Item *item, itemlist) {}\n"
" Q_FOREACH (Item *item, itemlist) {}\n"
" BOOST_FOREACH (Item *item, itemlist) {}\n"
" UNKNOWN_FORACH(Item * item, itemlist) {}\n"
"}",Style);
verifyFormat("void f() {\n"
" for(int i=0;i<10;i++) {std::cout << "Loop";}\n"
" foreach (Item *item, itemlist) { std::cout << "Loop";}\n"
" Q_FOREACH (Item *item, itemlist) { std::cout << "Loop";}\n"
" BOOST_FOREACH (Item *item, itemlist) { std::cout <<
"Loop";}\n"
" UNKNOWN_FORACH(Item * item, itemlist) { std::cout <<
"Loop";}\n"
"}",Style);
verifyFormat("void f() {\n"
" for(int i=0;i<10;i++) std::cout << "Loop";\n"
" foreach (Item *item, itemlist) std::cout << "Loop";\n"
" Q_FOREACH (Item *item, itemlist) std::cout << "Loop";\n"
" BOOST_FOREACH (Item *item, itemlist) std::cout << "Loop";\n"
" UNKNOWN_FORACH(Item * item, itemlist) std::cout <<
"Loop";\n"
"}",Style);
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94955/new/
https://reviews.llvm.org/D94955
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits