================
@@ -20,6 +20,39 @@ union U {
 ConstantBuffer<S> cb;
 ConstantBuffer<Empty> cb_empty;
 
+// Invalid: non-struct/class
+// expected-error@+1 {{constraints not satisfied for class template 
'ConstantBuffer'}}
+ConstantBuffer<float> cb_float;
+// expected-note@* {{because 'float' does not satisfy 
'__is_constant_buffer_element_compatible'}}
+// expected-note@* {{because 
'__builtin_hlsl_is_constant_buffer_element_compatible(float)' evaluated to 
false}}
+
+// expected-error@+1 {{constraints not satisfied for class template 
'ConstantBuffer'}}
+ConstantBuffer<float4> cb_float4;
+// expected-note@* {{because 'float4' (aka 'vector<float, 4>') does not 
satisfy '__is_constant_buffer_element_compatible'}}
+// expected-note@* {{because 
'__builtin_hlsl_is_constant_buffer_element_compatible(vector<float, 4>)' 
evaluated to false}}
+
+// expected-error@+1 {{constraints not satisfied for class template 
'ConstantBuffer'}}
+ConstantBuffer<float[4]> cb_array;
+// expected-note@* {{because 'float[4]' does not satisfy 
'__is_constant_buffer_element_compatible'}}
+// expected-note@* {{because 
'__builtin_hlsl_is_constant_buffer_element_compatible(float[4])' evaluated to 
false}}
+
+// Invalid: contains resource
+// expected-error@+1 {{constraints not satisfied for class template 
'ConstantBuffer'}}
+ConstantBuffer<ContainsResource> cb_res;
+// expected-note@* {{because 'ContainsResource' does not satisfy 
'__is_constant_buffer_element_compatible'}}
+// expected-note@* {{because 
'__builtin_hlsl_is_constant_buffer_element_compatible(ContainsResource)' 
evaluated to false}}
+
+// Invalid: intangible type
+// expected-error@+1 {{use of class template 'Texture2D' requires template 
arguments}}
+ConstantBuffer<Texture2D> cb_tex;
----------------
s-perron wrote:

I added that as a separate test. The error messages are not great, but, I want 
to make sure ConstantBuffer<Texture2D> fails as well.

https://github.com/llvm/llvm-project/pull/195154
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to