Handle buffer references vs 'const'
Allow constructors to and from references to be constant folded. Section 4.3.3 says constructors whose arguments are all constant expressions must fold. Disallow 'const' on buffer reference types. It is not a 'non-void transparent basic data type' (it is not considered 'basic'). Handle buffer reference constants (which can be assigned to a non-const reference, or can be further folded to another type of constant) by converting to 'constructor(uint64_t constant)' in addConversion. Disallow == and != operators on reference types.
This commit is contained in:
9
Test/baseResults/spv.bufferhandle17_Errors.frag.out
Normal file
9
Test/baseResults/spv.bufferhandle17_Errors.frag.out
Normal file
@@ -0,0 +1,9 @@
|
||||
spv.bufferhandle17_Errors.frag
|
||||
ERROR: 0:11: 'qualifier' : variables with reference type can't have qualifier 'const'
|
||||
ERROR: 0:16: 'qualifier' : variables with reference type can't have qualifier 'const'
|
||||
ERROR: 0:18: '==' : can't use with reference types
|
||||
ERROR: 0:19: '!=' : can't use with reference types
|
||||
ERROR: 4 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
Reference in New Issue
Block a user