[clang] [HLSL] Add implicit resource element type concepts to AST (PR #112600)

Joshua Batista via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 18 11:42:07 PDT 2024


================
@@ -323,30 +324,119 @@ struct TemplateParameterListBuilder {
         S.Context, Builder.Record->getDeclContext(), SourceLocation(),
         SourceLocation(), /* TemplateDepth */ 0, Position,
         &S.Context.Idents.get(Name, tok::TokenKind::identifier),
-        /* Typename */ false,
-        /* ParameterPack */ false);
+        /* Typename */ true,
+        /* ParameterPack */ false,
+        /* HasTypeConstraint*/ false);
     if (!DefaultValue.isNull())
       Decl->setDefaultArgument(
           S.Context, S.getTrivialTemplateArgumentLoc(DefaultValue, QualType(),
                                                      SourceLocation()));
-
+    Decl->setReferenced();
     Params.emplace_back(Decl);
     return *this;
   }
 
-  BuiltinTypeDeclBuilder &finalizeTemplateArgs() {
+  /*
+  The desired result AST after this function constructs the concept
+  specialization Expression is as follows:
+
+  |-ConceptSpecializationExpr 0xdd5d408 <col:42, col:75> 'bool' Concept
----------------
bob80905 wrote:

Yes, this was meant to show the AST structure. 

https://github.com/llvm/llvm-project/pull/112600


More information about the cfe-commits mailing list