From fd77cdcc7e0a1e55ddcbf74fa86517623287d974 Mon Sep 17 00:00:00 2001 From: Bogdan Vetrenko Date: Mon, 7 Jul 2025 05:59:06 +0300 Subject: [PATCH] [clang] Fix manual memory management with SmallVector in ConceptReference --- clang/lib/AST/TypeLoc.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/lib/AST/TypeLoc.cpp b/clang/lib/AST/TypeLoc.cpp index 1bdb86ad445a4..5c45c596538f8 100644 --- a/clang/lib/AST/TypeLoc.cpp +++ b/clang/lib/AST/TypeLoc.cpp @@ -22,6 +22,7 @@ #include "clang/AST/TypeLocVisitor.h" #include "clang/Basic/SourceLocation.h" #include "clang/Basic/Specifiers.h" +#include "llvm/ADT/SmallVector.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/MathExtras.h" #include @@ -652,9 +653,9 @@ static ConceptReference *createTrivialConceptReference(ASTContext &Context, DeclarationNameInfo(AT->getTypeConstraintConcept()->getDeclName(), Loc, AT->getTypeConstraintConcept()->getDeclName()); unsigned size = AT->getTypeConstraintArguments().size(); - TemplateArgumentLocInfo *TALI = new TemplateArgumentLocInfo[size]; + llvm::SmallVector TALI(size); TemplateSpecializationTypeLoc::initializeArgLocs( - Context, AT->getTypeConstraintArguments(), TALI, Loc); + Context, AT->getTypeConstraintArguments(), TALI.data(), Loc); TemplateArgumentListInfo TAListI; for (unsigned i = 0; i < size; ++i) { TAListI.addArgument( @@ -666,7 +667,6 @@ static ConceptReference *createTrivialConceptReference(ASTContext &Context, Context, NestedNameSpecifierLoc{}, Loc, DNI, nullptr, AT->getTypeConstraintConcept(), ASTTemplateArgumentListInfo::Create(Context, TAListI)); - delete[] TALI; return ConceptRef; }