2222#include " clang/AST/TypeLocVisitor.h"
2323#include " clang/Basic/SourceLocation.h"
2424#include " clang/Basic/Specifiers.h"
25+ #include " llvm/ADT/SmallVector.h"
2526#include " llvm/Support/ErrorHandling.h"
2627#include " llvm/Support/MathExtras.h"
2728#include < algorithm>
@@ -652,9 +653,9 @@ static ConceptReference *createTrivialConceptReference(ASTContext &Context,
652653 DeclarationNameInfo (AT->getTypeConstraintConcept ()->getDeclName (), Loc,
653654 AT->getTypeConstraintConcept ()->getDeclName ());
654655 unsigned size = AT->getTypeConstraintArguments ().size ();
655- TemplateArgumentLocInfo *TALI = new TemplateArgumentLocInfo[ size] ;
656+ llvm::SmallVector< TemplateArgumentLocInfo, 8 > TALI ( size) ;
656657 TemplateSpecializationTypeLoc::initializeArgLocs (
657- Context, AT->getTypeConstraintArguments (), TALI, Loc);
658+ Context, AT->getTypeConstraintArguments (), TALI. data () , Loc);
658659 TemplateArgumentListInfo TAListI;
659660 for (unsigned i = 0 ; i < size; ++i) {
660661 TAListI.addArgument (
@@ -666,7 +667,6 @@ static ConceptReference *createTrivialConceptReference(ASTContext &Context,
666667 Context, NestedNameSpecifierLoc{}, Loc, DNI, nullptr ,
667668 AT->getTypeConstraintConcept (),
668669 ASTTemplateArgumentListInfo::Create (Context, TAListI));
669- delete[] TALI;
670670 return ConceptRef;
671671}
672672
0 commit comments