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

Chris B via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 19 10:44:06 PST 2024


================
@@ -323,19 +325,114 @@ struct TemplateParameterListBuilder {
     return *this;
   }
 
-  BuiltinTypeDeclBuilder &finalizeTemplateArgs() {
+  // The concept specialization expression (CSE) constructed in
+  // constructConceptSpecializationExpr is constructed so that it
+  // matches the CSE that is constructed when parsing the below C++ code:
+  //
+  // template<typename T>
+  // concept is_typed_resource_element_compatible = sizeof(T) <= 16;
----------------
llvm-beanz wrote:

Sure, it needs to be a vector or a scalar (https://github.com/llvm/wg-hlsl/blob/main/proposals/0011-resource-element-type-validation.md?plain=1#L31).

I guess I maybe don't understand why we're breaking this into so many separate changes where the intermediate steps aren't fully testable.

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


More information about the cfe-commits mailing list