diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index fc80d4539..9a66363c2 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -4515,50 +4515,56 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty std::vector operands; for (const auto& typeParam : spirvType.typeParams) { - // Constant expression - if (typeParam.constant->isLiteral()) { - if (typeParam.constant->getBasicType() == glslang::EbtFloat) { - float floatValue = static_cast(typeParam.constant->getConstArray()[0].getDConst()); - unsigned literal; - static_assert(sizeof(literal) == sizeof(floatValue), "sizeof(unsigned) != sizeof(float)"); - memcpy(&literal, &floatValue, sizeof(literal)); - operands.push_back({false, literal}); - } else if (typeParam.constant->getBasicType() == glslang::EbtInt) { - unsigned literal = typeParam.constant->getConstArray()[0].getIConst(); - operands.push_back({false, literal}); - } else if (typeParam.constant->getBasicType() == glslang::EbtUint) { - unsigned literal = typeParam.constant->getConstArray()[0].getUConst(); - operands.push_back({false, literal}); - } else if (typeParam.constant->getBasicType() == glslang::EbtBool) { - unsigned literal = typeParam.constant->getConstArray()[0].getBConst(); - operands.push_back({false, literal}); - } else if (typeParam.constant->getBasicType() == glslang::EbtString) { - auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str(); - unsigned literal = 0; - char* literalPtr = reinterpret_cast(&literal); - unsigned charCount = 0; - char ch = 0; - do { - ch = *(str++); - *(literalPtr++) = ch; - ++charCount; - if (charCount == 4) { - operands.push_back({false, literal}); - literalPtr = reinterpret_cast(&literal); - charCount = 0; - } - } while (ch != 0); - - // Partial literal is padded with 0 - if (charCount > 0) { - for (; charCount < 4; ++charCount) - *(literalPtr++) = 0; + if (typeParam.constant != nullptr) { + // Constant expression + if (typeParam.constant->isLiteral()) { + if (typeParam.constant->getBasicType() == glslang::EbtFloat) { + float floatValue = static_cast(typeParam.constant->getConstArray()[0].getDConst()); + unsigned literal; + static_assert(sizeof(literal) == sizeof(floatValue), "sizeof(unsigned) != sizeof(float)"); + memcpy(&literal, &floatValue, sizeof(literal)); operands.push_back({false, literal}); - } + } else if (typeParam.constant->getBasicType() == glslang::EbtInt) { + unsigned literal = typeParam.constant->getConstArray()[0].getIConst(); + operands.push_back({false, literal}); + } else if (typeParam.constant->getBasicType() == glslang::EbtUint) { + unsigned literal = typeParam.constant->getConstArray()[0].getUConst(); + operands.push_back({false, literal}); + } else if (typeParam.constant->getBasicType() == glslang::EbtBool) { + unsigned literal = typeParam.constant->getConstArray()[0].getBConst(); + operands.push_back({false, literal}); + } else if (typeParam.constant->getBasicType() == glslang::EbtString) { + auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str(); + unsigned literal = 0; + char* literalPtr = reinterpret_cast(&literal); + unsigned charCount = 0; + char ch = 0; + do { + ch = *(str++); + *(literalPtr++) = ch; + ++charCount; + if (charCount == 4) { + operands.push_back({false, literal}); + literalPtr = reinterpret_cast(&literal); + charCount = 0; + } + } while (ch != 0); + + // Partial literal is padded with 0 + if (charCount > 0) { + for (; charCount < 4; ++charCount) + *(literalPtr++) = 0; + operands.push_back({false, literal}); + } + } else + assert(0); // Unexpected type } else - assert(0); // Unexpected type - } else - operands.push_back({true, createSpvConstant(*typeParam.constant)}); + operands.push_back({true, createSpvConstant(*typeParam.constant)}); + } else { + // Type specifier + assert(typeParam.type != nullptr); + operands.push_back({true, convertGlslangToSpvType(*typeParam.type)}); + } } assert(spirvInst.set == ""); // Currently, couldn't be extended instructions. diff --git a/Test/baseResults/spv.intrinsicsSpirvTypeWithTypeSpecifier.vert.out b/Test/baseResults/spv.intrinsicsSpirvTypeWithTypeSpecifier.vert.out new file mode 100644 index 000000000..580c704d2 --- /dev/null +++ b/Test/baseResults/spv.intrinsicsSpirvTypeWithTypeSpecifier.vert.out @@ -0,0 +1,35 @@ +spv.intrinsicsSpirvTypeWithTypeSpecifier.vert +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 14 + + Capability Shader + Capability Int64 + Capability PhysicalStorageBufferAddressesEXT + Extension "SPV_EXT_physical_storage_buffer" + Extension "SPV_KHR_physical_storage_buffer" + Extension "SPV_KHR_variable_pointers" + 1: ExtInstImport "GLSL.std.450" + MemoryModel PhysicalStorageBuffer64EXT GLSL450 + EntryPoint Vertex 4 "main" + Source GLSL 450 + SourceExtension "GL_ARB_gpu_shader_int64" + SourceExtension "GL_EXT_buffer_reference" + SourceExtension "GL_EXT_spirv_intrinsics" + Name 4 "main" + Name 8 "value" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 9: TypeInt 64 0 + 10: 9(int64_t) Constant 1 0 + 11: TypePointer PhysicalStorageBufferEXT 6(int) + 4(main): 2 Function None 3 + 5: Label + 8(value): 7(ptr) Variable Function + 12: 11(ptr) ConvertUToPtr 10 + 13: 6(int) Load 12 Aligned 32 + Store 8(value) 13 + Return + FunctionEnd diff --git a/Test/spv.intrinsicsSpirvTypeWithTypeSpecifier.vert b/Test/spv.intrinsicsSpirvTypeWithTypeSpecifier.vert new file mode 100644 index 000000000..f17da98eb --- /dev/null +++ b/Test/spv.intrinsicsSpirvTypeWithTypeSpecifier.vert @@ -0,0 +1,25 @@ +#version 450 core + +#extension GL_ARB_gpu_shader_int64: enable +#extension GL_EXT_buffer_reference: enable +#extension GL_EXT_spirv_intrinsics: enable + +#define CapabilityPhysicalStorageBufferAddresses 5347 +#define StorageClassPhysicalStorageBuffer 5349 +#define OpTypePointer 32 +#define OpLoad 61 +#define OpConvertUToPtr 120 + +#define uintStoragePtr spirv_type(extensions = ["SPV_EXT_physical_storage_buffer", "SPV_KHR_variable_pointers"], capabilities = [CapabilityPhysicalStorageBufferAddresses], id = OpTypePointer, StorageClassPhysicalStorageBuffer, uint) + +// Just to enable the memory model of physical storage buffer +layout(buffer_reference, std430) buffer Dummy { + uint dummy; +}; + +spirv_instruction(id = OpLoad) uint loadUint(uintStoragePtr pointer, spirv_literal uint memoryOperands, spirv_literal uint alignment); +spirv_instruction(id = OpConvertUToPtr) uintStoragePtr convertToPtr(uint64_t value); + +void main() { + uint value = loadUint(convertToPtr(1), 0x2, 32); +} diff --git a/glslang/Include/SpirvIntrinsics.h b/glslang/Include/SpirvIntrinsics.h index 3c7d72ce9..d56c65dec 100644 --- a/glslang/Include/SpirvIntrinsics.h +++ b/glslang/Include/SpirvIntrinsics.h @@ -98,12 +98,23 @@ struct TSpirvInstruction { struct TSpirvTypeParameter { POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) - TSpirvTypeParameter(const TIntermConstantUnion* arg) { constant = arg; } + TSpirvTypeParameter(const TIntermConstantUnion* arg) + { + constant = arg; + type = nullptr; + } - bool operator==(const TSpirvTypeParameter& rhs) const { return constant == rhs.constant; } + TSpirvTypeParameter(const TType *arg) + { + constant = nullptr; + type = arg; + } + + bool operator==(const TSpirvTypeParameter& rhs) const; bool operator!=(const TSpirvTypeParameter& rhs) const { return !operator==(rhs); } - const TIntermConstantUnion* constant; + const TIntermConstantUnion* constant; // Constant expression + const TType* type; // Type specifier }; typedef TVector TSpirvTypeParameters; diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h index 509b3004e..66795fd39 100644 --- a/glslang/MachineIndependent/ParseHelper.h +++ b/glslang/MachineIndependent/ParseHelper.h @@ -486,6 +486,7 @@ public: TSpirvRequirement* mergeSpirvRequirements(const TSourceLoc& loc, TSpirvRequirement* spirvReq1, TSpirvRequirement* spirvReq2); TSpirvTypeParameters* makeSpirvTypeParameters(const TSourceLoc& loc, const TIntermConstantUnion* constant); + TSpirvTypeParameters* makeSpirvTypeParameters(const TSourceLoc& loc, const TPublicType& type); TSpirvTypeParameters* mergeSpirvTypeParameters(TSpirvTypeParameters* spirvTypeParams1, TSpirvTypeParameters* spirvTypeParams2); TSpirvInstruction* makeSpirvInstruction(const TSourceLoc& loc, const TString& name, const TString& value); diff --git a/glslang/MachineIndependent/SpirvIntrinsics.cpp b/glslang/MachineIndependent/SpirvIntrinsics.cpp index 49d8b8c77..ecef5607e 100644 --- a/glslang/MachineIndependent/SpirvIntrinsics.cpp +++ b/glslang/MachineIndependent/SpirvIntrinsics.cpp @@ -45,6 +45,15 @@ namespace glslang { +bool TSpirvTypeParameter::operator==(const TSpirvTypeParameter& rhs) const +{ + if (constant != nullptr) + return constant->getConstArray() == rhs.constant->getConstArray(); + + assert(type != nullptr); + return *type == *rhs.type; +} + // // Handle SPIR-V requirements // @@ -283,14 +292,19 @@ TSpirvTypeParameters* TParseContext::makeSpirvTypeParameters(const TSourceLoc& l constant->getBasicType() != EbtBool && constant->getBasicType() != EbtString) error(loc, "this type not allowed", constant->getType().getBasicString(), ""); - else { - assert(constant); + else spirvTypeParams->push_back(TSpirvTypeParameter(constant)); - } return spirvTypeParams; } +TSpirvTypeParameters* TParseContext::makeSpirvTypeParameters(const TSourceLoc& loc, const TPublicType& type) +{ + TSpirvTypeParameters* spirvTypeParams = new TSpirvTypeParameters; + spirvTypeParams->push_back(TSpirvTypeParameter(new TType(type))); + return spirvTypeParams; +} + TSpirvTypeParameters* TParseContext::mergeSpirvTypeParameters(TSpirvTypeParameters* spirvTypeParams1, TSpirvTypeParameters* spirvTypeParams2) { // Merge SPIR-V type parameters of the second one to the first one diff --git a/glslang/MachineIndependent/glslang.m4 b/glslang/MachineIndependent/glslang.m4 index c3fea4fe6..f6f36d60b 100644 --- a/glslang/MachineIndependent/glslang.m4 +++ b/glslang/MachineIndependent/glslang.m4 @@ -4439,6 +4439,9 @@ spirv_type_parameter : constant_expression { $$ = parseContext.makeSpirvTypeParameters($1->getLoc(), $1->getAsConstantUnion()); } + | type_specifier_nonarray { + $$ = parseContext.makeSpirvTypeParameters($1.loc, $1); + } spirv_instruction_qualifier : SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN { diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index 362c13aa9..4ab39f154 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -4439,6 +4439,9 @@ spirv_type_parameter : constant_expression { $$ = parseContext.makeSpirvTypeParameters($1->getLoc(), $1->getAsConstantUnion()); } + | type_specifier_nonarray { + $$ = parseContext.makeSpirvTypeParameters($1.loc, $1); + } spirv_instruction_qualifier : SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN { diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp index 8ff2af348..cee8a632b 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp +++ b/glslang/MachineIndependent/glslang_tab.cpp @@ -1044,16 +1044,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 451 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 12669 +#define YYLAST 12670 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 464 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 132 /* YYNRULES -- Number of rules. */ -#define YYNRULES 697 +#define YYNRULES 698 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 943 +#define YYNSTATES 944 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 718 @@ -1217,7 +1217,7 @@ static const yytype_int16 yyrline[] = 4301, 4306, 4314, 4318, 4323, 4327, 4332, 4336, 4341, 4345, 4352, 4355, 4360, 4363, 4366, 4369, 4374, 4377, 4382, 4388, 4391, 4394, 4397, 4402, 4406, 4411, 4415, 4420, 4424, 4431, - 4434, 4439, 4444, 4447, 4453, 4456, 4461, 4464 + 4434, 4439, 4442, 4447, 4450, 4456, 4459, 4464, 4467 }; #endif @@ -1448,12 +1448,12 @@ static const yytype_int16 yytoknum[] = }; #endif -#define YYPACT_NINF (-833) +#define YYPACT_NINF (-871) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-579) +#define YYTABLE_NINF (-693) #define yytable_value_is_error(Yyn) \ 0 @@ -1462,101 +1462,101 @@ static const yytype_int16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - 4634, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -322, -303, -269, - -258, -250, -241, -204, -105, -833, -833, -833, -833, -833, - -219, -833, -833, -833, -833, -833, -57, -833, -833, -833, - -833, -833, -320, -833, -833, -833, -833, -833, -833, -833, - -80, -63, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -325, -182, -130, - -109, 7861, -222, -833, -71, -833, -833, -833, -833, 5556, - -833, -833, -833, -833, -141, -833, -833, 946, -833, -833, - 7861, -85, -833, -833, -833, 6017, -54, -279, -155, -133, - -129, -125, -54, -124, -51, 12272, -833, -25, -341, -49, - -833, -310, -833, -15, -12, 7861, -833, -833, -833, 7861, - -42, -41, -833, -265, -833, -311, -833, -833, 10955, -9, - -833, -833, -833, -5, -39, 7861, -833, -10, -11, -6, - -833, -267, -833, -256, -4, -3, -1, 1, -221, 3, - 5, 6, 8, 10, 11, -217, 13, 12, 20, -309, - -833, -7, 7861, -833, -2, -833, -195, -833, -833, -188, - 9199, -833, -280, 1407, -833, -833, -833, -833, -833, -9, - -294, -833, 9638, -263, -833, -27, -833, -169, 10955, 10955, - -833, 10955, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -253, -833, -833, -833, 21, -185, 11394, 25, -833, - 10955, -833, -833, -318, 19, -12, 26, -833, -326, -54, - -833, -8, -833, -329, 27, -123, 10955, -119, -833, -146, - -112, -160, -107, 28, -102, -54, -833, 11833, -833, -75, - 10955, 29, -51, -833, 7861, 14, 6478, -833, 7861, 10955, - -833, -341, -833, 15, -833, -833, -40, -79, -170, -295, - -120, 17, 22, 24, 44, 23, -313, 30, 10077, -833, - 35, -833, -833, 31, 37, 39, -833, 34, 41, 42, - 10516, 64, 10955, 58, 57, 59, 63, 65, -220, -833, - -833, -111, -833, -182, 76, 77, -833, -833, -833, -833, - -833, 1868, -833, -833, -833, -833, -833, -833, -833, -833, - -833, 5095, 19, 9638, -254, 8321, -833, -833, 9638, 7861, - -833, 43, -833, -833, -833, -184, -833, -833, 10955, 47, - -833, -833, 10955, 79, -833, -833, -833, 10955, -833, -833, - -833, -319, -833, -833, -183, 69, -833, -833, -833, -833, - -833, -833, -181, -833, -176, -833, -833, -174, 80, -833, - -833, -833, -833, -172, -833, -171, -833, -833, -833, -833, - -833, -164, -833, 81, -833, -162, 82, -161, 69, -833, - -159, -833, 83, 85, -833, -833, 14, -9, -48, -833, - -833, -833, 6939, -833, -833, -833, 10955, 10955, 10955, 10955, - 10955, 10955, 10955, 10955, 10955, 10955, 10955, 10955, 10955, 10955, - 10955, 10955, 10955, 10955, 10955, -833, -833, -833, 32, -833, - 2329, -833, -833, -833, 2329, -833, 10955, -833, -833, -47, - 10955, -92, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, 10955, 10955, - -833, -833, -833, -833, -833, -833, -833, 9638, -833, -833, - -122, -833, 7400, -833, -833, 88, 86, -833, -833, -833, - -833, -833, -202, -137, -833, -316, -833, -329, -833, -329, - -833, 10955, 10955, -833, -146, -833, -146, -833, -160, -160, - -833, 93, 28, -833, 11833, -833, 10955, -833, -833, -43, - 19, 14, -833, -833, -833, -833, -833, -40, -40, -79, - -79, -170, -170, -170, -170, -295, -295, -120, 17, 22, - 24, 44, 23, 10955, -833, 2329, 4173, 52, 3712, -152, - -833, -151, -833, -833, -833, -833, -833, 8760, -833, -833, - -833, 98, -833, 66, -833, -150, -833, -149, -833, -148, - -833, -147, -833, -140, -139, -833, -833, -833, -36, 95, - 86, 62, 101, 103, -833, -833, 4173, 100, -833, -833, - -833, -833, -833, -833, -833, -833, -833, -833, -833, 10955, - -833, 96, 2790, 10955, -833, 97, 105, 60, 107, 3251, - -833, 109, -833, 9638, -833, -833, -833, -138, 10955, 2790, - 100, -833, -833, 2329, -833, 99, 86, -833, -833, 2329, - 110, -833, -833 + 4635, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -295, -293, -284, + -273, -184, -182, -129, -127, -871, -871, -871, -871, -871, + -258, -871, -871, -871, -871, -871, -43, -871, -871, -871, + -871, -871, -324, -871, -871, -871, -871, -871, -871, -871, + -119, -117, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -310, -323, -237, + -128, 7862, -235, -871, -106, -871, -871, -871, -871, 5557, + -871, -871, -871, -871, -124, -871, -871, 947, -871, -871, + 7862, -93, -871, -871, -871, 6018, -99, -256, -138, -122, + -121, -120, -99, -104, -78, 12273, -871, -100, -339, -60, + -871, -265, -871, -85, -17, 7862, -871, -871, -871, 7862, + -49, -40, -871, -307, -871, -236, -871, -871, 10956, 1, + -871, -871, -871, 3, -31, 7862, -871, -4, -2, 4, + -871, -259, -871, -228, -1, 5, 6, 8, -212, 10, + 12, 13, 14, 15, 18, -209, 17, 19, 27, -313, + -871, 20, 7862, -871, 22, -871, -207, -871, -871, -202, + 9200, -871, -261, 1408, -871, -871, -871, -871, -871, 1, + -263, -871, 9639, -249, -871, -27, -871, -111, 10956, 10956, + -871, 10956, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -277, -871, -871, -871, 28, -200, 11395, 32, -871, + 10956, -871, -871, -321, 26, -17, 33, -871, -320, -99, + -871, -22, -871, -300, 37, -102, 10956, -74, -871, -143, + -73, -148, -69, 35, -68, -99, -871, 11834, -871, -67, + 10956, 38, -78, -871, 7862, 16, 6479, -871, 7862, 10956, + -871, -339, -871, 21, -871, -871, -26, -260, -55, -309, + -14, -12, 23, 30, 49, 52, -312, 40, 10078, -871, + 42, -871, -871, 48, 41, 56, -871, 67, 69, 63, + 10517, 75, 10956, 68, 70, 73, 74, 76, -167, -871, + -871, -107, -871, -323, 77, 78, -871, -871, -871, -871, + -871, 1869, -871, -871, -871, -871, -871, -871, -871, -871, + -871, 5096, 26, 9639, -240, 8322, -871, -871, 9639, 7862, + -871, 43, -871, -871, -871, -199, -871, -871, 10956, 51, + -871, -871, 10956, 87, -871, -871, -871, 10956, -871, -871, + -871, -315, -871, -871, -190, 80, -871, -871, -871, -871, + -871, -871, -187, -871, -168, -871, -871, -166, 84, -871, + -871, -871, -871, -163, -871, -161, -871, -871, -871, -871, + -871, -156, -871, 85, -871, -154, 86, -153, 80, -871, + -271, -152, -871, 94, 96, -871, -871, 16, 1, -35, + -871, -871, -871, 6940, -871, -871, -871, 10956, 10956, 10956, + 10956, 10956, 10956, 10956, 10956, 10956, 10956, 10956, 10956, 10956, + 10956, 10956, 10956, 10956, 10956, 10956, -871, -871, -871, 95, + -871, 2330, -871, -871, -871, 2330, -871, 10956, -871, -871, + -30, 10956, -171, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, 10956, + 10956, -871, -871, -871, -871, -871, -871, -871, 9639, -871, + -871, -201, -871, 7401, -871, -871, 97, 92, -871, -871, + -871, -871, -871, -188, -131, -871, -311, -871, -300, -871, + -300, -871, 10956, 10956, -871, -143, -871, -143, -871, -148, + -148, -871, 103, 35, -871, 11834, -871, 10956, -871, -871, + -29, 26, 16, -871, -871, -871, -871, -871, -26, -26, + -260, -260, -55, -55, -55, -55, -309, -309, -14, -12, + 23, 30, 49, 52, 10956, -871, 2330, 4174, 59, 3713, + -149, -871, -145, -871, -871, -871, -871, -871, 8761, -871, + -871, -871, 105, -871, 72, -871, -144, -871, -142, -871, + -141, -871, -140, -871, -137, -133, -871, -871, -871, -15, + 101, 92, 71, 107, 109, -871, -871, 4174, 108, -871, + -871, -871, -871, -871, -871, -871, -871, -871, -871, -871, + 10956, -871, 102, 2791, 10956, -871, 104, 114, 79, 112, + 3252, -871, 113, -871, 9639, -871, -871, -871, -132, 10956, + 2791, 108, -871, -871, 2330, -871, 110, 92, -871, -871, + 2330, 116, -871, -871 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1610,7 +1610,7 @@ static const yytype_int16 yydefact[] = 99, 0, 94, 0, 109, 0, 121, 115, 123, 0, 124, 0, 97, 131, 102, 0, 156, 136, 0, 209, 215, 1, 626, 0, 0, 0, 96, 0, 0, 0, - 637, 0, 694, 0, 0, 0, 0, 0, 0, 0, + 637, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 0, 633, 0, 0, 542, 151, 153, 0, 149, 207, 0, 0, 100, 0, 0, 631, 110, 116, 120, 122, 118, @@ -1619,7 +1619,7 @@ static const yytype_int16 yydefact[] = 2, 16, 14, 15, 17, 10, 11, 12, 13, 3, 18, 37, 20, 25, 26, 0, 0, 30, 0, 218, 0, 36, 34, 0, 210, 111, 0, 95, 0, 0, - 692, 0, 645, 0, 0, 0, 0, 0, 662, 0, + 693, 0, 645, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 687, 0, 660, 0, 0, 0, 0, 98, 0, 0, 0, 546, 0, 0, 148, 0, 204, 0, 211, 45, 49, 52, 55, 60, @@ -1631,71 +1631,71 @@ static const yytype_int16 yydefact[] = 569, 0, 119, 0, 127, 0, 554, 134, 0, 0, 107, 0, 104, 38, 39, 0, 22, 23, 0, 0, 28, 27, 0, 220, 31, 33, 40, 0, 217, 112, - 696, 0, 697, 638, 0, 0, 695, 657, 653, 654, + 697, 0, 698, 638, 0, 0, 696, 657, 653, 654, 655, 656, 0, 651, 0, 93, 658, 0, 0, 672, 673, 674, 675, 0, 670, 0, 679, 680, 681, 682, 678, 0, 676, 0, 683, 0, 0, 0, 2, 691, - 0, 689, 0, 0, 632, 634, 0, 552, 0, 550, - 545, 547, 0, 152, 150, 208, 0, 0, 0, 0, + 216, 0, 689, 0, 0, 632, 634, 0, 552, 0, + 550, 545, 547, 0, 152, 150, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 76, 212, 213, 0, 572, - 0, 605, 618, 617, 0, 609, 0, 621, 619, 0, - 0, 0, 602, 622, 623, 624, 571, 81, 82, 84, - 83, 86, 87, 88, 89, 90, 85, 80, 0, 0, - 587, 583, 585, 589, 596, 604, 129, 0, 557, 558, - 0, 133, 0, 108, 4, 0, 24, 21, 32, 219, - 641, 643, 0, 0, 693, 0, 647, 0, 646, 0, - 649, 0, 0, 664, 0, 663, 0, 666, 0, 0, - 668, 0, 0, 688, 0, 685, 0, 661, 636, 0, - 553, 0, 548, 543, 46, 47, 48, 51, 50, 53, - 54, 58, 59, 56, 57, 61, 62, 64, 66, 68, - 70, 72, 74, 0, 214, 574, 0, 0, 0, 0, - 620, 0, 601, 79, 92, 128, 555, 0, 106, 19, - 639, 0, 640, 0, 652, 0, 659, 0, 671, 0, - 677, 0, 684, 0, 0, 690, 549, 551, 0, 0, - 593, 0, 0, 0, 612, 611, 614, 580, 597, 556, - 559, 642, 644, 648, 650, 665, 667, 669, 686, 0, - 575, 0, 0, 0, 613, 0, 0, 592, 0, 0, - 590, 0, 77, 0, 577, 606, 576, 0, 615, 0, - 580, 579, 581, 599, 594, 0, 616, 610, 591, 600, - 0, 608, 598 + 0, 0, 0, 0, 0, 0, 76, 212, 213, 0, + 572, 0, 605, 618, 617, 0, 609, 0, 621, 619, + 0, 0, 0, 602, 622, 623, 624, 571, 81, 82, + 84, 83, 86, 87, 88, 89, 90, 85, 80, 0, + 0, 587, 583, 585, 589, 596, 604, 129, 0, 557, + 558, 0, 133, 0, 108, 4, 0, 24, 21, 32, + 219, 641, 643, 0, 0, 694, 0, 647, 0, 646, + 0, 649, 0, 0, 664, 0, 663, 0, 666, 0, + 0, 668, 0, 0, 688, 0, 685, 0, 661, 636, + 0, 553, 0, 548, 543, 46, 47, 48, 51, 50, + 53, 54, 58, 59, 56, 57, 61, 62, 64, 66, + 68, 70, 72, 74, 0, 214, 574, 0, 0, 0, + 0, 620, 0, 601, 79, 92, 128, 555, 0, 106, + 19, 639, 0, 640, 0, 652, 0, 659, 0, 671, + 0, 677, 0, 684, 0, 0, 690, 549, 551, 0, + 0, 593, 0, 0, 0, 612, 611, 614, 580, 597, + 556, 559, 642, 644, 648, 650, 665, 667, 669, 686, + 0, 575, 0, 0, 0, 613, 0, 0, 592, 0, + 0, 590, 0, 77, 0, 577, 606, 576, 0, 615, + 0, 580, 579, 581, 599, 594, 0, 616, 610, 591, + 600, 0, 608, 598 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -833, -546, -833, -833, -833, -833, -833, -833, -833, -833, - -833, -833, -434, -833, -395, -394, -489, -392, -271, -270, - -268, -266, -272, -264, -833, -484, -833, -497, -833, -500, - -535, 4, -833, -833, -833, 7, -393, -833, -833, 33, - 40, 38, -833, -833, -407, -833, -833, -833, -833, -103, - -833, -390, -376, -833, 9, -833, 0, -433, -833, -833, - -833, -833, 138, -833, -833, -833, -559, -554, -237, -350, - -612, -833, -375, -619, -832, -833, -432, -833, -833, -445, - -443, -833, -833, 55, -732, -373, -833, -145, -833, -406, - -833, -144, -833, -833, -833, -833, -143, -833, -833, -833, - -833, -833, -833, -833, -833, 87, -833, -833, 2, -833, - -77, -302, -408, -833, -833, -833, -317, -308, -312, -833, - -833, -315, -307, -314, -306, -305, -833, -321, -304, -833, - -396, -538 + -871, -544, -871, -871, -871, -871, -871, -871, -871, -871, + -871, -871, -435, -871, -382, -381, -473, -384, -268, -264, + -269, -267, -266, -262, -871, -485, -871, -498, -871, -501, + -533, 11, -871, -871, -871, 7, -394, -871, -871, 45, + 44, 46, -871, -871, -407, -871, -871, -871, -871, -101, + -871, -390, -377, -871, 9, -871, 0, -431, -871, -871, + -871, -553, 150, -871, -871, -871, -552, -557, -230, -344, + -613, -871, -370, -625, -870, -871, -427, -871, -871, -436, + -434, -871, -871, 62, -730, -363, -871, -136, -871, -399, + -871, -135, -871, -871, -871, -871, -130, -871, -871, -871, + -871, -871, -871, -871, -871, 93, -871, -871, 2, -871, + -71, -281, -445, -871, -871, -871, -306, -305, -314, -871, + -871, -308, -303, -304, -302, -301, -871, -317, -299, -871, + -398, -536 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 529, 530, 531, 795, 532, 533, 534, 535, 536, + -1, 529, 530, 531, 796, 532, 533, 534, 535, 536, 537, 538, 618, 540, 586, 587, 588, 589, 590, 591, - 592, 593, 594, 595, 596, 619, 853, 620, 778, 621, + 592, 593, 594, 595, 596, 619, 854, 620, 779, 621, 709, 622, 387, 649, 507, 623, 389, 390, 391, 436, 437, 438, 392, 393, 394, 395, 396, 397, 486, 487, 398, 399, 400, 401, 541, 489, 542, 492, 449, 450, - 543, 404, 405, 406, 578, 482, 576, 577, 718, 719, - 647, 790, 626, 627, 628, 629, 630, 750, 889, 925, - 917, 918, 919, 926, 631, 632, 633, 634, 920, 892, - 635, 636, 921, 940, 637, 638, 639, 856, 754, 858, - 896, 915, 916, 640, 407, 408, 409, 433, 641, 479, - 480, 459, 460, 802, 803, 411, 682, 683, 687, 412, - 413, 693, 694, 701, 702, 705, 414, 710, 711, 415, + 543, 404, 405, 406, 578, 482, 576, 577, 719, 720, + 647, 791, 626, 627, 628, 629, 630, 751, 890, 926, + 918, 919, 920, 927, 631, 632, 633, 634, 921, 893, + 635, 636, 922, 941, 637, 638, 639, 857, 755, 859, + 897, 916, 917, 640, 407, 408, 409, 433, 641, 479, + 480, 459, 460, 803, 804, 411, 682, 683, 687, 412, + 413, 693, 694, 701, 702, 705, 414, 711, 712, 415, 461, 462 }; @@ -1704,64 +1704,64 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 403, 439, 410, 454, 386, 646, 597, 388, 454, 402, - 503, 655, 782, 676, 539, 700, 544, 453, 855, 722, - 455, 686, 721, 446, 677, 455, 475, 670, 744, 676, - 671, 786, 416, 789, 800, 713, 791, 670, 426, 430, - 664, 733, 734, 667, 723, 439, 490, 504, 571, 484, - 505, 417, 572, 506, 491, 668, 585, 678, 679, 680, - 681, 672, 490, 446, 745, 431, 642, 644, 801, 643, - 427, 672, 685, 485, 653, 654, 598, 735, 736, 446, - 924, 656, 657, 685, 599, 418, 685, 932, 550, 501, - 792, 490, 574, 598, 551, 685, 419, 924, 502, 552, - 648, -35, 598, 658, 420, 553, 666, 659, 463, 787, - 759, 464, 761, 421, 748, 465, 467, 469, 471, 473, - 474, 477, 585, 767, 768, 769, 770, 771, 772, 773, - 774, 775, 776, 585, 558, 857, 585, 424, 566, 441, - 559, 673, 442, 777, 567, 585, 646, 673, 646, 673, - 422, 646, 673, 674, 673, 870, 673, 673, 796, 871, - 580, 673, 731, 732, 585, 798, 581, 582, 721, 707, - 661, 794, 804, 583, 806, 865, 662, 779, 551, 808, - 807, 810, 432, 813, 815, 809, 574, 811, 574, 814, - 816, 817, 651, 820, 823, 652, 825, 818, 446, 821, - 824, 939, 826, 897, 898, 903, 904, 905, 906, 779, - 779, 807, 811, 814, 818, 907, 908, 935, 737, 738, - 872, 821, 826, 779, 873, 434, 696, 697, 698, 699, - 520, 448, 466, 799, 454, 464, 782, 866, 721, 867, - 689, 690, 691, 692, 841, 842, 843, 844, 453, 423, - 779, 455, 435, 780, 468, 900, 859, 464, 470, 574, - 861, 464, 472, 476, 684, 464, 464, 464, 688, 779, - 862, 464, 700, 700, 428, 695, 876, 686, 464, 456, - 703, 863, 864, 464, 830, 706, 676, 729, 464, 730, - 646, 429, 834, 835, 836, 585, 585, 585, 585, 585, + 403, 439, 410, 454, 646, 597, 783, 388, 454, 402, + 655, 386, 503, 539, 710, 676, 453, 700, 544, 722, + 455, 856, 446, 686, 475, 455, 723, 734, 735, 745, + 787, 676, 790, 670, 426, 792, 671, 714, 801, 664, + 667, 432, 670, 925, 571, 439, 724, 501, 572, 490, + 933, 484, 668, 677, 430, 585, 502, 656, 657, 416, + 925, 417, 446, 736, 737, 746, 427, 672, 642, 644, + 418, 685, 802, 653, 654, 485, 672, -35, 446, 658, + 431, 419, 685, 659, -692, 685, 678, 679, 680, 681, + -692, 490, 574, 490, 685, 598, 550, 793, 424, 491, + 643, 448, 551, 599, 673, 666, 730, 598, 731, 760, + 673, 762, 673, 749, 648, 673, 598, 673, 434, 673, + 673, 585, 504, 788, 673, 505, 441, 552, 506, 442, + 858, 463, 585, 553, 464, 585, 465, 467, 469, 471, + 473, 474, 477, 558, 585, 646, 566, 646, 580, 559, + 646, 674, 567, 582, 581, 661, 795, 797, 867, 583, + 868, 662, 780, 585, 799, 805, 722, 707, 807, 871, + 420, 551, 421, 872, 808, 866, 768, 769, 770, 771, + 772, 773, 774, 775, 776, 777, 574, 809, 574, 811, + 780, 863, 814, 810, 816, 812, 778, 446, 815, 818, + 817, 821, 824, 826, 940, 819, 898, 822, 825, 827, + 899, 904, 780, 905, 906, 907, 780, 808, 908, 812, + 815, 819, 909, 936, 822, 422, 873, 423, 827, 780, + 874, 783, 800, 435, 454, 428, 722, 429, 696, 697, + 698, 699, 520, 689, 690, 691, 692, 453, 448, 466, + 651, 455, 464, 652, 780, 901, 860, 781, 483, 574, + 862, 842, 843, 844, 845, 468, 470, 472, 464, 464, + 464, 456, 710, 493, 710, 700, 700, 732, 733, 877, + 686, 864, 865, 476, 443, 684, 464, 831, 464, 676, + 646, 458, 835, 836, 837, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, - 585, 934, 712, 831, 779, 464, 832, 860, 831, 443, - 782, 886, 333, 334, 335, 779, 909, 685, 685, 726, - 727, 728, 574, 483, 837, 838, 458, 839, 840, 478, - 685, 488, 685, 493, 330, 845, 846, 490, 499, 500, - 545, 546, 548, 888, 547, 549, 890, 573, 555, 554, - 556, 579, 557, 650, 560, 743, 561, 562, 568, 563, - 646, 564, 565, 569, 570, 598, 660, 585, 585, 665, - 501, 704, 675, 671, 742, 751, 714, 746, 755, 854, - 585, 440, 585, 739, 749, 756, 890, 740, 741, 447, - 402, 752, 574, 753, 717, 725, 757, 403, 402, 410, - 403, 386, 922, 927, 388, 403, 402, 410, 760, 402, - 762, 763, 457, 764, 402, 481, 646, 765, 936, 766, - -36, -34, 805, 793, -29, 440, 495, 797, 827, 440, - 828, 812, 819, 822, 402, 869, 882, 779, 402, 891, - 893, 901, 911, 902, 910, 447, 912, 913, -578, 923, - 929, 928, 930, 941, 402, 600, 455, 933, 847, 942, - 848, 851, 497, 849, 425, 496, 850, 498, 724, 829, - 852, 887, 575, 894, 937, 895, 931, 938, 494, 891, - 914, 402, 875, 625, 452, 715, 783, 784, 785, 874, - 877, 879, 624, 884, 0, 881, 455, 878, 0, 0, - 0, 0, 880, 0, 0, 0, 0, 883, 0, 0, - 0, 0, 885, 0, 0, 0, 0, 0, 0, 0, + 585, 935, 478, 688, 695, 783, 464, 464, 703, 706, + 713, 464, 464, 464, 738, 739, 832, 685, 685, 833, + 488, 780, 832, 574, 861, 887, 333, 334, 335, 330, + 685, 499, 685, 727, 728, 729, 780, 910, 838, 839, + 500, 840, 841, 889, 846, 847, 891, 490, 545, 546, + 547, 548, 554, 650, 740, 549, 555, 556, 675, 557, + 646, 560, 568, 561, 562, 563, 564, 585, 585, 565, + 569, 570, 598, 660, 573, 579, 665, 501, 704, 743, + 585, 440, 585, 671, 744, 715, 891, 747, 741, 447, + 402, 750, 752, 574, 742, 753, 718, 403, 402, 410, + 403, 726, 923, 928, 388, 403, 402, 410, 386, 402, + 754, 756, 457, 757, 402, 481, 646, 758, 937, 761, + 763, -36, -34, 794, 764, 440, 495, 765, 766, 440, + 767, 798, -29, 806, 402, 813, 820, 823, 402, 828, + 892, 829, 855, 780, 870, 447, 883, 894, 902, 903, + 911, 912, 913, 914, 402, 924, -578, 455, 929, 930, + 600, 934, 848, 850, 942, 943, 851, 849, 852, 496, + 725, 931, 575, 853, 497, 498, 425, 830, 888, 895, + 892, 402, 932, 625, 938, 494, 896, 939, 915, 878, + 452, 716, 624, 875, 876, 784, 785, 455, 885, 880, + 0, 786, 879, 0, 0, 0, 882, 881, 0, 0, + 0, 0, 884, 0, 0, 0, 0, 0, 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 716, 0, 575, 0, 575, 0, + 0, 0, 0, 0, 717, 0, 575, 0, 575, 0, 0, 0, 0, 402, 0, 402, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1776,75 +1776,29 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, - 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, + 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 625, 0, 0, 0, 625, 0, 0, 0, 0, + 624, 0, 0, 0, 624, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, + 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 625, 625, 0, 625, + 0, 410, 0, 0, 0, 624, 624, 0, 624, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 625, 0, 0, + 0, 0, 0, 0, 0, 0, 624, 0, 0, 0, + 0, 0, 0, 625, 0, 0, 0, 0, 0, 0, + 625, 0, 624, 0, 0, 0, 0, 0, 0, 624, 625, 0, 0, 0, 625, 0, 0, 0, 0, 624, - 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, - 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 625, 0, 625, 0, - 410, 0, 0, 0, 624, 624, 0, 624, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 625, 0, 0, 0, - 0, 0, 0, 0, 0, 624, 0, 0, 0, 0, - 0, 0, 625, 0, 0, 0, 0, 0, 0, 625, - 0, 624, 0, 0, 0, 0, 0, 0, 624, 625, - 0, 0, 0, 625, 0, 0, 0, 0, 624, 625, - 0, 0, 624, 0, 0, 0, 451, 0, 624, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, - 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 332, 333, 334, 335, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, - 340, 341, 342, 343, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 345, 346, 347, 348, 349, 350, 0, 0, 0, 0, - 0, 0, 0, 0, 351, 0, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 625, 0, 0, 624, 0, 0, 0, 451, 0, 624, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, @@ -1878,16 +1832,16 @@ static const yytype_int16 yytable[] = 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, - 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 510, 511, 0, 330, 0, 600, 601, 0, 0, 0, - 0, 602, 512, 513, 514, 515, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, + 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 336, - 0, 0, 0, 516, 517, 518, 519, 520, 337, 338, - 339, 340, 341, 342, 343, 603, 604, 605, 606, 0, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 344, 345, 346, 347, 348, 349, 350, 521, 522, 523, - 524, 525, 526, 527, 528, 351, 617, 352, 353, 354, + 0, 0, 0, 0, 0, 0, 0, 0, 337, 338, + 339, 340, 341, 342, 343, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 344, 345, 346, 347, 348, 349, 350, 0, 0, 0, + 0, 0, 0, 0, 0, 351, 0, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, @@ -1926,7 +1880,7 @@ static const yytype_int16 yytable[] = 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 510, 511, 0, 330, 0, 600, 781, 0, 0, + 0, 510, 511, 0, 330, 0, 600, 601, 0, 0, 0, 0, 602, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 336, 0, 0, 0, 516, 517, 518, 519, 520, 337, @@ -1972,7 +1926,7 @@ static const yytype_int16 yytable[] = 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 510, 511, 0, 330, 0, 600, 0, 0, + 0, 0, 510, 511, 0, 330, 0, 600, 782, 0, 0, 0, 0, 602, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 336, 0, 0, 0, 516, 517, 518, 519, 520, @@ -2018,7 +1972,7 @@ static const yytype_int16 yytable[] = 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 510, 511, 0, 330, 0, 493, 0, + 0, 0, 0, 510, 511, 0, 330, 0, 600, 0, 0, 0, 0, 0, 602, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 336, 0, 0, 0, 516, 517, 518, 519, @@ -2064,7 +2018,7 @@ static const yytype_int16 yytable[] = 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 510, 511, 0, 330, 0, 0, + 0, 0, 0, 0, 510, 511, 0, 330, 0, 493, 0, 0, 0, 0, 0, 602, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 336, 0, 0, 0, 516, 517, 518, @@ -2115,10 +2069,10 @@ static const yytype_int16 yytable[] = 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 336, 0, 0, 0, 516, 517, 518, 519, 520, 337, 338, 339, 340, 341, 342, 343, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, + 603, 604, 605, 606, 0, 607, 608, 609, 610, 611, + 612, 613, 614, 615, 616, 344, 345, 346, 347, 348, 349, 350, 521, 522, 523, 524, 525, 526, 527, 528, - 351, 0, 352, 353, 354, 355, 356, 357, 358, 359, + 351, 617, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 1, 2, 3, 4, @@ -2153,13 +2107,13 @@ static const yytype_int16 yytable[] = 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 0, 0, 0, 320, 321, 322, 323, 324, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 510, 511, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 512, 513, + 0, 0, 0, 0, 0, 0, 510, 511, 0, 330, + 0, 0, 0, 0, 0, 0, 0, 602, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 332, 333, 334, 335, 0, 0, 0, 0, 516, + 0, 332, 333, 334, 335, 336, 0, 0, 0, 516, 517, 518, 519, 520, 337, 338, 339, 340, 341, 342, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 345, 346, 347, @@ -2199,18 +2153,18 @@ static const yytype_int16 yytable[] = 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, + 314, 315, 316, 0, 0, 0, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 330, 0, 0, 0, 0, 0, 0, 0, 331, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 332, 333, 334, 335, 336, 0, 0, 0, - 0, 0, 0, 0, 0, 337, 338, 339, 340, 341, + 0, 0, 0, 0, 0, 0, 0, 510, 511, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 512, + 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 332, 333, 334, 335, 0, 0, 0, 0, + 516, 517, 518, 519, 520, 337, 338, 339, 340, 341, 342, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 345, 346, - 347, 348, 349, 350, 0, 0, 0, 0, 0, 0, - 0, 0, 351, 0, 352, 353, 354, 355, 356, 357, + 347, 348, 349, 350, 521, 522, 523, 524, 525, 526, + 527, 528, 351, 0, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 1, 2, @@ -2245,16 +2199,16 @@ static const yytype_int16 yytable[] = 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 0, 0, 0, 320, 321, 322, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 332, 333, 334, 335, 0, 0, 0, + 0, 0, 0, 332, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, 340, - 341, 342, 343, 603, 0, 0, 606, 0, 607, 608, - 0, 0, 611, 0, 0, 0, 0, 0, 344, 345, + 341, 342, 343, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, 349, 350, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, @@ -2296,11 +2250,11 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 0, 0, - 0, 0, 0, 0, 0, 0, 445, 337, 338, 339, - 340, 341, 342, 343, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, + 340, 341, 342, 343, 603, 0, 0, 606, 0, 607, + 608, 0, 0, 611, 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, 349, 350, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, @@ -2341,10 +2295,10 @@ static const yytype_int16 yytable[] = 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 337, 338, + 0, 0, 0, 0, 0, 0, 0, 445, 337, 338, 339, 340, 341, 342, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, 349, 350, 0, 0, 0, @@ -2387,7 +2341,7 @@ static const yytype_int16 yytable[] = 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, + 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, @@ -2433,7 +2387,7 @@ static const yytype_int16 yytable[] = 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 833, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2479,7 +2433,7 @@ static const yytype_int16 yytable[] = 0, 0, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 868, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2526,7 +2480,7 @@ static const yytype_int16 yytable[] = 327, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 334, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 338, 339, 340, 341, 342, 343, 0, @@ -2536,7 +2490,97 @@ static const yytype_int16 yytable[] = 0, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 2, 3, 4, 5, 6, + 381, 382, 383, 384, 385, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 0, 0, 0, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 332, 333, 334, 335, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 337, 338, 339, 340, 341, 342, 343, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, + 349, 350, 0, 0, 0, 0, 0, 0, 0, 0, + 351, 0, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 0, 0, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 0, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 0, 0, 0, 0, 0, 0, 323, 0, 0, + 0, 327, 328, 329, 0, 0, 508, 509, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 510, 511, 0, 0, 0, + 645, 789, 0, 0, 0, 0, 0, 512, 513, 514, + 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, + 518, 519, 520, 337, 0, 0, 0, 0, 342, 343, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 521, 522, 523, 524, 525, 526, 527, 528, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 364, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, @@ -2572,7 +2616,7 @@ static const yytype_int16 yytable[] = 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 511, 0, 0, 0, 645, - 788, 0, 0, 0, 0, 0, 512, 513, 514, 515, + 900, 0, 0, 0, 0, 0, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, 520, 337, 0, 0, 0, 0, 342, 343, 0, @@ -2615,7 +2659,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 323, 0, 0, 0, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 510, 511, 0, 0, 0, 645, 899, + 0, 0, 0, 510, 511, 0, 0, 584, 0, 0, 0, 0, 0, 0, 0, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, @@ -2659,7 +2703,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 323, 0, 0, 0, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 510, 511, 0, 0, 584, 0, 0, 0, + 0, 0, 510, 511, 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, 520, @@ -2703,7 +2747,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 323, 0, 0, 0, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 510, 511, 0, 0, 0, 645, 0, 0, 0, + 0, 510, 511, 0, 0, 748, 0, 0, 0, 0, 0, 0, 0, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, 520, 337, @@ -2747,8 +2791,8 @@ static const yytype_int16 yytable[] = 0, 0, 323, 0, 0, 0, 327, 328, 329, 0, 0, 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 510, 511, 0, 0, 747, 0, 0, 0, 0, 0, - 0, 0, 512, 513, 514, 515, 0, 0, 0, 0, + 510, 511, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 759, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, 520, 337, 0, 0, 0, 0, 342, 343, 0, 0, 0, 0, 0, @@ -2792,7 +2836,7 @@ static const yytype_int16 yytable[] = 508, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 758, 512, 513, 514, 515, 0, 0, 0, 0, 0, + 0, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, 520, 337, 0, 0, 0, 0, 342, 343, 0, 0, 0, 0, 0, 0, @@ -2839,7 +2883,7 @@ static const yytype_int16 yytable[] = 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 517, 518, 519, 520, 337, 0, 0, 0, - 0, 342, 343, 0, 0, 0, 0, 0, 0, 0, + 0, 342, 663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 524, 525, 526, 527, 528, 0, 0, 0, 0, 0, 0, 0, @@ -2882,8 +2926,8 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 512, 513, 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 516, 517, 518, 519, 520, 337, 0, 0, 0, 0, - 342, 663, 0, 0, 0, 0, 0, 0, 0, 0, + 516, 517, 518, 519, 708, 337, 0, 0, 0, 0, + 342, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 524, 525, 526, 527, 528, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2920,114 +2964,71 @@ static const yytype_int16 yytable[] = 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 0, 0, 0, 0, 0, 0, 323, 0, - 0, 0, 327, 328, 329, 0, 0, 508, 509, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 510, 511, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 512, 513, - 514, 515, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, - 517, 518, 519, 708, 337, 0, 0, 0, 0, 342, - 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 521, 522, 523, 524, 525, 526, 527, - 528, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 0, 0, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 0, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 0, 0, 0, 0, 0, 0, 323, 0, 0, - 0, 327, 328, 329, 0, 0, 0, 0, 0, 0, + 0, 0, 327, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 337, 0, 0, 0, 0, 342, 343 + 0, 0, 0, 0, 337, 0, 0, 0, 0, 342, + 343 }; static const yytype_int16 yycheck[] = { - 0, 391, 0, 410, 0, 502, 490, 0, 415, 0, - 443, 511, 631, 551, 448, 561, 449, 410, 750, 578, - 410, 556, 576, 399, 353, 415, 422, 353, 341, 567, - 356, 643, 354, 645, 353, 570, 648, 353, 358, 364, - 537, 336, 337, 361, 579, 435, 356, 358, 357, 390, - 361, 354, 361, 364, 364, 373, 490, 386, 387, 388, - 389, 387, 356, 439, 377, 390, 499, 500, 387, 363, - 390, 387, 556, 414, 508, 509, 356, 372, 373, 455, - 912, 334, 335, 567, 364, 354, 570, 919, 355, 354, - 649, 356, 482, 356, 361, 579, 354, 929, 363, 355, - 363, 354, 356, 356, 354, 361, 540, 360, 387, 363, - 610, 390, 612, 354, 598, 417, 418, 419, 420, 421, - 422, 423, 556, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 567, 355, 754, 570, 356, 355, 361, - 361, 549, 364, 363, 361, 579, 643, 555, 645, 557, - 354, 648, 560, 549, 562, 357, 564, 565, 658, 361, - 355, 569, 332, 333, 598, 662, 361, 355, 722, 565, - 355, 355, 355, 361, 355, 787, 361, 361, 361, 355, - 361, 355, 364, 355, 355, 361, 576, 361, 578, 361, - 361, 355, 361, 355, 355, 364, 355, 361, 574, 361, - 361, 933, 361, 355, 355, 355, 355, 355, 355, 361, - 361, 361, 361, 361, 361, 355, 355, 355, 338, 339, - 357, 361, 361, 361, 361, 355, 386, 387, 388, 389, - 390, 372, 387, 667, 641, 390, 855, 359, 792, 361, - 386, 387, 388, 389, 733, 734, 735, 736, 641, 354, - 361, 641, 361, 364, 387, 867, 756, 390, 387, 649, - 760, 390, 387, 387, 387, 390, 390, 390, 387, 361, - 362, 390, 818, 819, 354, 387, 811, 812, 390, 364, - 387, 778, 779, 390, 717, 387, 824, 366, 390, 368, - 787, 354, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 923, 387, 361, 361, 390, 364, 364, 361, 390, - 939, 364, 379, 380, 381, 361, 362, 811, 812, 369, - 370, 371, 722, 358, 729, 730, 390, 731, 732, 390, - 824, 390, 826, 358, 356, 737, 738, 356, 390, 390, - 355, 390, 363, 853, 364, 361, 856, 364, 361, 363, - 361, 363, 361, 390, 361, 342, 361, 361, 355, 361, - 867, 361, 361, 361, 354, 356, 355, 811, 812, 354, - 354, 353, 390, 356, 340, 354, 357, 357, 354, 357, - 824, 391, 826, 376, 359, 354, 896, 375, 374, 399, - 391, 364, 792, 364, 390, 390, 364, 407, 399, 407, - 410, 407, 909, 913, 407, 415, 407, 415, 354, 410, - 362, 364, 415, 364, 415, 425, 923, 364, 928, 364, - 354, 354, 363, 390, 355, 435, 434, 390, 355, 439, - 355, 361, 361, 361, 435, 357, 353, 361, 439, 856, - 398, 353, 390, 387, 359, 455, 355, 354, 358, 363, - 355, 364, 402, 364, 455, 358, 856, 358, 739, 359, - 740, 743, 439, 741, 336, 435, 742, 439, 581, 716, - 744, 831, 482, 858, 929, 858, 918, 930, 433, 896, - 896, 482, 809, 493, 407, 572, 641, 641, 641, 807, - 812, 816, 493, 824, -1, 819, 896, 814, -1, -1, - -1, -1, 818, -1, -1, -1, -1, 822, -1, -1, - -1, -1, 826, -1, -1, -1, -1, -1, -1, -1, + 0, 391, 0, 410, 502, 490, 631, 0, 415, 0, + 511, 0, 443, 448, 567, 551, 410, 561, 449, 576, + 410, 751, 399, 556, 422, 415, 578, 336, 337, 341, + 643, 567, 645, 353, 358, 648, 356, 570, 353, 537, + 361, 364, 353, 913, 357, 435, 579, 354, 361, 356, + 920, 390, 373, 353, 364, 490, 363, 334, 335, 354, + 930, 354, 439, 372, 373, 377, 390, 387, 499, 500, + 354, 556, 387, 508, 509, 414, 387, 354, 455, 356, + 390, 354, 567, 360, 355, 570, 386, 387, 388, 389, + 361, 356, 482, 356, 579, 356, 355, 649, 356, 364, + 363, 372, 361, 364, 549, 540, 366, 356, 368, 610, + 555, 612, 557, 598, 363, 560, 356, 562, 355, 564, + 565, 556, 358, 363, 569, 361, 361, 355, 364, 364, + 755, 387, 567, 361, 390, 570, 417, 418, 419, 420, + 421, 422, 423, 355, 579, 643, 355, 645, 355, 361, + 648, 549, 361, 355, 361, 355, 355, 658, 359, 361, + 361, 361, 361, 598, 662, 355, 723, 565, 355, 357, + 354, 361, 354, 361, 361, 788, 343, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 576, 355, 578, 355, + 361, 362, 355, 361, 355, 361, 363, 574, 361, 355, + 361, 355, 355, 355, 934, 361, 355, 361, 361, 361, + 355, 355, 361, 355, 355, 355, 361, 361, 355, 361, + 361, 361, 355, 355, 361, 354, 357, 354, 361, 361, + 361, 856, 667, 361, 641, 354, 793, 354, 386, 387, + 388, 389, 390, 386, 387, 388, 389, 641, 372, 387, + 361, 641, 390, 364, 361, 868, 757, 364, 358, 649, + 761, 734, 735, 736, 737, 387, 387, 387, 390, 390, + 390, 364, 825, 358, 827, 819, 820, 332, 333, 812, + 813, 779, 780, 387, 390, 387, 390, 718, 390, 825, + 788, 390, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 924, 390, 387, 387, 940, 390, 390, 387, 387, + 387, 390, 390, 390, 338, 339, 361, 812, 813, 364, + 390, 361, 361, 723, 364, 364, 379, 380, 381, 356, + 825, 390, 827, 369, 370, 371, 361, 362, 730, 731, + 390, 732, 733, 854, 738, 739, 857, 356, 355, 390, + 364, 363, 363, 390, 376, 361, 361, 361, 390, 361, + 868, 361, 355, 361, 361, 361, 361, 812, 813, 361, + 361, 354, 356, 355, 364, 363, 354, 354, 353, 340, + 825, 391, 827, 356, 342, 357, 897, 357, 375, 399, + 391, 359, 354, 793, 374, 364, 390, 407, 399, 407, + 410, 390, 910, 914, 407, 415, 407, 415, 407, 410, + 364, 354, 415, 354, 415, 425, 924, 364, 929, 354, + 362, 354, 354, 390, 364, 435, 434, 364, 364, 439, + 364, 390, 355, 363, 435, 361, 361, 361, 439, 355, + 857, 355, 357, 361, 357, 455, 353, 398, 353, 387, + 359, 390, 355, 354, 455, 363, 358, 857, 364, 355, + 358, 358, 740, 742, 364, 359, 743, 741, 744, 435, + 581, 402, 482, 745, 439, 439, 336, 717, 832, 859, + 897, 482, 919, 493, 930, 433, 859, 931, 897, 813, + 407, 572, 493, 808, 810, 641, 641, 897, 825, 817, + -1, 641, 815, -1, -1, -1, 820, 819, -1, -1, + -1, -1, 823, -1, -1, -1, -1, -1, 827, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -3047,75 +3048,29 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 722, -1, -1, -1, -1, -1, -1, -1, - -1, 722, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 723, -1, -1, -1, -1, -1, -1, + -1, -1, 723, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 750, -1, -1, -1, 754, -1, -1, -1, -1, 750, - -1, -1, -1, 754, -1, -1, -1, -1, -1, -1, + -1, 751, -1, -1, -1, 755, -1, -1, -1, -1, + 751, -1, -1, -1, 755, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 792, -1, -1, -1, -1, -1, -1, -1, - -1, 792, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 793, -1, -1, -1, -1, -1, -1, + -1, -1, 793, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 855, 856, -1, 858, -1, - 858, -1, -1, -1, 855, 856, -1, 858, -1, -1, + -1, -1, -1, -1, -1, -1, 856, 857, -1, 859, + -1, 859, -1, -1, -1, 856, 857, -1, 859, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 896, -1, -1, -1, - -1, -1, -1, -1, -1, 896, -1, -1, -1, -1, - -1, -1, 912, -1, -1, -1, -1, -1, -1, 919, - -1, 912, -1, -1, -1, -1, -1, -1, 919, 929, - -1, -1, -1, 933, -1, -1, -1, -1, 929, 939, - -1, -1, 933, -1, -1, -1, 0, -1, 939, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, - 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 378, 379, 380, 381, 382, -1, - -1, -1, -1, -1, -1, -1, -1, 391, 392, 393, - 394, 395, 396, 397, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 413, - 414, 415, 416, 417, 418, 419, -1, -1, -1, -1, - -1, -1, -1, -1, 428, -1, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, - 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + -1, -1, -1, -1, -1, -1, -1, 897, -1, -1, + -1, -1, -1, -1, -1, -1, 897, -1, -1, -1, + -1, -1, -1, 913, -1, -1, -1, -1, -1, -1, + 920, -1, 913, -1, -1, -1, -1, -1, -1, 920, + 930, -1, -1, -1, 934, -1, -1, -1, -1, 930, + 940, -1, -1, 934, -1, -1, -1, 0, -1, 940, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, @@ -3149,16 +3104,16 @@ static const yytype_int16 yycheck[] = 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, - -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 353, 354, -1, 356, -1, 358, 359, -1, -1, -1, - -1, 364, 365, 366, 367, 368, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, + -1, 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, 382, - -1, -1, -1, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, -1, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + -1, -1, -1, -1, -1, -1, -1, -1, 391, 392, + 393, 394, 395, 396, 397, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 413, 414, 415, 416, 417, 418, 419, -1, -1, -1, + -1, -1, -1, -1, -1, 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, @@ -3243,7 +3198,7 @@ static const yytype_int16 yycheck[] = 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 353, 354, -1, 356, -1, 358, -1, -1, + -1, -1, 353, 354, -1, 356, -1, 358, 359, -1, -1, -1, -1, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, 382, -1, -1, -1, 386, 387, 388, 389, 390, @@ -3335,7 +3290,7 @@ static const yytype_int16 yycheck[] = 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 353, 354, -1, 356, -1, -1, + -1, -1, -1, -1, 353, 354, -1, 356, -1, 358, -1, -1, -1, -1, -1, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, 382, -1, -1, -1, 386, 387, 388, @@ -3386,10 +3341,10 @@ static const yytype_int16 yycheck[] = 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, 382, -1, -1, -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 413, 414, 415, 416, 417, + 398, 399, 400, 401, -1, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 3, 4, 5, 6, @@ -3424,13 +3379,13 @@ static const yytype_int16 yycheck[] = 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, -1, -1, -1, 322, 323, 324, 325, 326, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 353, 354, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 365, 366, + -1, -1, -1, -1, -1, -1, 353, 354, -1, 356, + -1, -1, -1, -1, -1, -1, -1, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 378, 379, 380, 381, -1, -1, -1, -1, 386, + -1, 378, 379, 380, 381, 382, -1, -1, -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 413, 414, 415, 416, @@ -3470,18 +3425,18 @@ static const yytype_int16 yycheck[] = 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, -1, -1, -1, -1, + 316, 317, 318, -1, -1, -1, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 356, -1, -1, -1, -1, -1, -1, -1, 364, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 378, 379, 380, 381, 382, -1, -1, -1, - -1, -1, -1, -1, -1, 391, 392, 393, 394, 395, + -1, -1, -1, -1, -1, -1, -1, 353, 354, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, + 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 378, 379, 380, 381, -1, -1, -1, -1, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 413, 414, 415, - 416, 417, 418, 419, -1, -1, -1, -1, -1, -1, - -1, -1, 428, -1, 430, 431, 432, 433, 434, 435, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 3, 4, @@ -3516,16 +3471,16 @@ static const yytype_int16 yycheck[] = 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, -1, -1, -1, 322, 323, 324, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 356, -1, -1, -1, -1, -1, -1, -1, 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 378, 379, 380, 381, -1, -1, -1, + -1, -1, -1, 378, 379, 380, 381, 382, -1, -1, -1, -1, -1, -1, -1, -1, 391, 392, 393, 394, - 395, 396, 397, 398, -1, -1, 401, -1, 403, 404, - -1, -1, 407, -1, -1, -1, -1, -1, 413, 414, + 395, 396, 397, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 413, 414, 415, 416, 417, 418, 419, -1, -1, -1, -1, -1, -1, -1, -1, 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, @@ -3567,11 +3522,11 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, -1, -1, - -1, -1, -1, -1, -1, -1, 390, 391, 392, 393, - 394, 395, 396, 397, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 413, + -1, -1, -1, -1, -1, -1, -1, 391, 392, 393, + 394, 395, 396, 397, 398, -1, -1, 401, -1, 403, + 404, -1, -1, 407, -1, -1, -1, -1, -1, 413, 414, 415, 416, 417, 418, 419, -1, -1, -1, -1, -1, -1, -1, -1, 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, @@ -3612,10 +3567,10 @@ static const yytype_int16 yycheck[] = 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 391, 392, + -1, -1, -1, -1, -1, -1, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 413, 414, 415, 416, 417, 418, 419, -1, -1, -1, @@ -3658,7 +3613,7 @@ static const yytype_int16 yycheck[] = 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 359, -1, -1, + -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, 391, @@ -3797,7 +3752,7 @@ static const yytype_int16 yycheck[] = 329, 330, 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 359, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, 379, 380, 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, 391, 392, 393, 394, 395, 396, 397, -1, @@ -3807,7 +3762,97 @@ static const yytype_int16 yycheck[] = -1, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 463, 4, 5, 6, 7, 8, + 459, 460, 461, 462, 463, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, -1, -1, -1, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 378, 379, 380, 381, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 391, 392, 393, 394, 395, 396, 397, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 413, 414, 415, 416, 417, + 418, 419, -1, -1, -1, -1, -1, -1, -1, -1, + 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, -1, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, -1, -1, -1, -1, -1, -1, 325, -1, -1, + -1, 329, 330, 331, -1, -1, 334, 335, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 353, 354, -1, -1, -1, + 358, 359, -1, -1, -1, -1, -1, 365, 366, 367, + 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 386, 387, + 388, 389, 390, 391, -1, -1, -1, -1, 396, 397, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 420, 421, 422, 423, 424, 425, 426, 427, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 442, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, @@ -3886,7 +3931,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, 325, -1, -1, -1, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 353, 354, -1, -1, -1, 358, 359, + -1, -1, -1, 353, 354, -1, -1, 357, -1, -1, -1, -1, -1, -1, -1, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 386, 387, 388, 389, @@ -3930,7 +3975,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, 325, -1, -1, -1, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 353, 354, -1, -1, 357, -1, -1, -1, + -1, -1, 353, 354, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 386, 387, 388, 389, 390, @@ -3974,7 +4019,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 325, -1, -1, -1, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 353, 354, -1, -1, -1, 358, -1, -1, -1, + -1, 353, 354, -1, -1, 357, -1, -1, -1, -1, -1, -1, -1, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 386, 387, 388, 389, 390, 391, @@ -4018,8 +4063,8 @@ static const yytype_int16 yycheck[] = -1, -1, 325, -1, -1, -1, 329, 330, 331, -1, -1, 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 353, 354, -1, -1, 357, -1, -1, -1, -1, -1, - -1, -1, 365, 366, 367, 368, -1, -1, -1, -1, + 353, 354, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 386, 387, 388, 389, 390, 391, -1, -1, -1, -1, 396, 397, -1, -1, -1, -1, -1, @@ -4063,7 +4108,7 @@ static const yytype_int16 yycheck[] = 334, 335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, 354, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 364, 365, 366, 367, 368, -1, -1, -1, -1, -1, + -1, 365, 366, 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 386, 387, 388, 389, 390, 391, -1, -1, -1, -1, 396, 397, -1, -1, -1, -1, -1, -1, @@ -4191,57 +4236,14 @@ static const yytype_int16 yycheck[] = 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, -1, -1, -1, -1, -1, -1, 325, -1, - -1, -1, 329, 330, 331, -1, -1, 334, 335, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 353, 354, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 365, 366, - 367, 368, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 386, - 387, 388, 389, 390, 391, -1, -1, -1, -1, 396, - 397, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 442, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, -1, -1, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, -1, -1, -1, -1, -1, -1, 325, -1, -1, - -1, 329, 330, 331, -1, -1, -1, -1, -1, -1, + -1, -1, 329, 330, 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 391, -1, -1, -1, -1, 396, 397 + -1, -1, -1, -1, 391, -1, -1, -1, -1, 396, + 397 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -4319,30 +4321,30 @@ static const yytype_int16 yystos[] = 388, 389, 580, 581, 387, 489, 494, 582, 387, 386, 387, 388, 389, 585, 586, 387, 386, 387, 388, 389, 465, 587, 588, 387, 353, 589, 387, 594, 390, 494, - 591, 592, 387, 494, 357, 574, 520, 390, 532, 533, - 359, 531, 530, 494, 513, 390, 369, 370, 371, 366, - 368, 332, 333, 336, 337, 372, 373, 338, 339, 376, - 375, 374, 340, 342, 341, 377, 357, 357, 489, 359, - 541, 354, 364, 364, 562, 354, 354, 364, 364, 493, - 354, 493, 362, 364, 364, 364, 364, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 363, 492, 361, - 364, 359, 537, 551, 555, 560, 534, 363, 359, 534, - 535, 534, 530, 390, 355, 468, 493, 390, 491, 476, - 353, 387, 577, 578, 355, 363, 355, 361, 355, 361, - 355, 361, 361, 355, 361, 355, 361, 355, 361, 361, - 355, 361, 361, 355, 361, 355, 361, 355, 355, 532, - 521, 361, 364, 359, 476, 476, 476, 478, 478, 479, - 479, 480, 480, 480, 480, 481, 481, 482, 483, 484, - 485, 486, 487, 490, 357, 548, 561, 537, 563, 493, - 364, 493, 362, 491, 491, 534, 359, 361, 359, 357, - 357, 361, 357, 361, 581, 580, 494, 582, 586, 585, - 588, 587, 353, 589, 591, 592, 364, 533, 493, 542, - 493, 508, 553, 398, 536, 549, 564, 355, 355, 359, - 534, 353, 387, 355, 355, 355, 355, 355, 355, 362, - 359, 390, 355, 354, 553, 565, 566, 544, 545, 546, - 552, 556, 491, 363, 538, 543, 547, 493, 364, 355, - 402, 540, 538, 358, 534, 355, 493, 543, 544, 548, - 557, 364, 359 + 525, 591, 592, 387, 494, 357, 574, 520, 390, 532, + 533, 359, 531, 530, 494, 513, 390, 369, 370, 371, + 366, 368, 332, 333, 336, 337, 372, 373, 338, 339, + 376, 375, 374, 340, 342, 341, 377, 357, 357, 489, + 359, 541, 354, 364, 364, 562, 354, 354, 364, 364, + 493, 354, 493, 362, 364, 364, 364, 364, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 363, 492, + 361, 364, 359, 537, 551, 555, 560, 534, 363, 359, + 534, 535, 534, 530, 390, 355, 468, 493, 390, 491, + 476, 353, 387, 577, 578, 355, 363, 355, 361, 355, + 361, 355, 361, 361, 355, 361, 355, 361, 355, 361, + 361, 355, 361, 361, 355, 361, 355, 361, 355, 355, + 532, 521, 361, 364, 359, 476, 476, 476, 478, 478, + 479, 479, 480, 480, 480, 480, 481, 481, 482, 483, + 484, 485, 486, 487, 490, 357, 548, 561, 537, 563, + 493, 364, 493, 362, 491, 491, 534, 359, 361, 359, + 357, 357, 361, 357, 361, 581, 580, 494, 582, 586, + 585, 588, 587, 353, 589, 591, 592, 364, 533, 493, + 542, 493, 508, 553, 398, 536, 549, 564, 355, 355, + 359, 534, 353, 387, 355, 355, 355, 355, 355, 355, + 362, 359, 390, 355, 354, 553, 565, 566, 544, 545, + 546, 552, 556, 491, 363, 538, 543, 547, 493, 364, + 355, 402, 540, 538, 358, 534, 355, 493, 543, 544, + 548, 557, 364, 359 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -4417,7 +4419,7 @@ static const yytype_int16 yyr1[] = 583, 583, 584, 584, 584, 584, 584, 584, 584, 584, 585, 585, 586, 586, 586, 586, 587, 587, 588, 588, 588, 588, 588, 589, 589, 590, 590, 590, 590, 591, - 591, 592, 593, 593, 594, 594, 595, 595 + 591, 592, 592, 593, 593, 594, 594, 595, 595 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -4492,7 +4494,7 @@ static const yytype_int8 yyr2[] = 4, 6, 4, 6, 6, 8, 6, 8, 6, 8, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 6, 8, 4, 6, 1, - 3, 1, 4, 6, 1, 3, 3, 3 + 3, 1, 1, 4, 6, 1, 3, 3, 3 }; @@ -5242,7 +5244,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string); } -#line 5246 "MachineIndependent/glslang_tab.cpp" +#line 5248 "MachineIndependent/glslang_tab.cpp" break; case 3: /* primary_expression: variable_identifier */ @@ -5250,7 +5252,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5254 "MachineIndependent/glslang_tab.cpp" +#line 5256 "MachineIndependent/glslang_tab.cpp" break; case 4: /* primary_expression: LEFT_PAREN expression RIGHT_PAREN */ @@ -5260,7 +5262,7 @@ yyreduce: if ((yyval.interm.intermTypedNode)->getAsConstantUnion()) (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); } -#line 5264 "MachineIndependent/glslang_tab.cpp" +#line 5266 "MachineIndependent/glslang_tab.cpp" break; case 5: /* primary_expression: FLOATCONSTANT */ @@ -5268,7 +5270,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 5272 "MachineIndependent/glslang_tab.cpp" +#line 5274 "MachineIndependent/glslang_tab.cpp" break; case 6: /* primary_expression: INTCONSTANT */ @@ -5276,7 +5278,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 5280 "MachineIndependent/glslang_tab.cpp" +#line 5282 "MachineIndependent/glslang_tab.cpp" break; case 7: /* primary_expression: UINTCONSTANT */ @@ -5285,7 +5287,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 5289 "MachineIndependent/glslang_tab.cpp" +#line 5291 "MachineIndependent/glslang_tab.cpp" break; case 8: /* primary_expression: BOOLCONSTANT */ @@ -5293,7 +5295,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 5297 "MachineIndependent/glslang_tab.cpp" +#line 5299 "MachineIndependent/glslang_tab.cpp" break; case 9: /* primary_expression: STRING_LITERAL */ @@ -5301,7 +5303,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true); } -#line 5305 "MachineIndependent/glslang_tab.cpp" +#line 5307 "MachineIndependent/glslang_tab.cpp" break; case 10: /* primary_expression: INT32CONSTANT */ @@ -5310,7 +5312,7 @@ yyreduce: parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 5314 "MachineIndependent/glslang_tab.cpp" +#line 5316 "MachineIndependent/glslang_tab.cpp" break; case 11: /* primary_expression: UINT32CONSTANT */ @@ -5319,7 +5321,7 @@ yyreduce: parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 5323 "MachineIndependent/glslang_tab.cpp" +#line 5325 "MachineIndependent/glslang_tab.cpp" break; case 12: /* primary_expression: INT64CONSTANT */ @@ -5328,7 +5330,7 @@ yyreduce: parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true); } -#line 5332 "MachineIndependent/glslang_tab.cpp" +#line 5334 "MachineIndependent/glslang_tab.cpp" break; case 13: /* primary_expression: UINT64CONSTANT */ @@ -5337,7 +5339,7 @@ yyreduce: parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true); } -#line 5341 "MachineIndependent/glslang_tab.cpp" +#line 5343 "MachineIndependent/glslang_tab.cpp" break; case 14: /* primary_expression: INT16CONSTANT */ @@ -5346,7 +5348,7 @@ yyreduce: parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 5350 "MachineIndependent/glslang_tab.cpp" +#line 5352 "MachineIndependent/glslang_tab.cpp" break; case 15: /* primary_expression: UINT16CONSTANT */ @@ -5355,7 +5357,7 @@ yyreduce: parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 5359 "MachineIndependent/glslang_tab.cpp" +#line 5361 "MachineIndependent/glslang_tab.cpp" break; case 16: /* primary_expression: DOUBLECONSTANT */ @@ -5366,7 +5368,7 @@ yyreduce: parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true); } -#line 5370 "MachineIndependent/glslang_tab.cpp" +#line 5372 "MachineIndependent/glslang_tab.cpp" break; case 17: /* primary_expression: FLOAT16CONSTANT */ @@ -5375,7 +5377,7 @@ yyreduce: parseContext.float16Check((yyvsp[0].lex).loc, "half float literal"); (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true); } -#line 5379 "MachineIndependent/glslang_tab.cpp" +#line 5381 "MachineIndependent/glslang_tab.cpp" break; case 18: /* postfix_expression: primary_expression */ @@ -5383,7 +5385,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5387 "MachineIndependent/glslang_tab.cpp" +#line 5389 "MachineIndependent/glslang_tab.cpp" break; case 19: /* postfix_expression: postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET */ @@ -5391,7 +5393,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode)); } -#line 5395 "MachineIndependent/glslang_tab.cpp" +#line 5397 "MachineIndependent/glslang_tab.cpp" break; case 20: /* postfix_expression: function_call */ @@ -5399,7 +5401,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5403 "MachineIndependent/glslang_tab.cpp" +#line 5405 "MachineIndependent/glslang_tab.cpp" break; case 21: /* postfix_expression: postfix_expression DOT IDENTIFIER */ @@ -5407,7 +5409,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string); } -#line 5411 "MachineIndependent/glslang_tab.cpp" +#line 5413 "MachineIndependent/glslang_tab.cpp" break; case 22: /* postfix_expression: postfix_expression INC_OP */ @@ -5417,7 +5419,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode)); } -#line 5421 "MachineIndependent/glslang_tab.cpp" +#line 5423 "MachineIndependent/glslang_tab.cpp" break; case 23: /* postfix_expression: postfix_expression DEC_OP */ @@ -5427,7 +5429,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode)); } -#line 5431 "MachineIndependent/glslang_tab.cpp" +#line 5433 "MachineIndependent/glslang_tab.cpp" break; case 24: /* integer_expression: expression */ @@ -5436,7 +5438,7 @@ yyreduce: parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]"); (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5440 "MachineIndependent/glslang_tab.cpp" +#line 5442 "MachineIndependent/glslang_tab.cpp" break; case 25: /* function_call: function_call_or_method */ @@ -5445,7 +5447,7 @@ yyreduce: (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode); delete (yyvsp[0].interm).function; } -#line 5449 "MachineIndependent/glslang_tab.cpp" +#line 5451 "MachineIndependent/glslang_tab.cpp" break; case 26: /* function_call_or_method: function_call_generic */ @@ -5453,7 +5455,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 5457 "MachineIndependent/glslang_tab.cpp" +#line 5459 "MachineIndependent/glslang_tab.cpp" break; case 27: /* function_call_generic: function_call_header_with_parameters RIGHT_PAREN */ @@ -5462,7 +5464,7 @@ yyreduce: (yyval.interm) = (yyvsp[-1].interm); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 5466 "MachineIndependent/glslang_tab.cpp" +#line 5468 "MachineIndependent/glslang_tab.cpp" break; case 28: /* function_call_generic: function_call_header_no_parameters RIGHT_PAREN */ @@ -5471,7 +5473,7 @@ yyreduce: (yyval.interm) = (yyvsp[-1].interm); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 5475 "MachineIndependent/glslang_tab.cpp" +#line 5477 "MachineIndependent/glslang_tab.cpp" break; case 29: /* function_call_header_no_parameters: function_call_header VOID */ @@ -5479,7 +5481,7 @@ yyreduce: { (yyval.interm) = (yyvsp[-1].interm); } -#line 5483 "MachineIndependent/glslang_tab.cpp" +#line 5485 "MachineIndependent/glslang_tab.cpp" break; case 30: /* function_call_header_no_parameters: function_call_header */ @@ -5487,7 +5489,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 5491 "MachineIndependent/glslang_tab.cpp" +#line 5493 "MachineIndependent/glslang_tab.cpp" break; case 31: /* function_call_header_with_parameters: function_call_header assignment_expression */ @@ -5499,7 +5501,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-1].interm).function; (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode); } -#line 5503 "MachineIndependent/glslang_tab.cpp" +#line 5505 "MachineIndependent/glslang_tab.cpp" break; case 32: /* function_call_header_with_parameters: function_call_header_with_parameters COMMA assignment_expression */ @@ -5511,7 +5513,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-2].interm).function; (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc); } -#line 5515 "MachineIndependent/glslang_tab.cpp" +#line 5517 "MachineIndependent/glslang_tab.cpp" break; case 33: /* function_call_header: function_identifier LEFT_PAREN */ @@ -5519,7 +5521,7 @@ yyreduce: { (yyval.interm) = (yyvsp[-1].interm); } -#line 5523 "MachineIndependent/glslang_tab.cpp" +#line 5525 "MachineIndependent/glslang_tab.cpp" break; case 34: /* function_identifier: type_specifier */ @@ -5529,7 +5531,7 @@ yyreduce: (yyval.interm).intermNode = 0; (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 5533 "MachineIndependent/glslang_tab.cpp" +#line 5535 "MachineIndependent/glslang_tab.cpp" break; case 35: /* function_identifier: postfix_expression */ @@ -5561,7 +5563,7 @@ yyreduce: (yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull); } } -#line 5565 "MachineIndependent/glslang_tab.cpp" +#line 5567 "MachineIndependent/glslang_tab.cpp" break; case 36: /* function_identifier: non_uniform_qualifier */ @@ -5571,7 +5573,7 @@ yyreduce: (yyval.interm).intermNode = 0; (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 5575 "MachineIndependent/glslang_tab.cpp" +#line 5577 "MachineIndependent/glslang_tab.cpp" break; case 37: /* unary_expression: postfix_expression */ @@ -5582,7 +5584,7 @@ yyreduce: if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode()) parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), ""); } -#line 5586 "MachineIndependent/glslang_tab.cpp" +#line 5588 "MachineIndependent/glslang_tab.cpp" break; case 38: /* unary_expression: INC_OP unary_expression */ @@ -5591,7 +5593,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode)); } -#line 5595 "MachineIndependent/glslang_tab.cpp" +#line 5597 "MachineIndependent/glslang_tab.cpp" break; case 39: /* unary_expression: DEC_OP unary_expression */ @@ -5600,7 +5602,7 @@ yyreduce: parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode)); (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode)); } -#line 5604 "MachineIndependent/glslang_tab.cpp" +#line 5606 "MachineIndependent/glslang_tab.cpp" break; case 40: /* unary_expression: unary_operator unary_expression */ @@ -5621,38 +5623,38 @@ yyreduce: (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression(); } } -#line 5625 "MachineIndependent/glslang_tab.cpp" +#line 5627 "MachineIndependent/glslang_tab.cpp" break; case 41: /* unary_operator: PLUS */ #line 629 "MachineIndependent/glslang.y" { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; } -#line 5631 "MachineIndependent/glslang_tab.cpp" +#line 5633 "MachineIndependent/glslang_tab.cpp" break; case 42: /* unary_operator: DASH */ #line 630 "MachineIndependent/glslang.y" { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; } -#line 5637 "MachineIndependent/glslang_tab.cpp" +#line 5639 "MachineIndependent/glslang_tab.cpp" break; case 43: /* unary_operator: BANG */ #line 631 "MachineIndependent/glslang.y" { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; } -#line 5643 "MachineIndependent/glslang_tab.cpp" +#line 5645 "MachineIndependent/glslang_tab.cpp" break; case 44: /* unary_operator: TILDE */ #line 632 "MachineIndependent/glslang.y" { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot; parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); } -#line 5650 "MachineIndependent/glslang_tab.cpp" +#line 5652 "MachineIndependent/glslang_tab.cpp" break; case 45: /* multiplicative_expression: unary_expression */ #line 638 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5656 "MachineIndependent/glslang_tab.cpp" +#line 5658 "MachineIndependent/glslang_tab.cpp" break; case 46: /* multiplicative_expression: multiplicative_expression STAR unary_expression */ @@ -5662,7 +5664,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5666 "MachineIndependent/glslang_tab.cpp" +#line 5668 "MachineIndependent/glslang_tab.cpp" break; case 47: /* multiplicative_expression: multiplicative_expression SLASH unary_expression */ @@ -5672,7 +5674,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5676 "MachineIndependent/glslang_tab.cpp" +#line 5678 "MachineIndependent/glslang_tab.cpp" break; case 48: /* multiplicative_expression: multiplicative_expression PERCENT unary_expression */ @@ -5683,13 +5685,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5687 "MachineIndependent/glslang_tab.cpp" +#line 5689 "MachineIndependent/glslang_tab.cpp" break; case 49: /* additive_expression: multiplicative_expression */ #line 658 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5693 "MachineIndependent/glslang_tab.cpp" +#line 5695 "MachineIndependent/glslang_tab.cpp" break; case 50: /* additive_expression: additive_expression PLUS multiplicative_expression */ @@ -5699,7 +5701,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5703 "MachineIndependent/glslang_tab.cpp" +#line 5705 "MachineIndependent/glslang_tab.cpp" break; case 51: /* additive_expression: additive_expression DASH multiplicative_expression */ @@ -5709,13 +5711,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5713 "MachineIndependent/glslang_tab.cpp" +#line 5715 "MachineIndependent/glslang_tab.cpp" break; case 52: /* shift_expression: additive_expression */ #line 672 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5719 "MachineIndependent/glslang_tab.cpp" +#line 5721 "MachineIndependent/glslang_tab.cpp" break; case 53: /* shift_expression: shift_expression LEFT_OP additive_expression */ @@ -5726,7 +5728,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5730 "MachineIndependent/glslang_tab.cpp" +#line 5732 "MachineIndependent/glslang_tab.cpp" break; case 54: /* shift_expression: shift_expression RIGHT_OP additive_expression */ @@ -5737,13 +5739,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5741 "MachineIndependent/glslang_tab.cpp" +#line 5743 "MachineIndependent/glslang_tab.cpp" break; case 55: /* relational_expression: shift_expression */ #line 688 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5747 "MachineIndependent/glslang_tab.cpp" +#line 5749 "MachineIndependent/glslang_tab.cpp" break; case 56: /* relational_expression: relational_expression LEFT_ANGLE shift_expression */ @@ -5753,7 +5755,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5757 "MachineIndependent/glslang_tab.cpp" +#line 5759 "MachineIndependent/glslang_tab.cpp" break; case 57: /* relational_expression: relational_expression RIGHT_ANGLE shift_expression */ @@ -5763,7 +5765,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5767 "MachineIndependent/glslang_tab.cpp" +#line 5769 "MachineIndependent/glslang_tab.cpp" break; case 58: /* relational_expression: relational_expression LE_OP shift_expression */ @@ -5773,7 +5775,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5777 "MachineIndependent/glslang_tab.cpp" +#line 5779 "MachineIndependent/glslang_tab.cpp" break; case 59: /* relational_expression: relational_expression GE_OP shift_expression */ @@ -5783,13 +5785,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5787 "MachineIndependent/glslang_tab.cpp" +#line 5789 "MachineIndependent/glslang_tab.cpp" break; case 60: /* equality_expression: relational_expression */ #line 712 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5793 "MachineIndependent/glslang_tab.cpp" +#line 5795 "MachineIndependent/glslang_tab.cpp" break; case 61: /* equality_expression: equality_expression EQ_OP relational_expression */ @@ -5803,7 +5805,7 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5807 "MachineIndependent/glslang_tab.cpp" +#line 5809 "MachineIndependent/glslang_tab.cpp" break; case 62: /* equality_expression: equality_expression NE_OP relational_expression */ @@ -5817,13 +5819,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5821 "MachineIndependent/glslang_tab.cpp" +#line 5823 "MachineIndependent/glslang_tab.cpp" break; case 63: /* and_expression: equality_expression */ #line 734 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5827 "MachineIndependent/glslang_tab.cpp" +#line 5829 "MachineIndependent/glslang_tab.cpp" break; case 64: /* and_expression: and_expression AMPERSAND equality_expression */ @@ -5834,13 +5836,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5838 "MachineIndependent/glslang_tab.cpp" +#line 5840 "MachineIndependent/glslang_tab.cpp" break; case 65: /* exclusive_or_expression: and_expression */ #line 744 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5844 "MachineIndependent/glslang_tab.cpp" +#line 5846 "MachineIndependent/glslang_tab.cpp" break; case 66: /* exclusive_or_expression: exclusive_or_expression CARET and_expression */ @@ -5851,13 +5853,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5855 "MachineIndependent/glslang_tab.cpp" +#line 5857 "MachineIndependent/glslang_tab.cpp" break; case 67: /* inclusive_or_expression: exclusive_or_expression */ #line 754 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5861 "MachineIndependent/glslang_tab.cpp" +#line 5863 "MachineIndependent/glslang_tab.cpp" break; case 68: /* inclusive_or_expression: inclusive_or_expression VERTICAL_BAR exclusive_or_expression */ @@ -5868,13 +5870,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 5872 "MachineIndependent/glslang_tab.cpp" +#line 5874 "MachineIndependent/glslang_tab.cpp" break; case 69: /* logical_and_expression: inclusive_or_expression */ #line 764 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5878 "MachineIndependent/glslang_tab.cpp" +#line 5880 "MachineIndependent/glslang_tab.cpp" break; case 70: /* logical_and_expression: logical_and_expression AND_OP inclusive_or_expression */ @@ -5884,13 +5886,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5888 "MachineIndependent/glslang_tab.cpp" +#line 5890 "MachineIndependent/glslang_tab.cpp" break; case 71: /* logical_xor_expression: logical_and_expression */ #line 773 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5894 "MachineIndependent/glslang_tab.cpp" +#line 5896 "MachineIndependent/glslang_tab.cpp" break; case 72: /* logical_xor_expression: logical_xor_expression XOR_OP logical_and_expression */ @@ -5900,13 +5902,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5904 "MachineIndependent/glslang_tab.cpp" +#line 5906 "MachineIndependent/glslang_tab.cpp" break; case 73: /* logical_or_expression: logical_xor_expression */ #line 782 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5910 "MachineIndependent/glslang_tab.cpp" +#line 5912 "MachineIndependent/glslang_tab.cpp" break; case 74: /* logical_or_expression: logical_or_expression OR_OP logical_xor_expression */ @@ -5916,13 +5918,13 @@ yyreduce: if ((yyval.interm.intermTypedNode) == 0) (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc); } -#line 5920 "MachineIndependent/glslang_tab.cpp" +#line 5922 "MachineIndependent/glslang_tab.cpp" break; case 75: /* conditional_expression: logical_or_expression */ #line 791 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5926 "MachineIndependent/glslang_tab.cpp" +#line 5928 "MachineIndependent/glslang_tab.cpp" break; case 76: /* $@1: %empty */ @@ -5930,7 +5932,7 @@ yyreduce: { ++parseContext.controlFlowNestingLevel; } -#line 5934 "MachineIndependent/glslang_tab.cpp" +#line 5936 "MachineIndependent/glslang_tab.cpp" break; case 77: /* conditional_expression: logical_or_expression QUESTION $@1 expression COLON assignment_expression */ @@ -5947,13 +5949,13 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } } -#line 5951 "MachineIndependent/glslang_tab.cpp" +#line 5953 "MachineIndependent/glslang_tab.cpp" break; case 78: /* assignment_expression: conditional_expression */ #line 810 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 5957 "MachineIndependent/glslang_tab.cpp" +#line 5959 "MachineIndependent/glslang_tab.cpp" break; case 79: /* assignment_expression: unary_expression assignment_operator assignment_expression */ @@ -5971,7 +5973,7 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } } -#line 5975 "MachineIndependent/glslang_tab.cpp" +#line 5977 "MachineIndependent/glslang_tab.cpp" break; case 80: /* assignment_operator: EQUAL */ @@ -5980,7 +5982,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAssign; } -#line 5984 "MachineIndependent/glslang_tab.cpp" +#line 5986 "MachineIndependent/glslang_tab.cpp" break; case 81: /* assignment_operator: MUL_ASSIGN */ @@ -5989,7 +5991,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpMulAssign; } -#line 5993 "MachineIndependent/glslang_tab.cpp" +#line 5995 "MachineIndependent/glslang_tab.cpp" break; case 82: /* assignment_operator: DIV_ASSIGN */ @@ -5998,7 +6000,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpDivAssign; } -#line 6002 "MachineIndependent/glslang_tab.cpp" +#line 6004 "MachineIndependent/glslang_tab.cpp" break; case 83: /* assignment_operator: MOD_ASSIGN */ @@ -6008,7 +6010,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpModAssign; } -#line 6012 "MachineIndependent/glslang_tab.cpp" +#line 6014 "MachineIndependent/glslang_tab.cpp" break; case 84: /* assignment_operator: ADD_ASSIGN */ @@ -6017,7 +6019,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAddAssign; } -#line 6021 "MachineIndependent/glslang_tab.cpp" +#line 6023 "MachineIndependent/glslang_tab.cpp" break; case 85: /* assignment_operator: SUB_ASSIGN */ @@ -6026,7 +6028,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpSubAssign; } -#line 6030 "MachineIndependent/glslang_tab.cpp" +#line 6032 "MachineIndependent/glslang_tab.cpp" break; case 86: /* assignment_operator: LEFT_ASSIGN */ @@ -6035,7 +6037,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign; } -#line 6039 "MachineIndependent/glslang_tab.cpp" +#line 6041 "MachineIndependent/glslang_tab.cpp" break; case 87: /* assignment_operator: RIGHT_ASSIGN */ @@ -6044,7 +6046,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign; } -#line 6048 "MachineIndependent/glslang_tab.cpp" +#line 6050 "MachineIndependent/glslang_tab.cpp" break; case 88: /* assignment_operator: AND_ASSIGN */ @@ -6053,7 +6055,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign; } -#line 6057 "MachineIndependent/glslang_tab.cpp" +#line 6059 "MachineIndependent/glslang_tab.cpp" break; case 89: /* assignment_operator: XOR_ASSIGN */ @@ -6062,7 +6064,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign; } -#line 6066 "MachineIndependent/glslang_tab.cpp" +#line 6068 "MachineIndependent/glslang_tab.cpp" break; case 90: /* assignment_operator: OR_ASSIGN */ @@ -6071,7 +6073,7 @@ yyreduce: parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign"); (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign; } -#line 6075 "MachineIndependent/glslang_tab.cpp" +#line 6077 "MachineIndependent/glslang_tab.cpp" break; case 91: /* expression: assignment_expression */ @@ -6079,7 +6081,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 6083 "MachineIndependent/glslang_tab.cpp" +#line 6085 "MachineIndependent/glslang_tab.cpp" break; case 92: /* expression: expression COMMA assignment_expression */ @@ -6092,7 +6094,7 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } } -#line 6096 "MachineIndependent/glslang_tab.cpp" +#line 6098 "MachineIndependent/glslang_tab.cpp" break; case 93: /* constant_expression: conditional_expression */ @@ -6101,7 +6103,7 @@ yyreduce: parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), ""); (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 6105 "MachineIndependent/glslang_tab.cpp" +#line 6107 "MachineIndependent/glslang_tab.cpp" break; case 94: /* declaration: function_prototype SEMICOLON */ @@ -6111,7 +6113,7 @@ yyreduce: (yyval.interm.intermNode) = 0; // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature } -#line 6115 "MachineIndependent/glslang_tab.cpp" +#line 6117 "MachineIndependent/glslang_tab.cpp" break; case 95: /* declaration: spirv_instruction_qualifier function_prototype SEMICOLON */ @@ -6123,7 +6125,7 @@ yyreduce: (yyval.interm.intermNode) = 0; // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature } -#line 6127 "MachineIndependent/glslang_tab.cpp" +#line 6129 "MachineIndependent/glslang_tab.cpp" break; case 96: /* declaration: spirv_execution_mode_qualifier SEMICOLON */ @@ -6133,7 +6135,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V execution mode qualifier"); (yyval.interm.intermNode) = 0; } -#line 6137 "MachineIndependent/glslang_tab.cpp" +#line 6139 "MachineIndependent/glslang_tab.cpp" break; case 97: /* declaration: init_declarator_list SEMICOLON */ @@ -6143,7 +6145,7 @@ yyreduce: (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence); (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode; } -#line 6147 "MachineIndependent/glslang_tab.cpp" +#line 6149 "MachineIndependent/glslang_tab.cpp" break; case 98: /* declaration: PRECISION precision_qualifier type_specifier SEMICOLON */ @@ -6155,7 +6157,7 @@ yyreduce: parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision); (yyval.interm.intermNode) = 0; } -#line 6159 "MachineIndependent/glslang_tab.cpp" +#line 6161 "MachineIndependent/glslang_tab.cpp" break; case 99: /* declaration: block_structure SEMICOLON */ @@ -6164,7 +6166,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList); (yyval.interm.intermNode) = 0; } -#line 6168 "MachineIndependent/glslang_tab.cpp" +#line 6170 "MachineIndependent/glslang_tab.cpp" break; case 100: /* declaration: block_structure IDENTIFIER SEMICOLON */ @@ -6173,7 +6175,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string); (yyval.interm.intermNode) = 0; } -#line 6177 "MachineIndependent/glslang_tab.cpp" +#line 6179 "MachineIndependent/glslang_tab.cpp" break; case 101: /* declaration: block_structure IDENTIFIER array_specifier SEMICOLON */ @@ -6182,7 +6184,7 @@ yyreduce: parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes); (yyval.interm.intermNode) = 0; } -#line 6186 "MachineIndependent/glslang_tab.cpp" +#line 6188 "MachineIndependent/glslang_tab.cpp" break; case 102: /* declaration: type_qualifier SEMICOLON */ @@ -6192,7 +6194,7 @@ yyreduce: parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type)); (yyval.interm.intermNode) = 0; } -#line 6196 "MachineIndependent/glslang_tab.cpp" +#line 6198 "MachineIndependent/glslang_tab.cpp" break; case 103: /* declaration: type_qualifier IDENTIFIER SEMICOLON */ @@ -6202,7 +6204,7 @@ yyreduce: parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string); (yyval.interm.intermNode) = 0; } -#line 6206 "MachineIndependent/glslang_tab.cpp" +#line 6208 "MachineIndependent/glslang_tab.cpp" break; case 104: /* declaration: type_qualifier IDENTIFIER identifier_list SEMICOLON */ @@ -6213,13 +6215,13 @@ yyreduce: parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList)); (yyval.interm.intermNode) = 0; } -#line 6217 "MachineIndependent/glslang_tab.cpp" +#line 6219 "MachineIndependent/glslang_tab.cpp" break; case 105: /* $@2: %empty */ #line 958 "MachineIndependent/glslang.y" { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); } -#line 6223 "MachineIndependent/glslang_tab.cpp" +#line 6225 "MachineIndependent/glslang_tab.cpp" break; case 106: /* block_structure: type_qualifier IDENTIFIER LEFT_BRACE $@2 struct_declaration_list RIGHT_BRACE */ @@ -6233,7 +6235,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[-5].interm.type).loc; (yyval.interm).typeList = (yyvsp[-1].interm.typeList); } -#line 6237 "MachineIndependent/glslang_tab.cpp" +#line 6239 "MachineIndependent/glslang_tab.cpp" break; case 107: /* identifier_list: COMMA IDENTIFIER */ @@ -6242,7 +6244,7 @@ yyreduce: (yyval.interm.identifierList) = new TIdentifierList; (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); } -#line 6246 "MachineIndependent/glslang_tab.cpp" +#line 6248 "MachineIndependent/glslang_tab.cpp" break; case 108: /* identifier_list: identifier_list COMMA IDENTIFIER */ @@ -6251,7 +6253,7 @@ yyreduce: (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList); (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string); } -#line 6255 "MachineIndependent/glslang_tab.cpp" +#line 6257 "MachineIndependent/glslang_tab.cpp" break; case 109: /* function_prototype: function_declarator RIGHT_PAREN */ @@ -6260,7 +6262,7 @@ yyreduce: (yyval.interm).function = (yyvsp[-1].interm.function); (yyval.interm).loc = (yyvsp[0].lex).loc; } -#line 6264 "MachineIndependent/glslang_tab.cpp" +#line 6266 "MachineIndependent/glslang_tab.cpp" break; case 110: /* function_prototype: function_declarator RIGHT_PAREN attribute */ @@ -6271,7 +6273,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute"); parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes)); } -#line 6275 "MachineIndependent/glslang_tab.cpp" +#line 6277 "MachineIndependent/glslang_tab.cpp" break; case 111: /* function_prototype: attribute function_declarator RIGHT_PAREN */ @@ -6282,7 +6284,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute"); parseContext.handleFunctionAttributes((yyvsp[0].lex).loc, *(yyvsp[-2].interm.attributes)); } -#line 6286 "MachineIndependent/glslang_tab.cpp" +#line 6288 "MachineIndependent/glslang_tab.cpp" break; case 112: /* function_prototype: attribute function_declarator RIGHT_PAREN attribute */ @@ -6294,7 +6296,7 @@ yyreduce: parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[-3].interm.attributes)); parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes)); } -#line 6298 "MachineIndependent/glslang_tab.cpp" +#line 6300 "MachineIndependent/glslang_tab.cpp" break; case 113: /* function_declarator: function_header */ @@ -6302,7 +6304,7 @@ yyreduce: { (yyval.interm.function) = (yyvsp[0].interm.function); } -#line 6306 "MachineIndependent/glslang_tab.cpp" +#line 6308 "MachineIndependent/glslang_tab.cpp" break; case 114: /* function_declarator: function_header_with_parameters */ @@ -6310,7 +6312,7 @@ yyreduce: { (yyval.interm.function) = (yyvsp[0].interm.function); } -#line 6314 "MachineIndependent/glslang_tab.cpp" +#line 6316 "MachineIndependent/glslang_tab.cpp" break; case 115: /* function_header_with_parameters: function_header parameter_declaration */ @@ -6323,7 +6325,7 @@ yyreduce: else delete (yyvsp[0].interm).param.type; } -#line 6327 "MachineIndependent/glslang_tab.cpp" +#line 6329 "MachineIndependent/glslang_tab.cpp" break; case 116: /* function_header_with_parameters: function_header_with_parameters COMMA parameter_declaration */ @@ -6345,7 +6347,7 @@ yyreduce: (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param); } } -#line 6349 "MachineIndependent/glslang_tab.cpp" +#line 6351 "MachineIndependent/glslang_tab.cpp" break; case 117: /* function_header: fully_specified_type IDENTIFIER LEFT_PAREN */ @@ -6369,7 +6371,7 @@ yyreduce: function = new TFunction((yyvsp[-1].lex).string, type); (yyval.interm.function) = function; } -#line 6373 "MachineIndependent/glslang_tab.cpp" +#line 6375 "MachineIndependent/glslang_tab.cpp" break; case 118: /* parameter_declarator: type_specifier IDENTIFIER */ @@ -6389,7 +6391,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).param = param; } -#line 6393 "MachineIndependent/glslang_tab.cpp" +#line 6395 "MachineIndependent/glslang_tab.cpp" break; case 119: /* parameter_declarator: type_specifier IDENTIFIER array_specifier */ @@ -6413,7 +6415,7 @@ yyreduce: (yyval.interm).loc = (yyvsp[-1].lex).loc; (yyval.interm).param = param; } -#line 6417 "MachineIndependent/glslang_tab.cpp" +#line 6419 "MachineIndependent/glslang_tab.cpp" break; case 120: /* parameter_declaration: type_qualifier parameter_declarator */ @@ -6429,7 +6431,7 @@ yyreduce: parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); } -#line 6433 "MachineIndependent/glslang_tab.cpp" +#line 6435 "MachineIndependent/glslang_tab.cpp" break; case 121: /* parameter_declaration: parameter_declarator */ @@ -6441,7 +6443,7 @@ yyreduce: parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); } -#line 6445 "MachineIndependent/glslang_tab.cpp" +#line 6447 "MachineIndependent/glslang_tab.cpp" break; case 122: /* parameter_declaration: type_qualifier parameter_type_specifier */ @@ -6456,7 +6458,7 @@ yyreduce: parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type); parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type); } -#line 6460 "MachineIndependent/glslang_tab.cpp" +#line 6462 "MachineIndependent/glslang_tab.cpp" break; case 123: /* parameter_declaration: parameter_type_specifier */ @@ -6468,7 +6470,7 @@ yyreduce: parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type); parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier()); } -#line 6472 "MachineIndependent/glslang_tab.cpp" +#line 6474 "MachineIndependent/glslang_tab.cpp" break; case 124: /* parameter_type_specifier: type_specifier */ @@ -6479,7 +6481,7 @@ yyreduce: if ((yyvsp[0].interm.type).arraySizes) parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes); } -#line 6483 "MachineIndependent/glslang_tab.cpp" +#line 6485 "MachineIndependent/glslang_tab.cpp" break; case 125: /* init_declarator_list: single_declaration */ @@ -6487,7 +6489,7 @@ yyreduce: { (yyval.interm) = (yyvsp[0].interm); } -#line 6491 "MachineIndependent/glslang_tab.cpp" +#line 6493 "MachineIndependent/glslang_tab.cpp" break; case 126: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER */ @@ -6496,7 +6498,7 @@ yyreduce: (yyval.interm) = (yyvsp[-2].interm); parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type); } -#line 6500 "MachineIndependent/glslang_tab.cpp" +#line 6502 "MachineIndependent/glslang_tab.cpp" break; case 127: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier */ @@ -6505,7 +6507,7 @@ yyreduce: (yyval.interm) = (yyvsp[-3].interm); parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes); } -#line 6509 "MachineIndependent/glslang_tab.cpp" +#line 6511 "MachineIndependent/glslang_tab.cpp" break; case 128: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer */ @@ -6515,7 +6517,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc); } -#line 6519 "MachineIndependent/glslang_tab.cpp" +#line 6521 "MachineIndependent/glslang_tab.cpp" break; case 129: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER EQUAL initializer */ @@ -6525,7 +6527,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc); } -#line 6529 "MachineIndependent/glslang_tab.cpp" +#line 6531 "MachineIndependent/glslang_tab.cpp" break; case 130: /* single_declaration: fully_specified_type */ @@ -6537,7 +6539,7 @@ yyreduce: parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type); } -#line 6541 "MachineIndependent/glslang_tab.cpp" +#line 6543 "MachineIndependent/glslang_tab.cpp" break; case 131: /* single_declaration: fully_specified_type IDENTIFIER */ @@ -6547,7 +6549,7 @@ yyreduce: (yyval.interm).intermNode = 0; parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type)); } -#line 6551 "MachineIndependent/glslang_tab.cpp" +#line 6553 "MachineIndependent/glslang_tab.cpp" break; case 132: /* single_declaration: fully_specified_type IDENTIFIER array_specifier */ @@ -6557,7 +6559,7 @@ yyreduce: (yyval.interm).intermNode = 0; parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes); } -#line 6561 "MachineIndependent/glslang_tab.cpp" +#line 6563 "MachineIndependent/glslang_tab.cpp" break; case 133: /* single_declaration: fully_specified_type IDENTIFIER array_specifier EQUAL initializer */ @@ -6567,7 +6569,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc); } -#line 6571 "MachineIndependent/glslang_tab.cpp" +#line 6573 "MachineIndependent/glslang_tab.cpp" break; case 134: /* single_declaration: fully_specified_type IDENTIFIER EQUAL initializer */ @@ -6577,7 +6579,7 @@ yyreduce: TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode)); (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc); } -#line 6581 "MachineIndependent/glslang_tab.cpp" +#line 6583 "MachineIndependent/glslang_tab.cpp" break; case 135: /* fully_specified_type: type_specifier */ @@ -6592,7 +6594,7 @@ yyreduce: } parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier); } -#line 6596 "MachineIndependent/glslang_tab.cpp" +#line 6598 "MachineIndependent/glslang_tab.cpp" break; case 136: /* fully_specified_type: type_qualifier type_specifier */ @@ -6621,7 +6623,7 @@ yyreduce: (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn))) (yyval.interm.type).qualifier.smooth = true; } -#line 6625 "MachineIndependent/glslang_tab.cpp" +#line 6627 "MachineIndependent/glslang_tab.cpp" break; case 137: /* invariant_qualifier: INVARIANT */ @@ -6632,7 +6634,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.invariant = true; } -#line 6636 "MachineIndependent/glslang_tab.cpp" +#line 6638 "MachineIndependent/glslang_tab.cpp" break; case 138: /* interpolation_qualifier: SMOOTH */ @@ -6644,7 +6646,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.smooth = true; } -#line 6648 "MachineIndependent/glslang_tab.cpp" +#line 6650 "MachineIndependent/glslang_tab.cpp" break; case 139: /* interpolation_qualifier: FLAT */ @@ -6656,7 +6658,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.flat = true; } -#line 6660 "MachineIndependent/glslang_tab.cpp" +#line 6662 "MachineIndependent/glslang_tab.cpp" break; case 140: /* interpolation_qualifier: NOPERSPECTIVE */ @@ -6668,7 +6670,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.nopersp = true; } -#line 6672 "MachineIndependent/glslang_tab.cpp" +#line 6674 "MachineIndependent/glslang_tab.cpp" break; case 141: /* interpolation_qualifier: EXPLICITINTERPAMD */ @@ -6680,7 +6682,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.explicitInterp = true; } -#line 6684 "MachineIndependent/glslang_tab.cpp" +#line 6686 "MachineIndependent/glslang_tab.cpp" break; case 142: /* interpolation_qualifier: PERVERTEXNV */ @@ -6693,7 +6695,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.pervertexNV = true; } -#line 6697 "MachineIndependent/glslang_tab.cpp" +#line 6699 "MachineIndependent/glslang_tab.cpp" break; case 143: /* interpolation_qualifier: PERVERTEXEXT */ @@ -6706,7 +6708,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.pervertexEXT = true; } -#line 6710 "MachineIndependent/glslang_tab.cpp" +#line 6712 "MachineIndependent/glslang_tab.cpp" break; case 144: /* interpolation_qualifier: PERPRIMITIVENV */ @@ -6721,7 +6723,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.perPrimitiveNV = true; } -#line 6725 "MachineIndependent/glslang_tab.cpp" +#line 6727 "MachineIndependent/glslang_tab.cpp" break; case 145: /* interpolation_qualifier: PERPRIMITIVEEXT */ @@ -6736,7 +6738,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.perPrimitiveNV = true; } -#line 6740 "MachineIndependent/glslang_tab.cpp" +#line 6742 "MachineIndependent/glslang_tab.cpp" break; case 146: /* interpolation_qualifier: PERVIEWNV */ @@ -6748,7 +6750,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.perViewNV = true; } -#line 6752 "MachineIndependent/glslang_tab.cpp" +#line 6754 "MachineIndependent/glslang_tab.cpp" break; case 147: /* interpolation_qualifier: PERTASKNV */ @@ -6760,7 +6762,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.perTaskNV = true; } -#line 6764 "MachineIndependent/glslang_tab.cpp" +#line 6766 "MachineIndependent/glslang_tab.cpp" break; case 148: /* layout_qualifier: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN */ @@ -6768,7 +6770,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[-1].interm.type); } -#line 6772 "MachineIndependent/glslang_tab.cpp" +#line 6774 "MachineIndependent/glslang_tab.cpp" break; case 149: /* layout_qualifier_id_list: layout_qualifier_id */ @@ -6776,7 +6778,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6780 "MachineIndependent/glslang_tab.cpp" +#line 6782 "MachineIndependent/glslang_tab.cpp" break; case 150: /* layout_qualifier_id_list: layout_qualifier_id_list COMMA layout_qualifier_id */ @@ -6786,7 +6788,7 @@ yyreduce: (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); } -#line 6790 "MachineIndependent/glslang_tab.cpp" +#line 6792 "MachineIndependent/glslang_tab.cpp" break; case 151: /* layout_qualifier_id: IDENTIFIER */ @@ -6795,7 +6797,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string); } -#line 6799 "MachineIndependent/glslang_tab.cpp" +#line 6801 "MachineIndependent/glslang_tab.cpp" break; case 152: /* layout_qualifier_id: IDENTIFIER EQUAL constant_expression */ @@ -6804,7 +6806,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-2].lex).loc); parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode)); } -#line 6808 "MachineIndependent/glslang_tab.cpp" +#line 6810 "MachineIndependent/glslang_tab.cpp" break; case 153: /* layout_qualifier_id: SHARED */ @@ -6814,7 +6816,7 @@ yyreduce: TString strShared("shared"); parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared); } -#line 6818 "MachineIndependent/glslang_tab.cpp" +#line 6820 "MachineIndependent/glslang_tab.cpp" break; case 154: /* precise_qualifier: PRECISE */ @@ -6825,7 +6827,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.noContraction = true; } -#line 6829 "MachineIndependent/glslang_tab.cpp" +#line 6831 "MachineIndependent/glslang_tab.cpp" break; case 155: /* type_qualifier: single_type_qualifier */ @@ -6833,7 +6835,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6837 "MachineIndependent/glslang_tab.cpp" +#line 6839 "MachineIndependent/glslang_tab.cpp" break; case 156: /* type_qualifier: type_qualifier single_type_qualifier */ @@ -6846,7 +6848,7 @@ yyreduce: (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers); parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false); } -#line 6850 "MachineIndependent/glslang_tab.cpp" +#line 6852 "MachineIndependent/glslang_tab.cpp" break; case 157: /* single_type_qualifier: storage_qualifier */ @@ -6854,7 +6856,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6858 "MachineIndependent/glslang_tab.cpp" +#line 6860 "MachineIndependent/glslang_tab.cpp" break; case 158: /* single_type_qualifier: layout_qualifier */ @@ -6862,7 +6864,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6866 "MachineIndependent/glslang_tab.cpp" +#line 6868 "MachineIndependent/glslang_tab.cpp" break; case 159: /* single_type_qualifier: precision_qualifier */ @@ -6871,7 +6873,7 @@ yyreduce: parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision); (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6875 "MachineIndependent/glslang_tab.cpp" +#line 6877 "MachineIndependent/glslang_tab.cpp" break; case 160: /* single_type_qualifier: interpolation_qualifier */ @@ -6880,7 +6882,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6884 "MachineIndependent/glslang_tab.cpp" +#line 6886 "MachineIndependent/glslang_tab.cpp" break; case 161: /* single_type_qualifier: invariant_qualifier */ @@ -6889,7 +6891,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6893 "MachineIndependent/glslang_tab.cpp" +#line 6895 "MachineIndependent/glslang_tab.cpp" break; case 162: /* single_type_qualifier: precise_qualifier */ @@ -6898,7 +6900,7 @@ yyreduce: // allow inheritance of storage qualifier from block declaration (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6902 "MachineIndependent/glslang_tab.cpp" +#line 6904 "MachineIndependent/glslang_tab.cpp" break; case 163: /* single_type_qualifier: non_uniform_qualifier */ @@ -6906,7 +6908,7 @@ yyreduce: { (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6910 "MachineIndependent/glslang_tab.cpp" +#line 6912 "MachineIndependent/glslang_tab.cpp" break; case 164: /* single_type_qualifier: spirv_storage_class_qualifier */ @@ -6916,7 +6918,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V storage class qualifier"); (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6920 "MachineIndependent/glslang_tab.cpp" +#line 6922 "MachineIndependent/glslang_tab.cpp" break; case 165: /* single_type_qualifier: spirv_decorate_qualifier */ @@ -6925,7 +6927,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V decorate qualifier"); (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 6929 "MachineIndependent/glslang_tab.cpp" +#line 6931 "MachineIndependent/glslang_tab.cpp" break; case 166: /* single_type_qualifier: SPIRV_BY_REFERENCE */ @@ -6935,7 +6937,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.setSpirvByReference(); } -#line 6939 "MachineIndependent/glslang_tab.cpp" +#line 6941 "MachineIndependent/glslang_tab.cpp" break; case 167: /* single_type_qualifier: SPIRV_LITERAL */ @@ -6945,7 +6947,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.setSpirvLiteral(); } -#line 6949 "MachineIndependent/glslang_tab.cpp" +#line 6951 "MachineIndependent/glslang_tab.cpp" break; case 168: /* storage_qualifier: CONST */ @@ -6954,7 +6956,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant } -#line 6958 "MachineIndependent/glslang_tab.cpp" +#line 6960 "MachineIndependent/glslang_tab.cpp" break; case 169: /* storage_qualifier: INOUT */ @@ -6964,7 +6966,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqInOut; } -#line 6968 "MachineIndependent/glslang_tab.cpp" +#line 6970 "MachineIndependent/glslang_tab.cpp" break; case 170: /* storage_qualifier: IN */ @@ -6975,7 +6977,7 @@ yyreduce: // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later (yyval.interm.type).qualifier.storage = EvqIn; } -#line 6979 "MachineIndependent/glslang_tab.cpp" +#line 6981 "MachineIndependent/glslang_tab.cpp" break; case 171: /* storage_qualifier: OUT */ @@ -6986,7 +6988,7 @@ yyreduce: // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later (yyval.interm.type).qualifier.storage = EvqOut; } -#line 6990 "MachineIndependent/glslang_tab.cpp" +#line 6992 "MachineIndependent/glslang_tab.cpp" break; case 172: /* storage_qualifier: CENTROID */ @@ -6998,7 +7000,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.centroid = true; } -#line 7002 "MachineIndependent/glslang_tab.cpp" +#line 7004 "MachineIndependent/glslang_tab.cpp" break; case 173: /* storage_qualifier: UNIFORM */ @@ -7008,7 +7010,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqUniform; } -#line 7012 "MachineIndependent/glslang_tab.cpp" +#line 7014 "MachineIndependent/glslang_tab.cpp" break; case 174: /* storage_qualifier: TILEIMAGEEXT */ @@ -7018,7 +7020,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqTileImageEXT; } -#line 7022 "MachineIndependent/glslang_tab.cpp" +#line 7024 "MachineIndependent/glslang_tab.cpp" break; case 175: /* storage_qualifier: SHARED */ @@ -7031,7 +7033,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqShared; } -#line 7035 "MachineIndependent/glslang_tab.cpp" +#line 7037 "MachineIndependent/glslang_tab.cpp" break; case 176: /* storage_qualifier: BUFFER */ @@ -7041,7 +7043,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqBuffer; } -#line 7045 "MachineIndependent/glslang_tab.cpp" +#line 7047 "MachineIndependent/glslang_tab.cpp" break; case 177: /* storage_qualifier: ATTRIBUTE */ @@ -7058,7 +7060,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqVaryingIn; } -#line 7062 "MachineIndependent/glslang_tab.cpp" +#line 7064 "MachineIndependent/glslang_tab.cpp" break; case 178: /* storage_qualifier: VARYING */ @@ -7077,7 +7079,7 @@ yyreduce: else (yyval.interm.type).qualifier.storage = EvqVaryingIn; } -#line 7081 "MachineIndependent/glslang_tab.cpp" +#line 7083 "MachineIndependent/glslang_tab.cpp" break; case 179: /* storage_qualifier: PATCH */ @@ -7088,7 +7090,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.patch = true; } -#line 7092 "MachineIndependent/glslang_tab.cpp" +#line 7094 "MachineIndependent/glslang_tab.cpp" break; case 180: /* storage_qualifier: SAMPLE */ @@ -7098,7 +7100,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.sample = true; } -#line 7102 "MachineIndependent/glslang_tab.cpp" +#line 7104 "MachineIndependent/glslang_tab.cpp" break; case 181: /* storage_qualifier: HITATTRNV */ @@ -7111,7 +7113,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqHitAttr; } -#line 7115 "MachineIndependent/glslang_tab.cpp" +#line 7117 "MachineIndependent/glslang_tab.cpp" break; case 182: /* storage_qualifier: HITOBJECTATTRNV */ @@ -7124,7 +7126,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqHitObjectAttrNV; } -#line 7128 "MachineIndependent/glslang_tab.cpp" +#line 7130 "MachineIndependent/glslang_tab.cpp" break; case 183: /* storage_qualifier: HITATTREXT */ @@ -7137,7 +7139,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqHitAttr; } -#line 7141 "MachineIndependent/glslang_tab.cpp" +#line 7143 "MachineIndependent/glslang_tab.cpp" break; case 184: /* storage_qualifier: PAYLOADNV */ @@ -7150,7 +7152,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayload; } -#line 7154 "MachineIndependent/glslang_tab.cpp" +#line 7156 "MachineIndependent/glslang_tab.cpp" break; case 185: /* storage_qualifier: PAYLOADEXT */ @@ -7163,7 +7165,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayload; } -#line 7167 "MachineIndependent/glslang_tab.cpp" +#line 7169 "MachineIndependent/glslang_tab.cpp" break; case 186: /* storage_qualifier: PAYLOADINNV */ @@ -7176,7 +7178,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayloadIn; } -#line 7180 "MachineIndependent/glslang_tab.cpp" +#line 7182 "MachineIndependent/glslang_tab.cpp" break; case 187: /* storage_qualifier: PAYLOADINEXT */ @@ -7189,7 +7191,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqPayloadIn; } -#line 7193 "MachineIndependent/glslang_tab.cpp" +#line 7195 "MachineIndependent/glslang_tab.cpp" break; case 188: /* storage_qualifier: CALLDATANV */ @@ -7202,7 +7204,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqCallableData; } -#line 7206 "MachineIndependent/glslang_tab.cpp" +#line 7208 "MachineIndependent/glslang_tab.cpp" break; case 189: /* storage_qualifier: CALLDATAEXT */ @@ -7215,7 +7217,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqCallableData; } -#line 7219 "MachineIndependent/glslang_tab.cpp" +#line 7221 "MachineIndependent/glslang_tab.cpp" break; case 190: /* storage_qualifier: CALLDATAINNV */ @@ -7227,7 +7229,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqCallableDataIn; } -#line 7231 "MachineIndependent/glslang_tab.cpp" +#line 7233 "MachineIndependent/glslang_tab.cpp" break; case 191: /* storage_qualifier: CALLDATAINEXT */ @@ -7239,7 +7241,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqCallableDataIn; } -#line 7243 "MachineIndependent/glslang_tab.cpp" +#line 7245 "MachineIndependent/glslang_tab.cpp" break; case 192: /* storage_qualifier: COHERENT */ @@ -7248,7 +7250,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.coherent = true; } -#line 7252 "MachineIndependent/glslang_tab.cpp" +#line 7254 "MachineIndependent/glslang_tab.cpp" break; case 193: /* storage_qualifier: DEVICECOHERENT */ @@ -7258,7 +7260,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent"); (yyval.interm.type).qualifier.devicecoherent = true; } -#line 7262 "MachineIndependent/glslang_tab.cpp" +#line 7264 "MachineIndependent/glslang_tab.cpp" break; case 194: /* storage_qualifier: QUEUEFAMILYCOHERENT */ @@ -7268,7 +7270,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent"); (yyval.interm.type).qualifier.queuefamilycoherent = true; } -#line 7272 "MachineIndependent/glslang_tab.cpp" +#line 7274 "MachineIndependent/glslang_tab.cpp" break; case 195: /* storage_qualifier: WORKGROUPCOHERENT */ @@ -7278,7 +7280,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent"); (yyval.interm.type).qualifier.workgroupcoherent = true; } -#line 7282 "MachineIndependent/glslang_tab.cpp" +#line 7284 "MachineIndependent/glslang_tab.cpp" break; case 196: /* storage_qualifier: SUBGROUPCOHERENT */ @@ -7288,7 +7290,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent"); (yyval.interm.type).qualifier.subgroupcoherent = true; } -#line 7292 "MachineIndependent/glslang_tab.cpp" +#line 7294 "MachineIndependent/glslang_tab.cpp" break; case 197: /* storage_qualifier: NONPRIVATE */ @@ -7298,7 +7300,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate"); (yyval.interm.type).qualifier.nonprivate = true; } -#line 7302 "MachineIndependent/glslang_tab.cpp" +#line 7304 "MachineIndependent/glslang_tab.cpp" break; case 198: /* storage_qualifier: SHADERCALLCOHERENT */ @@ -7308,7 +7310,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_ray_tracing, "shadercallcoherent"); (yyval.interm.type).qualifier.shadercallcoherent = true; } -#line 7312 "MachineIndependent/glslang_tab.cpp" +#line 7314 "MachineIndependent/glslang_tab.cpp" break; case 199: /* storage_qualifier: VOLATILE */ @@ -7317,7 +7319,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.volatil = true; } -#line 7321 "MachineIndependent/glslang_tab.cpp" +#line 7323 "MachineIndependent/glslang_tab.cpp" break; case 200: /* storage_qualifier: RESTRICT */ @@ -7326,7 +7328,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.restrict = true; } -#line 7330 "MachineIndependent/glslang_tab.cpp" +#line 7332 "MachineIndependent/glslang_tab.cpp" break; case 201: /* storage_qualifier: READONLY */ @@ -7335,7 +7337,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.readonly = true; } -#line 7339 "MachineIndependent/glslang_tab.cpp" +#line 7341 "MachineIndependent/glslang_tab.cpp" break; case 202: /* storage_qualifier: WRITEONLY */ @@ -7344,7 +7346,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.writeonly = true; } -#line 7348 "MachineIndependent/glslang_tab.cpp" +#line 7350 "MachineIndependent/glslang_tab.cpp" break; case 203: /* storage_qualifier: SUBROUTINE */ @@ -7355,7 +7357,7 @@ yyreduce: parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine"); (yyval.interm.type).init((yyvsp[0].lex).loc); } -#line 7359 "MachineIndependent/glslang_tab.cpp" +#line 7361 "MachineIndependent/glslang_tab.cpp" break; case 204: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */ @@ -7366,7 +7368,7 @@ yyreduce: parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine"); (yyval.interm.type).init((yyvsp[-3].lex).loc); } -#line 7370 "MachineIndependent/glslang_tab.cpp" +#line 7372 "MachineIndependent/glslang_tab.cpp" break; case 205: /* storage_qualifier: TASKPAYLOADWORKGROUPEXT */ @@ -7378,7 +7380,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.storage = EvqtaskPayloadSharedEXT; } -#line 7382 "MachineIndependent/glslang_tab.cpp" +#line 7384 "MachineIndependent/glslang_tab.cpp" break; case 206: /* non_uniform_qualifier: NONUNIFORM */ @@ -7387,7 +7389,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc); (yyval.interm.type).qualifier.nonUniform = true; } -#line 7391 "MachineIndependent/glslang_tab.cpp" +#line 7393 "MachineIndependent/glslang_tab.cpp" break; case 207: /* type_name_list: IDENTIFIER */ @@ -7395,7 +7397,7 @@ yyreduce: { // TODO } -#line 7399 "MachineIndependent/glslang_tab.cpp" +#line 7401 "MachineIndependent/glslang_tab.cpp" break; case 208: /* type_name_list: type_name_list COMMA IDENTIFIER */ @@ -7405,7 +7407,7 @@ yyreduce: // 1) make sure each identifier is a type declared earlier with SUBROUTINE // 2) save all of the identifiers for future comparison with the declared function } -#line 7409 "MachineIndependent/glslang_tab.cpp" +#line 7411 "MachineIndependent/glslang_tab.cpp" break; case 209: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */ @@ -7415,7 +7417,7 @@ yyreduce: (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type)); (yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters); } -#line 7419 "MachineIndependent/glslang_tab.cpp" +#line 7421 "MachineIndependent/glslang_tab.cpp" break; case 210: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */ @@ -7427,7 +7429,7 @@ yyreduce: (yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters); (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes; } -#line 7431 "MachineIndependent/glslang_tab.cpp" +#line 7433 "MachineIndependent/glslang_tab.cpp" break; case 211: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */ @@ -7437,7 +7439,7 @@ yyreduce: (yyval.interm).arraySizes = new TArraySizes; (yyval.interm).arraySizes->addInnerSize(); } -#line 7441 "MachineIndependent/glslang_tab.cpp" +#line 7443 "MachineIndependent/glslang_tab.cpp" break; case 212: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */ @@ -7450,7 +7452,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size"); (yyval.interm).arraySizes->addInnerSize(size); } -#line 7454 "MachineIndependent/glslang_tab.cpp" +#line 7456 "MachineIndependent/glslang_tab.cpp" break; case 213: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */ @@ -7459,7 +7461,7 @@ yyreduce: (yyval.interm) = (yyvsp[-2].interm); (yyval.interm).arraySizes->addInnerSize(); } -#line 7463 "MachineIndependent/glslang_tab.cpp" +#line 7465 "MachineIndependent/glslang_tab.cpp" break; case 214: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */ @@ -7471,7 +7473,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size"); (yyval.interm).arraySizes->addInnerSize(size); } -#line 7475 "MachineIndependent/glslang_tab.cpp" +#line 7477 "MachineIndependent/glslang_tab.cpp" break; case 215: /* type_parameter_specifier_opt: type_parameter_specifier */ @@ -7479,7 +7481,7 @@ yyreduce: { (yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters); } -#line 7483 "MachineIndependent/glslang_tab.cpp" +#line 7485 "MachineIndependent/glslang_tab.cpp" break; case 216: /* type_parameter_specifier_opt: %empty */ @@ -7487,7 +7489,7 @@ yyreduce: { (yyval.interm.typeParameters) = 0; } -#line 7491 "MachineIndependent/glslang_tab.cpp" +#line 7493 "MachineIndependent/glslang_tab.cpp" break; case 217: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */ @@ -7495,7 +7497,7 @@ yyreduce: { (yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters); } -#line 7499 "MachineIndependent/glslang_tab.cpp" +#line 7501 "MachineIndependent/glslang_tab.cpp" break; case 218: /* type_parameter_specifier_list: unary_expression */ @@ -7507,7 +7509,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter"); (yyval.interm.typeParameters)->addInnerSize(size); } -#line 7511 "MachineIndependent/glslang_tab.cpp" +#line 7513 "MachineIndependent/glslang_tab.cpp" break; case 219: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */ @@ -7519,7 +7521,7 @@ yyreduce: parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter"); (yyval.interm.typeParameters)->addInnerSize(size); } -#line 7523 "MachineIndependent/glslang_tab.cpp" +#line 7525 "MachineIndependent/glslang_tab.cpp" break; case 220: /* type_specifier_nonarray: VOID */ @@ -7528,7 +7530,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtVoid; } -#line 7532 "MachineIndependent/glslang_tab.cpp" +#line 7534 "MachineIndependent/glslang_tab.cpp" break; case 221: /* type_specifier_nonarray: FLOAT */ @@ -7537,7 +7539,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; } -#line 7541 "MachineIndependent/glslang_tab.cpp" +#line 7543 "MachineIndependent/glslang_tab.cpp" break; case 222: /* type_specifier_nonarray: INT */ @@ -7546,7 +7548,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; } -#line 7550 "MachineIndependent/glslang_tab.cpp" +#line 7552 "MachineIndependent/glslang_tab.cpp" break; case 223: /* type_specifier_nonarray: UINT */ @@ -7556,7 +7558,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint; } -#line 7560 "MachineIndependent/glslang_tab.cpp" +#line 7562 "MachineIndependent/glslang_tab.cpp" break; case 224: /* type_specifier_nonarray: BOOL */ @@ -7565,7 +7567,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtBool; } -#line 7569 "MachineIndependent/glslang_tab.cpp" +#line 7571 "MachineIndependent/glslang_tab.cpp" break; case 225: /* type_specifier_nonarray: VEC2 */ @@ -7575,7 +7577,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(2); } -#line 7579 "MachineIndependent/glslang_tab.cpp" +#line 7581 "MachineIndependent/glslang_tab.cpp" break; case 226: /* type_specifier_nonarray: VEC3 */ @@ -7585,7 +7587,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(3); } -#line 7589 "MachineIndependent/glslang_tab.cpp" +#line 7591 "MachineIndependent/glslang_tab.cpp" break; case 227: /* type_specifier_nonarray: VEC4 */ @@ -7595,7 +7597,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(4); } -#line 7599 "MachineIndependent/glslang_tab.cpp" +#line 7601 "MachineIndependent/glslang_tab.cpp" break; case 228: /* type_specifier_nonarray: BVEC2 */ @@ -7605,7 +7607,7 @@ yyreduce: (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(2); } -#line 7609 "MachineIndependent/glslang_tab.cpp" +#line 7611 "MachineIndependent/glslang_tab.cpp" break; case 229: /* type_specifier_nonarray: BVEC3 */ @@ -7615,7 +7617,7 @@ yyreduce: (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(3); } -#line 7619 "MachineIndependent/glslang_tab.cpp" +#line 7621 "MachineIndependent/glslang_tab.cpp" break; case 230: /* type_specifier_nonarray: BVEC4 */ @@ -7625,7 +7627,7 @@ yyreduce: (yyval.interm.type).basicType = EbtBool; (yyval.interm.type).setVector(4); } -#line 7629 "MachineIndependent/glslang_tab.cpp" +#line 7631 "MachineIndependent/glslang_tab.cpp" break; case 231: /* type_specifier_nonarray: IVEC2 */ @@ -7635,7 +7637,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(2); } -#line 7639 "MachineIndependent/glslang_tab.cpp" +#line 7641 "MachineIndependent/glslang_tab.cpp" break; case 232: /* type_specifier_nonarray: IVEC3 */ @@ -7645,7 +7647,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(3); } -#line 7649 "MachineIndependent/glslang_tab.cpp" +#line 7651 "MachineIndependent/glslang_tab.cpp" break; case 233: /* type_specifier_nonarray: IVEC4 */ @@ -7655,7 +7657,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(4); } -#line 7659 "MachineIndependent/glslang_tab.cpp" +#line 7661 "MachineIndependent/glslang_tab.cpp" break; case 234: /* type_specifier_nonarray: UVEC2 */ @@ -7666,7 +7668,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(2); } -#line 7670 "MachineIndependent/glslang_tab.cpp" +#line 7672 "MachineIndependent/glslang_tab.cpp" break; case 235: /* type_specifier_nonarray: UVEC3 */ @@ -7677,7 +7679,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(3); } -#line 7681 "MachineIndependent/glslang_tab.cpp" +#line 7683 "MachineIndependent/glslang_tab.cpp" break; case 236: /* type_specifier_nonarray: UVEC4 */ @@ -7688,7 +7690,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(4); } -#line 7692 "MachineIndependent/glslang_tab.cpp" +#line 7694 "MachineIndependent/glslang_tab.cpp" break; case 237: /* type_specifier_nonarray: MAT2 */ @@ -7698,7 +7700,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 7702 "MachineIndependent/glslang_tab.cpp" +#line 7704 "MachineIndependent/glslang_tab.cpp" break; case 238: /* type_specifier_nonarray: MAT3 */ @@ -7708,7 +7710,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 7712 "MachineIndependent/glslang_tab.cpp" +#line 7714 "MachineIndependent/glslang_tab.cpp" break; case 239: /* type_specifier_nonarray: MAT4 */ @@ -7718,7 +7720,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 7722 "MachineIndependent/glslang_tab.cpp" +#line 7724 "MachineIndependent/glslang_tab.cpp" break; case 240: /* type_specifier_nonarray: MAT2X2 */ @@ -7728,7 +7730,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 7732 "MachineIndependent/glslang_tab.cpp" +#line 7734 "MachineIndependent/glslang_tab.cpp" break; case 241: /* type_specifier_nonarray: MAT2X3 */ @@ -7738,7 +7740,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 3); } -#line 7742 "MachineIndependent/glslang_tab.cpp" +#line 7744 "MachineIndependent/glslang_tab.cpp" break; case 242: /* type_specifier_nonarray: MAT2X4 */ @@ -7748,7 +7750,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 4); } -#line 7752 "MachineIndependent/glslang_tab.cpp" +#line 7754 "MachineIndependent/glslang_tab.cpp" break; case 243: /* type_specifier_nonarray: MAT3X2 */ @@ -7758,7 +7760,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 2); } -#line 7762 "MachineIndependent/glslang_tab.cpp" +#line 7764 "MachineIndependent/glslang_tab.cpp" break; case 244: /* type_specifier_nonarray: MAT3X3 */ @@ -7768,7 +7770,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 7772 "MachineIndependent/glslang_tab.cpp" +#line 7774 "MachineIndependent/glslang_tab.cpp" break; case 245: /* type_specifier_nonarray: MAT3X4 */ @@ -7778,7 +7780,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 4); } -#line 7782 "MachineIndependent/glslang_tab.cpp" +#line 7784 "MachineIndependent/glslang_tab.cpp" break; case 246: /* type_specifier_nonarray: MAT4X2 */ @@ -7788,7 +7790,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 2); } -#line 7792 "MachineIndependent/glslang_tab.cpp" +#line 7794 "MachineIndependent/glslang_tab.cpp" break; case 247: /* type_specifier_nonarray: MAT4X3 */ @@ -7798,7 +7800,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 3); } -#line 7802 "MachineIndependent/glslang_tab.cpp" +#line 7804 "MachineIndependent/glslang_tab.cpp" break; case 248: /* type_specifier_nonarray: MAT4X4 */ @@ -7808,7 +7810,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 7812 "MachineIndependent/glslang_tab.cpp" +#line 7814 "MachineIndependent/glslang_tab.cpp" break; case 249: /* type_specifier_nonarray: DOUBLE */ @@ -7820,7 +7822,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; } -#line 7824 "MachineIndependent/glslang_tab.cpp" +#line 7826 "MachineIndependent/glslang_tab.cpp" break; case 250: /* type_specifier_nonarray: FLOAT16_T */ @@ -7830,7 +7832,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat16; } -#line 7834 "MachineIndependent/glslang_tab.cpp" +#line 7836 "MachineIndependent/glslang_tab.cpp" break; case 251: /* type_specifier_nonarray: FLOAT32_T */ @@ -7840,7 +7842,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtFloat; } -#line 7844 "MachineIndependent/glslang_tab.cpp" +#line 7846 "MachineIndependent/glslang_tab.cpp" break; case 252: /* type_specifier_nonarray: FLOAT64_T */ @@ -7850,7 +7852,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtDouble; } -#line 7854 "MachineIndependent/glslang_tab.cpp" +#line 7856 "MachineIndependent/glslang_tab.cpp" break; case 253: /* type_specifier_nonarray: INT8_T */ @@ -7860,7 +7862,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt8; } -#line 7864 "MachineIndependent/glslang_tab.cpp" +#line 7866 "MachineIndependent/glslang_tab.cpp" break; case 254: /* type_specifier_nonarray: UINT8_T */ @@ -7870,7 +7872,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint8; } -#line 7874 "MachineIndependent/glslang_tab.cpp" +#line 7876 "MachineIndependent/glslang_tab.cpp" break; case 255: /* type_specifier_nonarray: INT16_T */ @@ -7880,7 +7882,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt16; } -#line 7884 "MachineIndependent/glslang_tab.cpp" +#line 7886 "MachineIndependent/glslang_tab.cpp" break; case 256: /* type_specifier_nonarray: UINT16_T */ @@ -7890,7 +7892,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint16; } -#line 7894 "MachineIndependent/glslang_tab.cpp" +#line 7896 "MachineIndependent/glslang_tab.cpp" break; case 257: /* type_specifier_nonarray: INT32_T */ @@ -7900,7 +7902,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt; } -#line 7904 "MachineIndependent/glslang_tab.cpp" +#line 7906 "MachineIndependent/glslang_tab.cpp" break; case 258: /* type_specifier_nonarray: UINT32_T */ @@ -7910,7 +7912,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint; } -#line 7914 "MachineIndependent/glslang_tab.cpp" +#line 7916 "MachineIndependent/glslang_tab.cpp" break; case 259: /* type_specifier_nonarray: INT64_T */ @@ -7920,7 +7922,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtInt64; } -#line 7924 "MachineIndependent/glslang_tab.cpp" +#line 7926 "MachineIndependent/glslang_tab.cpp" break; case 260: /* type_specifier_nonarray: UINT64_T */ @@ -7930,7 +7932,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtUint64; } -#line 7934 "MachineIndependent/glslang_tab.cpp" +#line 7936 "MachineIndependent/glslang_tab.cpp" break; case 261: /* type_specifier_nonarray: DVEC2 */ @@ -7943,7 +7945,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(2); } -#line 7947 "MachineIndependent/glslang_tab.cpp" +#line 7949 "MachineIndependent/glslang_tab.cpp" break; case 262: /* type_specifier_nonarray: DVEC3 */ @@ -7956,7 +7958,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(3); } -#line 7960 "MachineIndependent/glslang_tab.cpp" +#line 7962 "MachineIndependent/glslang_tab.cpp" break; case 263: /* type_specifier_nonarray: DVEC4 */ @@ -7969,7 +7971,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(4); } -#line 7973 "MachineIndependent/glslang_tab.cpp" +#line 7975 "MachineIndependent/glslang_tab.cpp" break; case 264: /* type_specifier_nonarray: F16VEC2 */ @@ -7980,7 +7982,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setVector(2); } -#line 7984 "MachineIndependent/glslang_tab.cpp" +#line 7986 "MachineIndependent/glslang_tab.cpp" break; case 265: /* type_specifier_nonarray: F16VEC3 */ @@ -7991,7 +7993,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setVector(3); } -#line 7995 "MachineIndependent/glslang_tab.cpp" +#line 7997 "MachineIndependent/glslang_tab.cpp" break; case 266: /* type_specifier_nonarray: F16VEC4 */ @@ -8002,7 +8004,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setVector(4); } -#line 8006 "MachineIndependent/glslang_tab.cpp" +#line 8008 "MachineIndependent/glslang_tab.cpp" break; case 267: /* type_specifier_nonarray: F32VEC2 */ @@ -8013,7 +8015,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(2); } -#line 8017 "MachineIndependent/glslang_tab.cpp" +#line 8019 "MachineIndependent/glslang_tab.cpp" break; case 268: /* type_specifier_nonarray: F32VEC3 */ @@ -8024,7 +8026,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(3); } -#line 8028 "MachineIndependent/glslang_tab.cpp" +#line 8030 "MachineIndependent/glslang_tab.cpp" break; case 269: /* type_specifier_nonarray: F32VEC4 */ @@ -8035,7 +8037,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setVector(4); } -#line 8039 "MachineIndependent/glslang_tab.cpp" +#line 8041 "MachineIndependent/glslang_tab.cpp" break; case 270: /* type_specifier_nonarray: F64VEC2 */ @@ -8046,7 +8048,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(2); } -#line 8050 "MachineIndependent/glslang_tab.cpp" +#line 8052 "MachineIndependent/glslang_tab.cpp" break; case 271: /* type_specifier_nonarray: F64VEC3 */ @@ -8057,7 +8059,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(3); } -#line 8061 "MachineIndependent/glslang_tab.cpp" +#line 8063 "MachineIndependent/glslang_tab.cpp" break; case 272: /* type_specifier_nonarray: F64VEC4 */ @@ -8068,7 +8070,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setVector(4); } -#line 8072 "MachineIndependent/glslang_tab.cpp" +#line 8074 "MachineIndependent/glslang_tab.cpp" break; case 273: /* type_specifier_nonarray: I8VEC2 */ @@ -8079,7 +8081,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt8; (yyval.interm.type).setVector(2); } -#line 8083 "MachineIndependent/glslang_tab.cpp" +#line 8085 "MachineIndependent/glslang_tab.cpp" break; case 274: /* type_specifier_nonarray: I8VEC3 */ @@ -8090,7 +8092,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt8; (yyval.interm.type).setVector(3); } -#line 8094 "MachineIndependent/glslang_tab.cpp" +#line 8096 "MachineIndependent/glslang_tab.cpp" break; case 275: /* type_specifier_nonarray: I8VEC4 */ @@ -8101,7 +8103,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt8; (yyval.interm.type).setVector(4); } -#line 8105 "MachineIndependent/glslang_tab.cpp" +#line 8107 "MachineIndependent/glslang_tab.cpp" break; case 276: /* type_specifier_nonarray: I16VEC2 */ @@ -8112,7 +8114,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt16; (yyval.interm.type).setVector(2); } -#line 8116 "MachineIndependent/glslang_tab.cpp" +#line 8118 "MachineIndependent/glslang_tab.cpp" break; case 277: /* type_specifier_nonarray: I16VEC3 */ @@ -8123,7 +8125,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt16; (yyval.interm.type).setVector(3); } -#line 8127 "MachineIndependent/glslang_tab.cpp" +#line 8129 "MachineIndependent/glslang_tab.cpp" break; case 278: /* type_specifier_nonarray: I16VEC4 */ @@ -8134,7 +8136,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt16; (yyval.interm.type).setVector(4); } -#line 8138 "MachineIndependent/glslang_tab.cpp" +#line 8140 "MachineIndependent/glslang_tab.cpp" break; case 279: /* type_specifier_nonarray: I32VEC2 */ @@ -8145,7 +8147,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(2); } -#line 8149 "MachineIndependent/glslang_tab.cpp" +#line 8151 "MachineIndependent/glslang_tab.cpp" break; case 280: /* type_specifier_nonarray: I32VEC3 */ @@ -8156,7 +8158,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(3); } -#line 8160 "MachineIndependent/glslang_tab.cpp" +#line 8162 "MachineIndependent/glslang_tab.cpp" break; case 281: /* type_specifier_nonarray: I32VEC4 */ @@ -8167,7 +8169,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).setVector(4); } -#line 8171 "MachineIndependent/glslang_tab.cpp" +#line 8173 "MachineIndependent/glslang_tab.cpp" break; case 282: /* type_specifier_nonarray: I64VEC2 */ @@ -8178,7 +8180,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt64; (yyval.interm.type).setVector(2); } -#line 8182 "MachineIndependent/glslang_tab.cpp" +#line 8184 "MachineIndependent/glslang_tab.cpp" break; case 283: /* type_specifier_nonarray: I64VEC3 */ @@ -8189,7 +8191,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt64; (yyval.interm.type).setVector(3); } -#line 8193 "MachineIndependent/glslang_tab.cpp" +#line 8195 "MachineIndependent/glslang_tab.cpp" break; case 284: /* type_specifier_nonarray: I64VEC4 */ @@ -8200,7 +8202,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt64; (yyval.interm.type).setVector(4); } -#line 8204 "MachineIndependent/glslang_tab.cpp" +#line 8206 "MachineIndependent/glslang_tab.cpp" break; case 285: /* type_specifier_nonarray: U8VEC2 */ @@ -8211,7 +8213,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint8; (yyval.interm.type).setVector(2); } -#line 8215 "MachineIndependent/glslang_tab.cpp" +#line 8217 "MachineIndependent/glslang_tab.cpp" break; case 286: /* type_specifier_nonarray: U8VEC3 */ @@ -8222,7 +8224,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint8; (yyval.interm.type).setVector(3); } -#line 8226 "MachineIndependent/glslang_tab.cpp" +#line 8228 "MachineIndependent/glslang_tab.cpp" break; case 287: /* type_specifier_nonarray: U8VEC4 */ @@ -8233,7 +8235,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint8; (yyval.interm.type).setVector(4); } -#line 8237 "MachineIndependent/glslang_tab.cpp" +#line 8239 "MachineIndependent/glslang_tab.cpp" break; case 288: /* type_specifier_nonarray: U16VEC2 */ @@ -8244,7 +8246,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint16; (yyval.interm.type).setVector(2); } -#line 8248 "MachineIndependent/glslang_tab.cpp" +#line 8250 "MachineIndependent/glslang_tab.cpp" break; case 289: /* type_specifier_nonarray: U16VEC3 */ @@ -8255,7 +8257,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint16; (yyval.interm.type).setVector(3); } -#line 8259 "MachineIndependent/glslang_tab.cpp" +#line 8261 "MachineIndependent/glslang_tab.cpp" break; case 290: /* type_specifier_nonarray: U16VEC4 */ @@ -8266,7 +8268,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint16; (yyval.interm.type).setVector(4); } -#line 8270 "MachineIndependent/glslang_tab.cpp" +#line 8272 "MachineIndependent/glslang_tab.cpp" break; case 291: /* type_specifier_nonarray: U32VEC2 */ @@ -8277,7 +8279,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(2); } -#line 8281 "MachineIndependent/glslang_tab.cpp" +#line 8283 "MachineIndependent/glslang_tab.cpp" break; case 292: /* type_specifier_nonarray: U32VEC3 */ @@ -8288,7 +8290,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(3); } -#line 8292 "MachineIndependent/glslang_tab.cpp" +#line 8294 "MachineIndependent/glslang_tab.cpp" break; case 293: /* type_specifier_nonarray: U32VEC4 */ @@ -8299,7 +8301,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).setVector(4); } -#line 8303 "MachineIndependent/glslang_tab.cpp" +#line 8305 "MachineIndependent/glslang_tab.cpp" break; case 294: /* type_specifier_nonarray: U64VEC2 */ @@ -8310,7 +8312,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint64; (yyval.interm.type).setVector(2); } -#line 8314 "MachineIndependent/glslang_tab.cpp" +#line 8316 "MachineIndependent/glslang_tab.cpp" break; case 295: /* type_specifier_nonarray: U64VEC3 */ @@ -8321,7 +8323,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint64; (yyval.interm.type).setVector(3); } -#line 8325 "MachineIndependent/glslang_tab.cpp" +#line 8327 "MachineIndependent/glslang_tab.cpp" break; case 296: /* type_specifier_nonarray: U64VEC4 */ @@ -8332,7 +8334,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint64; (yyval.interm.type).setVector(4); } -#line 8336 "MachineIndependent/glslang_tab.cpp" +#line 8338 "MachineIndependent/glslang_tab.cpp" break; case 297: /* type_specifier_nonarray: DMAT2 */ @@ -8345,7 +8347,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 8349 "MachineIndependent/glslang_tab.cpp" +#line 8351 "MachineIndependent/glslang_tab.cpp" break; case 298: /* type_specifier_nonarray: DMAT3 */ @@ -8358,7 +8360,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 8362 "MachineIndependent/glslang_tab.cpp" +#line 8364 "MachineIndependent/glslang_tab.cpp" break; case 299: /* type_specifier_nonarray: DMAT4 */ @@ -8371,7 +8373,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 8375 "MachineIndependent/glslang_tab.cpp" +#line 8377 "MachineIndependent/glslang_tab.cpp" break; case 300: /* type_specifier_nonarray: DMAT2X2 */ @@ -8384,7 +8386,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 8388 "MachineIndependent/glslang_tab.cpp" +#line 8390 "MachineIndependent/glslang_tab.cpp" break; case 301: /* type_specifier_nonarray: DMAT2X3 */ @@ -8397,7 +8399,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 3); } -#line 8401 "MachineIndependent/glslang_tab.cpp" +#line 8403 "MachineIndependent/glslang_tab.cpp" break; case 302: /* type_specifier_nonarray: DMAT2X4 */ @@ -8410,7 +8412,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 4); } -#line 8414 "MachineIndependent/glslang_tab.cpp" +#line 8416 "MachineIndependent/glslang_tab.cpp" break; case 303: /* type_specifier_nonarray: DMAT3X2 */ @@ -8423,7 +8425,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 2); } -#line 8427 "MachineIndependent/glslang_tab.cpp" +#line 8429 "MachineIndependent/glslang_tab.cpp" break; case 304: /* type_specifier_nonarray: DMAT3X3 */ @@ -8436,7 +8438,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 8440 "MachineIndependent/glslang_tab.cpp" +#line 8442 "MachineIndependent/glslang_tab.cpp" break; case 305: /* type_specifier_nonarray: DMAT3X4 */ @@ -8449,7 +8451,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 4); } -#line 8453 "MachineIndependent/glslang_tab.cpp" +#line 8455 "MachineIndependent/glslang_tab.cpp" break; case 306: /* type_specifier_nonarray: DMAT4X2 */ @@ -8462,7 +8464,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 2); } -#line 8466 "MachineIndependent/glslang_tab.cpp" +#line 8468 "MachineIndependent/glslang_tab.cpp" break; case 307: /* type_specifier_nonarray: DMAT4X3 */ @@ -8475,7 +8477,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 3); } -#line 8479 "MachineIndependent/glslang_tab.cpp" +#line 8481 "MachineIndependent/glslang_tab.cpp" break; case 308: /* type_specifier_nonarray: DMAT4X4 */ @@ -8488,7 +8490,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 8492 "MachineIndependent/glslang_tab.cpp" +#line 8494 "MachineIndependent/glslang_tab.cpp" break; case 309: /* type_specifier_nonarray: F16MAT2 */ @@ -8499,7 +8501,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 2); } -#line 8503 "MachineIndependent/glslang_tab.cpp" +#line 8505 "MachineIndependent/glslang_tab.cpp" break; case 310: /* type_specifier_nonarray: F16MAT3 */ @@ -8510,7 +8512,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 3); } -#line 8514 "MachineIndependent/glslang_tab.cpp" +#line 8516 "MachineIndependent/glslang_tab.cpp" break; case 311: /* type_specifier_nonarray: F16MAT4 */ @@ -8521,7 +8523,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 4); } -#line 8525 "MachineIndependent/glslang_tab.cpp" +#line 8527 "MachineIndependent/glslang_tab.cpp" break; case 312: /* type_specifier_nonarray: F16MAT2X2 */ @@ -8532,7 +8534,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 2); } -#line 8536 "MachineIndependent/glslang_tab.cpp" +#line 8538 "MachineIndependent/glslang_tab.cpp" break; case 313: /* type_specifier_nonarray: F16MAT2X3 */ @@ -8543,7 +8545,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 3); } -#line 8547 "MachineIndependent/glslang_tab.cpp" +#line 8549 "MachineIndependent/glslang_tab.cpp" break; case 314: /* type_specifier_nonarray: F16MAT2X4 */ @@ -8554,7 +8556,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(2, 4); } -#line 8558 "MachineIndependent/glslang_tab.cpp" +#line 8560 "MachineIndependent/glslang_tab.cpp" break; case 315: /* type_specifier_nonarray: F16MAT3X2 */ @@ -8565,7 +8567,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 2); } -#line 8569 "MachineIndependent/glslang_tab.cpp" +#line 8571 "MachineIndependent/glslang_tab.cpp" break; case 316: /* type_specifier_nonarray: F16MAT3X3 */ @@ -8576,7 +8578,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 3); } -#line 8580 "MachineIndependent/glslang_tab.cpp" +#line 8582 "MachineIndependent/glslang_tab.cpp" break; case 317: /* type_specifier_nonarray: F16MAT3X4 */ @@ -8587,7 +8589,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(3, 4); } -#line 8591 "MachineIndependent/glslang_tab.cpp" +#line 8593 "MachineIndependent/glslang_tab.cpp" break; case 318: /* type_specifier_nonarray: F16MAT4X2 */ @@ -8598,7 +8600,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 2); } -#line 8602 "MachineIndependent/glslang_tab.cpp" +#line 8604 "MachineIndependent/glslang_tab.cpp" break; case 319: /* type_specifier_nonarray: F16MAT4X3 */ @@ -8609,7 +8611,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 3); } -#line 8613 "MachineIndependent/glslang_tab.cpp" +#line 8615 "MachineIndependent/glslang_tab.cpp" break; case 320: /* type_specifier_nonarray: F16MAT4X4 */ @@ -8620,7 +8622,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat16; (yyval.interm.type).setMatrix(4, 4); } -#line 8624 "MachineIndependent/glslang_tab.cpp" +#line 8626 "MachineIndependent/glslang_tab.cpp" break; case 321: /* type_specifier_nonarray: F32MAT2 */ @@ -8631,7 +8633,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 8635 "MachineIndependent/glslang_tab.cpp" +#line 8637 "MachineIndependent/glslang_tab.cpp" break; case 322: /* type_specifier_nonarray: F32MAT3 */ @@ -8642,7 +8644,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 8646 "MachineIndependent/glslang_tab.cpp" +#line 8648 "MachineIndependent/glslang_tab.cpp" break; case 323: /* type_specifier_nonarray: F32MAT4 */ @@ -8653,7 +8655,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 8657 "MachineIndependent/glslang_tab.cpp" +#line 8659 "MachineIndependent/glslang_tab.cpp" break; case 324: /* type_specifier_nonarray: F32MAT2X2 */ @@ -8664,7 +8666,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 2); } -#line 8668 "MachineIndependent/glslang_tab.cpp" +#line 8670 "MachineIndependent/glslang_tab.cpp" break; case 325: /* type_specifier_nonarray: F32MAT2X3 */ @@ -8675,7 +8677,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 3); } -#line 8679 "MachineIndependent/glslang_tab.cpp" +#line 8681 "MachineIndependent/glslang_tab.cpp" break; case 326: /* type_specifier_nonarray: F32MAT2X4 */ @@ -8686,7 +8688,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(2, 4); } -#line 8690 "MachineIndependent/glslang_tab.cpp" +#line 8692 "MachineIndependent/glslang_tab.cpp" break; case 327: /* type_specifier_nonarray: F32MAT3X2 */ @@ -8697,7 +8699,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 2); } -#line 8701 "MachineIndependent/glslang_tab.cpp" +#line 8703 "MachineIndependent/glslang_tab.cpp" break; case 328: /* type_specifier_nonarray: F32MAT3X3 */ @@ -8708,7 +8710,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 3); } -#line 8712 "MachineIndependent/glslang_tab.cpp" +#line 8714 "MachineIndependent/glslang_tab.cpp" break; case 329: /* type_specifier_nonarray: F32MAT3X4 */ @@ -8719,7 +8721,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(3, 4); } -#line 8723 "MachineIndependent/glslang_tab.cpp" +#line 8725 "MachineIndependent/glslang_tab.cpp" break; case 330: /* type_specifier_nonarray: F32MAT4X2 */ @@ -8730,7 +8732,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 2); } -#line 8734 "MachineIndependent/glslang_tab.cpp" +#line 8736 "MachineIndependent/glslang_tab.cpp" break; case 331: /* type_specifier_nonarray: F32MAT4X3 */ @@ -8741,7 +8743,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 3); } -#line 8745 "MachineIndependent/glslang_tab.cpp" +#line 8747 "MachineIndependent/glslang_tab.cpp" break; case 332: /* type_specifier_nonarray: F32MAT4X4 */ @@ -8752,7 +8754,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).setMatrix(4, 4); } -#line 8756 "MachineIndependent/glslang_tab.cpp" +#line 8758 "MachineIndependent/glslang_tab.cpp" break; case 333: /* type_specifier_nonarray: F64MAT2 */ @@ -8763,7 +8765,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 8767 "MachineIndependent/glslang_tab.cpp" +#line 8769 "MachineIndependent/glslang_tab.cpp" break; case 334: /* type_specifier_nonarray: F64MAT3 */ @@ -8774,7 +8776,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 8778 "MachineIndependent/glslang_tab.cpp" +#line 8780 "MachineIndependent/glslang_tab.cpp" break; case 335: /* type_specifier_nonarray: F64MAT4 */ @@ -8785,7 +8787,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 8789 "MachineIndependent/glslang_tab.cpp" +#line 8791 "MachineIndependent/glslang_tab.cpp" break; case 336: /* type_specifier_nonarray: F64MAT2X2 */ @@ -8796,7 +8798,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 2); } -#line 8800 "MachineIndependent/glslang_tab.cpp" +#line 8802 "MachineIndependent/glslang_tab.cpp" break; case 337: /* type_specifier_nonarray: F64MAT2X3 */ @@ -8807,7 +8809,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 3); } -#line 8811 "MachineIndependent/glslang_tab.cpp" +#line 8813 "MachineIndependent/glslang_tab.cpp" break; case 338: /* type_specifier_nonarray: F64MAT2X4 */ @@ -8818,7 +8820,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(2, 4); } -#line 8822 "MachineIndependent/glslang_tab.cpp" +#line 8824 "MachineIndependent/glslang_tab.cpp" break; case 339: /* type_specifier_nonarray: F64MAT3X2 */ @@ -8829,7 +8831,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 2); } -#line 8833 "MachineIndependent/glslang_tab.cpp" +#line 8835 "MachineIndependent/glslang_tab.cpp" break; case 340: /* type_specifier_nonarray: F64MAT3X3 */ @@ -8840,7 +8842,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 3); } -#line 8844 "MachineIndependent/glslang_tab.cpp" +#line 8846 "MachineIndependent/glslang_tab.cpp" break; case 341: /* type_specifier_nonarray: F64MAT3X4 */ @@ -8851,7 +8853,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(3, 4); } -#line 8855 "MachineIndependent/glslang_tab.cpp" +#line 8857 "MachineIndependent/glslang_tab.cpp" break; case 342: /* type_specifier_nonarray: F64MAT4X2 */ @@ -8862,7 +8864,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 2); } -#line 8866 "MachineIndependent/glslang_tab.cpp" +#line 8868 "MachineIndependent/glslang_tab.cpp" break; case 343: /* type_specifier_nonarray: F64MAT4X3 */ @@ -8873,7 +8875,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 3); } -#line 8877 "MachineIndependent/glslang_tab.cpp" +#line 8879 "MachineIndependent/glslang_tab.cpp" break; case 344: /* type_specifier_nonarray: F64MAT4X4 */ @@ -8884,7 +8886,7 @@ yyreduce: (yyval.interm.type).basicType = EbtDouble; (yyval.interm.type).setMatrix(4, 4); } -#line 8888 "MachineIndependent/glslang_tab.cpp" +#line 8890 "MachineIndependent/glslang_tab.cpp" break; case 345: /* type_specifier_nonarray: ACCSTRUCTNV */ @@ -8893,7 +8895,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtAccStruct; } -#line 8897 "MachineIndependent/glslang_tab.cpp" +#line 8899 "MachineIndependent/glslang_tab.cpp" break; case 346: /* type_specifier_nonarray: ACCSTRUCTEXT */ @@ -8902,7 +8904,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtAccStruct; } -#line 8906 "MachineIndependent/glslang_tab.cpp" +#line 8908 "MachineIndependent/glslang_tab.cpp" break; case 347: /* type_specifier_nonarray: RAYQUERYEXT */ @@ -8911,7 +8913,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtRayQuery; } -#line 8915 "MachineIndependent/glslang_tab.cpp" +#line 8917 "MachineIndependent/glslang_tab.cpp" break; case 348: /* type_specifier_nonarray: ATOMIC_UINT */ @@ -8921,7 +8923,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtAtomicUint; } -#line 8925 "MachineIndependent/glslang_tab.cpp" +#line 8927 "MachineIndependent/glslang_tab.cpp" break; case 349: /* type_specifier_nonarray: SAMPLER1D */ @@ -8931,7 +8933,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D); } -#line 8935 "MachineIndependent/glslang_tab.cpp" +#line 8937 "MachineIndependent/glslang_tab.cpp" break; case 350: /* type_specifier_nonarray: SAMPLER2D */ @@ -8941,7 +8943,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D); } -#line 8945 "MachineIndependent/glslang_tab.cpp" +#line 8947 "MachineIndependent/glslang_tab.cpp" break; case 351: /* type_specifier_nonarray: SAMPLER3D */ @@ -8951,7 +8953,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd3D); } -#line 8955 "MachineIndependent/glslang_tab.cpp" +#line 8957 "MachineIndependent/glslang_tab.cpp" break; case 352: /* type_specifier_nonarray: SAMPLERCUBE */ @@ -8961,7 +8963,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube); } -#line 8965 "MachineIndependent/glslang_tab.cpp" +#line 8967 "MachineIndependent/glslang_tab.cpp" break; case 353: /* type_specifier_nonarray: SAMPLER2DSHADOW */ @@ -8971,7 +8973,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true); } -#line 8975 "MachineIndependent/glslang_tab.cpp" +#line 8977 "MachineIndependent/glslang_tab.cpp" break; case 354: /* type_specifier_nonarray: SAMPLERCUBESHADOW */ @@ -8981,7 +8983,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true); } -#line 8985 "MachineIndependent/glslang_tab.cpp" +#line 8987 "MachineIndependent/glslang_tab.cpp" break; case 355: /* type_specifier_nonarray: SAMPLER2DARRAY */ @@ -8991,7 +8993,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true); } -#line 8995 "MachineIndependent/glslang_tab.cpp" +#line 8997 "MachineIndependent/glslang_tab.cpp" break; case 356: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */ @@ -9001,7 +9003,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true); } -#line 9005 "MachineIndependent/glslang_tab.cpp" +#line 9007 "MachineIndependent/glslang_tab.cpp" break; case 357: /* type_specifier_nonarray: SAMPLER1DSHADOW */ @@ -9011,7 +9013,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true); } -#line 9015 "MachineIndependent/glslang_tab.cpp" +#line 9017 "MachineIndependent/glslang_tab.cpp" break; case 358: /* type_specifier_nonarray: SAMPLER1DARRAY */ @@ -9021,7 +9023,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true); } -#line 9025 "MachineIndependent/glslang_tab.cpp" +#line 9027 "MachineIndependent/glslang_tab.cpp" break; case 359: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */ @@ -9031,7 +9033,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true); } -#line 9035 "MachineIndependent/glslang_tab.cpp" +#line 9037 "MachineIndependent/glslang_tab.cpp" break; case 360: /* type_specifier_nonarray: SAMPLERCUBEARRAY */ @@ -9041,7 +9043,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true); } -#line 9045 "MachineIndependent/glslang_tab.cpp" +#line 9047 "MachineIndependent/glslang_tab.cpp" break; case 361: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */ @@ -9051,7 +9053,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true); } -#line 9055 "MachineIndependent/glslang_tab.cpp" +#line 9057 "MachineIndependent/glslang_tab.cpp" break; case 362: /* type_specifier_nonarray: F16SAMPLER1D */ @@ -9062,7 +9064,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D); } -#line 9066 "MachineIndependent/glslang_tab.cpp" +#line 9068 "MachineIndependent/glslang_tab.cpp" break; case 363: /* type_specifier_nonarray: F16SAMPLER2D */ @@ -9073,7 +9075,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D); } -#line 9077 "MachineIndependent/glslang_tab.cpp" +#line 9079 "MachineIndependent/glslang_tab.cpp" break; case 364: /* type_specifier_nonarray: F16SAMPLER3D */ @@ -9084,7 +9086,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd3D); } -#line 9088 "MachineIndependent/glslang_tab.cpp" +#line 9090 "MachineIndependent/glslang_tab.cpp" break; case 365: /* type_specifier_nonarray: F16SAMPLERCUBE */ @@ -9095,7 +9097,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube); } -#line 9099 "MachineIndependent/glslang_tab.cpp" +#line 9101 "MachineIndependent/glslang_tab.cpp" break; case 366: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */ @@ -9106,7 +9108,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true); } -#line 9110 "MachineIndependent/glslang_tab.cpp" +#line 9112 "MachineIndependent/glslang_tab.cpp" break; case 367: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */ @@ -9117,7 +9119,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true); } -#line 9121 "MachineIndependent/glslang_tab.cpp" +#line 9123 "MachineIndependent/glslang_tab.cpp" break; case 368: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */ @@ -9128,7 +9130,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true); } -#line 9132 "MachineIndependent/glslang_tab.cpp" +#line 9134 "MachineIndependent/glslang_tab.cpp" break; case 369: /* type_specifier_nonarray: F16SAMPLER1DARRAY */ @@ -9139,7 +9141,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true); } -#line 9143 "MachineIndependent/glslang_tab.cpp" +#line 9145 "MachineIndependent/glslang_tab.cpp" break; case 370: /* type_specifier_nonarray: F16SAMPLER2DARRAY */ @@ -9150,7 +9152,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true); } -#line 9154 "MachineIndependent/glslang_tab.cpp" +#line 9156 "MachineIndependent/glslang_tab.cpp" break; case 371: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */ @@ -9161,7 +9163,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true); } -#line 9165 "MachineIndependent/glslang_tab.cpp" +#line 9167 "MachineIndependent/glslang_tab.cpp" break; case 372: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */ @@ -9172,7 +9174,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true); } -#line 9176 "MachineIndependent/glslang_tab.cpp" +#line 9178 "MachineIndependent/glslang_tab.cpp" break; case 373: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */ @@ -9183,7 +9185,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true); } -#line 9187 "MachineIndependent/glslang_tab.cpp" +#line 9189 "MachineIndependent/glslang_tab.cpp" break; case 374: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */ @@ -9194,7 +9196,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true); } -#line 9198 "MachineIndependent/glslang_tab.cpp" +#line 9200 "MachineIndependent/glslang_tab.cpp" break; case 375: /* type_specifier_nonarray: ISAMPLER1D */ @@ -9204,7 +9206,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd1D); } -#line 9208 "MachineIndependent/glslang_tab.cpp" +#line 9210 "MachineIndependent/glslang_tab.cpp" break; case 376: /* type_specifier_nonarray: ISAMPLER2D */ @@ -9214,7 +9216,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D); } -#line 9218 "MachineIndependent/glslang_tab.cpp" +#line 9220 "MachineIndependent/glslang_tab.cpp" break; case 377: /* type_specifier_nonarray: ISAMPLER3D */ @@ -9224,7 +9226,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd3D); } -#line 9228 "MachineIndependent/glslang_tab.cpp" +#line 9230 "MachineIndependent/glslang_tab.cpp" break; case 378: /* type_specifier_nonarray: ISAMPLERCUBE */ @@ -9234,7 +9236,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdCube); } -#line 9238 "MachineIndependent/glslang_tab.cpp" +#line 9240 "MachineIndependent/glslang_tab.cpp" break; case 379: /* type_specifier_nonarray: ISAMPLER2DARRAY */ @@ -9244,7 +9246,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D, true); } -#line 9248 "MachineIndependent/glslang_tab.cpp" +#line 9250 "MachineIndependent/glslang_tab.cpp" break; case 380: /* type_specifier_nonarray: USAMPLER2D */ @@ -9254,7 +9256,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D); } -#line 9258 "MachineIndependent/glslang_tab.cpp" +#line 9260 "MachineIndependent/glslang_tab.cpp" break; case 381: /* type_specifier_nonarray: USAMPLER3D */ @@ -9264,7 +9266,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd3D); } -#line 9268 "MachineIndependent/glslang_tab.cpp" +#line 9270 "MachineIndependent/glslang_tab.cpp" break; case 382: /* type_specifier_nonarray: USAMPLERCUBE */ @@ -9274,7 +9276,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdCube); } -#line 9278 "MachineIndependent/glslang_tab.cpp" +#line 9280 "MachineIndependent/glslang_tab.cpp" break; case 383: /* type_specifier_nonarray: ISAMPLER1DARRAY */ @@ -9284,7 +9286,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd1D, true); } -#line 9288 "MachineIndependent/glslang_tab.cpp" +#line 9290 "MachineIndependent/glslang_tab.cpp" break; case 384: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */ @@ -9294,7 +9296,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdCube, true); } -#line 9298 "MachineIndependent/glslang_tab.cpp" +#line 9300 "MachineIndependent/glslang_tab.cpp" break; case 385: /* type_specifier_nonarray: USAMPLER1D */ @@ -9304,7 +9306,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd1D); } -#line 9308 "MachineIndependent/glslang_tab.cpp" +#line 9310 "MachineIndependent/glslang_tab.cpp" break; case 386: /* type_specifier_nonarray: USAMPLER1DARRAY */ @@ -9314,7 +9316,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd1D, true); } -#line 9318 "MachineIndependent/glslang_tab.cpp" +#line 9320 "MachineIndependent/glslang_tab.cpp" break; case 387: /* type_specifier_nonarray: USAMPLERCUBEARRAY */ @@ -9324,7 +9326,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdCube, true); } -#line 9328 "MachineIndependent/glslang_tab.cpp" +#line 9330 "MachineIndependent/glslang_tab.cpp" break; case 388: /* type_specifier_nonarray: TEXTURECUBEARRAY */ @@ -9334,7 +9336,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true); } -#line 9338 "MachineIndependent/glslang_tab.cpp" +#line 9340 "MachineIndependent/glslang_tab.cpp" break; case 389: /* type_specifier_nonarray: ITEXTURECUBEARRAY */ @@ -9344,7 +9346,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true); } -#line 9348 "MachineIndependent/glslang_tab.cpp" +#line 9350 "MachineIndependent/glslang_tab.cpp" break; case 390: /* type_specifier_nonarray: UTEXTURECUBEARRAY */ @@ -9354,7 +9356,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true); } -#line 9358 "MachineIndependent/glslang_tab.cpp" +#line 9360 "MachineIndependent/glslang_tab.cpp" break; case 391: /* type_specifier_nonarray: USAMPLER2DARRAY */ @@ -9364,7 +9366,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D, true); } -#line 9368 "MachineIndependent/glslang_tab.cpp" +#line 9370 "MachineIndependent/glslang_tab.cpp" break; case 392: /* type_specifier_nonarray: TEXTURE2D */ @@ -9374,7 +9376,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D); } -#line 9378 "MachineIndependent/glslang_tab.cpp" +#line 9380 "MachineIndependent/glslang_tab.cpp" break; case 393: /* type_specifier_nonarray: TEXTURE3D */ @@ -9384,7 +9386,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D); } -#line 9388 "MachineIndependent/glslang_tab.cpp" +#line 9390 "MachineIndependent/glslang_tab.cpp" break; case 394: /* type_specifier_nonarray: TEXTURE2DARRAY */ @@ -9394,7 +9396,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true); } -#line 9398 "MachineIndependent/glslang_tab.cpp" +#line 9400 "MachineIndependent/glslang_tab.cpp" break; case 395: /* type_specifier_nonarray: TEXTURECUBE */ @@ -9404,7 +9406,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube); } -#line 9408 "MachineIndependent/glslang_tab.cpp" +#line 9410 "MachineIndependent/glslang_tab.cpp" break; case 396: /* type_specifier_nonarray: ITEXTURE2D */ @@ -9414,7 +9416,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D); } -#line 9418 "MachineIndependent/glslang_tab.cpp" +#line 9420 "MachineIndependent/glslang_tab.cpp" break; case 397: /* type_specifier_nonarray: ITEXTURE3D */ @@ -9424,7 +9426,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D); } -#line 9428 "MachineIndependent/glslang_tab.cpp" +#line 9430 "MachineIndependent/glslang_tab.cpp" break; case 398: /* type_specifier_nonarray: ITEXTURECUBE */ @@ -9434,7 +9436,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube); } -#line 9438 "MachineIndependent/glslang_tab.cpp" +#line 9440 "MachineIndependent/glslang_tab.cpp" break; case 399: /* type_specifier_nonarray: ITEXTURE2DARRAY */ @@ -9444,7 +9446,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true); } -#line 9448 "MachineIndependent/glslang_tab.cpp" +#line 9450 "MachineIndependent/glslang_tab.cpp" break; case 400: /* type_specifier_nonarray: UTEXTURE2D */ @@ -9454,7 +9456,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D); } -#line 9458 "MachineIndependent/glslang_tab.cpp" +#line 9460 "MachineIndependent/glslang_tab.cpp" break; case 401: /* type_specifier_nonarray: UTEXTURE3D */ @@ -9464,7 +9466,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D); } -#line 9468 "MachineIndependent/glslang_tab.cpp" +#line 9470 "MachineIndependent/glslang_tab.cpp" break; case 402: /* type_specifier_nonarray: UTEXTURECUBE */ @@ -9474,7 +9476,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube); } -#line 9478 "MachineIndependent/glslang_tab.cpp" +#line 9480 "MachineIndependent/glslang_tab.cpp" break; case 403: /* type_specifier_nonarray: UTEXTURE2DARRAY */ @@ -9484,7 +9486,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true); } -#line 9488 "MachineIndependent/glslang_tab.cpp" +#line 9490 "MachineIndependent/glslang_tab.cpp" break; case 404: /* type_specifier_nonarray: SAMPLER */ @@ -9494,7 +9496,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setPureSampler(false); } -#line 9498 "MachineIndependent/glslang_tab.cpp" +#line 9500 "MachineIndependent/glslang_tab.cpp" break; case 405: /* type_specifier_nonarray: SAMPLERSHADOW */ @@ -9504,7 +9506,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setPureSampler(true); } -#line 9508 "MachineIndependent/glslang_tab.cpp" +#line 9510 "MachineIndependent/glslang_tab.cpp" break; case 406: /* type_specifier_nonarray: SAMPLER2DRECT */ @@ -9514,7 +9516,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdRect); } -#line 9518 "MachineIndependent/glslang_tab.cpp" +#line 9520 "MachineIndependent/glslang_tab.cpp" break; case 407: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */ @@ -9524,7 +9526,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true); } -#line 9528 "MachineIndependent/glslang_tab.cpp" +#line 9530 "MachineIndependent/glslang_tab.cpp" break; case 408: /* type_specifier_nonarray: F16SAMPLER2DRECT */ @@ -9535,7 +9537,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdRect); } -#line 9539 "MachineIndependent/glslang_tab.cpp" +#line 9541 "MachineIndependent/glslang_tab.cpp" break; case 409: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */ @@ -9546,7 +9548,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true); } -#line 9550 "MachineIndependent/glslang_tab.cpp" +#line 9552 "MachineIndependent/glslang_tab.cpp" break; case 410: /* type_specifier_nonarray: ISAMPLER2DRECT */ @@ -9556,7 +9558,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdRect); } -#line 9560 "MachineIndependent/glslang_tab.cpp" +#line 9562 "MachineIndependent/glslang_tab.cpp" break; case 411: /* type_specifier_nonarray: USAMPLER2DRECT */ @@ -9566,7 +9568,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdRect); } -#line 9570 "MachineIndependent/glslang_tab.cpp" +#line 9572 "MachineIndependent/glslang_tab.cpp" break; case 412: /* type_specifier_nonarray: SAMPLERBUFFER */ @@ -9576,7 +9578,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer); } -#line 9580 "MachineIndependent/glslang_tab.cpp" +#line 9582 "MachineIndependent/glslang_tab.cpp" break; case 413: /* type_specifier_nonarray: F16SAMPLERBUFFER */ @@ -9587,7 +9589,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer); } -#line 9591 "MachineIndependent/glslang_tab.cpp" +#line 9593 "MachineIndependent/glslang_tab.cpp" break; case 414: /* type_specifier_nonarray: ISAMPLERBUFFER */ @@ -9597,7 +9599,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, EsdBuffer); } -#line 9601 "MachineIndependent/glslang_tab.cpp" +#line 9603 "MachineIndependent/glslang_tab.cpp" break; case 415: /* type_specifier_nonarray: USAMPLERBUFFER */ @@ -9607,7 +9609,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, EsdBuffer); } -#line 9611 "MachineIndependent/glslang_tab.cpp" +#line 9613 "MachineIndependent/glslang_tab.cpp" break; case 416: /* type_specifier_nonarray: SAMPLER2DMS */ @@ -9617,7 +9619,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true); } -#line 9621 "MachineIndependent/glslang_tab.cpp" +#line 9623 "MachineIndependent/glslang_tab.cpp" break; case 417: /* type_specifier_nonarray: F16SAMPLER2DMS */ @@ -9628,7 +9630,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true); } -#line 9632 "MachineIndependent/glslang_tab.cpp" +#line 9634 "MachineIndependent/glslang_tab.cpp" break; case 418: /* type_specifier_nonarray: ISAMPLER2DMS */ @@ -9638,7 +9640,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true); } -#line 9642 "MachineIndependent/glslang_tab.cpp" +#line 9644 "MachineIndependent/glslang_tab.cpp" break; case 419: /* type_specifier_nonarray: USAMPLER2DMS */ @@ -9648,7 +9650,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true); } -#line 9652 "MachineIndependent/glslang_tab.cpp" +#line 9654 "MachineIndependent/glslang_tab.cpp" break; case 420: /* type_specifier_nonarray: SAMPLER2DMSARRAY */ @@ -9658,7 +9660,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true); } -#line 9662 "MachineIndependent/glslang_tab.cpp" +#line 9664 "MachineIndependent/glslang_tab.cpp" break; case 421: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */ @@ -9669,7 +9671,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true); } -#line 9673 "MachineIndependent/glslang_tab.cpp" +#line 9675 "MachineIndependent/glslang_tab.cpp" break; case 422: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */ @@ -9679,7 +9681,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true); } -#line 9683 "MachineIndependent/glslang_tab.cpp" +#line 9685 "MachineIndependent/glslang_tab.cpp" break; case 423: /* type_specifier_nonarray: USAMPLER2DMSARRAY */ @@ -9689,7 +9691,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true); } -#line 9693 "MachineIndependent/glslang_tab.cpp" +#line 9695 "MachineIndependent/glslang_tab.cpp" break; case 424: /* type_specifier_nonarray: TEXTURE1D */ @@ -9699,7 +9701,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D); } -#line 9703 "MachineIndependent/glslang_tab.cpp" +#line 9705 "MachineIndependent/glslang_tab.cpp" break; case 425: /* type_specifier_nonarray: F16TEXTURE1D */ @@ -9710,7 +9712,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D); } -#line 9714 "MachineIndependent/glslang_tab.cpp" +#line 9716 "MachineIndependent/glslang_tab.cpp" break; case 426: /* type_specifier_nonarray: F16TEXTURE2D */ @@ -9721,7 +9723,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D); } -#line 9725 "MachineIndependent/glslang_tab.cpp" +#line 9727 "MachineIndependent/glslang_tab.cpp" break; case 427: /* type_specifier_nonarray: F16TEXTURE3D */ @@ -9732,7 +9734,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D); } -#line 9736 "MachineIndependent/glslang_tab.cpp" +#line 9738 "MachineIndependent/glslang_tab.cpp" break; case 428: /* type_specifier_nonarray: F16TEXTURECUBE */ @@ -9743,7 +9745,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube); } -#line 9747 "MachineIndependent/glslang_tab.cpp" +#line 9749 "MachineIndependent/glslang_tab.cpp" break; case 429: /* type_specifier_nonarray: TEXTURE1DARRAY */ @@ -9753,7 +9755,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true); } -#line 9757 "MachineIndependent/glslang_tab.cpp" +#line 9759 "MachineIndependent/glslang_tab.cpp" break; case 430: /* type_specifier_nonarray: F16TEXTURE1DARRAY */ @@ -9764,7 +9766,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true); } -#line 9768 "MachineIndependent/glslang_tab.cpp" +#line 9770 "MachineIndependent/glslang_tab.cpp" break; case 431: /* type_specifier_nonarray: F16TEXTURE2DARRAY */ @@ -9775,7 +9777,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true); } -#line 9779 "MachineIndependent/glslang_tab.cpp" +#line 9781 "MachineIndependent/glslang_tab.cpp" break; case 432: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */ @@ -9786,7 +9788,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true); } -#line 9790 "MachineIndependent/glslang_tab.cpp" +#line 9792 "MachineIndependent/glslang_tab.cpp" break; case 433: /* type_specifier_nonarray: ITEXTURE1D */ @@ -9796,7 +9798,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D); } -#line 9800 "MachineIndependent/glslang_tab.cpp" +#line 9802 "MachineIndependent/glslang_tab.cpp" break; case 434: /* type_specifier_nonarray: ITEXTURE1DARRAY */ @@ -9806,7 +9808,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true); } -#line 9810 "MachineIndependent/glslang_tab.cpp" +#line 9812 "MachineIndependent/glslang_tab.cpp" break; case 435: /* type_specifier_nonarray: UTEXTURE1D */ @@ -9816,7 +9818,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D); } -#line 9820 "MachineIndependent/glslang_tab.cpp" +#line 9822 "MachineIndependent/glslang_tab.cpp" break; case 436: /* type_specifier_nonarray: UTEXTURE1DARRAY */ @@ -9826,7 +9828,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true); } -#line 9830 "MachineIndependent/glslang_tab.cpp" +#line 9832 "MachineIndependent/glslang_tab.cpp" break; case 437: /* type_specifier_nonarray: TEXTURE2DRECT */ @@ -9836,7 +9838,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect); } -#line 9840 "MachineIndependent/glslang_tab.cpp" +#line 9842 "MachineIndependent/glslang_tab.cpp" break; case 438: /* type_specifier_nonarray: F16TEXTURE2DRECT */ @@ -9847,7 +9849,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect); } -#line 9851 "MachineIndependent/glslang_tab.cpp" +#line 9853 "MachineIndependent/glslang_tab.cpp" break; case 439: /* type_specifier_nonarray: ITEXTURE2DRECT */ @@ -9857,7 +9859,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect); } -#line 9861 "MachineIndependent/glslang_tab.cpp" +#line 9863 "MachineIndependent/glslang_tab.cpp" break; case 440: /* type_specifier_nonarray: UTEXTURE2DRECT */ @@ -9867,7 +9869,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect); } -#line 9871 "MachineIndependent/glslang_tab.cpp" +#line 9873 "MachineIndependent/glslang_tab.cpp" break; case 441: /* type_specifier_nonarray: TEXTUREBUFFER */ @@ -9877,7 +9879,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer); } -#line 9881 "MachineIndependent/glslang_tab.cpp" +#line 9883 "MachineIndependent/glslang_tab.cpp" break; case 442: /* type_specifier_nonarray: F16TEXTUREBUFFER */ @@ -9888,7 +9890,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer); } -#line 9892 "MachineIndependent/glslang_tab.cpp" +#line 9894 "MachineIndependent/glslang_tab.cpp" break; case 443: /* type_specifier_nonarray: ITEXTUREBUFFER */ @@ -9898,7 +9900,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer); } -#line 9902 "MachineIndependent/glslang_tab.cpp" +#line 9904 "MachineIndependent/glslang_tab.cpp" break; case 444: /* type_specifier_nonarray: UTEXTUREBUFFER */ @@ -9908,7 +9910,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer); } -#line 9912 "MachineIndependent/glslang_tab.cpp" +#line 9914 "MachineIndependent/glslang_tab.cpp" break; case 445: /* type_specifier_nonarray: TEXTURE2DMS */ @@ -9918,7 +9920,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true); } -#line 9922 "MachineIndependent/glslang_tab.cpp" +#line 9924 "MachineIndependent/glslang_tab.cpp" break; case 446: /* type_specifier_nonarray: F16TEXTURE2DMS */ @@ -9929,7 +9931,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true); } -#line 9933 "MachineIndependent/glslang_tab.cpp" +#line 9935 "MachineIndependent/glslang_tab.cpp" break; case 447: /* type_specifier_nonarray: ITEXTURE2DMS */ @@ -9939,7 +9941,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true); } -#line 9943 "MachineIndependent/glslang_tab.cpp" +#line 9945 "MachineIndependent/glslang_tab.cpp" break; case 448: /* type_specifier_nonarray: UTEXTURE2DMS */ @@ -9949,7 +9951,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true); } -#line 9953 "MachineIndependent/glslang_tab.cpp" +#line 9955 "MachineIndependent/glslang_tab.cpp" break; case 449: /* type_specifier_nonarray: TEXTURE2DMSARRAY */ @@ -9959,7 +9961,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true); } -#line 9963 "MachineIndependent/glslang_tab.cpp" +#line 9965 "MachineIndependent/glslang_tab.cpp" break; case 450: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */ @@ -9970,7 +9972,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true); } -#line 9974 "MachineIndependent/glslang_tab.cpp" +#line 9976 "MachineIndependent/glslang_tab.cpp" break; case 451: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */ @@ -9980,7 +9982,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true); } -#line 9984 "MachineIndependent/glslang_tab.cpp" +#line 9986 "MachineIndependent/glslang_tab.cpp" break; case 452: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */ @@ -9990,7 +9992,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true); } -#line 9994 "MachineIndependent/glslang_tab.cpp" +#line 9996 "MachineIndependent/glslang_tab.cpp" break; case 453: /* type_specifier_nonarray: IMAGE1D */ @@ -10000,7 +10002,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D); } -#line 10004 "MachineIndependent/glslang_tab.cpp" +#line 10006 "MachineIndependent/glslang_tab.cpp" break; case 454: /* type_specifier_nonarray: F16IMAGE1D */ @@ -10011,7 +10013,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D); } -#line 10015 "MachineIndependent/glslang_tab.cpp" +#line 10017 "MachineIndependent/glslang_tab.cpp" break; case 455: /* type_specifier_nonarray: IIMAGE1D */ @@ -10021,7 +10023,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd1D); } -#line 10025 "MachineIndependent/glslang_tab.cpp" +#line 10027 "MachineIndependent/glslang_tab.cpp" break; case 456: /* type_specifier_nonarray: UIMAGE1D */ @@ -10031,7 +10033,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd1D); } -#line 10035 "MachineIndependent/glslang_tab.cpp" +#line 10037 "MachineIndependent/glslang_tab.cpp" break; case 457: /* type_specifier_nonarray: IMAGE2D */ @@ -10041,7 +10043,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D); } -#line 10045 "MachineIndependent/glslang_tab.cpp" +#line 10047 "MachineIndependent/glslang_tab.cpp" break; case 458: /* type_specifier_nonarray: F16IMAGE2D */ @@ -10052,7 +10054,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D); } -#line 10056 "MachineIndependent/glslang_tab.cpp" +#line 10058 "MachineIndependent/glslang_tab.cpp" break; case 459: /* type_specifier_nonarray: IIMAGE2D */ @@ -10062,7 +10064,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D); } -#line 10066 "MachineIndependent/glslang_tab.cpp" +#line 10068 "MachineIndependent/glslang_tab.cpp" break; case 460: /* type_specifier_nonarray: UIMAGE2D */ @@ -10072,7 +10074,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D); } -#line 10076 "MachineIndependent/glslang_tab.cpp" +#line 10078 "MachineIndependent/glslang_tab.cpp" break; case 461: /* type_specifier_nonarray: IMAGE3D */ @@ -10082,7 +10084,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D); } -#line 10086 "MachineIndependent/glslang_tab.cpp" +#line 10088 "MachineIndependent/glslang_tab.cpp" break; case 462: /* type_specifier_nonarray: F16IMAGE3D */ @@ -10093,7 +10095,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D); } -#line 10097 "MachineIndependent/glslang_tab.cpp" +#line 10099 "MachineIndependent/glslang_tab.cpp" break; case 463: /* type_specifier_nonarray: IIMAGE3D */ @@ -10103,7 +10105,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd3D); } -#line 10107 "MachineIndependent/glslang_tab.cpp" +#line 10109 "MachineIndependent/glslang_tab.cpp" break; case 464: /* type_specifier_nonarray: UIMAGE3D */ @@ -10113,7 +10115,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd3D); } -#line 10117 "MachineIndependent/glslang_tab.cpp" +#line 10119 "MachineIndependent/glslang_tab.cpp" break; case 465: /* type_specifier_nonarray: IMAGE2DRECT */ @@ -10123,7 +10125,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect); } -#line 10127 "MachineIndependent/glslang_tab.cpp" +#line 10129 "MachineIndependent/glslang_tab.cpp" break; case 466: /* type_specifier_nonarray: F16IMAGE2DRECT */ @@ -10134,7 +10136,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect); } -#line 10138 "MachineIndependent/glslang_tab.cpp" +#line 10140 "MachineIndependent/glslang_tab.cpp" break; case 467: /* type_specifier_nonarray: IIMAGE2DRECT */ @@ -10144,7 +10146,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdRect); } -#line 10148 "MachineIndependent/glslang_tab.cpp" +#line 10150 "MachineIndependent/glslang_tab.cpp" break; case 468: /* type_specifier_nonarray: UIMAGE2DRECT */ @@ -10154,7 +10156,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdRect); } -#line 10158 "MachineIndependent/glslang_tab.cpp" +#line 10160 "MachineIndependent/glslang_tab.cpp" break; case 469: /* type_specifier_nonarray: IMAGECUBE */ @@ -10164,7 +10166,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube); } -#line 10168 "MachineIndependent/glslang_tab.cpp" +#line 10170 "MachineIndependent/glslang_tab.cpp" break; case 470: /* type_specifier_nonarray: F16IMAGECUBE */ @@ -10175,7 +10177,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube); } -#line 10179 "MachineIndependent/glslang_tab.cpp" +#line 10181 "MachineIndependent/glslang_tab.cpp" break; case 471: /* type_specifier_nonarray: IIMAGECUBE */ @@ -10185,7 +10187,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdCube); } -#line 10189 "MachineIndependent/glslang_tab.cpp" +#line 10191 "MachineIndependent/glslang_tab.cpp" break; case 472: /* type_specifier_nonarray: UIMAGECUBE */ @@ -10195,7 +10197,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdCube); } -#line 10199 "MachineIndependent/glslang_tab.cpp" +#line 10201 "MachineIndependent/glslang_tab.cpp" break; case 473: /* type_specifier_nonarray: IMAGEBUFFER */ @@ -10205,7 +10207,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer); } -#line 10209 "MachineIndependent/glslang_tab.cpp" +#line 10211 "MachineIndependent/glslang_tab.cpp" break; case 474: /* type_specifier_nonarray: F16IMAGEBUFFER */ @@ -10216,7 +10218,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer); } -#line 10220 "MachineIndependent/glslang_tab.cpp" +#line 10222 "MachineIndependent/glslang_tab.cpp" break; case 475: /* type_specifier_nonarray: IIMAGEBUFFER */ @@ -10226,7 +10228,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer); } -#line 10230 "MachineIndependent/glslang_tab.cpp" +#line 10232 "MachineIndependent/glslang_tab.cpp" break; case 476: /* type_specifier_nonarray: UIMAGEBUFFER */ @@ -10236,7 +10238,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer); } -#line 10240 "MachineIndependent/glslang_tab.cpp" +#line 10242 "MachineIndependent/glslang_tab.cpp" break; case 477: /* type_specifier_nonarray: IMAGE1DARRAY */ @@ -10246,7 +10248,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true); } -#line 10250 "MachineIndependent/glslang_tab.cpp" +#line 10252 "MachineIndependent/glslang_tab.cpp" break; case 478: /* type_specifier_nonarray: F16IMAGE1DARRAY */ @@ -10257,7 +10259,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true); } -#line 10261 "MachineIndependent/glslang_tab.cpp" +#line 10263 "MachineIndependent/glslang_tab.cpp" break; case 479: /* type_specifier_nonarray: IIMAGE1DARRAY */ @@ -10267,7 +10269,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true); } -#line 10271 "MachineIndependent/glslang_tab.cpp" +#line 10273 "MachineIndependent/glslang_tab.cpp" break; case 480: /* type_specifier_nonarray: UIMAGE1DARRAY */ @@ -10277,7 +10279,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true); } -#line 10281 "MachineIndependent/glslang_tab.cpp" +#line 10283 "MachineIndependent/glslang_tab.cpp" break; case 481: /* type_specifier_nonarray: IMAGE2DARRAY */ @@ -10287,7 +10289,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true); } -#line 10291 "MachineIndependent/glslang_tab.cpp" +#line 10293 "MachineIndependent/glslang_tab.cpp" break; case 482: /* type_specifier_nonarray: F16IMAGE2DARRAY */ @@ -10298,7 +10300,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true); } -#line 10302 "MachineIndependent/glslang_tab.cpp" +#line 10304 "MachineIndependent/glslang_tab.cpp" break; case 483: /* type_specifier_nonarray: IIMAGE2DARRAY */ @@ -10308,7 +10310,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true); } -#line 10312 "MachineIndependent/glslang_tab.cpp" +#line 10314 "MachineIndependent/glslang_tab.cpp" break; case 484: /* type_specifier_nonarray: UIMAGE2DARRAY */ @@ -10318,7 +10320,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true); } -#line 10322 "MachineIndependent/glslang_tab.cpp" +#line 10324 "MachineIndependent/glslang_tab.cpp" break; case 485: /* type_specifier_nonarray: IMAGECUBEARRAY */ @@ -10328,7 +10330,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true); } -#line 10332 "MachineIndependent/glslang_tab.cpp" +#line 10334 "MachineIndependent/glslang_tab.cpp" break; case 486: /* type_specifier_nonarray: F16IMAGECUBEARRAY */ @@ -10339,7 +10341,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true); } -#line 10343 "MachineIndependent/glslang_tab.cpp" +#line 10345 "MachineIndependent/glslang_tab.cpp" break; case 487: /* type_specifier_nonarray: IIMAGECUBEARRAY */ @@ -10349,7 +10351,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true); } -#line 10353 "MachineIndependent/glslang_tab.cpp" +#line 10355 "MachineIndependent/glslang_tab.cpp" break; case 488: /* type_specifier_nonarray: UIMAGECUBEARRAY */ @@ -10359,7 +10361,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true); } -#line 10363 "MachineIndependent/glslang_tab.cpp" +#line 10365 "MachineIndependent/glslang_tab.cpp" break; case 489: /* type_specifier_nonarray: IMAGE2DMS */ @@ -10369,7 +10371,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true); } -#line 10373 "MachineIndependent/glslang_tab.cpp" +#line 10375 "MachineIndependent/glslang_tab.cpp" break; case 490: /* type_specifier_nonarray: F16IMAGE2DMS */ @@ -10380,7 +10382,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true); } -#line 10384 "MachineIndependent/glslang_tab.cpp" +#line 10386 "MachineIndependent/glslang_tab.cpp" break; case 491: /* type_specifier_nonarray: IIMAGE2DMS */ @@ -10390,7 +10392,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true); } -#line 10394 "MachineIndependent/glslang_tab.cpp" +#line 10396 "MachineIndependent/glslang_tab.cpp" break; case 492: /* type_specifier_nonarray: UIMAGE2DMS */ @@ -10400,7 +10402,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true); } -#line 10404 "MachineIndependent/glslang_tab.cpp" +#line 10406 "MachineIndependent/glslang_tab.cpp" break; case 493: /* type_specifier_nonarray: IMAGE2DMSARRAY */ @@ -10410,7 +10412,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true); } -#line 10414 "MachineIndependent/glslang_tab.cpp" +#line 10416 "MachineIndependent/glslang_tab.cpp" break; case 494: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */ @@ -10421,7 +10423,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true); } -#line 10425 "MachineIndependent/glslang_tab.cpp" +#line 10427 "MachineIndependent/glslang_tab.cpp" break; case 495: /* type_specifier_nonarray: IIMAGE2DMSARRAY */ @@ -10431,7 +10433,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true); } -#line 10435 "MachineIndependent/glslang_tab.cpp" +#line 10437 "MachineIndependent/glslang_tab.cpp" break; case 496: /* type_specifier_nonarray: UIMAGE2DMSARRAY */ @@ -10441,7 +10443,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true); } -#line 10445 "MachineIndependent/glslang_tab.cpp" +#line 10447 "MachineIndependent/glslang_tab.cpp" break; case 497: /* type_specifier_nonarray: I64IMAGE1D */ @@ -10451,7 +10453,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, Esd1D); } -#line 10455 "MachineIndependent/glslang_tab.cpp" +#line 10457 "MachineIndependent/glslang_tab.cpp" break; case 498: /* type_specifier_nonarray: U64IMAGE1D */ @@ -10461,7 +10463,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, Esd1D); } -#line 10465 "MachineIndependent/glslang_tab.cpp" +#line 10467 "MachineIndependent/glslang_tab.cpp" break; case 499: /* type_specifier_nonarray: I64IMAGE2D */ @@ -10471,7 +10473,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D); } -#line 10475 "MachineIndependent/glslang_tab.cpp" +#line 10477 "MachineIndependent/glslang_tab.cpp" break; case 500: /* type_specifier_nonarray: U64IMAGE2D */ @@ -10481,7 +10483,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D); } -#line 10485 "MachineIndependent/glslang_tab.cpp" +#line 10487 "MachineIndependent/glslang_tab.cpp" break; case 501: /* type_specifier_nonarray: I64IMAGE3D */ @@ -10491,7 +10493,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, Esd3D); } -#line 10495 "MachineIndependent/glslang_tab.cpp" +#line 10497 "MachineIndependent/glslang_tab.cpp" break; case 502: /* type_specifier_nonarray: U64IMAGE3D */ @@ -10501,7 +10503,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, Esd3D); } -#line 10505 "MachineIndependent/glslang_tab.cpp" +#line 10507 "MachineIndependent/glslang_tab.cpp" break; case 503: /* type_specifier_nonarray: I64IMAGE2DRECT */ @@ -10511,7 +10513,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, EsdRect); } -#line 10515 "MachineIndependent/glslang_tab.cpp" +#line 10517 "MachineIndependent/glslang_tab.cpp" break; case 504: /* type_specifier_nonarray: U64IMAGE2DRECT */ @@ -10521,7 +10523,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, EsdRect); } -#line 10525 "MachineIndependent/glslang_tab.cpp" +#line 10527 "MachineIndependent/glslang_tab.cpp" break; case 505: /* type_specifier_nonarray: I64IMAGECUBE */ @@ -10531,7 +10533,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, EsdCube); } -#line 10535 "MachineIndependent/glslang_tab.cpp" +#line 10537 "MachineIndependent/glslang_tab.cpp" break; case 506: /* type_specifier_nonarray: U64IMAGECUBE */ @@ -10541,7 +10543,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, EsdCube); } -#line 10545 "MachineIndependent/glslang_tab.cpp" +#line 10547 "MachineIndependent/glslang_tab.cpp" break; case 507: /* type_specifier_nonarray: I64IMAGEBUFFER */ @@ -10551,7 +10553,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, EsdBuffer); } -#line 10555 "MachineIndependent/glslang_tab.cpp" +#line 10557 "MachineIndependent/glslang_tab.cpp" break; case 508: /* type_specifier_nonarray: U64IMAGEBUFFER */ @@ -10561,7 +10563,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, EsdBuffer); } -#line 10565 "MachineIndependent/glslang_tab.cpp" +#line 10567 "MachineIndependent/glslang_tab.cpp" break; case 509: /* type_specifier_nonarray: I64IMAGE1DARRAY */ @@ -10571,7 +10573,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, Esd1D, true); } -#line 10575 "MachineIndependent/glslang_tab.cpp" +#line 10577 "MachineIndependent/glslang_tab.cpp" break; case 510: /* type_specifier_nonarray: U64IMAGE1DARRAY */ @@ -10581,7 +10583,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, Esd1D, true); } -#line 10585 "MachineIndependent/glslang_tab.cpp" +#line 10587 "MachineIndependent/glslang_tab.cpp" break; case 511: /* type_specifier_nonarray: I64IMAGE2DARRAY */ @@ -10591,7 +10593,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true); } -#line 10595 "MachineIndependent/glslang_tab.cpp" +#line 10597 "MachineIndependent/glslang_tab.cpp" break; case 512: /* type_specifier_nonarray: U64IMAGE2DARRAY */ @@ -10601,7 +10603,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true); } -#line 10605 "MachineIndependent/glslang_tab.cpp" +#line 10607 "MachineIndependent/glslang_tab.cpp" break; case 513: /* type_specifier_nonarray: I64IMAGECUBEARRAY */ @@ -10611,7 +10613,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, EsdCube, true); } -#line 10615 "MachineIndependent/glslang_tab.cpp" +#line 10617 "MachineIndependent/glslang_tab.cpp" break; case 514: /* type_specifier_nonarray: U64IMAGECUBEARRAY */ @@ -10621,7 +10623,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, EsdCube, true); } -#line 10625 "MachineIndependent/glslang_tab.cpp" +#line 10627 "MachineIndependent/glslang_tab.cpp" break; case 515: /* type_specifier_nonarray: I64IMAGE2DMS */ @@ -10631,7 +10633,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, false, false, true); } -#line 10635 "MachineIndependent/glslang_tab.cpp" +#line 10637 "MachineIndependent/glslang_tab.cpp" break; case 516: /* type_specifier_nonarray: U64IMAGE2DMS */ @@ -10641,7 +10643,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, false, false, true); } -#line 10645 "MachineIndependent/glslang_tab.cpp" +#line 10647 "MachineIndependent/glslang_tab.cpp" break; case 517: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */ @@ -10651,7 +10653,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true, false, true); } -#line 10655 "MachineIndependent/glslang_tab.cpp" +#line 10657 "MachineIndependent/glslang_tab.cpp" break; case 518: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */ @@ -10661,7 +10663,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true, false, true); } -#line 10665 "MachineIndependent/glslang_tab.cpp" +#line 10667 "MachineIndependent/glslang_tab.cpp" break; case 519: /* type_specifier_nonarray: SAMPLEREXTERNALOES */ @@ -10672,7 +10674,7 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat, Esd2D); (yyval.interm.type).sampler.external = true; } -#line 10676 "MachineIndependent/glslang_tab.cpp" +#line 10678 "MachineIndependent/glslang_tab.cpp" break; case 520: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */ @@ -10683,7 +10685,7 @@ yyreduce: (yyval.interm.type).sampler.set(EbtFloat, Esd2D); (yyval.interm.type).sampler.yuv = true; } -#line 10687 "MachineIndependent/glslang_tab.cpp" +#line 10689 "MachineIndependent/glslang_tab.cpp" break; case 521: /* type_specifier_nonarray: ATTACHMENTEXT */ @@ -10694,7 +10696,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setAttachmentEXT(EbtFloat); } -#line 10698 "MachineIndependent/glslang_tab.cpp" +#line 10700 "MachineIndependent/glslang_tab.cpp" break; case 522: /* type_specifier_nonarray: IATTACHMENTEXT */ @@ -10705,7 +10707,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setAttachmentEXT(EbtInt); } -#line 10709 "MachineIndependent/glslang_tab.cpp" +#line 10711 "MachineIndependent/glslang_tab.cpp" break; case 523: /* type_specifier_nonarray: UATTACHMENTEXT */ @@ -10716,7 +10718,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setAttachmentEXT(EbtUint); } -#line 10720 "MachineIndependent/glslang_tab.cpp" +#line 10722 "MachineIndependent/glslang_tab.cpp" break; case 524: /* type_specifier_nonarray: SUBPASSINPUT */ @@ -10727,7 +10729,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat); } -#line 10731 "MachineIndependent/glslang_tab.cpp" +#line 10733 "MachineIndependent/glslang_tab.cpp" break; case 525: /* type_specifier_nonarray: SUBPASSINPUTMS */ @@ -10738,7 +10740,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat, true); } -#line 10742 "MachineIndependent/glslang_tab.cpp" +#line 10744 "MachineIndependent/glslang_tab.cpp" break; case 526: /* type_specifier_nonarray: F16SUBPASSINPUT */ @@ -10750,7 +10752,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat16); } -#line 10754 "MachineIndependent/glslang_tab.cpp" +#line 10756 "MachineIndependent/glslang_tab.cpp" break; case 527: /* type_specifier_nonarray: F16SUBPASSINPUTMS */ @@ -10762,7 +10764,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtFloat16, true); } -#line 10766 "MachineIndependent/glslang_tab.cpp" +#line 10768 "MachineIndependent/glslang_tab.cpp" break; case 528: /* type_specifier_nonarray: ISUBPASSINPUT */ @@ -10773,7 +10775,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtInt); } -#line 10777 "MachineIndependent/glslang_tab.cpp" +#line 10779 "MachineIndependent/glslang_tab.cpp" break; case 529: /* type_specifier_nonarray: ISUBPASSINPUTMS */ @@ -10784,7 +10786,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtInt, true); } -#line 10788 "MachineIndependent/glslang_tab.cpp" +#line 10790 "MachineIndependent/glslang_tab.cpp" break; case 530: /* type_specifier_nonarray: USUBPASSINPUT */ @@ -10795,7 +10797,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtUint); } -#line 10799 "MachineIndependent/glslang_tab.cpp" +#line 10801 "MachineIndependent/glslang_tab.cpp" break; case 531: /* type_specifier_nonarray: USUBPASSINPUTMS */ @@ -10806,7 +10808,7 @@ yyreduce: (yyval.interm.type).basicType = EbtSampler; (yyval.interm.type).sampler.setSubpass(EbtUint, true); } -#line 10810 "MachineIndependent/glslang_tab.cpp" +#line 10812 "MachineIndependent/glslang_tab.cpp" break; case 532: /* type_specifier_nonarray: FCOOPMATNV */ @@ -10817,7 +10819,7 @@ yyreduce: (yyval.interm.type).basicType = EbtFloat; (yyval.interm.type).coopmat = true; } -#line 10821 "MachineIndependent/glslang_tab.cpp" +#line 10823 "MachineIndependent/glslang_tab.cpp" break; case 533: /* type_specifier_nonarray: ICOOPMATNV */ @@ -10828,7 +10830,7 @@ yyreduce: (yyval.interm.type).basicType = EbtInt; (yyval.interm.type).coopmat = true; } -#line 10832 "MachineIndependent/glslang_tab.cpp" +#line 10834 "MachineIndependent/glslang_tab.cpp" break; case 534: /* type_specifier_nonarray: UCOOPMATNV */ @@ -10839,7 +10841,7 @@ yyreduce: (yyval.interm.type).basicType = EbtUint; (yyval.interm.type).coopmat = true; } -#line 10843 "MachineIndependent/glslang_tab.cpp" +#line 10845 "MachineIndependent/glslang_tab.cpp" break; case 535: /* type_specifier_nonarray: spirv_type_specifier */ @@ -10848,7 +10850,7 @@ yyreduce: parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V type specifier"); (yyval.interm.type) = (yyvsp[0].interm.type); } -#line 10852 "MachineIndependent/glslang_tab.cpp" +#line 10854 "MachineIndependent/glslang_tab.cpp" break; case 536: /* type_specifier_nonarray: HITOBJECTNV */ @@ -10857,7 +10859,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).basicType = EbtHitObjectNV; } -#line 10861 "MachineIndependent/glslang_tab.cpp" +#line 10863 "MachineIndependent/glslang_tab.cpp" break; case 537: /* type_specifier_nonarray: struct_specifier */ @@ -10867,7 +10869,7 @@ yyreduce: (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type)); } -#line 10871 "MachineIndependent/glslang_tab.cpp" +#line 10873 "MachineIndependent/glslang_tab.cpp" break; case 538: /* type_specifier_nonarray: TYPE_NAME */ @@ -10885,7 +10887,7 @@ yyreduce: } else parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), ""); } -#line 10889 "MachineIndependent/glslang_tab.cpp" +#line 10891 "MachineIndependent/glslang_tab.cpp" break; case 539: /* precision_qualifier: HIGH_PRECISION */ @@ -10895,7 +10897,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh); } -#line 10899 "MachineIndependent/glslang_tab.cpp" +#line 10901 "MachineIndependent/glslang_tab.cpp" break; case 540: /* precision_qualifier: MEDIUM_PRECISION */ @@ -10905,7 +10907,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium); } -#line 10909 "MachineIndependent/glslang_tab.cpp" +#line 10911 "MachineIndependent/glslang_tab.cpp" break; case 541: /* precision_qualifier: LOW_PRECISION */ @@ -10915,13 +10917,13 @@ yyreduce: (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel()); parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow); } -#line 10919 "MachineIndependent/glslang_tab.cpp" +#line 10921 "MachineIndependent/glslang_tab.cpp" break; case 542: /* $@3: %empty */ #line 3589 "MachineIndependent/glslang.y" { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); } -#line 10925 "MachineIndependent/glslang_tab.cpp" +#line 10927 "MachineIndependent/glslang_tab.cpp" break; case 543: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */ @@ -10937,13 +10939,13 @@ yyreduce: (yyval.interm.type).userDef = structure; --parseContext.structNestingLevel; } -#line 10941 "MachineIndependent/glslang_tab.cpp" +#line 10943 "MachineIndependent/glslang_tab.cpp" break; case 544: /* $@4: %empty */ #line 3600 "MachineIndependent/glslang.y" { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); } -#line 10947 "MachineIndependent/glslang_tab.cpp" +#line 10949 "MachineIndependent/glslang_tab.cpp" break; case 545: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */ @@ -10955,7 +10957,7 @@ yyreduce: (yyval.interm.type).userDef = structure; --parseContext.structNestingLevel; } -#line 10959 "MachineIndependent/glslang_tab.cpp" +#line 10961 "MachineIndependent/glslang_tab.cpp" break; case 546: /* struct_declaration_list: struct_declaration */ @@ -10963,7 +10965,7 @@ yyreduce: { (yyval.interm.typeList) = (yyvsp[0].interm.typeList); } -#line 10967 "MachineIndependent/glslang_tab.cpp" +#line 10969 "MachineIndependent/glslang_tab.cpp" break; case 547: /* struct_declaration_list: struct_declaration_list struct_declaration */ @@ -10978,7 +10980,7 @@ yyreduce: (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]); } } -#line 10982 "MachineIndependent/glslang_tab.cpp" +#line 10984 "MachineIndependent/glslang_tab.cpp" break; case 548: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */ @@ -11005,7 +11007,7 @@ yyreduce: (*(yyval.interm.typeList))[i].type->shallowCopy(type); } } -#line 11009 "MachineIndependent/glslang_tab.cpp" +#line 11011 "MachineIndependent/glslang_tab.cpp" break; case 549: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */ @@ -11034,7 +11036,7 @@ yyreduce: (*(yyval.interm.typeList))[i].type->shallowCopy(type); } } -#line 11038 "MachineIndependent/glslang_tab.cpp" +#line 11040 "MachineIndependent/glslang_tab.cpp" break; case 550: /* struct_declarator_list: struct_declarator */ @@ -11043,7 +11045,7 @@ yyreduce: (yyval.interm.typeList) = new TTypeList; (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); } -#line 11047 "MachineIndependent/glslang_tab.cpp" +#line 11049 "MachineIndependent/glslang_tab.cpp" break; case 551: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */ @@ -11051,7 +11053,7 @@ yyreduce: { (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine)); } -#line 11055 "MachineIndependent/glslang_tab.cpp" +#line 11057 "MachineIndependent/glslang_tab.cpp" break; case 552: /* struct_declarator: IDENTIFIER */ @@ -11061,7 +11063,7 @@ yyreduce: (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc; (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string); } -#line 11065 "MachineIndependent/glslang_tab.cpp" +#line 11067 "MachineIndependent/glslang_tab.cpp" break; case 553: /* struct_declarator: IDENTIFIER array_specifier */ @@ -11074,7 +11076,7 @@ yyreduce: (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string); (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes); } -#line 11078 "MachineIndependent/glslang_tab.cpp" +#line 11080 "MachineIndependent/glslang_tab.cpp" break; case 554: /* initializer: assignment_expression */ @@ -11082,7 +11084,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 11086 "MachineIndependent/glslang_tab.cpp" +#line 11088 "MachineIndependent/glslang_tab.cpp" break; case 555: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */ @@ -11093,7 +11095,7 @@ yyreduce: parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode); } -#line 11097 "MachineIndependent/glslang_tab.cpp" +#line 11099 "MachineIndependent/glslang_tab.cpp" break; case 556: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */ @@ -11104,7 +11106,7 @@ yyreduce: parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature); (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode); } -#line 11108 "MachineIndependent/glslang_tab.cpp" +#line 11110 "MachineIndependent/glslang_tab.cpp" break; case 557: /* initializer: LEFT_BRACE RIGHT_BRACE */ @@ -11115,7 +11117,7 @@ yyreduce: parseContext.profileRequires((yyvsp[-1].lex).loc, ~EEsProfile, 0, E_GL_EXT_null_initializer, initFeature); (yyval.interm.intermTypedNode) = parseContext.intermediate.makeAggregate((yyvsp[-1].lex).loc); } -#line 11119 "MachineIndependent/glslang_tab.cpp" +#line 11121 "MachineIndependent/glslang_tab.cpp" break; case 558: /* initializer_list: initializer */ @@ -11123,7 +11125,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc()); } -#line 11127 "MachineIndependent/glslang_tab.cpp" +#line 11129 "MachineIndependent/glslang_tab.cpp" break; case 559: /* initializer_list: initializer_list COMMA initializer */ @@ -11131,73 +11133,73 @@ yyreduce: { (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)); } -#line 11135 "MachineIndependent/glslang_tab.cpp" +#line 11137 "MachineIndependent/glslang_tab.cpp" break; case 560: /* declaration_statement: declaration */ #line 3738 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11141 "MachineIndependent/glslang_tab.cpp" +#line 11143 "MachineIndependent/glslang_tab.cpp" break; case 561: /* statement: compound_statement */ #line 3742 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11147 "MachineIndependent/glslang_tab.cpp" +#line 11149 "MachineIndependent/glslang_tab.cpp" break; case 562: /* statement: simple_statement */ #line 3743 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11153 "MachineIndependent/glslang_tab.cpp" +#line 11155 "MachineIndependent/glslang_tab.cpp" break; case 563: /* simple_statement: declaration_statement */ #line 3749 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11159 "MachineIndependent/glslang_tab.cpp" +#line 11161 "MachineIndependent/glslang_tab.cpp" break; case 564: /* simple_statement: expression_statement */ #line 3750 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11165 "MachineIndependent/glslang_tab.cpp" +#line 11167 "MachineIndependent/glslang_tab.cpp" break; case 565: /* simple_statement: selection_statement */ #line 3751 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11171 "MachineIndependent/glslang_tab.cpp" +#line 11173 "MachineIndependent/glslang_tab.cpp" break; case 566: /* simple_statement: switch_statement */ #line 3752 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11177 "MachineIndependent/glslang_tab.cpp" +#line 11179 "MachineIndependent/glslang_tab.cpp" break; case 567: /* simple_statement: case_label */ #line 3753 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11183 "MachineIndependent/glslang_tab.cpp" +#line 11185 "MachineIndependent/glslang_tab.cpp" break; case 568: /* simple_statement: iteration_statement */ #line 3754 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11189 "MachineIndependent/glslang_tab.cpp" +#line 11191 "MachineIndependent/glslang_tab.cpp" break; case 569: /* simple_statement: jump_statement */ #line 3755 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11195 "MachineIndependent/glslang_tab.cpp" +#line 11197 "MachineIndependent/glslang_tab.cpp" break; case 570: /* simple_statement: demote_statement */ #line 3757 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11201 "MachineIndependent/glslang_tab.cpp" +#line 11203 "MachineIndependent/glslang_tab.cpp" break; case 571: /* demote_statement: DEMOTE SEMICOLON */ @@ -11207,13 +11209,13 @@ yyreduce: parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDemote, (yyvsp[-1].lex).loc); } -#line 11211 "MachineIndependent/glslang_tab.cpp" +#line 11213 "MachineIndependent/glslang_tab.cpp" break; case 572: /* compound_statement: LEFT_BRACE RIGHT_BRACE */ #line 3772 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11217 "MachineIndependent/glslang_tab.cpp" +#line 11219 "MachineIndependent/glslang_tab.cpp" break; case 573: /* $@5: %empty */ @@ -11222,7 +11224,7 @@ yyreduce: parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; } -#line 11226 "MachineIndependent/glslang_tab.cpp" +#line 11228 "MachineIndependent/glslang_tab.cpp" break; case 574: /* $@6: %empty */ @@ -11231,7 +11233,7 @@ yyreduce: parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; } -#line 11235 "MachineIndependent/glslang_tab.cpp" +#line 11237 "MachineIndependent/glslang_tab.cpp" break; case 575: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */ @@ -11241,19 +11243,19 @@ yyreduce: (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence); (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode); } -#line 11245 "MachineIndependent/glslang_tab.cpp" +#line 11247 "MachineIndependent/glslang_tab.cpp" break; case 576: /* statement_no_new_scope: compound_statement_no_new_scope */ #line 3789 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11251 "MachineIndependent/glslang_tab.cpp" +#line 11253 "MachineIndependent/glslang_tab.cpp" break; case 577: /* statement_no_new_scope: simple_statement */ #line 3790 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11257 "MachineIndependent/glslang_tab.cpp" +#line 11259 "MachineIndependent/glslang_tab.cpp" break; case 578: /* $@7: %empty */ @@ -11261,7 +11263,7 @@ yyreduce: { ++parseContext.controlFlowNestingLevel; } -#line 11265 "MachineIndependent/glslang_tab.cpp" +#line 11267 "MachineIndependent/glslang_tab.cpp" break; case 579: /* statement_scoped: $@7 compound_statement */ @@ -11270,7 +11272,7 @@ yyreduce: --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11274 "MachineIndependent/glslang_tab.cpp" +#line 11276 "MachineIndependent/glslang_tab.cpp" break; case 580: /* $@8: %empty */ @@ -11280,7 +11282,7 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11284 "MachineIndependent/glslang_tab.cpp" +#line 11286 "MachineIndependent/glslang_tab.cpp" break; case 581: /* statement_scoped: $@8 simple_statement */ @@ -11291,7 +11293,7 @@ yyreduce: --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11295 "MachineIndependent/glslang_tab.cpp" +#line 11297 "MachineIndependent/glslang_tab.cpp" break; case 582: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */ @@ -11299,7 +11301,7 @@ yyreduce: { (yyval.interm.intermNode) = 0; } -#line 11303 "MachineIndependent/glslang_tab.cpp" +#line 11305 "MachineIndependent/glslang_tab.cpp" break; case 583: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */ @@ -11309,7 +11311,7 @@ yyreduce: (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode); } -#line 11313 "MachineIndependent/glslang_tab.cpp" +#line 11315 "MachineIndependent/glslang_tab.cpp" break; case 584: /* statement_list: statement */ @@ -11322,7 +11324,7 @@ yyreduce: (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case } } -#line 11326 "MachineIndependent/glslang_tab.cpp" +#line 11328 "MachineIndependent/glslang_tab.cpp" break; case 585: /* statement_list: statement_list statement */ @@ -11335,19 +11337,19 @@ yyreduce: } else (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 11339 "MachineIndependent/glslang_tab.cpp" +#line 11341 "MachineIndependent/glslang_tab.cpp" break; case 586: /* expression_statement: SEMICOLON */ #line 3845 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11345 "MachineIndependent/glslang_tab.cpp" +#line 11347 "MachineIndependent/glslang_tab.cpp" break; case 587: /* expression_statement: expression SEMICOLON */ #line 3846 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } -#line 11351 "MachineIndependent/glslang_tab.cpp" +#line 11353 "MachineIndependent/glslang_tab.cpp" break; case 588: /* selection_statement: selection_statement_nonattributed */ @@ -11355,7 +11357,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11359 "MachineIndependent/glslang_tab.cpp" +#line 11361 "MachineIndependent/glslang_tab.cpp" break; case 589: /* selection_statement: attribute selection_statement_nonattributed */ @@ -11365,7 +11367,7 @@ yyreduce: parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11369 "MachineIndependent/glslang_tab.cpp" +#line 11371 "MachineIndependent/glslang_tab.cpp" break; case 590: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */ @@ -11374,7 +11376,7 @@ yyreduce: parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode)); (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc); } -#line 11378 "MachineIndependent/glslang_tab.cpp" +#line 11380 "MachineIndependent/glslang_tab.cpp" break; case 591: /* selection_rest_statement: statement_scoped ELSE statement_scoped */ @@ -11383,7 +11385,7 @@ yyreduce: (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); } -#line 11387 "MachineIndependent/glslang_tab.cpp" +#line 11389 "MachineIndependent/glslang_tab.cpp" break; case 592: /* selection_rest_statement: statement_scoped */ @@ -11392,7 +11394,7 @@ yyreduce: (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); (yyval.interm.nodePair).node2 = 0; } -#line 11396 "MachineIndependent/glslang_tab.cpp" +#line 11398 "MachineIndependent/glslang_tab.cpp" break; case 593: /* condition: expression */ @@ -11401,7 +11403,7 @@ yyreduce: (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); } -#line 11405 "MachineIndependent/glslang_tab.cpp" +#line 11407 "MachineIndependent/glslang_tab.cpp" break; case 594: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */ @@ -11416,7 +11418,7 @@ yyreduce: else (yyval.interm.intermTypedNode) = 0; } -#line 11420 "MachineIndependent/glslang_tab.cpp" +#line 11422 "MachineIndependent/glslang_tab.cpp" break; case 595: /* switch_statement: switch_statement_nonattributed */ @@ -11424,7 +11426,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11428 "MachineIndependent/glslang_tab.cpp" +#line 11430 "MachineIndependent/glslang_tab.cpp" break; case 596: /* switch_statement: attribute switch_statement_nonattributed */ @@ -11434,7 +11436,7 @@ yyreduce: parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11438 "MachineIndependent/glslang_tab.cpp" +#line 11440 "MachineIndependent/glslang_tab.cpp" break; case 597: /* $@9: %empty */ @@ -11447,7 +11449,7 @@ yyreduce: parseContext.switchLevel.push_back(parseContext.statementNestingLevel); parseContext.symbolTable.push(); } -#line 11451 "MachineIndependent/glslang_tab.cpp" +#line 11453 "MachineIndependent/glslang_tab.cpp" break; case 598: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */ @@ -11461,7 +11463,7 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11465 "MachineIndependent/glslang_tab.cpp" +#line 11467 "MachineIndependent/glslang_tab.cpp" break; case 599: /* switch_statement_list: %empty */ @@ -11469,7 +11471,7 @@ yyreduce: { (yyval.interm.intermNode) = 0; } -#line 11473 "MachineIndependent/glslang_tab.cpp" +#line 11475 "MachineIndependent/glslang_tab.cpp" break; case 600: /* switch_statement_list: statement_list */ @@ -11477,7 +11479,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11481 "MachineIndependent/glslang_tab.cpp" +#line 11483 "MachineIndependent/glslang_tab.cpp" break; case 601: /* case_label: CASE expression COLON */ @@ -11494,7 +11496,7 @@ yyreduce: (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc); } } -#line 11498 "MachineIndependent/glslang_tab.cpp" +#line 11500 "MachineIndependent/glslang_tab.cpp" break; case 602: /* case_label: DEFAULT COLON */ @@ -11508,7 +11510,7 @@ yyreduce: else (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc); } -#line 11512 "MachineIndependent/glslang_tab.cpp" +#line 11514 "MachineIndependent/glslang_tab.cpp" break; case 603: /* iteration_statement: iteration_statement_nonattributed */ @@ -11516,7 +11518,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11520 "MachineIndependent/glslang_tab.cpp" +#line 11522 "MachineIndependent/glslang_tab.cpp" break; case 604: /* iteration_statement: attribute iteration_statement_nonattributed */ @@ -11526,7 +11528,7 @@ yyreduce: parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11530 "MachineIndependent/glslang_tab.cpp" +#line 11532 "MachineIndependent/glslang_tab.cpp" break; case 605: /* $@10: %empty */ @@ -11539,7 +11541,7 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11543 "MachineIndependent/glslang_tab.cpp" +#line 11545 "MachineIndependent/glslang_tab.cpp" break; case 606: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */ @@ -11551,7 +11553,7 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11555 "MachineIndependent/glslang_tab.cpp" +#line 11557 "MachineIndependent/glslang_tab.cpp" break; case 607: /* $@11: %empty */ @@ -11562,7 +11564,7 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11566 "MachineIndependent/glslang_tab.cpp" +#line 11568 "MachineIndependent/glslang_tab.cpp" break; case 608: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */ @@ -11579,7 +11581,7 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11583 "MachineIndependent/glslang_tab.cpp" +#line 11585 "MachineIndependent/glslang_tab.cpp" break; case 609: /* $@12: %empty */ @@ -11590,7 +11592,7 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11594 "MachineIndependent/glslang_tab.cpp" +#line 11596 "MachineIndependent/glslang_tab.cpp" break; case 610: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */ @@ -11607,7 +11609,7 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11611 "MachineIndependent/glslang_tab.cpp" +#line 11613 "MachineIndependent/glslang_tab.cpp" break; case 611: /* for_init_statement: expression_statement */ @@ -11615,7 +11617,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11619 "MachineIndependent/glslang_tab.cpp" +#line 11621 "MachineIndependent/glslang_tab.cpp" break; case 612: /* for_init_statement: declaration_statement */ @@ -11623,7 +11625,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11627 "MachineIndependent/glslang_tab.cpp" +#line 11629 "MachineIndependent/glslang_tab.cpp" break; case 613: /* conditionopt: condition */ @@ -11631,7 +11633,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 11635 "MachineIndependent/glslang_tab.cpp" +#line 11637 "MachineIndependent/glslang_tab.cpp" break; case 614: /* conditionopt: %empty */ @@ -11639,7 +11641,7 @@ yyreduce: { (yyval.interm.intermTypedNode) = 0; } -#line 11643 "MachineIndependent/glslang_tab.cpp" +#line 11645 "MachineIndependent/glslang_tab.cpp" break; case 615: /* for_rest_statement: conditionopt SEMICOLON */ @@ -11648,7 +11650,7 @@ yyreduce: (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); (yyval.interm.nodePair).node2 = 0; } -#line 11652 "MachineIndependent/glslang_tab.cpp" +#line 11654 "MachineIndependent/glslang_tab.cpp" break; case 616: /* for_rest_statement: conditionopt SEMICOLON expression */ @@ -11657,7 +11659,7 @@ yyreduce: (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); } -#line 11661 "MachineIndependent/glslang_tab.cpp" +#line 11663 "MachineIndependent/glslang_tab.cpp" break; case 617: /* jump_statement: CONTINUE SEMICOLON */ @@ -11667,7 +11669,7 @@ yyreduce: parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", ""); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc); } -#line 11671 "MachineIndependent/glslang_tab.cpp" +#line 11673 "MachineIndependent/glslang_tab.cpp" break; case 618: /* jump_statement: BREAK SEMICOLON */ @@ -11677,7 +11679,7 @@ yyreduce: parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", ""); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc); } -#line 11681 "MachineIndependent/glslang_tab.cpp" +#line 11683 "MachineIndependent/glslang_tab.cpp" break; case 619: /* jump_statement: RETURN SEMICOLON */ @@ -11689,7 +11691,7 @@ yyreduce: if (parseContext.inMain) parseContext.postEntryPointReturn = true; } -#line 11693 "MachineIndependent/glslang_tab.cpp" +#line 11695 "MachineIndependent/glslang_tab.cpp" break; case 620: /* jump_statement: RETURN expression SEMICOLON */ @@ -11697,7 +11699,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); } -#line 11701 "MachineIndependent/glslang_tab.cpp" +#line 11703 "MachineIndependent/glslang_tab.cpp" break; case 621: /* jump_statement: DISCARD SEMICOLON */ @@ -11706,7 +11708,7 @@ yyreduce: parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); } -#line 11710 "MachineIndependent/glslang_tab.cpp" +#line 11712 "MachineIndependent/glslang_tab.cpp" break; case 622: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */ @@ -11715,7 +11717,7 @@ yyreduce: parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc); } -#line 11719 "MachineIndependent/glslang_tab.cpp" +#line 11721 "MachineIndependent/glslang_tab.cpp" break; case 623: /* jump_statement: TERMINATE_RAY SEMICOLON */ @@ -11724,7 +11726,7 @@ yyreduce: parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc); } -#line 11728 "MachineIndependent/glslang_tab.cpp" +#line 11730 "MachineIndependent/glslang_tab.cpp" break; case 624: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */ @@ -11733,7 +11735,7 @@ yyreduce: parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc); } -#line 11737 "MachineIndependent/glslang_tab.cpp" +#line 11739 "MachineIndependent/glslang_tab.cpp" break; case 625: /* translation_unit: external_declaration */ @@ -11742,7 +11744,7 @@ yyreduce: (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } -#line 11746 "MachineIndependent/glslang_tab.cpp" +#line 11748 "MachineIndependent/glslang_tab.cpp" break; case 626: /* translation_unit: translation_unit external_declaration */ @@ -11753,7 +11755,7 @@ yyreduce: parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } } -#line 11757 "MachineIndependent/glslang_tab.cpp" +#line 11759 "MachineIndependent/glslang_tab.cpp" break; case 627: /* external_declaration: function_definition */ @@ -11761,7 +11763,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11765 "MachineIndependent/glslang_tab.cpp" +#line 11767 "MachineIndependent/glslang_tab.cpp" break; case 628: /* external_declaration: declaration */ @@ -11769,7 +11771,7 @@ yyreduce: { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11773 "MachineIndependent/glslang_tab.cpp" +#line 11775 "MachineIndependent/glslang_tab.cpp" break; case 629: /* external_declaration: SEMICOLON */ @@ -11779,7 +11781,7 @@ yyreduce: parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon"); (yyval.interm.intermNode) = nullptr; } -#line 11783 "MachineIndependent/glslang_tab.cpp" +#line 11785 "MachineIndependent/glslang_tab.cpp" break; case 630: /* $@13: %empty */ @@ -11796,7 +11798,7 @@ yyreduce: ++parseContext.statementNestingLevel; } } -#line 11800 "MachineIndependent/glslang_tab.cpp" +#line 11802 "MachineIndependent/glslang_tab.cpp" break; case 631: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */ @@ -11827,7 +11829,7 @@ yyreduce: --parseContext.statementNestingLevel; } } -#line 11831 "MachineIndependent/glslang_tab.cpp" +#line 11833 "MachineIndependent/glslang_tab.cpp" break; case 632: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */ @@ -11835,7 +11837,7 @@ yyreduce: { (yyval.interm.attributes) = (yyvsp[-2].interm.attributes); } -#line 11839 "MachineIndependent/glslang_tab.cpp" +#line 11841 "MachineIndependent/glslang_tab.cpp" break; case 633: /* attribute_list: single_attribute */ @@ -11843,7 +11845,7 @@ yyreduce: { (yyval.interm.attributes) = (yyvsp[0].interm.attributes); } -#line 11847 "MachineIndependent/glslang_tab.cpp" +#line 11849 "MachineIndependent/glslang_tab.cpp" break; case 634: /* attribute_list: attribute_list COMMA single_attribute */ @@ -11851,7 +11853,7 @@ yyreduce: { (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); } -#line 11855 "MachineIndependent/glslang_tab.cpp" +#line 11857 "MachineIndependent/glslang_tab.cpp" break; case 635: /* single_attribute: IDENTIFIER */ @@ -11859,7 +11861,7 @@ yyreduce: { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); } -#line 11863 "MachineIndependent/glslang_tab.cpp" +#line 11865 "MachineIndependent/glslang_tab.cpp" break; case 636: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */ @@ -11867,7 +11869,7 @@ yyreduce: { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode)); } -#line 11871 "MachineIndependent/glslang_tab.cpp" +#line 11873 "MachineIndependent/glslang_tab.cpp" break; case 637: /* spirv_requirements_list: spirv_requirements_parameter */ @@ -11875,7 +11877,7 @@ yyreduce: { (yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq); } -#line 11879 "MachineIndependent/glslang_tab.cpp" +#line 11881 "MachineIndependent/glslang_tab.cpp" break; case 638: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */ @@ -11883,7 +11885,7 @@ yyreduce: { (yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq)); } -#line 11887 "MachineIndependent/glslang_tab.cpp" +#line 11889 "MachineIndependent/glslang_tab.cpp" break; case 639: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */ @@ -11891,7 +11893,7 @@ yyreduce: { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr); } -#line 11895 "MachineIndependent/glslang_tab.cpp" +#line 11897 "MachineIndependent/glslang_tab.cpp" break; case 640: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */ @@ -11899,7 +11901,7 @@ yyreduce: { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 11903 "MachineIndependent/glslang_tab.cpp" +#line 11905 "MachineIndependent/glslang_tab.cpp" break; case 641: /* spirv_extension_list: STRING_LITERAL */ @@ -11907,7 +11909,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 11911 "MachineIndependent/glslang_tab.cpp" +#line 11913 "MachineIndependent/glslang_tab.cpp" break; case 642: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */ @@ -11915,7 +11917,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 11919 "MachineIndependent/glslang_tab.cpp" +#line 11921 "MachineIndependent/glslang_tab.cpp" break; case 643: /* spirv_capability_list: INTCONSTANT */ @@ -11923,7 +11925,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true)); } -#line 11927 "MachineIndependent/glslang_tab.cpp" +#line 11929 "MachineIndependent/glslang_tab.cpp" break; case 644: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */ @@ -11931,7 +11933,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true)); } -#line 11935 "MachineIndependent/glslang_tab.cpp" +#line 11937 "MachineIndependent/glslang_tab.cpp" break; case 645: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ @@ -11940,7 +11942,7 @@ yyreduce: parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11944 "MachineIndependent/glslang_tab.cpp" +#line 11946 "MachineIndependent/glslang_tab.cpp" break; case 646: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ @@ -11950,7 +11952,7 @@ yyreduce: parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11954 "MachineIndependent/glslang_tab.cpp" +#line 11956 "MachineIndependent/glslang_tab.cpp" break; case 647: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ @@ -11959,7 +11961,7 @@ yyreduce: parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 11963 "MachineIndependent/glslang_tab.cpp" +#line 11965 "MachineIndependent/glslang_tab.cpp" break; case 648: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ @@ -11969,7 +11971,7 @@ yyreduce: parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 11973 "MachineIndependent/glslang_tab.cpp" +#line 11975 "MachineIndependent/glslang_tab.cpp" break; case 649: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */ @@ -11978,7 +11980,7 @@ yyreduce: parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 11982 "MachineIndependent/glslang_tab.cpp" +#line 11984 "MachineIndependent/glslang_tab.cpp" break; case 650: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */ @@ -11988,7 +11990,7 @@ yyreduce: parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 11992 "MachineIndependent/glslang_tab.cpp" +#line 11994 "MachineIndependent/glslang_tab.cpp" break; case 651: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */ @@ -11996,7 +11998,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12000 "MachineIndependent/glslang_tab.cpp" +#line 12002 "MachineIndependent/glslang_tab.cpp" break; case 652: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */ @@ -12004,7 +12006,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12008 "MachineIndependent/glslang_tab.cpp" +#line 12010 "MachineIndependent/glslang_tab.cpp" break; case 653: /* spirv_execution_mode_parameter: FLOATCONSTANT */ @@ -12012,7 +12014,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12016 "MachineIndependent/glslang_tab.cpp" +#line 12018 "MachineIndependent/glslang_tab.cpp" break; case 654: /* spirv_execution_mode_parameter: INTCONSTANT */ @@ -12020,7 +12022,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12024 "MachineIndependent/glslang_tab.cpp" +#line 12026 "MachineIndependent/glslang_tab.cpp" break; case 655: /* spirv_execution_mode_parameter: UINTCONSTANT */ @@ -12028,7 +12030,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12032 "MachineIndependent/glslang_tab.cpp" +#line 12034 "MachineIndependent/glslang_tab.cpp" break; case 656: /* spirv_execution_mode_parameter: BOOLCONSTANT */ @@ -12036,7 +12038,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12040 "MachineIndependent/glslang_tab.cpp" +#line 12042 "MachineIndependent/glslang_tab.cpp" break; case 657: /* spirv_execution_mode_parameter: STRING_LITERAL */ @@ -12044,7 +12046,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true); } -#line 12048 "MachineIndependent/glslang_tab.cpp" +#line 12050 "MachineIndependent/glslang_tab.cpp" break; case 658: /* spirv_execution_mode_id_parameter_list: constant_expression */ @@ -12058,7 +12060,7 @@ yyreduce: parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), ""); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode)); } -#line 12062 "MachineIndependent/glslang_tab.cpp" +#line 12064 "MachineIndependent/glslang_tab.cpp" break; case 659: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */ @@ -12072,7 +12074,7 @@ yyreduce: parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), ""); (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode)); } -#line 12076 "MachineIndependent/glslang_tab.cpp" +#line 12078 "MachineIndependent/glslang_tab.cpp" break; case 660: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */ @@ -12082,7 +12084,7 @@ yyreduce: (yyval.interm.type).qualifier.storage = EvqSpirvStorageClass; (yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i; } -#line 12086 "MachineIndependent/glslang_tab.cpp" +#line 12088 "MachineIndependent/glslang_tab.cpp" break; case 661: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ @@ -12093,7 +12095,7 @@ yyreduce: (yyval.interm.type).qualifier.storage = EvqSpirvStorageClass; (yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i; } -#line 12097 "MachineIndependent/glslang_tab.cpp" +#line 12099 "MachineIndependent/glslang_tab.cpp" break; case 662: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ @@ -12102,7 +12104,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-3].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i); } -#line 12106 "MachineIndependent/glslang_tab.cpp" +#line 12108 "MachineIndependent/glslang_tab.cpp" break; case 663: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ @@ -12112,7 +12114,7 @@ yyreduce: parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i); } -#line 12116 "MachineIndependent/glslang_tab.cpp" +#line 12118 "MachineIndependent/glslang_tab.cpp" break; case 664: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ @@ -12121,7 +12123,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12125 "MachineIndependent/glslang_tab.cpp" +#line 12127 "MachineIndependent/glslang_tab.cpp" break; case 665: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ @@ -12131,7 +12133,7 @@ yyreduce: parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12135 "MachineIndependent/glslang_tab.cpp" +#line 12137 "MachineIndependent/glslang_tab.cpp" break; case 666: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ @@ -12140,7 +12142,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12144 "MachineIndependent/glslang_tab.cpp" +#line 12146 "MachineIndependent/glslang_tab.cpp" break; case 667: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ @@ -12150,7 +12152,7 @@ yyreduce: parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12154 "MachineIndependent/glslang_tab.cpp" +#line 12156 "MachineIndependent/glslang_tab.cpp" break; case 668: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ @@ -12159,7 +12161,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-5].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12163 "MachineIndependent/glslang_tab.cpp" +#line 12165 "MachineIndependent/glslang_tab.cpp" break; case 669: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ @@ -12169,7 +12171,7 @@ yyreduce: parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 12173 "MachineIndependent/glslang_tab.cpp" +#line 12175 "MachineIndependent/glslang_tab.cpp" break; case 670: /* spirv_decorate_parameter_list: spirv_decorate_parameter */ @@ -12177,7 +12179,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12181 "MachineIndependent/glslang_tab.cpp" +#line 12183 "MachineIndependent/glslang_tab.cpp" break; case 671: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */ @@ -12185,7 +12187,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12189 "MachineIndependent/glslang_tab.cpp" +#line 12191 "MachineIndependent/glslang_tab.cpp" break; case 672: /* spirv_decorate_parameter: FLOATCONSTANT */ @@ -12193,7 +12195,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12197 "MachineIndependent/glslang_tab.cpp" +#line 12199 "MachineIndependent/glslang_tab.cpp" break; case 673: /* spirv_decorate_parameter: INTCONSTANT */ @@ -12201,7 +12203,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12205 "MachineIndependent/glslang_tab.cpp" +#line 12207 "MachineIndependent/glslang_tab.cpp" break; case 674: /* spirv_decorate_parameter: UINTCONSTANT */ @@ -12209,7 +12211,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12213 "MachineIndependent/glslang_tab.cpp" +#line 12215 "MachineIndependent/glslang_tab.cpp" break; case 675: /* spirv_decorate_parameter: BOOLCONSTANT */ @@ -12217,7 +12219,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12221 "MachineIndependent/glslang_tab.cpp" +#line 12223 "MachineIndependent/glslang_tab.cpp" break; case 676: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter */ @@ -12225,7 +12227,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12229 "MachineIndependent/glslang_tab.cpp" +#line 12231 "MachineIndependent/glslang_tab.cpp" break; case 677: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA spirv_decorate_id_parameter */ @@ -12233,7 +12235,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12237 "MachineIndependent/glslang_tab.cpp" +#line 12239 "MachineIndependent/glslang_tab.cpp" break; case 678: /* spirv_decorate_id_parameter: variable_identifier */ @@ -12244,7 +12246,7 @@ yyreduce: else parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "only allow constants or variables which are not elements of a composite", "", ""); } -#line 12248 "MachineIndependent/glslang_tab.cpp" +#line 12250 "MachineIndependent/glslang_tab.cpp" break; case 679: /* spirv_decorate_id_parameter: FLOATCONSTANT */ @@ -12252,7 +12254,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12256 "MachineIndependent/glslang_tab.cpp" +#line 12258 "MachineIndependent/glslang_tab.cpp" break; case 680: /* spirv_decorate_id_parameter: INTCONSTANT */ @@ -12260,7 +12262,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12264 "MachineIndependent/glslang_tab.cpp" +#line 12266 "MachineIndependent/glslang_tab.cpp" break; case 681: /* spirv_decorate_id_parameter: UINTCONSTANT */ @@ -12268,7 +12270,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12272 "MachineIndependent/glslang_tab.cpp" +#line 12274 "MachineIndependent/glslang_tab.cpp" break; case 682: /* spirv_decorate_id_parameter: BOOLCONSTANT */ @@ -12276,7 +12278,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12280 "MachineIndependent/glslang_tab.cpp" +#line 12282 "MachineIndependent/glslang_tab.cpp" break; case 683: /* spirv_decorate_string_parameter_list: STRING_LITERAL */ @@ -12285,7 +12287,7 @@ yyreduce: (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate( parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 12289 "MachineIndependent/glslang_tab.cpp" +#line 12291 "MachineIndependent/glslang_tab.cpp" break; case 684: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */ @@ -12293,7 +12295,7 @@ yyreduce: { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 12297 "MachineIndependent/glslang_tab.cpp" +#line 12299 "MachineIndependent/glslang_tab.cpp" break; case 685: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ @@ -12302,7 +12304,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams)); } -#line 12306 "MachineIndependent/glslang_tab.cpp" +#line 12308 "MachineIndependent/glslang_tab.cpp" break; case 686: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ @@ -12312,7 +12314,7 @@ yyreduce: parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq)); (yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams)); } -#line 12316 "MachineIndependent/glslang_tab.cpp" +#line 12318 "MachineIndependent/glslang_tab.cpp" break; case 687: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ @@ -12321,7 +12323,7 @@ yyreduce: (yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst)); } -#line 12325 "MachineIndependent/glslang_tab.cpp" +#line 12327 "MachineIndependent/glslang_tab.cpp" break; case 688: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ @@ -12331,7 +12333,7 @@ yyreduce: parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst)); } -#line 12335 "MachineIndependent/glslang_tab.cpp" +#line 12337 "MachineIndependent/glslang_tab.cpp" break; case 689: /* spirv_type_parameter_list: spirv_type_parameter */ @@ -12339,7 +12341,7 @@ yyreduce: { (yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams); } -#line 12343 "MachineIndependent/glslang_tab.cpp" +#line 12345 "MachineIndependent/glslang_tab.cpp" break; case 690: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */ @@ -12347,7 +12349,7 @@ yyreduce: { (yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams)); } -#line 12351 "MachineIndependent/glslang_tab.cpp" +#line 12353 "MachineIndependent/glslang_tab.cpp" break; case 691: /* spirv_type_parameter: constant_expression */ @@ -12355,60 +12357,68 @@ yyreduce: { (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion()); } -#line 12359 "MachineIndependent/glslang_tab.cpp" +#line 12361 "MachineIndependent/glslang_tab.cpp" break; - case 692: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4444 "MachineIndependent/glslang.y" + case 692: /* spirv_type_parameter: type_specifier_nonarray */ +#line 4442 "MachineIndependent/glslang.y" + { + (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); + } +#line 12369 "MachineIndependent/glslang_tab.cpp" + break; + + case 693: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ +#line 4447 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12367 "MachineIndependent/glslang_tab.cpp" +#line 12377 "MachineIndependent/glslang_tab.cpp" break; - case 693: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4447 "MachineIndependent/glslang.y" + case 694: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ +#line 4450 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12376 "MachineIndependent/glslang_tab.cpp" +#line 12386 "MachineIndependent/glslang_tab.cpp" break; - case 694: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */ -#line 4453 "MachineIndependent/glslang.y" + case 695: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */ +#line 4456 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst); } -#line 12384 "MachineIndependent/glslang_tab.cpp" +#line 12394 "MachineIndependent/glslang_tab.cpp" break; - case 695: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */ -#line 4456 "MachineIndependent/glslang.y" + case 696: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */ +#line 4459 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst)); } -#line 12392 "MachineIndependent/glslang_tab.cpp" +#line 12402 "MachineIndependent/glslang_tab.cpp" break; - case 696: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */ -#line 4461 "MachineIndependent/glslang.y" + case 697: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */ +#line 4464 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string); } -#line 12400 "MachineIndependent/glslang_tab.cpp" +#line 12410 "MachineIndependent/glslang_tab.cpp" break; - case 697: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */ -#line 4464 "MachineIndependent/glslang.y" + case 698: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */ +#line 4467 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i); } -#line 12408 "MachineIndependent/glslang_tab.cpp" +#line 12418 "MachineIndependent/glslang_tab.cpp" break; -#line 12412 "MachineIndependent/glslang_tab.cpp" +#line 12422 "MachineIndependent/glslang_tab.cpp" default: break; } @@ -12633,5 +12643,5 @@ yyreturn: return yyresult; } -#line 4469 "MachineIndependent/glslang.y" +#line 4472 "MachineIndependent/glslang.y" diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 5a4c4287a..2aee2d1ee 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -398,6 +398,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.intrinsicsSpirvStorageClass.rchit", "spv.intrinsicsSpirvType.rgen", "spv.intrinsicsSpirvTypeLocalVar.vert", + "spv.intrinsicsSpirvTypeWithTypeSpecifier.vert", "spv.invariantAll.vert", "spv.layer.tese", "spv.layoutNested.vert",