From: Joe Loser Date: Thu, 8 Sep 2022 20:26:11 +0000 (-0600) Subject: [clang] Use std::size instead of llvm::array_lengthof X-Git-Tag: upstream/17.0.6~33998 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b3a78d1d534550b2f85a81b2e9ac6d7a94a478e;p=platform%2Fupstream%2Fllvm.git [clang] Use std::size instead of llvm::array_lengthof LLVM contains a helpful function for getting the size of a C-style array: `llvm::array_lengthof`. This is useful prior to C++17, but not as helpful for C++17 or later: `std::size` already has support for C-style arrays. Change call sites to use `std::size` instead. Leave the few call sites that use a locally defined `array_lengthof` that are meant to test previous bugs with NTTPs in clang analyzer and SemaTemplate. Differential Revision: https://reviews.llvm.org/D133520 --- diff --git a/clang/include/clang/AST/OpenMPClause.h b/clang/include/clang/AST/OpenMPClause.h index fd6f50e..23b4a95 100644 --- a/clang/include/clang/AST/OpenMPClause.h +++ b/clang/include/clang/AST/OpenMPClause.h @@ -5785,12 +5785,11 @@ private: /*SupportsMapper=*/true, &MapperQualifierLoc, &MapperIdInfo), MapType(MapType), MapTypeIsImplicit(MapTypeIsImplicit), MapLoc(MapLoc) { - assert(llvm::array_lengthof(MapTypeModifiers) == MapModifiers.size() && + assert(std::size(MapTypeModifiers) == MapModifiers.size() && "Unexpected number of map type modifiers."); llvm::copy(MapModifiers, std::begin(MapTypeModifiers)); - assert(llvm::array_lengthof(MapTypeModifiersLoc) == - MapModifiersLoc.size() && + assert(std::size(MapTypeModifiersLoc) == MapModifiersLoc.size() && "Unexpected number of map type modifier locations."); llvm::copy(MapModifiersLoc, std::begin(MapTypeModifiersLoc)); } @@ -6707,12 +6706,11 @@ class OMPToClause final : public OMPMappableExprListClause, : OMPMappableExprListClause(llvm::omp::OMPC_to, Locs, Sizes, /*SupportsMapper=*/true, &MapperQualifierLoc, &MapperIdInfo) { - assert(llvm::array_lengthof(MotionModifiers) == TheMotionModifiers.size() && + assert(std::size(MotionModifiers) == TheMotionModifiers.size() && "Unexpected number of motion modifiers."); llvm::copy(TheMotionModifiers, std::begin(MotionModifiers)); - assert(llvm::array_lengthof(MotionModifiersLoc) == - TheMotionModifiersLoc.size() && + assert(std::size(MotionModifiersLoc) == TheMotionModifiersLoc.size() && "Unexpected number of motion modifier locations."); llvm::copy(TheMotionModifiersLoc, std::begin(MotionModifiersLoc)); } @@ -6909,12 +6907,11 @@ class OMPFromClause final : OMPMappableExprListClause(llvm::omp::OMPC_from, Locs, Sizes, /*SupportsMapper=*/true, &MapperQualifierLoc, &MapperIdInfo) { - assert(llvm::array_lengthof(MotionModifiers) == TheMotionModifiers.size() && + assert(std::size(MotionModifiers) == TheMotionModifiers.size() && "Unexpected number of motion modifiers."); llvm::copy(TheMotionModifiers, std::begin(MotionModifiers)); - assert(llvm::array_lengthof(MotionModifiersLoc) == - TheMotionModifiersLoc.size() && + assert(std::size(MotionModifiersLoc) == TheMotionModifiersLoc.size() && "Unexpected number of motion modifier locations."); llvm::copy(TheMotionModifiersLoc, std::begin(MotionModifiersLoc)); } diff --git a/clang/lib/AST/AttrDocTable.cpp b/clang/lib/AST/AttrDocTable.cpp index 3bfedac..df7e3d6 100644 --- a/clang/lib/AST/AttrDocTable.cpp +++ b/clang/lib/AST/AttrDocTable.cpp @@ -21,7 +21,7 @@ static const llvm::StringRef AttrDoc[] = { }; llvm::StringRef clang::Attr::getDocumentation(clang::attr::Kind K) { - if(K < llvm::array_lengthof(AttrDoc)) + if (K < std::size(AttrDoc)) return AttrDoc[K]; return ""; } diff --git a/clang/lib/AST/CommentCommandTraits.cpp b/clang/lib/AST/CommentCommandTraits.cpp index bdc0dd4..a37a0e1 100644 --- a/clang/lib/AST/CommentCommandTraits.cpp +++ b/clang/lib/AST/CommentCommandTraits.cpp @@ -16,8 +16,8 @@ namespace comments { #include "clang/AST/CommentCommandInfo.inc" CommandTraits::CommandTraits(llvm::BumpPtrAllocator &Allocator, - const CommentOptions &CommentOptions) : - NextID(llvm::array_lengthof(Commands)), Allocator(Allocator) { + const CommentOptions &CommentOptions) + : NextID(std::size(Commands)), Allocator(Allocator) { registerCommentOptions(CommentOptions); } @@ -115,7 +115,7 @@ const CommandInfo *CommandTraits::registerBlockCommand(StringRef CommandName) { const CommandInfo *CommandTraits::getBuiltinCommandInfo( unsigned CommandID) { - if (CommandID < llvm::array_lengthof(Commands)) + if (CommandID < std::size(Commands)) return &Commands[CommandID]; return nullptr; } @@ -131,7 +131,7 @@ const CommandInfo *CommandTraits::getRegisteredCommandInfo( const CommandInfo *CommandTraits::getRegisteredCommandInfo( unsigned CommandID) const { - return RegisteredCommands[CommandID - llvm::array_lengthof(Commands)]; + return RegisteredCommands[CommandID - std::size(Commands)]; } } // end namespace comments diff --git a/clang/lib/Basic/DiagnosticIDs.cpp b/clang/lib/Basic/DiagnosticIDs.cpp index 8e2593b..abdb73f 100644 --- a/clang/lib/Basic/DiagnosticIDs.cpp +++ b/clang/lib/Basic/DiagnosticIDs.cpp @@ -202,7 +202,7 @@ const StaticDiagInfoRec StaticDiagInfo[] = { } // namespace -static const unsigned StaticDiagInfoSize = llvm::array_lengthof(StaticDiagInfo); +static const unsigned StaticDiagInfoSize = std::size(StaticDiagInfo); /// GetDiagInfo - Return the StaticDiagInfoRec entry for the specified DiagID, /// or null if the ID is invalid. @@ -317,7 +317,7 @@ static const StaticDiagCategoryRec CategoryNameTable[] = { /// getNumberOfCategories - Return the number of categories unsigned DiagnosticIDs::getNumberOfCategories() { - return llvm::array_lengthof(CategoryNameTable) - 1; + return std::size(CategoryNameTable) - 1; } /// getCategoryNameFromID - Given a category ID, return the name of the diff --git a/clang/lib/Basic/Targets/NVPTX.h b/clang/lib/Basic/Targets/NVPTX.h index 589f24f..7909bd0 100644 --- a/clang/lib/Basic/Targets/NVPTX.h +++ b/clang/lib/Basic/Targets/NVPTX.h @@ -159,7 +159,7 @@ public: /// DWARF. Optional getDWARFAddressSpace(unsigned AddressSpace) const override { - if (AddressSpace >= llvm::array_lengthof(NVPTXDWARFAddrSpaceMap) || + if (AddressSpace >= std::size(NVPTXDWARFAddrSpaceMap) || NVPTXDWARFAddrSpaceMap[AddressSpace] < 0) return llvm::None; return NVPTXDWARFAddrSpaceMap[AddressSpace]; diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 6878255..d512459 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -3297,7 +3297,7 @@ void CodeGenFunction::EmitCheck( assert(IsSanitizerScope); assert(Checked.size() > 0); assert(CheckHandler >= 0 && - size_t(CheckHandler) < llvm::array_lengthof(SanitizerHandlers)); + size_t(CheckHandler) < std::size(SanitizerHandlers)); const StringRef CheckName = SanitizerHandlers[CheckHandler].Name; llvm::Value *FatalCond = nullptr; diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp index 1b6acb2..d2959de 100644 --- a/clang/lib/CodeGen/CGObjC.cpp +++ b/clang/lib/CodeGen/CGObjC.cpp @@ -1749,7 +1749,7 @@ void CodeGenFunction::EmitObjCForCollectionStmt(const ObjCForCollectionStmt &S){ &CGM.getContext().Idents.get("count") }; Selector FastEnumSel = - CGM.getContext().Selectors.getSelector(llvm::array_lengthof(II), &II[0]); + CGM.getContext().Selectors.getSelector(std::size(II), &II[0]); QualType ItemsTy = getContext().getConstantArrayType(getContext().getObjCIdType(), diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index b060a6a..7d83948 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -1809,7 +1809,7 @@ getDeploymentTargetFromEnvironmentVariables(const Driver &TheDriver, "WATCHOS_DEPLOYMENT_TARGET", "DRIVERKIT_DEPLOYMENT_TARGET", }; - static_assert(llvm::array_lengthof(EnvVars) == Darwin::LastDarwinPlatform + 1, + static_assert(std::size(EnvVars) == Darwin::LastDarwinPlatform + 1, "Missing platform"); for (const auto &I : llvm::enumerate(llvm::makeArrayRef(EnvVars))) { if (char *Env = ::getenv(I.value())) @@ -1830,11 +1830,11 @@ getDeploymentTargetFromEnvironmentVariables(const Driver &TheDriver, Targets[Darwin::TvOS] = ""; } else { // Don't allow conflicts in any other platform. - unsigned FirstTarget = llvm::array_lengthof(Targets); - for (unsigned I = 0; I != llvm::array_lengthof(Targets); ++I) { + unsigned FirstTarget = std::size(Targets); + for (unsigned I = 0; I != std::size(Targets); ++I) { if (Targets[I].empty()) continue; - if (FirstTarget == llvm::array_lengthof(Targets)) + if (FirstTarget == std::size(Targets)) FirstTarget = I; else TheDriver.Diag(diag::err_drv_conflicting_deployment_targets) diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp index 66da6fe..6e30bb7 100644 --- a/clang/lib/Driver/Types.cpp +++ b/clang/lib/Driver/Types.cpp @@ -42,7 +42,7 @@ static constexpr TypeInfo TypeInfos[] = { #include "clang/Driver/Types.def" #undef TYPE }; -static const unsigned numTypes = llvm::array_lengthof(TypeInfos); +static const unsigned numTypes = std::size(TypeInfos); static const TypeInfo &getInfo(unsigned id) { assert(id > 0 && id - 1 < numTypes && "Invalid Type ID."); diff --git a/clang/lib/Frontend/PrintPreprocessedOutput.cpp b/clang/lib/Frontend/PrintPreprocessedOutput.cpp index e3bd717..d81a11a 100644 --- a/clang/lib/Frontend/PrintPreprocessedOutput.cpp +++ b/clang/lib/Frontend/PrintPreprocessedOutput.cpp @@ -877,7 +877,7 @@ static void PrintPreprocessedTokens(Preprocessor &PP, Token &Tok, } else if (Tok.isLiteral() && !Tok.needsCleaning() && Tok.getLiteralData()) { OS.write(Tok.getLiteralData(), Tok.getLength()); - } else if (Tok.getLength() < llvm::array_lengthof(Buffer)) { + } else if (Tok.getLength() < std::size(Buffer)) { const char *TokPtr = Buffer; unsigned Len = PP.getSpelling(Tok, TokPtr); OS.write(TokPtr, Len); diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index c502fc5..b18f5f2 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -1417,7 +1417,7 @@ void Parser::ParseExternalSourceSymbolAttribute( ArgsUnion Args[] = {Language.get(), DefinedInExpr.get(), GeneratedDeclaration}; Attrs.addNew(&ExternalSourceSymbol, SourceRange(Loc, T.getCloseLocation()), - ScopeName, ScopeLoc, Args, llvm::array_lengthof(Args), Syntax); + ScopeName, ScopeLoc, Args, std::size(Args), Syntax); } /// Parse the contents of the "objc_bridge_related" attribute. @@ -1538,7 +1538,7 @@ void Parser::ParseSwiftNewTypeAttribute( ArgsUnion Args[] = {SwiftType}; Attrs.addNew(&AttrName, SourceRange(AttrNameLoc, T.getCloseLocation()), - ScopeName, ScopeLoc, Args, llvm::array_lengthof(Args), Syntax); + ScopeName, ScopeLoc, Args, std::size(Args), Syntax); } void Parser::ParseTypeTagForDatatypeAttribute(IdentifierInfo &AttrName, diff --git a/clang/lib/Sema/DeclSpec.cpp b/clang/lib/Sema/DeclSpec.cpp index af31105..6875d3d 100644 --- a/clang/lib/Sema/DeclSpec.cpp +++ b/clang/lib/Sema/DeclSpec.cpp @@ -239,7 +239,7 @@ DeclaratorChunk DeclaratorChunk::getFunction(bool hasProto, // is already used (consider a function returning a function pointer) or too // small (function with too many parameters), go to the heap. if (!TheDeclarator.InlineStorageUsed && - NumParams <= llvm::array_lengthof(TheDeclarator.InlineParams)) { + NumParams <= std::size(TheDeclarator.InlineParams)) { I.Fun.Params = TheDeclarator.InlineParams; new (I.Fun.Params) ParamInfo[NumParams]; I.Fun.DeleteParams = false; @@ -308,8 +308,7 @@ void Declarator::setDecompositionBindings( // Allocate storage for bindings and stash them away. if (Bindings.size()) { - if (!InlineStorageUsed && - Bindings.size() <= llvm::array_lengthof(InlineBindings)) { + if (!InlineStorageUsed && Bindings.size() <= std::size(InlineBindings)) { BindingGroup.Bindings = InlineBindings; BindingGroup.DeleteBindings = false; InlineStorageUsed = true; diff --git a/clang/lib/Sema/ParsedAttr.cpp b/clang/lib/Sema/ParsedAttr.cpp index 4b9a694..5560a19 100644 --- a/clang/lib/Sema/ParsedAttr.cpp +++ b/clang/lib/Sema/ParsedAttr.cpp @@ -111,7 +111,7 @@ namespace { const ParsedAttrInfo &ParsedAttrInfo::get(const AttributeCommonInfo &A) { // If we have a ParsedAttrInfo for this ParsedAttr then return that. - if ((size_t)A.getParsedKind() < llvm::array_lengthof(AttrInfoMap)) + if ((size_t)A.getParsedKind() < std::size(AttrInfoMap)) return *AttrInfoMap[A.getParsedKind()]; // If this is an ignored attribute then return an appropriate ParsedAttrInfo. diff --git a/clang/unittests/AST/CommentLexer.cpp b/clang/unittests/AST/CommentLexer.cpp index 456473e..1e7bad8 100644 --- a/clang/unittests/AST/CommentLexer.cpp +++ b/clang/unittests/AST/CommentLexer.cpp @@ -91,7 +91,7 @@ TEST_F(CommentLexerTest, Basic2) { const char *Sources[] = { "//", "///", "//!", "///<", "//!<" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -107,7 +107,7 @@ TEST_F(CommentLexerTest, Basic3) { const char *Sources[] = { "/**/", "/***/", "/*!*/", "/**<*/", "/*!<*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -126,7 +126,7 @@ TEST_F(CommentLexerTest, Basic4) { "// Meow\n", "// Meow\r\n", "//! Meow\r", }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -146,7 +146,7 @@ TEST_F(CommentLexerTest, Basic5) { "/* Meow*/", "/** Meow*/", "/*! Meow*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -169,7 +169,7 @@ TEST_F(CommentLexerTest, Basic6) { "// Aaa\\\r" " Bbb\\ \r" " Ccc?" "?/\r" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -248,7 +248,7 @@ TEST_F(CommentLexerTest, Basic7) { // A command marker followed by comment end. TEST_F(CommentLexerTest, DoxygenCommand1) { const char *Sources[] = { "//@", "///@", "//!@" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -265,7 +265,7 @@ TEST_F(CommentLexerTest, DoxygenCommand1) { // A command marker followed by comment end. TEST_F(CommentLexerTest, DoxygenCommand2) { const char *Sources[] = { "/*@*/", "/**@*/", "/*!@*/"}; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -283,7 +283,7 @@ TEST_F(CommentLexerTest, DoxygenCommand2) { // A command marker followed by comment end. TEST_F(CommentLexerTest, DoxygenCommand3) { const char *Sources[] = { "/*\\*/", "/**\\*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -311,12 +311,12 @@ TEST_F(CommentLexerTest, DoxygenCommand4) { "::", "" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); - ASSERT_EQ(array_lengthof(Text), Toks.size()); + ASSERT_EQ(std::size(Text), Toks.size()); for (size_t j = 0, e = Toks.size(); j != e; j++) { if(Toks[j].is(tok::text)) { @@ -578,7 +578,7 @@ TEST_F(CommentLexerTest, VerbatimBlock1) { "/** \\verbatim\\endverbatim*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -645,7 +645,7 @@ TEST_F(CommentLexerTest, VerbatimBlock4) { "/** Meow \\verbatim aaa \\endverbatim*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -676,7 +676,7 @@ TEST_F(CommentLexerTest, VerbatimBlock5) { "/** Meow \\verbatim aaa */" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -901,7 +901,7 @@ TEST_F(CommentLexerTest, VerbatimLine1) { "/** \\fn*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -926,7 +926,7 @@ TEST_F(CommentLexerTest, VerbatimLine2) { "/** \\fn void *foo(const char *zzz = \"\\$\");*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -1052,7 +1052,7 @@ TEST_F(CommentLexerTest, HTML4) { "// Toks; lexString(Sources[i], Toks); @@ -1169,7 +1169,7 @@ TEST_F(CommentLexerTest, HTML9) { "// Toks; lexString(Sources[i], Toks); @@ -1195,7 +1195,7 @@ TEST_F(CommentLexerTest, HTML10) { "// Toks; lexString(Sources[i], Toks); @@ -1284,7 +1284,7 @@ TEST_F(CommentLexerTest, HTML13) { "// Toks; lexString(Sources[i], Toks); @@ -1315,7 +1315,7 @@ TEST_F(CommentLexerTest, HTML14) { "// " }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -1348,7 +1348,7 @@ TEST_F(CommentLexerTest, HTML15) { "// " }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); @@ -1373,7 +1373,7 @@ TEST_F(CommentLexerTest, HTML16) { "// Toks; lexString(Sources[i], Toks); @@ -1797,7 +1797,7 @@ TEST_F(CommentLexerTest, HTMLCharacterReferences16) { "// =" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { std::vector Toks; lexString(Sources[i], Toks); diff --git a/clang/unittests/AST/CommentParser.cpp b/clang/unittests/AST/CommentParser.cpp index 62c461a..ab2157d 100644 --- a/clang/unittests/AST/CommentParser.cpp +++ b/clang/unittests/AST/CommentParser.cpp @@ -664,7 +664,7 @@ TEST_F(CommentParserTest, ParagraphSplitting1) { "*/"), }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -801,7 +801,7 @@ TEST_F(CommentParserTest, ParamCommand3) { "// Bbb\n") }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -831,7 +831,7 @@ TEST_F(CommentParserTest, ParamCommand4) { "// Bbb\n"), }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -861,7 +861,7 @@ TEST_F(CommentParserTest, ParamCommand5) { "// Bbb\n"), }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -892,7 +892,7 @@ TEST_F(CommentParserTest, ParamCommand6) { "// Bbb\n" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -947,7 +947,7 @@ TEST_F(CommentParserTest, TParamCommand1) { "// Bbb\n" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -1081,7 +1081,7 @@ TEST_F(CommentParserTest, HTML1) { "// " }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 1)); @@ -1103,7 +1103,7 @@ TEST_F(CommentParserTest, HTML2) { "//
" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 1)); @@ -1127,7 +1127,7 @@ TEST_F(CommentParserTest, HTML3) { "//
", }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 1)); @@ -1149,7 +1149,7 @@ TEST_F(CommentParserTest, HTML4) { "// ", }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 1)); @@ -1172,7 +1172,7 @@ TEST_F(CommentParserTest, HTML5) { "// " }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 1)); @@ -1285,7 +1285,7 @@ TEST_F(CommentParserTest, VerbatimBlock5) { " *\\endverbatim*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 1)); @@ -1309,7 +1309,7 @@ TEST_F(CommentParserTest, VerbatimBlock6) { " * \\endverbatim*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -1336,7 +1336,7 @@ TEST_F(CommentParserTest, VerbatimBlock7) { " * \\endverbatim*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -1364,7 +1364,7 @@ TEST_F(CommentParserTest, VerbatimBlock8) { " * Bbb\n" " * \\endverbatim*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -1387,7 +1387,7 @@ TEST_F(CommentParserTest, VerbatimLine1) { "// \\fn\n" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -1405,7 +1405,7 @@ TEST_F(CommentParserTest, VerbatimLine2) { "/** \\fn void *foo(const char *zzz = \"\\$\");*/" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); @@ -1424,7 +1424,7 @@ TEST_F(CommentParserTest, Deprecated) { "/// @deprecated\n" }; - for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { + for (size_t i = 0, e = std::size(Sources); i != e; i++) { FullComment *FC = parseString(Sources[i]); ASSERT_TRUE(HasChildCount(FC, 2)); diff --git a/clang/unittests/AST/DeclPrinterTest.cpp b/clang/unittests/AST/DeclPrinterTest.cpp index 11dca6e..0e09ab2 100644 --- a/clang/unittests/AST/DeclPrinterTest.cpp +++ b/clang/unittests/AST/DeclPrinterTest.cpp @@ -731,7 +731,7 @@ TEST(DeclPrinter, TestCXXMethodDecl_Operator1) { "()", "[]" }; - for (unsigned i = 0, e = llvm::array_lengthof(OperatorNames); i != e; ++i) { + for (unsigned i = 0, e = std::size(OperatorNames); i != e; ++i) { SmallString<128> Code; Code.append("struct Z { void operator"); Code.append(OperatorNames[i]); @@ -754,7 +754,7 @@ TEST(DeclPrinter, TestCXXMethodDecl_Operator2) { "~", "!", "++", "--", "->" }; - for (unsigned i = 0, e = llvm::array_lengthof(OperatorNames); i != e; ++i) { + for (unsigned i = 0, e = std::size(OperatorNames); i != e; ++i) { SmallString<128> Code; Code.append("struct Z { void operator"); Code.append(OperatorNames[i]); diff --git a/clang/unittests/Tooling/CompilationDatabaseTest.cpp b/clang/unittests/Tooling/CompilationDatabaseTest.cpp index 8194dd3..3314ecd 100644 --- a/clang/unittests/Tooling/CompilationDatabaseTest.cpp +++ b/clang/unittests/Tooling/CompilationDatabaseTest.cpp @@ -642,7 +642,7 @@ TEST(ParseFixedCompilationDatabase, HandlesPositionalArgsSyntaxOnly) { // Adjust the given command line arguments to ensure that any positional // arguments in them are stripped. const char *Argv[] = {"--", "somefile.cpp", "-fsyntax-only", "-DDEF3"}; - int Argc = llvm::array_lengthof(Argv); + int Argc = std::size(Argv); std::string ErrorMessage; std::unique_ptr Database = FixedCompilationDatabase::loadFromCommandLine(Argc, Argv, ErrorMessage);