@@ -321,14 +321,26 @@ bool translation_unit_visitor::VisitClassTemplateDecl(
321321 id_mapper ().add (cls->getID (), id);
322322
323323 constexpr auto kMaxConstraintCount = 24U ;
324+
325+ #if LLVM_VERSION_MAJOR < 21
324326 llvm::SmallVector<const clang::Expr *, kMaxConstraintCount > constraints{};
325327 if (cls->hasAssociatedConstraints ()) {
326328 cls->getAssociatedConstraints (constraints);
327329 }
328-
329330 for (const auto *expr : constraints) {
330331 find_relationships_in_constraint_expression (*c_ptr, expr);
331332 }
333+ #else
334+ llvm::SmallVector<clang::AssociatedConstraint, kMaxConstraintCount >
335+ constraints{};
336+ if (cls->hasAssociatedConstraints ()) {
337+ cls->getAssociatedConstraints (constraints);
338+ }
339+ for (const auto &constraint : constraints) {
340+ find_relationships_in_constraint_expression (
341+ *c_ptr, constraint.ConstraintExpr );
342+ }
343+ #endif
332344
333345 return add_or_update (cls->getTemplatedDecl (), std::move (c_ptr));
334346}
@@ -500,6 +512,8 @@ bool translation_unit_visitor::TraverseConceptDecl(clang::ConceptDecl *cpt)
500512 tbuilder ().build_from_template_declaration (*concept_model, *cpt);
501513
502514 constexpr auto kMaxConstraintCount = 24U ;
515+
516+ #if LLVM_VERSION_MAJOR < 21
503517 llvm::SmallVector<const clang::Expr *, kMaxConstraintCount > constraints{};
504518 if (cpt->hasAssociatedConstraints ()) {
505519 cpt->getAssociatedConstraints (constraints);
@@ -508,6 +522,17 @@ bool translation_unit_visitor::TraverseConceptDecl(clang::ConceptDecl *cpt)
508522 for (const auto *expr : constraints) {
509523 find_relationships_in_constraint_expression (*concept_model, expr);
510524 }
525+ #else
526+ llvm::SmallVector<clang::AssociatedConstraint, kMaxConstraintCount >
527+ constraints{};
528+ if (cpt->hasAssociatedConstraints ()) {
529+ cpt->getAssociatedConstraints (constraints);
530+ }
531+ for (const auto &constraint : constraints) {
532+ find_relationships_in_constraint_expression (
533+ *concept_model, constraint.ConstraintExpr );
534+ }
535+ #endif
511536
512537 if (cpt->getConstraintExpr () != nullptr ) {
513538 process_constraint_requirements (
0 commit comments