[PATCH] D68707: [clang-format] throws an incorrect assertion in consumeToken() formatting the MSVC stl
MyDeveloperDay via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 9 10:29:10 PDT 2019
MyDeveloperDay added inline comments.
================
Comment at: clang/lib/Format/TokenAnnotator.cpp:847
case tok::kw_while:
- assert(!Line.startsWith(tok::hash));
- if (Tok->is(tok::kw_if) && CurrentToken &&
- CurrentToken->isOneOf(tok::kw_constexpr, tok::identifier))
- next();
- if (CurrentToken && CurrentToken->is(tok::l_paren)) {
- next();
- if (!parseParens(/*LookForDecls=*/true))
- return false;
+ if (!Line.startsWith(tok::hash)) {
+ if (Tok->is(tok::kw_if) && CurrentToken &&
----------------
mitchell-stellar wrote:
> It's not clear to me whether or not the token should be consumed. The previous assertion leads me to think no, and in that case, I think this should be
> ```
> if (Line.startsWith(tok::hash))
> return false;
> ```
> A comment on this would also be helpful.
to be honest I'm not sure what the assertion is trying to actually assert (I'm not a massive fan of assertions especially like this), just because I see while am I not expecting to see a # at the beginning of the line?
I've tried both yours, mine and removing it completely and none of the test fail, so I feel like imposing the "Beyonce rule!!" and getting rid of it.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68707/new/
https://reviews.llvm.org/D68707
More information about the cfe-commits
mailing list