1212// ===----------------------------------------------------------------------===//
1313
1414#include " clang/AST/DeclCXX.h"
15- #include " clang/AST/DynamicRecursiveASTVisitor.h"
1615#include " clang/AST/ExprCXX.h"
1716#include " clang/AST/StmtCXX.h"
1817#include " clang/Lex/Preprocessor.h"
18+ #include " clang/Sema/EnterExpressionEvaluationContext.h"
1919#include " clang/Sema/Lookup.h"
2020#include " clang/Sema/Overload.h"
2121#include " clang/Sema/Sema.h"
22-
23- #include < clang/Sema/EnterExpressionEvaluationContext.h>
24- #include < clang/Sema/Template.h>
22+ #include " clang/Sema/Template.h"
2523
2624using namespace clang ;
2725using namespace sema ;
@@ -34,10 +32,10 @@ struct IterableExpansionStmtData {
3432 Ok,
3533 };
3634
37- DeclStmt *RangeDecl{} ;
38- DeclStmt *BeginDecl{} ;
39- DeclStmt *EndDecl{} ;
40- Expr *Initializer{} ;
35+ DeclStmt *RangeDecl = nullptr ;
36+ DeclStmt *BeginDecl = nullptr ;
37+ DeclStmt *EndDecl = nullptr ;
38+ Expr *Initializer = nullptr ;
4139 State TheState = State::NotIterable;
4240
4341 bool isIterable () const { return TheState == State::Ok; }
@@ -520,15 +518,12 @@ std::optional<uint64_t>
520518Sema::ComputeExpansionSize (CXXExpansionStmt *Expansion) {
521519 assert (!Expansion->hasDependentSize ());
522520
523- if (isa<CXXEnumeratingExpansionStmt>(Expansion)) {
524- uint64_t Size = cast<CXXExpansionInitListSelectExpr>(
525- Expansion->getExpansionVariable ()->getInit ())
526- ->getRangeExpr ()
527- ->getExprs ()
528- .size ();
529-
530- return Size;
531- }
521+ if (isa<CXXEnumeratingExpansionStmt>(Expansion))
522+ return cast<CXXExpansionInitListSelectExpr>(
523+ Expansion->getExpansionVariable ()->getInit ())
524+ ->getRangeExpr ()
525+ ->getExprs ()
526+ .size ();
532527
533528 if (auto *Destructuring = dyn_cast<CXXDestructuringExpansionStmt>(Expansion))
534529 return Destructuring->getDecompositionDecl ()->bindings ().size ();
0 commit comments