github-actions[bot] wrote: <!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning: <details> <summary> You can test this locally with the following command: </summary> ``````````bash git-clang-format --diff 842a332f11f53c698fa0560505e533ecdca28876 e3829cd5d915958101e094a6354869a755198083 --extensions ,cpp,h,c -- clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp clang/test/CXX/temp/temp.names/p3-23.cpp clang/include/clang/AST/ExprCXX.h clang/include/clang/AST/Stmt.h clang/include/clang/AST/UnresolvedSet.h clang/include/clang/Parse/Parser.h clang/include/clang/Sema/DeclSpec.h clang/include/clang/Sema/Lookup.h clang/include/clang/Sema/Sema.h clang/lib/AST/ASTImporter.cpp clang/lib/AST/ExprCXX.cpp clang/lib/AST/ItaniumMangle.cpp clang/lib/Parse/ParseExpr.cpp clang/lib/Parse/ParseExprCXX.cpp clang/lib/Parse/ParseOpenMP.cpp clang/lib/Parse/ParseTemplate.cpp clang/lib/Parse/ParseTentative.cpp clang/lib/Parse/Parser.cpp clang/lib/Sema/SemaCXXScopeSpec.cpp clang/lib/Sema/SemaCoroutine.cpp clang/lib/Sema/SemaDeclCXX.cpp clang/lib/Sema/SemaExpr.cpp clang/lib/Sema/SemaExprMember.cpp clang/lib/Sema/SemaOverload.cpp clang/lib/Sema/SemaStmtAsm.cpp clang/lib/Sema/SemaTemplate.cpp clang/lib/Sema/SemaTemplateInstantiate.cpp clang/lib/Sema/TreeTransform.h clang/lib/Serialization/ASTReaderStmt.cpp clang/lib/Serialization/ASTWriterStmt.cpp clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp clang/test/CXX/class.derived/class.member.lookup/p8.cpp clang/test/CXX/dcl.decl/dcl.meaning/dcl.mptr/p2.cpp clang/test/CXX/drs/cwg1xx.cpp clang/test/CXX/temp/temp.res/p3.cpp clang/test/FixIt/fixit.cpp clang/test/Misc/warning-flags.c clang/test/Parser/cxx2a-concepts-requires-expr.cpp clang/test/SemaCXX/cxx0x-noexcept-expression.cpp clang/test/SemaCXX/nested-name-spec.cpp clang/test/SemaCXX/pseudo-destructors.cpp clang/test/SemaCXX/static-assert-cxx17.cpp clang/test/SemaTemplate/dependent-base-classes.cpp clang/test/SemaTemplate/dependent-template-recover.cpp clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp clang/test/SemaTemplate/template-id-expr.cpp clang/test/SemaTemplate/typename-specifier-3.cpp libcxx/include/regex `````````` </details> <details> <summary> View the diff from clang-format here. </summary> ``````````diff diff --git a/clang/lib/Parse/ParseExprCXX.cpp b/clang/lib/Parse/ParseExprCXX.cpp index f5a6520610..57c16913e4 100644 --- a/clang/lib/Parse/ParseExprCXX.cpp +++ b/clang/lib/Parse/ParseExprCXX.cpp @@ -560,7 +560,8 @@ bool Parser::ParseOptionalCXXScopeSpecifier( if (MemberOfUnknownSpecialization && !Disambiguation && (ObjectType || SS.isSet()) && - (IsTypename || isTemplateArgumentList(1, TNK_Non_template) == TPResult::True)) { + (IsTypename || + isTemplateArgumentList(1, TNK_Non_template) == TPResult::True)) { // If we had errors before, ObjectType can be dependent even without any // templates. Do not report missing template keyword in that case. if (!ObjectHadErrors) { diff --git a/clang/lib/Parse/ParseTentative.cpp b/clang/lib/Parse/ParseTentative.cpp index dbf9e36d83..f0f94d20c2 100644 --- a/clang/lib/Parse/ParseTentative.cpp +++ b/clang/lib/Parse/ParseTentative.cpp @@ -11,8 +11,8 @@ // //===----------------------------------------------------------------------===// -#include "clang/Parse/Parser.h" #include "clang/Parse/ParseDiagnostic.h" +#include "clang/Parse/Parser.h" #include "clang/Parse/RAIIObjectsForParser.h" #include "clang/Sema/ParsedTemplate.h" using namespace clang; @@ -1016,8 +1016,7 @@ Parser::TPResult Parser::TryParseNonConversionOperatorId() { return TPResult::False; } Parser::TPResult Parser::TryParseOperatorId() { - if (TPResult TPR = TryParseNonConversionOperatorId(); - TPR != TPResult::False) + if (TPResult TPR = TryParseNonConversionOperatorId(); TPR != TPResult::False) return TPR; // Maybe this is a conversion-function-id. @@ -2310,7 +2309,8 @@ Parser::TPResult Parser::TryParseBracketDeclarator() { /// of a template-id or simple-template-id, rather than a less-than comparison. /// This will often fail and produce an ambiguity, but should never be wrong /// if it returns True or False. -Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, TemplateNameKind TNK) { +Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, + TemplateNameKind TNK) { if (!TokensToSkip) { if (Tok.isNot(tok::less)) return TPResult::False; @@ -2336,50 +2336,50 @@ Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, TemplateN unsigned TemplateDepth = 0; while (true) { switch (Tok.getKind()) { - case tok::eof: - case tok::annot_module_begin: - case tok::annot_module_end: - case tok::annot_module_include: - case tok::annot_repl_input_end: - case tok::semi: - return TPResult::False; - - case tok::comma: - case tok::greater: - case tok::greatergreater: - case tok::greatergreatergreater: - return TPResult::True; + case tok::eof: + case tok::annot_module_begin: + case tok::annot_module_end: + case tok::annot_module_include: + case tok::annot_repl_input_end: + case tok::semi: + return TPResult::False; - case tok::l_paren: - ConsumeParen(); - if (!SkipUntil(tok::r_paren, StopAtSemi)) - return TPResult::Error; - break; - case tok::l_brace: - ConsumeBrace(); - if (!SkipUntil(tok::r_brace, StopAtSemi)) - return TPResult::Error; - break; - case tok::l_square: - ConsumeBracket(); - if (!SkipUntil(tok::r_square, StopAtSemi)) - return TPResult::Error; - break; - case tok::question: + case tok::comma: + case tok::greater: + case tok::greatergreater: + case tok::greatergreatergreater: + return TPResult::True; + + case tok::l_paren: + ConsumeParen(); + if (!SkipUntil(tok::r_paren, StopAtSemi)) + return TPResult::Error; + break; + case tok::l_brace: + ConsumeBrace(); + if (!SkipUntil(tok::r_brace, StopAtSemi)) + return TPResult::Error; + break; + case tok::l_square: + ConsumeBracket(); + if (!SkipUntil(tok::r_square, StopAtSemi)) + return TPResult::Error; + break; + case tok::question: ConsumeToken(); if (!SkipUntil(tok::colon, StopAtSemi)) - return TPResult::Error; + return TPResult::Error; break; - #if 0 +#if 0 case tok::kw_template: ConsumeToken(); NextIsTemplateId = true; continue; - #endif - case tok::identifier: - ConsumeToken(); - #if 0 +#endif + case tok::identifier: + ConsumeToken(); +#if 0 if (Tok.is(tok::less)) { if (!NextIsTemplateId) return TPResult::Ambiguous; @@ -2388,23 +2388,23 @@ Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, TemplateN return TPResult::Error; break; } - #else +#else + if (Tok.is(tok::less)) + return TPResult::Ambiguous; + break; +#endif + + case tok::kw_operator: + if (TPResult TPR = TryParseNonConversionOperatorId(); + TPR == TPResult::Error) { + return TPResult::Error; + } else if (TPR == TPResult::True) { if (Tok.is(tok::less)) return TPResult::Ambiguous; - break; - #endif - - case tok::kw_operator: - if (TPResult TPR = TryParseNonConversionOperatorId(); - TPR == TPResult::Error) { - return TPResult::Error; - } else if (TPR == TPResult::True) { - if (Tok.is(tok::less)) - return TPResult::Ambiguous; - } - break; + } + break; - #if 0 +#if 0 if (Tok.is(tok::less)) { if (!NextIsTemplateId) return TPResult::Ambiguous; @@ -2413,40 +2413,42 @@ Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, TemplateN return TPResult::Error; } break; - #endif +#endif - case tok::kw_const_cast: - case tok::kw_dynamic_cast: - case tok::kw_reinterpret_cast: - case tok::kw_static_cast: { - ConsumeToken(); - if (!TryConsumeToken(tok::less)) - return TPResult::Error; - bool MayHaveTrailingReturnType = Tok.is(tok::kw_auto); - - while (true) { - TPResult TPR = isCXXDeclarationSpecifier(ImplicitTypenameContext::Yes); - if (TPR == TPResult::False) - break; - if (TPR == TPResult::Error || - TryConsumeDeclarationSpecifier() == TPResult::Error) - return TPResult::Error; - } - - if (TryParseDeclarator( - /*mayBeAbstract=*/true, - /*mayHaveIdentifier=*/false, - /*mayHaveDirectInit=*/false, - /*mayHaveTrailingReturnType=*/MayHaveTrailingReturnType) == TPResult::Error) - return TPResult::Error; + case tok::kw_const_cast: + case tok::kw_dynamic_cast: + case tok::kw_reinterpret_cast: + case tok::kw_static_cast: { + ConsumeToken(); + if (!TryConsumeToken(tok::less)) + return TPResult::Error; + bool MayHaveTrailingReturnType = Tok.is(tok::kw_auto); - if (!TryConsumeToken(tok::greater)) + while (true) { + TPResult TPR = + isCXXDeclarationSpecifier(ImplicitTypenameContext::Yes); + if (TPR == TPResult::False) + break; + if (TPR == TPResult::Error || + TryConsumeDeclarationSpecifier() == TPResult::Error) return TPResult::Error; - break; } - default: - ConsumeAnyToken(); - break; + + if (TryParseDeclarator( + /*mayBeAbstract=*/true, + /*mayHaveIdentifier=*/false, + /*mayHaveDirectInit=*/false, + /*mayHaveTrailingReturnType=*/MayHaveTrailingReturnType) == + TPResult::Error) + return TPResult::Error; + + if (!TryConsumeToken(tok::greater)) + return TPResult::Error; + break; + } + default: + ConsumeAnyToken(); + break; } NextIsTemplateId = false; } @@ -2462,9 +2464,10 @@ Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, TemplateN return TPResult::Error; bool InvalidAsTemplateArgumentList = false; - TPResult TPR = isCXXDeclarationSpecifier(ImplicitTypenameContext::No, - /*BracedCastResult=*/TPResult::Ambiguous, - &InvalidAsTemplateArgumentList); + TPResult TPR = + isCXXDeclarationSpecifier(ImplicitTypenameContext::No, + /*BracedCastResult=*/TPResult::Ambiguous, + &InvalidAsTemplateArgumentList); if (InvalidAsTemplateArgumentList) return TPResult::False; @@ -2501,7 +2504,7 @@ Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, TemplateN } } - #if 0 +#if 0 // We can't do much to tell an expression apart from a template-argument, // but one good distinguishing factor is that a "decl-specifier" not // followed by '(' or '{' can't appear in an expression. @@ -2512,7 +2515,7 @@ Parser::TPResult Parser::isTemplateArgumentList(unsigned TokensToSkip, TemplateN return TPResult::True; if (InvalidAsTemplateArgumentList) return TPResult::False; - #endif +#endif // FIXME: In many contexts, X<thing1, Type> can only be a // template-argument-list. But that's not true in general: `````````` </details> https://github.com/llvm/llvm-project/pull/100425 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits