aboutsummaryrefslogtreecommitdiff
path: root/glslang
diff options
context:
space:
mode:
authorDavid Neto <dneto@google.com>2023-01-16 16:35:49 -0500
committerDavid Neto <dneto@google.com>2023-01-16 18:39:12 -0500
commit3413ac75f77bea1fb8cc7f04fd83a62384e1d34e (patch)
treeeb7973ea8406bd6e91a6e1ecc1e3119fc66b0887 /glslang
parent7e8734f89a7a56ec1326e9ea9bfbc847f38e2f32 (diff)
parent1fb2f1d7896627d62a289439a2c3e750e551a7ab (diff)
downloadglslang-3413ac75f77bea1fb8cc7f04fd83a62384e1d34e.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into update-shaderc
Includes: 1fb2f1d7 Merge pull request #3108 from greg-lunarg/i3105 9b67d41b Fix crash on bad structure member reference 06a7078c build: Remove AMD_EXTENSIONS / NV_EXTENSIONS defines 1d978158 Merge pull request #3100 from daniel-story/fix-dual-src-draw-buffers d1fc064e Merge pull request #3102 from jeremy-lunarg/hayes-fix-debuginfo-disassembly d38d06c0 Fix debuginfo disassembly 68935bc2 Merge pull request #3099 from jeremy-lunarg/hayes-fix-issue-3095 bec8359b Fix const parameter debug types a88f6741 Fix issues with MaxDualSourceDrawBuffersEXT dcae1873 Remove languages from cmake project statement f9b760e6 [glslang] Refine implicit array size interfaces. (#3074) c6b3f279 Merge pull request #3087 from dneto0/remove-unused 4fe00178 Remove the name of unused formal paramters 6d8b00b1 Add support for GL_NV_shader_invocation_reorder. (#3054) 4fc43cd3 Add support for GL_NV_shader_invocation_reorder. (#3054) 19d816c8 Merge pull request #3086 from jeremy-lunarg/hayes-fix-3073 586baa35 Guard AppleClang linker options ed257e2b Merge pull request #3066 from ShchchowAMD/shaochi/bindless 16526fd9 [glslang][EXT] Support extension ARB_bindless_texture. 77551c42 Merge pull request #3081 from jeremy-lunarg/hayes-update-changes 5f6fa4e7 Merge pull request #3080 from jeremy-lunarg/hayes-update-known-good 683c0f34 Update CHANGES for release 11.13.0 08cf7bd2 Update known_good.json e3e8baf8 Merge pull request #3079 from gby/GL_ARM_shader_core_builtins 0464ff45 GL_ARM_shader_core_builtins support a7603c13 Use nullptr where possible instead of NULL or 0 728c6895 Include: PoolAlloc: do not rely on CMake define 12bb8602 Merge pull request #3077 from greg-lunarg/edos3 7f047b98 Add EliminateDeadOutputStores to API. 0cd93a0e Merge pull request #3076 from greg-lunarg/kg124 1ddba01a Update known goods 88fd417b Fix locations of cmake files in side compat shims 2b2523fb Merge pull request #3061 from ShabbyX/remove-angle-build-flag 6b2493a4 Remove GLSLANG_ANGLE f4cba22d Merge pull request #3060 from greg-lunarg/limit3 cc4c7330 Fix include in resource_limits_c.h 5e08deae Merge pull request #3057 from ShabbyX/fix-gn-build 1813a14a Fix gn build 8da64950 Merge pull request #3055 from greg-lunarg/limit2 90c52143 Improve ResourceLimits interface to be more forward compatible 1a8869e4 Merge pull request #3050 from Try/mesh-shader-ibo-fixup 11409249 update failing test-cases 980ac508 Merge pull request #3047 from akien-mga/spirv.hpp-dos2unix 0c3c37de Merge pull request #3046 from amdrexu/bugfix a0ad0d70 Merge pull request #3043 from gnl21/helper-invocation a21b8d8d mesh shader: fix implicit index-array size calculation for lines and triangles 5c352476 Test for spv1.6 + memory model HelperInvocation d570b2b0 Change Volatile generation for HelperInvocation 5755de46 Merge pull request #3049 from jeremy-lunarg/hayes-update-changes 78221d61 Update CHANGES for release 11.12.0 ef6c9714 Merge pull request #3048 from jeremy-lunarg/hayes-update-known-good a77d26f0 Update known_good.json 568e233e Merge pull request #3037 from mbechard/master 15bd5048 Merge pull request #3045 from James2022-rgb/feature/c_interface_preamble_support 7541f398 Convert spirv.hpp line endings to LF (Unix style) 17b0a218 Fix incorrect parse message of mesh shader 573e9849 CInterface: Add preamble support. d11c3ff3 only use dead input elimination on vertex shaders Testing: checkbuild.py on Linux Change-Id: Ie3eacf3d18a88f7e160487515296cc82edef0ad8
Diffstat (limited to 'glslang')
-rw-r--r--glslang/CInterface/glslang_c_interface.cpp6
-rw-r--r--glslang/CMakeLists.txt4
-rw-r--r--glslang/GenericCodeGen/Link.cpp2
-rw-r--r--glslang/HLSL/hlslGrammar.cpp2
-rw-r--r--glslang/HLSL/hlslParseHelper.cpp10
-rw-r--r--glslang/HLSL/hlslParseHelper.h8
-rw-r--r--glslang/Include/BaseTypes.h10
-rw-r--r--glslang/Include/PoolAlloc.h8
-rw-r--r--glslang/Include/ShHandle.h16
-rw-r--r--glslang/Include/Types.h62
-rw-r--r--glslang/Include/arrays.h19
-rw-r--r--glslang/Include/glslang_c_interface.h9
-rw-r--r--glslang/Include/intermediate.h91
-rw-r--r--glslang/MachineIndependent/Constant.cpp10
-rw-r--r--glslang/MachineIndependent/Initialize.cpp334
-rw-r--r--glslang/MachineIndependent/Intermediate.cpp7
-rw-r--r--glslang/MachineIndependent/ParseContextBase.cpp6
-rw-r--r--glslang/MachineIndependent/ParseHelper.cpp380
-rw-r--r--glslang/MachineIndependent/ParseHelper.h8
-rw-r--r--glslang/MachineIndependent/PoolAlloc.cpp10
-rw-r--r--glslang/MachineIndependent/Scan.cpp17
-rw-r--r--glslang/MachineIndependent/ShaderLang.cpp101
-rw-r--r--glslang/MachineIndependent/SymbolTable.cpp5
-rw-r--r--glslang/MachineIndependent/SymbolTable.h45
-rw-r--r--glslang/MachineIndependent/Versions.cpp31
-rw-r--r--glslang/MachineIndependent/Versions.h5
-rw-r--r--glslang/MachineIndependent/glslang.m417
-rw-r--r--glslang/MachineIndependent/glslang.y19
-rw-r--r--glslang/MachineIndependent/glslang_tab.cpp9174
-rw-r--r--glslang/MachineIndependent/glslang_tab.cpp.h588
-rw-r--r--glslang/MachineIndependent/intermOut.cpp38
-rw-r--r--glslang/MachineIndependent/iomapper.cpp4
-rw-r--r--glslang/MachineIndependent/iomapper.h4
-rw-r--r--glslang/MachineIndependent/linkValidate.cpp55
-rw-r--r--glslang/MachineIndependent/localintermediate.h90
-rw-r--r--glslang/MachineIndependent/parseConst.cpp2
-rw-r--r--glslang/MachineIndependent/parseVersions.h10
-rw-r--r--glslang/MachineIndependent/preprocessor/PpContext.cpp2
-rw-r--r--glslang/MachineIndependent/preprocessor/PpTokens.cpp2
-rw-r--r--glslang/MachineIndependent/propagateNoContraction.cpp2
-rw-r--r--glslang/MachineIndependent/reflection.cpp6
-rw-r--r--glslang/MachineIndependent/reflection.h4
-rw-r--r--glslang/OSDependent/Unix/CMakeLists.txt2
-rw-r--r--glslang/OSDependent/Unix/ossource.cpp2
-rw-r--r--glslang/OSDependent/Windows/CMakeLists.txt2
-rw-r--r--glslang/OSDependent/Windows/ossource.cpp4
-rw-r--r--glslang/OSDependent/osinclude.h2
-rw-r--r--glslang/Public/ResourceLimits.h57
-rw-r--r--glslang/Public/ShaderLang.h10
-rw-r--r--glslang/Public/resource_limits_c.h57
50 files changed, 6160 insertions, 5199 deletions
diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp
index ead005c3..1465ce17 100644
--- a/glslang/CInterface/glslang_c_interface.cpp
+++ b/glslang/CInterface/glslang_c_interface.cpp
@@ -33,7 +33,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "glslang/Include/glslang_c_interface.h"
#include "StandAlone/DirStackFileIncluder.h"
-#include "StandAlone/ResourceLimits.h"
+#include "glslang/Public/ResourceLimits.h"
#include "glslang/Include/ShHandle.h"
#include "glslang/Include/ResourceLimits.h"
@@ -351,6 +351,10 @@ GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* in
return shader;
}
+GLSLANG_EXPORT void glslang_shader_set_preamble(glslang_shader_t* shader, const char* s) {
+ shader->shader->setPreamble(s);
+}
+
GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base)
{
const glslang::TResourceType res_type = glslang::TResourceType(res);
diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
index 72e82b48..7709f098 100644
--- a/glslang/CMakeLists.txt
+++ b/glslang/CMakeLists.txt
@@ -149,6 +149,8 @@ set(GLSLANG_SOURCES
set(GLSLANG_HEADERS
Public/ShaderLang.h
+ Public/ResourceLimits.h
+ Public/resource_limits_c.h
Include/arrays.h
Include/BaseTypes.h
Include/Common.h
@@ -210,7 +212,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `glslangTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::glslang)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
if(${BUILD_SHARED_LIBS})
diff --git a/glslang/GenericCodeGen/Link.cpp b/glslang/GenericCodeGen/Link.cpp
index c38db0f6..5e28405f 100644
--- a/glslang/GenericCodeGen/Link.cpp
+++ b/glslang/GenericCodeGen/Link.cpp
@@ -82,7 +82,7 @@ void DeleteUniformMap(TUniformMap* map)
TShHandleBase* ConstructBindings()
{
- return 0;
+ return nullptr;
}
void DeleteBindingList(TShHandleBase* bindingList)
diff --git a/glslang/HLSL/hlslGrammar.cpp b/glslang/HLSL/hlslGrammar.cpp
index a01f2403..19a792b9 100644
--- a/glslang/HLSL/hlslGrammar.cpp
+++ b/glslang/HLSL/hlslGrammar.cpp
@@ -3794,7 +3794,7 @@ bool HlslGrammar::acceptIterationStatement(TIntermNode*& statement, const TAttri
parseContext.unnestLooping();
--parseContext.controlFlowNestingLevel;
- loopNode = intermediate.addLoop(statement, condition, 0, false, loc);
+ loopNode = intermediate.addLoop(statement, condition, nullptr, false, loc);
statement = loopNode;
break;
diff --git a/glslang/HLSL/hlslParseHelper.cpp b/glslang/HLSL/hlslParseHelper.cpp
index 62e46a09..6e0d314a 100644
--- a/glslang/HLSL/hlslParseHelper.cpp
+++ b/glslang/HLSL/hlslParseHelper.cpp
@@ -1596,7 +1596,7 @@ void HlslParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFunction
//
bool builtIn;
TSymbol* symbol = symbolTable.find(function.getMangledName(), &builtIn);
- const TFunction* prevDec = symbol ? symbol->getAsFunction() : 0;
+ const TFunction* prevDec = symbol ? symbol->getAsFunction() : nullptr;
if (prototype) {
// All built-in functions are defined, even though they don't have a body.
@@ -2472,7 +2472,7 @@ TIntermNode* HlslParseContext::handleReturnValue(const TSourceLoc& loc, TIntermT
void HlslParseContext::handleFunctionArgument(TFunction* function,
TIntermTyped*& arguments, TIntermTyped* newArg)
{
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(newArg->getType());
function->addParameter(param);
@@ -7790,18 +7790,18 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, TFunction
// Handle aggregates: put all args into the new function call
for (int arg = 0; arg < int(args->getAsAggregate()->getSequence().size()); ++arg) {
// TODO: But for constness, we could avoid the new & shallowCopy, and use the pointer directly.
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(args->getAsAggregate()->getSequence()[arg]->getAsTyped()->getType());
convertedCall.addParameter(param);
}
} else if (args->getAsUnaryNode()) {
// Handle unaries: put all args into the new function call
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(args->getAsUnaryNode()->getOperand()->getAsTyped()->getType());
convertedCall.addParameter(param);
} else if (args->getAsTyped()) {
// Handle bare e.g, floats, not in an aggregate.
- TParameter param = { 0, new TType, nullptr };
+ TParameter param = { nullptr, new TType, nullptr };
param.type->shallowCopy(args->getAsTyped()->getType());
convertedCall.addParameter(param);
} else {
diff --git a/glslang/HLSL/hlslParseHelper.h b/glslang/HLSL/hlslParseHelper.h
index 96d85f43..97c52d45 100644
--- a/glslang/HLSL/hlslParseHelper.h
+++ b/glslang/HLSL/hlslParseHelper.h
@@ -147,14 +147,14 @@ public:
void declareTypedef(const TSourceLoc&, const TString& identifier, const TType&);
void declareStruct(const TSourceLoc&, TString& structName, TType&);
TSymbol* lookupUserType(const TString&, TType&);
- TIntermNode* declareVariable(const TSourceLoc&, const TString& identifier, TType&, TIntermTyped* initializer = 0);
+ TIntermNode* declareVariable(const TSourceLoc&, const TString& identifier, TType&, TIntermTyped* initializer = nullptr);
void lengthenList(const TSourceLoc&, TIntermSequence& list, int size, TIntermTyped* scalarInit);
TIntermTyped* handleConstructor(const TSourceLoc&, TIntermTyped*, const TType&);
TIntermTyped* addConstructor(const TSourceLoc&, TIntermTyped*, const TType&);
TIntermTyped* convertArray(TIntermTyped*, const TType&);
TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&);
TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset);
- void declareBlock(const TSourceLoc&, TType&, const TString* instanceName = 0);
+ void declareBlock(const TSourceLoc&, TType&, const TString* instanceName = nullptr);
void declareStructBufferCounter(const TSourceLoc& loc, const TType& bufferType, const TString& name);
void fixBlockLocations(const TSourceLoc&, TQualifier&, TTypeList&, bool memberWithLocation, bool memberWithoutLocation);
void fixXfbOffsets(TQualifier&, TTypeList&);
@@ -171,10 +171,10 @@ public:
void unnestAnnotations() { --annotationNestingLevel; }
int getAnnotationNestingLevel() { return annotationNestingLevel; }
void pushScope() { symbolTable.push(); }
- void popScope() { symbolTable.pop(0); }
+ void popScope() { symbolTable.pop(nullptr); }
void pushThisScope(const TType&, const TVector<TFunctionDeclarator>&);
- void popThisScope() { symbolTable.pop(0); }
+ void popThisScope() { symbolTable.pop(nullptr); }
void pushImplicitThis(TVariable* thisParameter) { implicitThisStack.push_back(thisParameter); }
void popImplicitThis() { implicitThisStack.pop_back(); }
diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h
index 156d98b9..cf93193d 100644
--- a/glslang/Include/BaseTypes.h
+++ b/glslang/Include/BaseTypes.h
@@ -65,6 +65,7 @@ enum TBasicType {
EbtAccStruct,
EbtReference,
EbtRayQuery,
+ EbtHitObjectNV,
#ifndef GLSLANG_WEB
// SPIR-V type defined by spirv_type
EbtSpirvType,
@@ -104,6 +105,7 @@ enum TStorageQualifier {
EvqHitAttr,
EvqCallableData,
EvqCallableDataIn,
+ EvqHitObjectAttrNV,
EvqtaskPayloadSharedEXT,
@@ -316,6 +318,13 @@ enum TBuiltInVariable {
EbvByteAddressBuffer,
EbvRWByteAddressBuffer,
+ // ARM specific core builtins
+ EbvCoreCountARM,
+ EbvCoreIDARM,
+ EbvCoreMaxIDARM,
+ EbvWarpIDARM,
+ EbvWarpMaxIDARM,
+
EbvLast
};
@@ -368,6 +377,7 @@ __inline const char* GetStorageQualifierString(TStorageQualifier q)
case EvqCallableData: return "callableDataNV"; break;
case EvqCallableDataIn: return "callableDataInNV"; break;
case EvqtaskPayloadSharedEXT: return "taskPayloadSharedEXT"; break;
+ case EvqHitObjectAttrNV:return "hitObjectAttributeNV"; break;
default: return "unknown qualifier";
}
}
diff --git a/glslang/Include/PoolAlloc.h b/glslang/Include/PoolAlloc.h
index 1f5cac76..3e67d6ed 100644
--- a/glslang/Include/PoolAlloc.h
+++ b/glslang/Include/PoolAlloc.h
@@ -37,7 +37,7 @@
#ifndef _POOLALLOC_INCLUDED_
#define _POOLALLOC_INCLUDED_
-#ifdef _DEBUG
+#ifndef NDEBUG
# define GUARD_BLOCKS // define to enable guard block sanity checking
#endif
@@ -74,7 +74,7 @@ namespace glslang {
class TAllocation {
public:
- TAllocation(size_t size, unsigned char* mem, TAllocation* prev = 0) :
+ TAllocation(size_t size, unsigned char* mem, TAllocation* prev = nullptr) :
size(size), mem(mem), prevAlloc(prev) {
// Allocations are bracketed:
// [allocationHeader][initialGuardBlock][userData][finalGuardBlock]
@@ -171,7 +171,7 @@ public:
void popAll();
//
- // Call allocate() to actually acquire memory. Returns 0 if no memory
+ // Call allocate() to actually acquire memory. Returns nullptr if no memory
// available, otherwise a properly aligned pointer to 'numBytes' of memory.
//
void* allocate(size_t numBytes);
@@ -189,7 +189,7 @@ protected:
struct tHeader {
tHeader(tHeader* nextPage, size_t pageCount) :
#ifdef GUARD_BLOCKS
- lastAllocation(0),
+ lastAllocation(nullptr),
#endif
nextPage(nextPage), pageCount(pageCount) { }
diff --git a/glslang/Include/ShHandle.h b/glslang/Include/ShHandle.h
index df07bd8e..dee47c0d 100644
--- a/glslang/Include/ShHandle.h
+++ b/glslang/Include/ShHandle.h
@@ -58,9 +58,9 @@ class TShHandleBase {
public:
TShHandleBase() { pool = new glslang::TPoolAllocator; }
virtual ~TShHandleBase() { delete pool; }
- virtual TCompiler* getAsCompiler() { return 0; }
- virtual TLinker* getAsLinker() { return 0; }
- virtual TUniformMap* getAsUniformMap() { return 0; }
+ virtual TCompiler* getAsCompiler() { return nullptr; }
+ virtual TLinker* getAsLinker() { return nullptr; }
+ virtual TUniformMap* getAsUniformMap() { return nullptr; }
virtual glslang::TPoolAllocator* getPool() const { return pool; }
private:
glslang::TPoolAllocator* pool;
@@ -123,11 +123,11 @@ public:
infoSink(iSink),
executable(e),
haveReturnableObjectCode(false),
- appAttributeBindings(0),
- fixedAttributeBindings(0),
- excludedAttributes(0),
+ appAttributeBindings(nullptr),
+ fixedAttributeBindings(nullptr),
+ excludedAttributes(nullptr),
excludedCount(0),
- uniformBindings(0) { }
+ uniformBindings(nullptr) { }
virtual TLinker* getAsLinker() { return this; }
virtual ~TLinker() { }
virtual bool link(TCompilerList&, TUniformMap*) = 0;
@@ -137,7 +137,7 @@ public:
virtual void getAttributeBindings(ShBindingTable const **t) const = 0;
virtual void setExcludedAttributes(const int* attributes, int count) { excludedAttributes = attributes; excludedCount = count; }
virtual ShBindingTable* getUniformBindings() const { return uniformBindings; }
- virtual const void* getObjectCode() const { return 0; } // a real compiler would be returning object code here
+ virtual const void* getObjectCode() const { return nullptr; } // a real compiler would be returning object code here
virtual TInfoSink& getInfoSink() { return infoSink; }
TInfoSink& infoSink;
protected:
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index a6f47e84..59a447c9 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -429,6 +429,12 @@ enum TLayoutFormat {
ElfR16ui,
ElfR8ui,
ElfR64ui,
+ ElfExtSizeGuard, // to help with comparisons
+ ElfSize1x8,
+ ElfSize1x16,
+ ElfSize1x32,
+ ElfSize2x32,
+ ElfSize4x32,
ElfCount
};
@@ -863,6 +869,9 @@ public:
bool isAnyCallable() const {
return storage == EvqCallableData || storage == EvqCallableDataIn;
}
+ bool isHitObjectAttrNV() const {
+ return storage == EvqHitObjectAttrNV;
+ }
// True if this type of IO is supposed to be arrayed with extra level for per-vertex data
bool isArrayedIo(EShLanguage language) const
@@ -898,6 +907,9 @@ public:
// -2048 as the default value indicating layoutSecondaryViewportRelative is not set
layoutSecondaryViewportRelativeOffset = -2048;
layoutShaderRecord = false;
+ layoutHitObjectShaderRecordNV = false;
+ layoutBindlessSampler = false;
+ layoutBindlessImage = false;
layoutBufferReferenceAlign = layoutBufferReferenceAlignEnd;
layoutFormat = ElfNone;
#endif
@@ -997,10 +1009,14 @@ public:
bool layoutViewportRelative;
int layoutSecondaryViewportRelativeOffset;
bool layoutShaderRecord;
+ bool layoutHitObjectShaderRecordNV;
// GL_EXT_spirv_intrinsics
int spirvStorageClass;
TSpirvDecorate* spirvDecorate;
+
+ bool layoutBindlessSampler;
+ bool layoutBindlessImage;
#endif
bool hasUniformLayout() const
@@ -1123,6 +1139,7 @@ public:
TLayoutFormat getFormat() const { return layoutFormat; }
bool isPushConstant() const { return layoutPushConstant; }
bool isShaderRecord() const { return layoutShaderRecord; }
+ bool hasHitObjectShaderRecordNV() const { return layoutHitObjectShaderRecordNV; }
bool hasBufferReference() const { return layoutBufferReference; }
bool hasBufferReferenceAlign() const
{
@@ -1132,6 +1149,14 @@ public:
{
return nonUniform;
}
+ bool isBindlessSampler() const
+ {
+ return layoutBindlessSampler;
+ }
+ bool isBindlessImage() const
+ {
+ return layoutBindlessImage;
+ }
// GL_EXT_spirv_intrinsics
bool hasSprivDecorate() const { return spirvDecorate != nullptr; }
@@ -1241,6 +1266,11 @@ public:
case ElfR8ui: return "r8ui";
case ElfR64ui: return "r64ui";
case ElfR64i: return "r64i";
+ case ElfSize1x8: return "size1x8";
+ case ElfSize1x16: return "size1x16";
+ case ElfSize1x32: return "size1x32";
+ case ElfSize2x32: return "size2x32";
+ case ElfSize4x32: return "size4x32";
default: return "none";
}
}
@@ -1864,9 +1894,11 @@ public:
virtual bool isArray() const { return arraySizes != nullptr; }
virtual bool isSizedArray() const { return isArray() && arraySizes->isSized(); }
virtual bool isUnsizedArray() const { return isArray() && !arraySizes->isSized(); }
+ virtual bool isImplicitlySizedArray() const { return isArray() && arraySizes->isImplicitlySized(); }
virtual bool isArrayVariablyIndexed() const { assert(isArray()); return arraySizes->isVariablyIndexed(); }
virtual void setArrayVariablyIndexed() { assert(isArray()); arraySizes->setVariablyIndexed(); }
virtual void updateImplicitArraySize(int size) { assert(isArray()); arraySizes->updateImplicitSize(size); }
+ virtual void setImplicitlySized(bool isImplicitSized) { arraySizes->setImplicitlySized(isImplicitSized); }
virtual bool isStruct() const { return basicType == EbtStruct || basicType == EbtBlock; }
virtual bool isFloatingDomain() const { return basicType == EbtFloat || basicType == EbtDouble || basicType == EbtFloat16; }
virtual bool isIntegerDomain() const
@@ -1889,7 +1921,8 @@ public:
}
virtual bool isOpaque() const { return basicType == EbtSampler
#ifndef GLSLANG_WEB
- || basicType == EbtAtomicUint || basicType == EbtAccStruct || basicType == EbtRayQuery
+ || basicType == EbtAtomicUint || basicType == EbtAccStruct || basicType == EbtRayQuery
+ || basicType == EbtHitObjectNV
#endif
; }
virtual bool isBuiltIn() const { return getQualifier().builtIn != EbvNone; }
@@ -1898,6 +1931,8 @@ public:
virtual bool isImage() const { return basicType == EbtSampler && getSampler().isImage(); }
virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); }
virtual bool isTexture() const { return basicType == EbtSampler && getSampler().isTexture(); }
+ virtual bool isBindlessImage() const { return isImage() && qualifier.layoutBindlessImage; }
+ virtual bool isBindlessTexture() const { return isTexture() && qualifier.layoutBindlessSampler; }
// Check the block-name convention of creating a block without populating it's members:
virtual bool isUnusableName() const { return isStruct() && structure == nullptr; }
virtual bool isParameterized() const { return typeParameters != nullptr; }
@@ -1954,6 +1989,11 @@ public:
return contains([](const TType* t) { return t->isOpaque(); } );
}
+ virtual bool containsSampler() const
+ {
+ return contains([](const TType* t) { return t->isTexture() || t->isImage(); });
+ }
+
// Recursively checks if the type contains a built-in variable
virtual bool containsBuiltIn() const
{
@@ -2087,8 +2127,12 @@ public:
// an explicit array.
void adoptImplicitArraySizes(bool skipNonvariablyIndexed)
{
- if (isUnsizedArray() && !(skipNonvariablyIndexed || isArrayVariablyIndexed()))
+ if (isUnsizedArray() &&
+ (qualifier.builtIn == EbvSampleMask ||
+ !(skipNonvariablyIndexed || isArrayVariablyIndexed()))) {
changeOuterArraySize(getImplicitArraySize());
+ setImplicitlySized(true);
+ }
// For multi-dim per-view arrays, set unsized inner dimension size to 1
if (qualifier.isPerView() && arraySizes && arraySizes->isInnerUnsized())
arraySizes->clearInnerUnsized();
@@ -2283,8 +2327,16 @@ public:
appendStr(" layoutSecondaryViewportRelativeOffset=");
appendInt(qualifier.layoutSecondaryViewportRelativeOffset);
}
+
if (qualifier.layoutShaderRecord)
appendStr(" shaderRecordNV");
+ if (qualifier.layoutHitObjectShaderRecordNV)
+ appendStr(" hitobjectshaderrecordnv");
+
+ if (qualifier.layoutBindlessSampler)
+ appendStr(" layoutBindlessSampler");
+ if (qualifier.layoutBindlessImage)
+ appendStr(" layoutBindlessImage");
appendStr(")");
}
@@ -2544,6 +2596,7 @@ public:
void setStruct(TTypeList* s) { assert(isStruct()); structure = s; }
TTypeList* getWritableStruct() const { assert(isStruct()); return structure; } // This should only be used when known to not be sharing with other threads
void setBasicType(const TBasicType& t) { basicType = t; }
+ void setVectorSize(int s) { vectorSize = s; }
int computeNumComponents() const
{
@@ -2711,7 +2764,10 @@ public:
bool sameArrayness(const TType& right) const
{
return ((arraySizes == nullptr && right.arraySizes == nullptr) ||
- (arraySizes != nullptr && right.arraySizes != nullptr && *arraySizes == *right.arraySizes));
+ (arraySizes != nullptr && right.arraySizes != nullptr &&
+ (*arraySizes == *right.arraySizes ||
+ (arraySizes->isImplicitlySized() && right.arraySizes->isDefaultImplicitlySized()) ||
+ (right.arraySizes->isImplicitlySized() && arraySizes->isDefaultImplicitlySized()))));
}
// See if two type's arrayness match in everything except their outer dimension
diff --git a/glslang/Include/arrays.h b/glslang/Include/arrays.h
index 7f047d9f..1da14d09 100644
--- a/glslang/Include/arrays.h
+++ b/glslang/Include/arrays.h
@@ -222,7 +222,7 @@ protected:
struct TArraySizes {
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- TArraySizes() : implicitArraySize(1), variablyIndexed(false) { }
+ TArraySizes() : implicitArraySize(0), implicitlySized(true), variablyIndexed(false){ }
// For breaking into two non-shared copies, independently modifiable.
TArraySizes& operator=(const TArraySizes& from)
@@ -230,6 +230,7 @@ struct TArraySizes {
implicitArraySize = from.implicitArraySize;
variablyIndexed = from.variablyIndexed;
sizes = from.sizes;
+ implicitlySized = from.implicitlySized;
return *this;
}
@@ -256,11 +257,17 @@ struct TArraySizes {
void addInnerSize(int s, TIntermTyped* n) { sizes.push_back((unsigned)s, n); }
void addInnerSize(TArraySize pair) {
sizes.push_back(pair.size, pair.node);
+ implicitlySized = false;
}
void addInnerSizes(const TArraySizes& s) { sizes.push_back(s.sizes); }
- void changeOuterSize(int s) { sizes.changeFront((unsigned)s); }
- int getImplicitSize() const { return implicitArraySize; }
- void updateImplicitSize(int s) { implicitArraySize = std::max(implicitArraySize, s); }
+ void changeOuterSize(int s) {
+ sizes.changeFront((unsigned)s);
+ implicitlySized = false;
+ }
+ int getImplicitSize() const { return implicitArraySize > 0 ? implicitArraySize : 1; }
+ void updateImplicitSize(int s) {
+ implicitArraySize = (std::max)(implicitArraySize, s);
+ }
bool isInnerUnsized() const
{
for (int d = 1; d < sizes.size(); ++d) {
@@ -295,6 +302,9 @@ struct TArraySizes {
bool hasUnsized() const { return getOuterSize() == UnsizedArraySize || isInnerUnsized(); }
bool isSized() const { return getOuterSize() != UnsizedArraySize; }
+ bool isImplicitlySized() const { return implicitlySized; }
+ bool isDefaultImplicitlySized() const { return implicitlySized && implicitArraySize == 0; }
+ void setImplicitlySized(bool isImplicitSizing) { implicitlySized = isImplicitSizing; }
void dereference() { sizes.pop_front(); }
void copyDereferenced(const TArraySizes& rhs)
{
@@ -333,6 +343,7 @@ protected:
// the implicit size of the array, if not variably indexed and
// otherwise legal.
int implicitArraySize;
+ bool implicitlySized;
bool variablyIndexed; // true if array is indexed with a non compile-time constant
};
diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h
index 9e5608c5..28d52330 100644
--- a/glslang/Include/glslang_c_interface.h
+++ b/glslang/Include/glslang_c_interface.h
@@ -157,7 +157,13 @@ typedef struct glslang_resource_s {
int max_task_work_group_size_y_ext;
int max_task_work_group_size_z_ext;
int max_mesh_view_count_ext;
- int maxDualSourceDrawBuffersEXT;
+ union
+ {
+ int max_dual_source_draw_buffers_ext;
+
+ /* Incorrectly capitalized name retained for backward compatibility */
+ int maxDualSourceDrawBuffersEXT;
+ };
glslang_limits_t limits;
} glslang_resource_t;
@@ -245,6 +251,7 @@ GLSLANG_EXPORT void glslang_finalize_process();
GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* input);
GLSLANG_EXPORT void glslang_shader_delete(glslang_shader_t* shader);
+GLSLANG_EXPORT void glslang_shader_set_preamble(glslang_shader_t* shader, const char* s);
GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base);
GLSLANG_EXPORT void glslang_shader_shift_binding_for_set(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base, unsigned int set);
GLSLANG_EXPORT void glslang_shader_set_options(glslang_shader_t* shader, int options); // glslang_shader_options_t
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index a0240028..ec2b28a9 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -968,7 +968,42 @@ enum TOperator {
EOpRayQueryGetIntersectionObjectToWorld,
EOpRayQueryGetIntersectionWorldToObject,
+ //
+ // GL_NV_shader_invocation_reorder
//
+
+ EOpHitObjectTraceRayNV,
+ EOpHitObjectTraceRayMotionNV,
+ EOpHitObjectRecordHitNV,
+ EOpHitObjectRecordHitMotionNV,
+ EOpHitObjectRecordHitWithIndexNV,
+ EOpHitObjectRecordHitWithIndexMotionNV,
+ EOpHitObjectRecordMissNV,
+ EOpHitObjectRecordMissMotionNV,
+ EOpHitObjectRecordEmptyNV,
+ EOpHitObjectExecuteShaderNV,
+ EOpHitObjectIsEmptyNV,
+ EOpHitObjectIsMissNV,
+ EOpHitObjectIsHitNV,
+ EOpHitObjectGetRayTMinNV,
+ EOpHitObjectGetRayTMaxNV,
+ EOpHitObjectGetObjectRayOriginNV,
+ EOpHitObjectGetObjectRayDirectionNV,
+ EOpHitObjectGetWorldRayOriginNV,
+ EOpHitObjectGetWorldRayDirectionNV,
+ EOpHitObjectGetWorldToObjectNV,
+ EOpHitObjectGetObjectToWorldNV,
+ EOpHitObjectGetInstanceCustomIndexNV,
+ EOpHitObjectGetInstanceIdNV,
+ EOpHitObjectGetGeometryIndexNV,
+ EOpHitObjectGetPrimitiveIndexNV,
+ EOpHitObjectGetHitKindNV,
+ EOpHitObjectGetShaderBindingTableRecordIndexNV,
+ EOpHitObjectGetShaderRecordBufferHandleNV,
+ EOpHitObjectGetAttributesNV,
+ EOpHitObjectGetCurrentTimeNV,
+ EOpReorderThreadNV,
+
// HLSL operations
//
@@ -1086,31 +1121,31 @@ public:
virtual const glslang::TSourceLoc& getLoc() const { return loc; }
virtual void setLoc(const glslang::TSourceLoc& l) { loc = l; }
virtual void traverse(glslang::TIntermTraverser*) = 0;
- virtual glslang::TIntermTyped* getAsTyped() { return 0; }
- virtual glslang::TIntermOperator* getAsOperator() { return 0; }
- virtual glslang::TIntermConstantUnion* getAsConstantUnion() { return 0; }
- virtual glslang::TIntermAggregate* getAsAggregate() { return 0; }
- virtual glslang::TIntermUnary* getAsUnaryNode() { return 0; }
- virtual glslang::TIntermBinary* getAsBinaryNode() { return 0; }
- virtual glslang::TIntermSelection* getAsSelectionNode() { return 0; }
- virtual glslang::TIntermSwitch* getAsSwitchNode() { return 0; }
- virtual glslang::TIntermMethod* getAsMethodNode() { return 0; }
- virtual glslang::TIntermSymbol* getAsSymbolNode() { return 0; }
- virtual glslang::TIntermBranch* getAsBranchNode() { return 0; }
- virtual glslang::TIntermLoop* getAsLoopNode() { return 0; }
-
- virtual const glslang::TIntermTyped* getAsTyped() const { return 0; }
- virtual const glslang::TIntermOperator* getAsOperator() const { return 0; }
- virtual const glslang::TIntermConstantUnion* getAsConstantUnion() const { return 0; }
- virtual const glslang::TIntermAggregate* getAsAggregate() const { return 0; }
- virtual const glslang::TIntermUnary* getAsUnaryNode() const { return 0; }
- virtual const glslang::TIntermBinary* getAsBinaryNode() const { return 0; }
- virtual const glslang::TIntermSelection* getAsSelectionNode() const { return 0; }
- virtual const glslang::TIntermSwitch* getAsSwitchNode() const { return 0; }
- virtual const glslang::TIntermMethod* getAsMethodNode() const { return 0; }
- virtual const glslang::TIntermSymbol* getAsSymbolNode() const { return 0; }
- virtual const glslang::TIntermBranch* getAsBranchNode() const { return 0; }
- virtual const glslang::TIntermLoop* getAsLoopNode() const { return 0; }
+ virtual glslang::TIntermTyped* getAsTyped() { return nullptr; }
+ virtual glslang::TIntermOperator* getAsOperator() { return nullptr; }
+ virtual glslang::TIntermConstantUnion* getAsConstantUnion() { return nullptr; }
+ virtual glslang::TIntermAggregate* getAsAggregate() { return nullptr; }
+ virtual glslang::TIntermUnary* getAsUnaryNode() { return nullptr; }
+ virtual glslang::TIntermBinary* getAsBinaryNode() { return nullptr; }
+ virtual glslang::TIntermSelection* getAsSelectionNode() { return nullptr; }
+ virtual glslang::TIntermSwitch* getAsSwitchNode() { return nullptr; }
+ virtual glslang::TIntermMethod* getAsMethodNode() { return nullptr; }
+ virtual glslang::TIntermSymbol* getAsSymbolNode() { return nullptr; }
+ virtual glslang::TIntermBranch* getAsBranchNode() { return nullptr; }
+ virtual glslang::TIntermLoop* getAsLoopNode() { return nullptr; }
+
+ virtual const glslang::TIntermTyped* getAsTyped() const { return nullptr; }
+ virtual const glslang::TIntermOperator* getAsOperator() const { return nullptr; }
+ virtual const glslang::TIntermConstantUnion* getAsConstantUnion() const { return nullptr; }
+ virtual const glslang::TIntermAggregate* getAsAggregate() const { return nullptr; }
+ virtual const glslang::TIntermUnary* getAsUnaryNode() const { return nullptr; }
+ virtual const glslang::TIntermBinary* getAsBinaryNode() const { return nullptr; }
+ virtual const glslang::TIntermSelection* getAsSelectionNode() const { return nullptr; }
+ virtual const glslang::TIntermSwitch* getAsSwitchNode() const { return nullptr; }
+ virtual const glslang::TIntermMethod* getAsMethodNode() const { return nullptr; }
+ virtual const glslang::TIntermSymbol* getAsSymbolNode() const { return nullptr; }
+ virtual const glslang::TIntermBranch* getAsBranchNode() const { return nullptr; }
+ virtual const glslang::TIntermLoop* getAsLoopNode() const { return nullptr; }
virtual ~TIntermNode() { }
protected:
@@ -1616,8 +1651,8 @@ protected:
//
class TIntermUnary : public TIntermOperator {
public:
- TIntermUnary(TOperator o, TType& t) : TIntermOperator(o, t), operand(0) {}
- TIntermUnary(TOperator o) : TIntermOperator(o), operand(0) {}
+ TIntermUnary(TOperator o, TType& t) : TIntermOperator(o, t), operand(nullptr) {}
+ TIntermUnary(TOperator o) : TIntermOperator(o), operand(nullptr) {}
virtual void traverse(TIntermTraverser*);
virtual void setOperand(TIntermTyped* o) { operand = o; }
virtual TIntermTyped* getOperand() { return operand; }
@@ -1819,7 +1854,7 @@ public:
TIntermNode *getParentNode()
{
- return path.size() == 0 ? NULL : path.back();
+ return path.size() == 0 ? nullptr : path.back();
}
const bool preVisit;
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
index 5fc61dbb..40f53bbc 100644
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -226,7 +226,7 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TIntermTyped* right
newConstArray[i].setU64Const(leftUnionArray[i].getU64Const() / rightUnionArray[i].getU64Const());
break;
default:
- return 0;
+ return nullptr;
#endif
}
}
@@ -354,7 +354,7 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TIntermTyped* right
break;
default:
- return 0;
+ return nullptr;
}
TIntermConstantUnion *newNode = new TIntermConstantUnion(newConstArray, returnType);
@@ -1345,7 +1345,7 @@ TIntermTyped* TIntermediate::foldDereference(TIntermTyped* node, int index, cons
{
TType dereferencedType(node->getType(), index);
dereferencedType.getQualifier().storage = EvqConst;
- TIntermTyped* result = 0;
+ TIntermTyped* result = nullptr;
int size = dereferencedType.computeNumComponents();
// arrays, vectors, matrices, all use simple multiplicative math
@@ -1365,7 +1365,7 @@ TIntermTyped* TIntermediate::foldDereference(TIntermTyped* node, int index, cons
result = addConstantUnion(TConstUnionArray(node->getAsConstantUnion()->getConstArray(), start, size), node->getType(), loc);
- if (result == 0)
+ if (result == nullptr)
result = node;
else
result->setType(dereferencedType);
@@ -1387,7 +1387,7 @@ TIntermTyped* TIntermediate::foldSwizzle(TIntermTyped* node, TSwizzleSelectors<T
TIntermTyped* result = addConstantUnion(constArray, node->getType(), loc);
- if (result == 0)
+ if (result == nullptr)
result = node;
else
result->setType(TType(node->getBasicType(), EvqConst, selectors.size()));
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index 0cbb9e78..16287dfd 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -147,10 +147,6 @@ EProfile EDesktopProfile = static_cast<EProfile>(ENoProfile | ECoreProfile | ECo
#ifdef GLSLANG_WEB
const Versioning* Es300Desktop130 = nullptr;
const Versioning* Es310Desktop420 = nullptr;
-#elif defined(GLSLANG_ANGLE)
- const Versioning* Es300Desktop130 = nullptr;
- const Versioning* Es310Desktop420 = nullptr;
- const Versioning* Es310Desktop450 = nullptr;
#else
const Versioning Es300Desktop130Version[] = { { EEsProfile, 0, 300, 0, nullptr },
{ EDesktopProfile, 0, 130, 0, nullptr },
@@ -420,7 +416,7 @@ void AddTabledBuiltin(TString& decls, const BuiltInFunction& function)
// See if the tabled versioning information allows the current version.
bool ValidVersion(const BuiltInFunction& function, int version, EProfile profile, const SpvVersion& /* spVersion */)
{
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
// all entries in table are valid
return true;
#endif
@@ -505,7 +501,7 @@ TBuiltIns::TBuiltIns()
prefixes[EbtFloat] = "";
prefixes[EbtInt] = "i";
prefixes[EbtUint] = "u";
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
prefixes[EbtFloat16] = "f16";
prefixes[EbtInt8] = "i8";
prefixes[EbtUint8] = "u8";
@@ -524,9 +520,7 @@ TBuiltIns::TBuiltIns()
dimMap[Esd3D] = 3;
dimMap[EsdCube] = 3;
#ifndef GLSLANG_WEB
-#ifndef GLSLANG_ANGLE
dimMap[Esd1D] = 1;
-#endif
dimMap[EsdRect] = 2;
dimMap[EsdBuffer] = 1;
dimMap[EsdSubpass] = 2; // potentially unused for now
@@ -551,9 +545,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
#ifdef GLSLANG_WEB
version = 310;
profile = EEsProfile;
-#elif defined(GLSLANG_ANGLE)
- version = 450;
- profile = ECoreProfile;
#endif
addTabledBuiltins(version, profile, spvVersion);
@@ -599,7 +590,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"vec4 fwidthCoarse(vec4 p);"
);
-#ifndef GLSLANG_ANGLE
TString derivativesAndControl16bits (
"float16_t dFdx(float16_t);"
"f16vec2 dFdx(f16vec2);"
@@ -1393,7 +1383,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n"
);
}
-#endif // !GLSLANG_ANGLE
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 430)) {
@@ -1431,7 +1420,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 440) {
commonBuiltins.append(
"uint64_t atomicMin(coherent volatile inout uint64_t, uint64_t);"
@@ -1511,7 +1499,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void atomicStore(coherent volatile out double, double, int, int, int);"
"\n");
}
-#endif // !GLSLANG_ANGLE
#endif // !GLSLANG_WEB
if ((profile == EEsProfile && version >= 300) ||
@@ -1552,7 +1539,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64
commonBuiltins.append(
"double fma(double, double, double);"
@@ -1570,7 +1556,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"f64vec4 fma(f64vec4, f64vec4, f64vec4 );"
"\n");
}
-#endif
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 400)) {
@@ -1588,7 +1573,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 150) { // ARB_gpu_shader_fp64
commonBuiltins.append(
"double frexp(double, out int);"
@@ -1622,7 +1606,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
#endif
-#endif
if ((profile == EEsProfile && version >= 300) ||
(profile != EEsProfile && version >= 150)) {
@@ -1731,7 +1714,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
}
#ifndef GLSLANG_WEB
-#ifndef GLSLANG_ANGLE
//
// Original-style texture functions existing in all stages.
// (Per-stage functions below.)
@@ -1926,7 +1908,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
}
-#endif // !GLSLANG_ANGLE
// Bitfield
if ((profile == EEsProfile && version >= 310) ||
@@ -2069,7 +2050,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
// GL_ARB_shader_ballot
if (profile != EEsProfile && version >= 450) {
commonBuiltins.append(
@@ -3390,7 +3370,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"bool textureFootprintGradClampNV(sampler2D, vec2, vec2, vec2, float, int, bool, out gl_TextureFootprint2DNV);"
"\n");
}
-#endif // !GLSLANG_ANGLE
if ((profile == EEsProfile && version >= 300 && version < 310) ||
(profile != EEsProfile && version >= 150 && version < 450)) { // GL_EXT_shader_integer_mix
@@ -3410,7 +3389,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
// GL_AMD_gpu_shader_half_float/Explicit types
if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 310)) {
commonBuiltins.append(
@@ -4184,7 +4162,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#endif // !GLSLANG_ANGLE
//============================================================================
//
@@ -4200,7 +4177,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
if (spvVersion.vulkan == 0 && IncludeLegacy(version, profile, spvVersion))
stageBuiltins[EShLangVertex].append("vec4 ftransform();");
-#ifndef GLSLANG_ANGLE
//
// Original-style texture Functions with lod.
//
@@ -4260,7 +4236,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
}
-#endif // !GLSLANG_ANGLE
if ((profile != EEsProfile && version >= 150) ||
(profile == EEsProfile && version >= 310)) {
@@ -4341,7 +4316,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
commonBuiltins.append("void debugPrintfEXT();\n");
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 450) {
// coopMatStoreNV perhaps ought to have "out" on the buf parameter, but
// adding it introduces undesirable tempArgs on the stack. What we want
@@ -4465,7 +4439,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#endif // !GLSLANG_ANGLE
// GL_ARB_derivative_control
if (profile != EEsProfile && version >= 400) {
@@ -4503,7 +4476,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"bool helperInvocationEXT();"
"\n");
-#ifndef GLSLANG_ANGLE
// GL_AMD_shader_explicit_vertex_parameter
if (profile != EEsProfile && version >= 450) {
stageBuiltins[EShLangFragment].append(
@@ -4578,7 +4550,8 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
- // Builtins for GL_NV_ray_tracing/GL_NV_ray_tracing_motion_blur/GL_EXT_ray_tracing/GL_EXT_ray_query
+ // Builtins for GL_NV_ray_tracing/GL_NV_ray_tracing_motion_blur/GL_EXT_ray_tracing/GL_EXT_ray_query/
+ // GL_NV_shader_invocation_reorder
if (profile != EEsProfile && version >= 460) {
commonBuiltins.append("void rayQueryInitializeEXT(rayQueryEXT, accelerationStructureEXT, uint, uint, vec3, float, vec3, float);"
"void rayQueryTerminateEXT(rayQueryEXT);"
@@ -4611,6 +4584,39 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
+ "void hitObjectTraceRayNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectTraceRayMotionNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitMotionNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitWithIndexNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitWithIndexMotionNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordMissNV(hitObjectNV,uint,vec3,float,vec3,float);"
+ "void hitObjectRecordMissMotionNV(hitObjectNV,uint,vec3,float,vec3,float,float);"
+ "void hitObjectRecordEmptyNV(hitObjectNV);"
+ "void hitObjectExecuteShaderNV(hitObjectNV,int);"
+ "bool hitObjectIsEmptyNV(hitObjectNV);"
+ "bool hitObjectIsMissNV(hitObjectNV);"
+ "bool hitObjectIsHitNV(hitObjectNV);"
+ "float hitObjectGetRayTMinNV(hitObjectNV);"
+ "float hitObjectGetRayTMaxNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayDirectionNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayDirectionNV(hitObjectNV);"
+ "mat4x3 hitObjectGetWorldToObjectNV(hitObjectNV);"
+ "mat4x3 hitObjectGetObjectToWorldNV(hitObjectNV);"
+ "int hitObjectGetInstanceCustomIndexNV(hitObjectNV);"
+ "int hitObjectGetInstanceIdNV(hitObjectNV);"
+ "int hitObjectGetGeometryIndexNV(hitObjectNV);"
+ "int hitObjectGetPrimitiveIndexNV(hitObjectNV);"
+ "uint hitObjectGetHitKindNV(hitObjectNV);"
+ "void hitObjectGetAttributesNV(hitObjectNV,int);"
+ "float hitObjectGetCurrentTimeNV(hitObjectNV);"
+ "uint hitObjectGetShaderBindingTableRecordIndexNV(hitObjectNV);"
+ "uvec2 hitObjectGetShaderRecordBufferHandleNV(hitObjectNV);"
+ "void reorderThreadNV(uint, uint);"
+ "void reorderThreadNV(hitObjectNV);"
+ "void reorderThreadNV(hitObjectNV, uint, uint);"
"\n");
stageBuiltins[EShLangIntersect].append(
"bool reportIntersectionNV(float, uint);"
@@ -4626,6 +4632,36 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
+ "void hitObjectTraceRayNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectTraceRayMotionNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitMotionNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitWithIndexNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitWithIndexMotionNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordMissNV(hitObjectNV, uint, vec3, float, vec3, float);"
+ "void hitObjectRecordMissMotionNV(hitObjectNV,uint,vec3,float,vec3,float,float);"
+ "void hitObjectRecordEmptyNV(hitObjectNV);"
+ "void hitObjectExecuteShaderNV(hitObjectNV, int);"
+ "bool hitObjectIsEmptyNV(hitObjectNV);"
+ "bool hitObjectIsMissNV(hitObjectNV);"
+ "bool hitObjectIsHitNV(hitObjectNV);"
+ "float hitObjectGetRayTMinNV(hitObjectNV);"
+ "float hitObjectGetRayTMaxNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayDirectionNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayDirectionNV(hitObjectNV);"
+ "mat4x3 hitObjectGetWorldToObjectNV(hitObjectNV);"
+ "mat4x3 hitObjectGetObjectToWorldNV(hitObjectNV);"
+ "int hitObjectGetInstanceCustomIndexNV(hitObjectNV);"
+ "int hitObjectGetInstanceIdNV(hitObjectNV);"
+ "int hitObjectGetGeometryIndexNV(hitObjectNV);"
+ "int hitObjectGetPrimitiveIndexNV(hitObjectNV);"
+ "uint hitObjectGetHitKindNV(hitObjectNV);"
+ "void hitObjectGetAttributesNV(hitObjectNV,int);"
+ "float hitObjectGetCurrentTimeNV(hitObjectNV);"
+ "uint hitObjectGetShaderBindingTableRecordIndexNV(hitObjectNV);"
+ "uvec2 hitObjectGetShaderRecordBufferHandleNV(hitObjectNV);"
"\n");
stageBuiltins[EShLangMiss].append(
"void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
@@ -4633,20 +4669,48 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
+ "void hitObjectTraceRayNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectTraceRayMotionNV(hitObjectNV,accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitMotionNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordHitWithIndexNV(hitObjectNV,accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,int);"
+ "void hitObjectRecordHitWithIndexMotionNV(hitObjectNV, accelerationStructureEXT,int,int,int,uint,uint,vec3,float,vec3,float,float,int);"
+ "void hitObjectRecordMissNV(hitObjectNV, uint, vec3, float, vec3, float);"
+ "void hitObjectRecordMissMotionNV(hitObjectNV,uint,vec3,float,vec3,float,float);"
+ "void hitObjectRecordEmptyNV(hitObjectNV);"
+ "void hitObjectExecuteShaderNV(hitObjectNV, int);"
+ "bool hitObjectIsEmptyNV(hitObjectNV);"
+ "bool hitObjectIsMissNV(hitObjectNV);"
+ "bool hitObjectIsHitNV(hitObjectNV);"
+ "float hitObjectGetRayTMinNV(hitObjectNV);"
+ "float hitObjectGetRayTMaxNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetWorldRayDirectionNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayOriginNV(hitObjectNV);"
+ "vec3 hitObjectGetObjectRayDirectionNV(hitObjectNV);"
+ "mat4x3 hitObjectGetWorldToObjectNV(hitObjectNV);"
+ "mat4x3 hitObjectGetObjectToWorldNV(hitObjectNV);"
+ "int hitObjectGetInstanceCustomIndexNV(hitObjectNV);"
+ "int hitObjectGetInstanceIdNV(hitObjectNV);"
+ "int hitObjectGetGeometryIndexNV(hitObjectNV);"
+ "int hitObjectGetPrimitiveIndexNV(hitObjectNV);"
+ "uint hitObjectGetHitKindNV(hitObjectNV);"
+ "void hitObjectGetAttributesNV(hitObjectNV,int);"
+ "float hitObjectGetCurrentTimeNV(hitObjectNV);"
+ "uint hitObjectGetShaderBindingTableRecordIndexNV(hitObjectNV);"
+ "uvec2 hitObjectGetShaderRecordBufferHandleNV(hitObjectNV);"
"\n");
stageBuiltins[EShLangCallable].append(
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
"\n");
}
-#endif // !GLSLANG_ANGLE
//E_SPV_NV_compute_shader_derivatives
if ((profile == EEsProfile && version >= 320) || (profile != EEsProfile && version >= 450)) {
stageBuiltins[EShLangCompute].append(derivativeControls);
stageBuiltins[EShLangCompute].append("\n");
}
-#ifndef GLSLANG_ANGLE
if (profile != EEsProfile && version >= 450) {
stageBuiltins[EShLangCompute].append(derivativesAndControl16bits);
stageBuiltins[EShLangCompute].append(derivativesAndControl64bits);
@@ -4670,7 +4734,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"void SetMeshOutputsEXT(uint, uint);"
"\n");
}
-#endif // !GLSLANG_ANGLE
#endif // !GLSLANG_WEB
//============================================================================
@@ -4708,7 +4771,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (spvVersion.spv == 0 && IncludeLegacy(version, profile, spvVersion)) {
//
// Matrix state. p. 31, 32, 37, 39, 40.
@@ -4826,7 +4889,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
//============================================================================
//
@@ -4857,7 +4920,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
}
#ifndef GLSLANG_WEB
-#ifndef GLSLANG_ANGLE
//============================================================================
//
// Define the interface to the mesh/task shader.
@@ -4974,7 +5036,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
}
-#endif // !GLSLANG_ANGLE
//============================================================================
//
@@ -5708,7 +5769,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"\n");
}
-#ifndef GLSLANG_ANGLE
// GL_ARB_shader_ballot
if (profile != EEsProfile && version >= 450) {
const char* ballotDecls =
@@ -5771,6 +5831,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"in highp uint gl_SMCountNV;"
"in highp uint gl_WarpIDNV;"
"in highp uint gl_SMIDNV;"
+ // GL_ARM_shader_core_builtins
+ "in highp uint gl_CoreIDARM;"
+ "in highp uint gl_CoreCountARM;"
+ "in highp uint gl_CoreMaxIDARM;"
+ "in highp uint gl_WarpIDARM;"
+ "in highp uint gl_WarpMaxIDARM;"
"\n";
const char* fragmentSubgroupDecls =
"flat in mediump uint gl_SubgroupSize;"
@@ -5785,6 +5851,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"flat in highp uint gl_SMCountNV;"
"flat in highp uint gl_WarpIDNV;"
"flat in highp uint gl_SMIDNV;"
+ // GL_ARM_shader_core_builtins
+ "flat in highp uint gl_CoreIDARM;"
+ "flat in highp uint gl_CoreCountARM;"
+ "flat in highp uint gl_CoreMaxIDARM;"
+ "flat in highp uint gl_WarpIDARM;"
+ "flat in highp uint gl_WarpMaxIDARM;"
"\n";
const char* computeSubgroupDecls =
"in highp uint gl_NumSubgroups;"
@@ -5804,6 +5876,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"in highp uint gl_SMCountNV;"
"in highp volatile uint gl_WarpIDNV;"
"in highp volatile uint gl_SMIDNV;"
+ // GL_ARM_shader_core_builtins
+ "in highp uint gl_CoreIDARM;"
+ "in highp uint gl_CoreCountARM;"
+ "in highp uint gl_CoreMaxIDARM;"
+ "in highp uint gl_WarpIDARM;"
+ "in highp uint gl_WarpMaxIDARM;"
"\n";
stageBuiltins[EShLangVertex] .append(subgroupDecls);
@@ -6067,8 +6145,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
}
}
}
-#endif // !GLSLANG_ANGLE
-
#endif // !GLSLANG_WEB
// printf("%s\n", commonBuiltins.c_str());
@@ -6088,7 +6164,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile, c
// enumerate all the types
const TBasicType bTypes[] = { EbtFloat, EbtInt, EbtUint,
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
EbtFloat16
#endif
};
@@ -6122,11 +6198,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile, c
#ifdef GLSLANG_WEB
for (int dim = Esd2D; dim <= EsdCube; ++dim) { // 2D, 3D, and Cube
#else
-#if defined(GLSLANG_ANGLE)
- for (int dim = Esd2D; dim < EsdNumDims; ++dim) { // 2D, ..., buffer, subpass
-#else
for (int dim = Esd1D; dim < EsdNumDims; ++dim) { // 1D, ..., buffer, subpass
-#endif
if (dim == EsdSubpass && spvVersion.vulkan == 0)
continue;
if (dim == EsdSubpass && (image || shadow || arrayed))
@@ -6578,9 +6650,6 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
//
@@ -6657,7 +6726,7 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
continue;
// loop over 16-bit floating-point texel addressing
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
const int f16TexAddr = 0;
#else
for (int f16TexAddr = 0; f16TexAddr <= 1; ++f16TexAddr)
@@ -6670,7 +6739,7 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
totalDims--;
}
// loop over "bool" lod clamp
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
const int lodClamp = 0;
#else
for (int lodClamp = 0; lodClamp <= 1 ;++lodClamp)
@@ -6682,7 +6751,7 @@ void TBuiltIns::addSamplingFunctions(TSampler sampler, const TString& typeName,
continue;
// loop over "bool" sparse or not
-#if defined(GLSLANG_WEB) || defined(GLSLANG_ANGLE)
+#if defined(GLSLANG_WEB)
const int sparse = 0;
#else
for (int sparse = 0; sparse <= 1; ++sparse)
@@ -6866,9 +6935,6 @@ void TBuiltIns::addGatherFunctions(TSampler sampler, const TString& typeName, in
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
switch (sampler.dim) {
@@ -7112,9 +7178,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
#ifdef GLSLANG_WEB
version = 310;
profile = EEsProfile;
-#elif defined(GLSLANG_ANGLE)
- version = 450;
- profile = ECoreProfile;
#endif
//
@@ -7547,7 +7610,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append("\n");
}
-#ifndef GLSLANG_ANGLE
// atomic counters (some in compute below)
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 420)) {
@@ -7584,7 +7646,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append("\n");
}
-#endif // !GLSLANG_ANGLE
// GL_ARB_cull_distance
if (profile != EEsProfile && version >= 450) {
@@ -7601,7 +7662,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append(builtInConstant);
}
-#ifndef GLSLANG_ANGLE
// SPV_NV_mesh_shader
if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) {
snprintf(builtInConstant, maxSize, "const int gl_MaxMeshOutputVerticesNV = %d;", resources.maxMeshOutputVerticesNV);
@@ -7625,7 +7685,6 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
s.append("\n");
}
#endif
-#endif
s.append("\n");
}
@@ -7731,9 +7790,6 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
#ifdef GLSLANG_WEB
version = 310;
profile = EEsProfile;
-#elif defined(GLSLANG_ANGLE)
- version = 450;
- profile = ECoreProfile;
#endif
//
@@ -8092,6 +8148,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if (language == EShLangGeometry || language == EShLangVertex) {
@@ -8607,6 +8676,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if (profile == EEsProfile) {
@@ -8750,6 +8832,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
// GL_KHR_shader_subgroup
@@ -8793,7 +8888,7 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
#endif // !GLSLANG_WEB
break;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
case EShLangRayGen:
case EShLangIntersect:
case EShLangAnyHit:
@@ -8851,6 +8946,38 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
symbolTable.setFunctionExtensions("executeCallableNV", 1, &E_GL_NV_ray_tracing);
symbolTable.setFunctionExtensions("executeCallableEXT", 1, &E_GL_EXT_ray_tracing);
+ symbolTable.setFunctionExtensions("hitObjectTraceRayNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectTraceRayMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitWithIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordHitWithIndexMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordMissNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordMissMotionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectRecordEmptyNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectExecuteShaderNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectIsEmptyNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectIsMissNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectIsHitNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetRayTMinNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetRayTMaxNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetObjectRayOriginNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetObjectRayDirectionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetWorldRayOriginNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetWorldRayDirectionNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetWorldToObjectNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetbjectToWorldNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetInstanceCustomIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetInstanceIdNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetGeometryIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetPrimitiveIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetHitKindNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetAttributesNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetCurrentTimeNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetShaderBindingTableRecordIndexNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("hitObjectGetShaderRecordBufferHandleNV", 1, &E_GL_NV_shader_invocation_reorder);
+ symbolTable.setFunctionExtensions("reorderThreadNV", 1, &E_GL_NV_shader_invocation_reorder);
+
BuiltInVariable("gl_LaunchIDNV", EbvLaunchId, symbolTable);
BuiltInVariable("gl_LaunchIDEXT", EbvLaunchId, symbolTable);
@@ -8944,6 +9071,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 450)) {
@@ -9150,6 +9290,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if ((profile == EEsProfile && version >= 310) ||
@@ -9280,6 +9433,19 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_SMCountNV", EbvSMCount, symbolTable);
BuiltInVariable("gl_WarpIDNV", EbvWarpID, symbolTable);
BuiltInVariable("gl_SMIDNV", EbvSMID, symbolTable);
+
+ // GL_ARM_shader_core_builtins
+ symbolTable.setVariableExtensions("gl_CoreCountARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_CoreMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpIDARM", 1, &E_GL_ARM_shader_core_builtins);
+ symbolTable.setVariableExtensions("gl_WarpMaxIDARM", 1, &E_GL_ARM_shader_core_builtins);
+
+ BuiltInVariable("gl_CoreCountARM", EbvCoreCountARM, symbolTable);
+ BuiltInVariable("gl_CoreIDARM", EbvCoreIDARM, symbolTable);
+ BuiltInVariable("gl_CoreMaxIDARM", EbvCoreMaxIDARM, symbolTable);
+ BuiltInVariable("gl_WarpIDARM", EbvWarpIDARM, symbolTable);
+ BuiltInVariable("gl_WarpMaxIDARM", EbvWarpMaxIDARM, symbolTable);
}
if ((profile == EEsProfile && version >= 310) ||
(profile != EEsProfile && version >= 450)) {
@@ -9815,6 +9981,38 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
symbolTable.relateToOperator("traceRayEXT", EOpTraceKHR);
symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV);
symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallableKHR);
+
+ symbolTable.relateToOperator("hitObjectTraceRayNV", EOpHitObjectTraceRayNV);
+ symbolTable.relateToOperator("hitObjectTraceRayMotionNV", EOpHitObjectTraceRayMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordHitNV", EOpHitObjectRecordHitNV);
+ symbolTable.relateToOperator("hitObjectRecordHitMotionNV", EOpHitObjectRecordHitMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordHitWithIndexNV", EOpHitObjectRecordHitWithIndexNV);
+ symbolTable.relateToOperator("hitObjectRecordHitWithIndexMotionNV", EOpHitObjectRecordHitWithIndexMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordMissNV", EOpHitObjectRecordMissNV);
+ symbolTable.relateToOperator("hitObjectRecordMissMotionNV", EOpHitObjectRecordMissMotionNV);
+ symbolTable.relateToOperator("hitObjectRecordEmptyNV", EOpHitObjectRecordEmptyNV);
+ symbolTable.relateToOperator("hitObjectExecuteShaderNV", EOpHitObjectExecuteShaderNV);
+ symbolTable.relateToOperator("hitObjectIsEmptyNV", EOpHitObjectIsEmptyNV);
+ symbolTable.relateToOperator("hitObjectIsMissNV", EOpHitObjectIsMissNV);
+ symbolTable.relateToOperator("hitObjectIsHitNV", EOpHitObjectIsHitNV);
+ symbolTable.relateToOperator("hitObjectGetRayTMinNV", EOpHitObjectGetRayTMinNV);
+ symbolTable.relateToOperator("hitObjectGetRayTMaxNV", EOpHitObjectGetRayTMaxNV);
+ symbolTable.relateToOperator("hitObjectGetObjectRayOriginNV", EOpHitObjectGetObjectRayOriginNV);
+ symbolTable.relateToOperator("hitObjectGetObjectRayDirectionNV", EOpHitObjectGetObjectRayDirectionNV);
+ symbolTable.relateToOperator("hitObjectGetWorldRayOriginNV", EOpHitObjectGetWorldRayOriginNV);
+ symbolTable.relateToOperator("hitObjectGetWorldRayDirectionNV", EOpHitObjectGetWorldRayDirectionNV);
+ symbolTable.relateToOperator("hitObjectGetWorldToObjectNV", EOpHitObjectGetWorldToObjectNV);
+ symbolTable.relateToOperator("hitObjectGetObjectToWorldNV", EOpHitObjectGetObjectToWorldNV);
+ symbolTable.relateToOperator("hitObjectGetInstanceCustomIndexNV", EOpHitObjectGetInstanceCustomIndexNV);
+ symbolTable.relateToOperator("hitObjectGetInstanceIdNV", EOpHitObjectGetInstanceIdNV);
+ symbolTable.relateToOperator("hitObjectGetGeometryIndexNV", EOpHitObjectGetGeometryIndexNV);
+ symbolTable.relateToOperator("hitObjectGetPrimitiveIndexNV", EOpHitObjectGetPrimitiveIndexNV);
+ symbolTable.relateToOperator("hitObjectGetHitKindNV", EOpHitObjectGetHitKindNV);
+ symbolTable.relateToOperator("hitObjectGetAttributesNV", EOpHitObjectGetAttributesNV);
+ symbolTable.relateToOperator("hitObjectGetCurrentTimeNV", EOpHitObjectGetCurrentTimeNV);
+ symbolTable.relateToOperator("hitObjectGetShaderBindingTableRecordIndexNV", EOpHitObjectGetShaderBindingTableRecordIndexNV);
+ symbolTable.relateToOperator("hitObjectGetShaderRecordBufferHandleNV", EOpHitObjectGetShaderRecordBufferHandleNV);
+ symbolTable.relateToOperator("reorderThreadNV", EOpReorderThreadNV);
}
break;
case EShLangIntersect:
@@ -9876,10 +10074,6 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources)
{
#ifndef GLSLANG_WEB
-#if defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
-#endif
if (profile != EEsProfile && version >= 430 && version < 440) {
symbolTable.setVariableExtensions("gl_MaxTransformFeedbackBuffers", 1, &E_GL_ARB_enhanced_layouts);
symbolTable.setVariableExtensions("gl_MaxTransformFeedbackInterleavedComponents", 1, &E_GL_ARB_enhanced_layouts);
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 6a43ef3e..e542f90c 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -352,7 +352,7 @@ TIntermTyped* TIntermediate::addIndex(TOperator op, TIntermTyped* base, TIntermT
TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child,
const TSourceLoc& loc)
{
- if (child == 0)
+ if (child == nullptr)
return nullptr;
if (child->getType().getBasicType() == EbtBlock)
@@ -751,6 +751,11 @@ bool TIntermediate::buildConvertOp(TBasicType dst, TBasicType src, TOperator& ne
case EbtInt64: newOp = EOpConvInt64ToUint; break;
case EbtUint64: newOp = EOpConvUint64ToUint; break;
#endif
+ // For bindless texture type conversion, add a dummy convert op, just
+ // to generate a new TIntermTyped
+ // uvec2(any sampler type)
+ // uvec2(any image type)
+ case EbtSampler: newOp = EOpConvIntToUint; break;
default:
return false;
}
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 616580f9..758572bb 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -159,7 +159,8 @@ bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op,
//
switch (node->getBasicType()) {
case EbtSampler:
- message = "can't modify a sampler";
+ if (extensionTurnedOn(E_GL_ARB_bindless_texture) == false)
+ message = "can't modify a sampler";
break;
case EbtVoid:
message = "can't modify void";
@@ -174,6 +175,9 @@ bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op,
case EbtRayQuery:
message = "can't modify rayQueryEXT";
break;
+ case EbtHitObjectNV:
+ message = "can't modify hitObjectNV";
+ break;
#endif
default:
break;
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index e2ac43ca..515137b7 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -608,6 +608,15 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn
#ifndef GLSLANG_WEB
if (base->getType().isUnsizedArray()) {
base->getWritableType().updateImplicitArraySize(indexValue + 1);
+ base->getWritableType().setImplicitlySized(true);
+ if (base->getQualifier().builtIn == EbvClipDistance &&
+ indexValue >= resources.maxClipDistances) {
+ error(loc, "gl_ClipDistance", "[", "array index out of range '%d'", indexValue);
+ }
+ else if (base->getQualifier().builtIn == EbvCullDistance &&
+ indexValue >= resources.maxCullDistances) {
+ error(loc, "gl_CullDistance", "[", "array index out of range '%d'", indexValue);
+ }
// For 2D per-view builtin arrays, update the inner dimension size in parent type
if (base->getQualifier().isPerView() && base->getQualifier().builtIn != EbvNone) {
TIntermBinary* binaryNode = base->getAsBinaryNode();
@@ -836,12 +845,16 @@ int TParseContext::getIoArrayImplicitSize(const TQualifier &qualifier, TString *
} else if (language == EShLangMesh) {
unsigned int maxPrimitives =
intermediate.getPrimitives() != TQualifier::layoutNotSet ? intermediate.getPrimitives() : 0;
- if (qualifier.builtIn == EbvPrimitiveIndicesNV || qualifier.builtIn == EbvPrimitiveTriangleIndicesEXT ||
- qualifier.builtIn == EbvPrimitiveLineIndicesEXT || qualifier.builtIn == EbvPrimitivePointIndicesEXT) {
+ if (qualifier.builtIn == EbvPrimitiveIndicesNV) {
expectedSize = maxPrimitives * TQualifier::mapGeometryToSize(intermediate.getOutputPrimitive());
str = "max_primitives*";
str += TQualifier::getGeometryString(intermediate.getOutputPrimitive());
}
+ else if (qualifier.builtIn == EbvPrimitiveTriangleIndicesEXT || qualifier.builtIn == EbvPrimitiveLineIndicesEXT ||
+ qualifier.builtIn == EbvPrimitivePointIndicesEXT) {
+ expectedSize = maxPrimitives;
+ str = "max_primitives";
+ }
else if (qualifier.isPerPrimitive()) {
expectedSize = maxPrimitives;
str = "max_primitives";
@@ -1022,14 +1035,22 @@ TIntermTyped* TParseContext::handleDotDereference(const TSourceLoc& loc, TInterm
inheritMemoryQualifiers(base->getQualifier(), result->getWritableType().getQualifier());
} else {
auto baseSymbol = base;
- while (baseSymbol->getAsSymbolNode() == nullptr)
- baseSymbol = baseSymbol->getAsBinaryNode()->getLeft();
- TString structName;
- structName.append("\'").append(baseSymbol->getAsSymbolNode()->getName().c_str()).append( "\'");
- error(loc, "no such field in structure", field.c_str(), structName.c_str());
+ while (baseSymbol->getAsSymbolNode() == nullptr) {
+ auto binaryNode = baseSymbol->getAsBinaryNode();
+ if (binaryNode == nullptr) break;
+ baseSymbol = binaryNode->getLeft();
+ }
+ if (baseSymbol->getAsSymbolNode() != nullptr) {
+ TString structName;
+ structName.append("\'").append(baseSymbol->getAsSymbolNode()->getName().c_str()).append("\'");
+ error(loc, "no such field in structure", field.c_str(), structName.c_str());
+ } else {
+ error(loc, "no such field in structure", field.c_str(), "");
+ }
}
} else
- error(loc, "does not apply to this type:", field.c_str(), base->getType().getCompleteString(intermediate.getEnhancedMsgs()).c_str());
+ error(loc, "does not apply to this type:", field.c_str(),
+ base->getType().getCompleteString(intermediate.getEnhancedMsgs()).c_str());
// Propagate noContraction up the dereference chain
if (base->getQualifier().isNoContraction())
@@ -1161,7 +1182,7 @@ TFunction* TParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFunct
if (symbol && builtIn && function.getBuiltInOp() == EOpSpirvInst)
symbol = nullptr;
#endif
- const TFunction* prevDec = symbol ? symbol->getAsFunction() : 0;
+ const TFunction* prevDec = symbol ? symbol->getAsFunction() : nullptr;
if (prevDec) {
if (prevDec->isPrototyped() && prototype)
profileRequires(loc, EEsProfile, 300, nullptr, "multiple prototypes for same function");
@@ -1385,7 +1406,8 @@ TIntermTyped* TParseContext::handleFunctionCall(const TSourceLoc& loc, TFunction
#endif
const TType& argType = arg->getAsTyped()->getType();
const TQualifier& argQualifier = argType.getQualifier();
- if (argQualifier.isMemory() && (argType.containsOpaque() || argType.isReference())) {
+ bool containsBindlessSampler = intermediate.getBindlessMode() && argType.containsSampler();
+ if (argQualifier.isMemory() && !containsBindlessSampler && (argType.containsOpaque() || argType.isReference())) {
const char* message = "argument cannot drop memory qualifier when passed to formal parameter";
#ifndef GLSLANG_WEB
if (argQualifier.volatil && ! formalQualifier.volatil)
@@ -1671,9 +1693,13 @@ TIntermNode* TParseContext::handleReturnValue(const TSourceLoc& loc, TIntermType
error(loc, "type does not match, or is not convertible to, the function's return type", "return", "");
branch = intermediate.addBranch(EOpReturn, value, loc);
}
- } else
+ } else {
+ if (value->getType().isTexture() || value->getType().isImage()) {
+ if (!extensionTurnedOn(E_GL_ARB_bindless_texture))
+ error(loc, "sampler or image can be used as return type only when the extension GL_ARB_bindless_texture enabled", "return", "");
+ }
branch = intermediate.addBranch(EOpReturn, value, loc);
-
+ }
branch->updatePrecision(currentFunctionType->getQualifier().precision);
return branch;
}
@@ -1924,6 +1950,9 @@ TIntermTyped* TParseContext::addAssign(const TSourceLoc& loc, TOperator op, TInt
if ((op == EOpAddAssign || op == EOpSubAssign) && left->isReference())
requireExtensions(loc, 1, &E_GL_EXT_buffer_reference2, "+= and -= on a buffer reference");
+ if (op == EOpAssign && left->getBasicType() == EbtSampler && right->getBasicType() == EbtSampler)
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "sampler assignment for bindless texture");
+
return intermediate.addAssign(op, left, right, loc);
}
@@ -2356,6 +2385,79 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
}
break;
+ case EOpHitObjectTraceRayNV:
+ if (!(*argp)[11]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "");
+ else {
+ unsigned int location = (*argp)[11]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(0, location) < 0)
+ error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectTraceRayMotionNV:
+ if (!(*argp)[12]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "");
+ else {
+ unsigned int location = (*argp)[12]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(0, location) < 0)
+ error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectExecuteShaderNV:
+ if (!(*argp)[1]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "");
+ else {
+ unsigned int location = (*argp)[1]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(0, location) < 0)
+ error(loc, "with layout(location =", "no rayPayloadEXT/rayPayloadInEXT declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitNV:
+ if (!(*argp)[12]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[12]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitMotionNV:
+ if (!(*argp)[13]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[13]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitWithIndexNV:
+ if (!(*argp)[11]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[11]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectRecordHitWithIndexMotionNV:
+ if (!(*argp)[12]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[12]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+ case EOpHitObjectGetAttributesNV:
+ if (!(*argp)[1]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "hitobjectattribute number", "");
+ else {
+ unsigned int location = (*argp)[1]->getAsConstantUnion()->getAsConstantUnion()->getConstArray()[0].getUConst();
+ if (!extensionTurnedOn(E_GL_EXT_spirv_intrinsics) && intermediate.checkLocationRT(2, location) < 0)
+ error(loc, "with layout(location =", "no hitObjectAttributeNV declared", "%d)", location);
+ }
+ break;
+
case EOpRayQueryGetIntersectionType:
case EOpRayQueryGetIntersectionT:
case EOpRayQueryGetIntersectionInstanceCustomIndex:
@@ -2807,6 +2909,14 @@ TFunction* TParseContext::handleConstructorCall(const TSourceLoc& loc, const TPu
profileRequires(loc, EEsProfile, 300, nullptr, "arrayed constructor");
}
+ // Reuse EOpConstructTextureSampler for bindless image constructor
+ // uvec2 imgHandle;
+ // imageLoad(image1D(imgHandle), 0);
+ if (type.isImage() && extensionTurnedOn(E_GL_ARB_bindless_texture))
+ {
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeFunc);
+ }
+
TOperator op = intermediate.mapTypeToConstructorOp(type);
if (op == EOpNull) {
@@ -3136,7 +3246,7 @@ void TParseContext::reservedPpErrorCheck(const TSourceLoc& loc, const char* iden
ppWarn(loc, "\"defined\" is (un)defined:", op, identifier);
else
ppError(loc, "\"defined\" can't be (un)defined:", op, identifier);
- else if (strstr(identifier, "__") != 0 && !extensionTurnedOn(E_GL_EXT_spirv_intrinsics)) {
+ else if (strstr(identifier, "__") != nullptr && !extensionTurnedOn(E_GL_EXT_spirv_intrinsics)) {
// The extension GL_EXT_spirv_intrinsics allows us to declare macros prefixed with "__".
if (isEsProfile() && version >= 300 &&
(strcmp(identifier, "__LINE__") == 0 ||
@@ -3540,8 +3650,13 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
return true;
}
if (op != EOpConstructStruct && op != EOpConstructNonuniform && typed->getBasicType() == EbtSampler) {
- error(loc, "cannot convert a sampler", constructorString.c_str(), "");
- return true;
+ if (op == EOpConstructUVec2 && extensionTurnedOn(E_GL_ARB_bindless_texture)) {
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeFunc);
+ }
+ else {
+ error(loc, "cannot convert a sampler", constructorString.c_str(), "");
+ return true;
+ }
}
if (op != EOpConstructStruct && typed->isAtomic()) {
error(loc, "cannot convert an atomic_uint", constructorString.c_str(), "");
@@ -3561,6 +3676,26 @@ bool TParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const
{
TString constructorName = function.getType().getBasicTypeString(); // TODO: performance: should not be making copy; interface needs to change
const char* token = constructorName.c_str();
+ // verify the constructor for bindless texture, the input must be ivec2 or uvec2
+ if (function.getParamCount() == 1) {
+ TType* pType = function[0].type;
+ TBasicType basicType = pType->getBasicType();
+ bool isIntegerVec2 = ((basicType == EbtUint || basicType == EbtInt) && pType->getVectorSize() == 2);
+ bool bindlessMode = extensionTurnedOn(E_GL_ARB_bindless_texture);
+ if (isIntegerVec2 && bindlessMode) {
+ if (pType->getSampler().isImage())
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeFunc);
+ else
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeFunc);
+ return false;
+ } else {
+ if (!bindlessMode)
+ error(loc, "sampler-constructor requires the extension GL_ARB_bindless_texture enabled", token, "");
+ else
+ error(loc, "sampler-constructor requires the input to be ivec2 or uvec2", token, "");
+ return true;
+ }
+ }
// exactly two arguments needed
if (function.getParamCount() != 2) {
@@ -3656,13 +3791,32 @@ void TParseContext::samplerCheck(const TSourceLoc& loc, const TType& type, const
if (type.getQualifier().storage == EvqUniform)
return;
- if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtSampler))
- error(loc, "non-uniform struct contains a sampler or image:", type.getBasicTypeString().c_str(), identifier.c_str());
+ if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtSampler)) {
+ // For bindless texture, sampler can be declared as an struct member
+ if (extensionTurnedOn(E_GL_ARB_bindless_texture)) {
+ if (type.getSampler().isImage())
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeVar);
+ else
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeVar);
+ }
+ else {
+ error(loc, "non-uniform struct contains a sampler or image:", type.getBasicTypeString().c_str(), identifier.c_str());
+ }
+ }
else if (type.getBasicType() == EbtSampler && type.getQualifier().storage != EvqUniform) {
- // non-uniform sampler
- // not yet: okay if it has an initializer
- // if (! initializer)
- error(loc, "sampler/image types can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str());
+ // For bindless texture, sampler can be declared as an input/output/block member
+ if (extensionTurnedOn(E_GL_ARB_bindless_texture)) {
+ if (type.getSampler().isImage())
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeVar);
+ else
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeVar);
+ }
+ else {
+ // non-uniform sampler
+ // not yet: okay if it has an initializer
+ // if (! initializer)
+ error(loc, "sampler/image types can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str());
+ }
}
}
@@ -3728,7 +3882,7 @@ void TParseContext::memberQualifierCheck(glslang::TPublicType& publicType)
//
// Check/fix just a full qualifier (no variables or types yet, but qualifier is complete) at global level.
//
-void TParseContext::globalQualifierFixCheck(const TSourceLoc& loc, TQualifier& qualifier, bool isMemberCheck)
+void TParseContext::globalQualifierFixCheck(const TSourceLoc& loc, TQualifier& qualifier, bool isMemberCheck, const TPublicType* publicType)
{
bool nonuniformOkay = false;
@@ -3764,6 +3918,11 @@ void TParseContext::globalQualifierFixCheck(const TSourceLoc& loc, TQualifier& q
{
requireExtensions(loc, 1, &E_GL_EXT_scalar_block_layout, "default std430 layout for uniform");
}
+
+ if (publicType != nullptr && publicType->isImage() &&
+ (qualifier.layoutFormat > ElfExtSizeGuard && qualifier.layoutFormat < ElfCount))
+ qualifier.layoutFormat = mapLegacyLayoutFormat(qualifier.layoutFormat, publicType->sampler.getBasicType());
+
break;
default:
break;
@@ -4168,7 +4327,7 @@ void TParseContext::precisionQualifierCheck(const TSourceLoc& loc, TBasicType ba
void TParseContext::parameterTypeCheck(const TSourceLoc& loc, TStorageQualifier qualifier, const TType& type)
{
- if ((qualifier == EvqOut || qualifier == EvqInOut) && type.isOpaque())
+ if ((qualifier == EvqOut || qualifier == EvqInOut) && type.isOpaque() && !intermediate.getBindlessMode())
error(loc, "samplers and atomic_uints cannot be output parameters", type.getBasicTypeString().c_str(), "");
if (!parsingBuiltins && type.contains16BitFloat())
requireFloat16Arithmetic(loc, type.getBasicTypeString().c_str(), "float16 types can only be in uniform block or buffer storage");
@@ -4512,7 +4671,7 @@ void TParseContext::checkRuntimeSizable(const TSourceLoc& loc, const TIntermType
// check for additional things allowed by GL_EXT_nonuniform_qualifier
if (base.getBasicType() == EbtSampler || base.getBasicType() == EbtAccStruct || base.getBasicType() == EbtRayQuery ||
- (base.getBasicType() == EbtBlock && base.getType().getQualifier().isUniformOrBuffer()))
+ base.getBasicType() == EbtHitObjectNV || (base.getBasicType() == EbtBlock && base.getType().getQualifier().isUniformOrBuffer()))
requireExtensions(loc, 1, &E_GL_EXT_nonuniform_qualifier, "variable index");
else
error(loc, "", "[", "array must be redeclared with a size before being indexed with a variable");
@@ -5101,7 +5260,7 @@ void TParseContext::arrayObjectCheck(const TSourceLoc& loc, const TType& type, c
void TParseContext::opaqueCheck(const TSourceLoc& loc, const TType& type, const char* op)
{
- if (containsFieldWithBasicType(type, EbtSampler))
+ if (containsFieldWithBasicType(type, EbtSampler) && !extensionTurnedOn(E_GL_ARB_bindless_texture))
error(loc, "can't use with samplers or structs containing samplers", op, "");
}
@@ -5202,7 +5361,7 @@ void TParseContext::inductiveLoopCheck(const TSourceLoc& loc, TIntermNode* init,
bool badInit = false;
if (! init || ! init->getAsAggregate() || init->getAsAggregate()->getSequence().size() != 1)
badInit = true;
- TIntermBinary* binaryInit = 0;
+ TIntermBinary* binaryInit = nullptr;
if (! badInit) {
// get the declaration assignment
binaryInit = init->getAsAggregate()->getSequence()[0]->getAsBinaryNode();
@@ -5476,6 +5635,28 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
intermediate.setUsePhysicalStorageBuffer();
return;
}
+ if (id == "bindless_sampler") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bindless_sampler");
+ publicType.qualifier.layoutBindlessSampler = true;
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeLayout);
+ return;
+ }
+ if (id == "bindless_image") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bindless_image");
+ publicType.qualifier.layoutBindlessImage = true;
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeLayout);
+ return;
+ }
+ if (id == "bound_sampler") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bound_sampler");
+ publicType.qualifier.layoutBindlessSampler = false;
+ return;
+ }
+ if (id == "bound_image") {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "bound_image");
+ publicType.qualifier.layoutBindlessImage = false;
+ return;
+ }
if (language == EShLangGeometry || language == EShLangTessEvaluation || language == EShLangMesh) {
if (id == TQualifier::getGeometryString(ElgTriangles)) {
publicType.shaderQualifiers.geometry = ElgTriangles;
@@ -5670,6 +5851,10 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
}
publicType.qualifier.layoutShaderRecord = true;
return;
+ } else if (id == "hitobjectshaderrecordnv") {
+ requireExtensions(loc, 1, &E_GL_NV_shader_invocation_reorder, "hitobject shader record NV");
+ publicType.qualifier.layoutHitObjectShaderRecordNV = true;
+ return;
}
}
@@ -5973,8 +6158,14 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
if (id == "max_vertices") {
requireExtensions(loc, Num_AEP_mesh_shader, AEP_mesh_shader, "max_vertices");
publicType.shaderQualifiers.vertices = value;
- if (value > resources.maxMeshOutputVerticesNV)
- error(loc, "too large, must be less than gl_MaxMeshOutputVerticesNV", "max_vertices", "");
+ int max = extensionTurnedOn(E_GL_EXT_mesh_shader) ? resources.maxMeshOutputVerticesEXT
+ : resources.maxMeshOutputVerticesNV;
+ if (value > max) {
+ TString maxsErrtring = "too large, must be less than ";
+ maxsErrtring.append(extensionTurnedOn(E_GL_EXT_mesh_shader) ? "gl_MaxMeshOutputVerticesEXT"
+ : "gl_MaxMeshOutputVerticesNV");
+ error(loc, maxsErrtring.c_str(), "max_vertices", "");
+ }
if (nonLiteral)
error(loc, "needs a literal integer", "max_vertices", "");
return;
@@ -5982,8 +6173,14 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
if (id == "max_primitives") {
requireExtensions(loc, Num_AEP_mesh_shader, AEP_mesh_shader, "max_primitives");
publicType.shaderQualifiers.primitives = value;
- if (value > resources.maxMeshOutputPrimitivesNV)
- error(loc, "too large, must be less than gl_MaxMeshOutputPrimitivesNV", "max_primitives", "");
+ int max = extensionTurnedOn(E_GL_EXT_mesh_shader) ? resources.maxMeshOutputPrimitivesEXT
+ : resources.maxMeshOutputPrimitivesNV;
+ if (value > max) {
+ TString maxsErrtring = "too large, must be less than ";
+ maxsErrtring.append(extensionTurnedOn(E_GL_EXT_mesh_shader) ? "gl_MaxMeshOutputPrimitivesEXT"
+ : "gl_MaxMeshOutputPrimitivesNV");
+ error(loc, maxsErrtring.c_str(), "max_primitives", "");
+ }
if (nonLiteral)
error(loc, "needs a literal integer", "max_primitives", "");
return;
@@ -5999,7 +6196,7 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi
if (language == EShLangMesh || language == EShLangTask) {
requireExtensions(loc, Num_AEP_mesh_shader, AEP_mesh_shader, "gl_WorkGroupSize");
} else {
- profileRequires(loc, EEsProfile, 310, 0, "gl_WorkGroupSize");
+ profileRequires(loc, EEsProfile, 310, nullptr, "gl_WorkGroupSize");
profileRequires(loc, ~EEsProfile, 430, E_GL_ARB_compute_shader, "gl_WorkGroupSize");
}
#endif
@@ -6121,10 +6318,16 @@ void TParseContext::mergeObjectLayoutQualifiers(TQualifier& dst, const TQualifie
dst.layoutSecondaryViewportRelativeOffset = src.layoutSecondaryViewportRelativeOffset;
if (src.layoutShaderRecord)
dst.layoutShaderRecord = true;
+ if (src.layoutBindlessSampler)
+ dst.layoutBindlessSampler = true;
+ if (src.layoutBindlessImage)
+ dst.layoutBindlessImage = true;
if (src.pervertexNV)
dst.pervertexNV = true;
if (src.pervertexEXT)
dst.pervertexEXT = true;
+ if (src.layoutHitObjectShaderRecordNV)
+ dst.layoutHitObjectShaderRecordNV = true;
#endif
}
}
@@ -6282,6 +6485,7 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
case EvqHitAttr:
case EvqCallableData:
case EvqCallableDataIn:
+ case EvqHitObjectAttrNV:
break;
#endif
default:
@@ -6402,7 +6606,7 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
// Image format
if (qualifier.hasFormat()) {
- if (! type.isImage())
+ if (! type.isImage() && !intermediate.getBindlessImageMode())
error(loc, "only apply to images", TQualifier::getLayoutFormatString(qualifier.getFormat()), "");
else {
if (type.getSampler().type == EbtFloat && qualifier.getFormat() > ElfFloatGuard)
@@ -6421,7 +6625,7 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
}
}
}
- } else if (type.isImage() && ! qualifier.isWriteOnly()) {
+ } else if (type.isImage() && ! qualifier.isWriteOnly() && !intermediate.getBindlessImageMode()) {
const char *explanation = "image variables not declared 'writeonly' and without a format layout qualifier";
requireProfile(loc, ECoreProfile | ECompatibilityProfile, explanation);
profileRequires(loc, ECoreProfile | ECompatibilityProfile, 0, E_GL_EXT_shader_image_load_formatted, explanation);
@@ -7066,7 +7270,7 @@ TIntermTyped* TParseContext::vkRelaxedRemapFunctionCall(const TSourceLoc& loc, T
realFunc.addParameter(TParameter().copyParam((*function)[i]));
}
- TParameter tmpP = { 0, &uintType };
+ TParameter tmpP = { nullptr, &uintType };
realFunc.addParameter(TParameter().copyParam(tmpP));
arguments = intermediate.growAggregate(arguments, intermediate.addConstantUnion(1, loc, true));
@@ -7083,7 +7287,7 @@ TIntermTyped* TParseContext::vkRelaxedRemapFunctionCall(const TSourceLoc& loc, T
realFunc.addParameter(TParameter().copyParam((*function)[i]));
}
- TParameter tmpP = { 0, &uintType };
+ TParameter tmpP = { nullptr, &uintType };
realFunc.addParameter(TParameter().copyParam(tmpP));
arguments = intermediate.growAggregate(arguments, intermediate.addConstantUnion(-1, loc, true));
@@ -7237,7 +7441,10 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
if (initializer) {
if (type.getBasicType() == EbtRayQuery) {
error(loc, "ray queries can only be initialized by using the rayQueryInitializeEXT intrinsic:", "=", identifier.c_str());
+ } else if (type.getBasicType() == EbtHitObjectNV) {
+ error(loc, "hit objects cannot be initialized using initializers", "=", identifier.c_str());
}
+
}
if (type.isCoopMat()) {
@@ -7729,12 +7936,14 @@ TIntermTyped* TParseContext::addConstructor(const TSourceLoc& loc, TIntermNode*
// Combined texture-sampler constructors are completely semantic checked
// in constructorTextureSamplerError()
if (op == EOpConstructTextureSampler) {
- if (aggrNode->getSequence()[1]->getAsTyped()->getType().getSampler().shadow) {
- // Transfer depth into the texture (SPIR-V image) type, as a hint
- // for tools to know this texture/image is a depth image.
- aggrNode->getSequence()[0]->getAsTyped()->getWritableType().getSampler().shadow = true;
+ if (aggrNode != nullptr) {
+ if (aggrNode->getSequence()[1]->getAsTyped()->getType().getSampler().shadow) {
+ // Transfer depth into the texture (SPIR-V image) type, as a hint
+ // for tools to know this texture/image is a depth image.
+ aggrNode->getSequence()[0]->getAsTyped()->getWritableType().getSampler().shadow = true;
+ }
+ return intermediate.setAggregateOperator(aggrNode, op, type, loc);
}
- return intermediate.setAggregateOperator(aggrNode, op, type, loc);
}
TTypeList::const_iterator memberTypes;
@@ -7869,6 +8078,16 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
TIntermTyped* newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConvPtrToUvec2, true, node,
type);
return newNode;
+ } else if (node->getType().getBasicType() == EbtSampler) {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "sampler conversion to uvec2");
+ // force the basic type of the constructor param to uvec2, otherwise spv builder will
+ // report some errors
+ TIntermTyped* newSrcNode = intermediate.createConversion(EbtUint, node);
+ newSrcNode->getAsTyped()->getWritableType().setVectorSize(2);
+
+ TIntermTyped* newNode =
+ intermediate.addBuiltInFunctionCall(node->getLoc(), EOpConstructUVec2, false, newSrcNode, type);
+ return newNode;
}
case EOpConstructUVec3:
case EOpConstructUVec4:
@@ -7882,7 +8101,15 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
case EOpConstructBool:
basicOp = EOpConstructBool;
break;
-
+ case EOpConstructTextureSampler:
+ if ((node->getType().getBasicType() == EbtUint || node->getType().getBasicType() == EbtInt) &&
+ node->getType().getVectorSize() == 2) {
+ requireExtensions(loc, 1, &E_GL_ARB_bindless_texture, "ivec2/uvec2 convert to texture handle");
+ // No matter ivec2 or uvec2, Set EOpPackUint2x32 just to generate an opBitcast op code
+ TIntermTyped* newNode =
+ intermediate.addBuiltInFunctionCall(node->getLoc(), EOpPackUint2x32, true, node, type);
+ return newNode;
+ }
#ifndef GLSLANG_WEB
case EOpConstructDVec2:
@@ -8230,6 +8457,30 @@ void TParseContext::inheritMemoryQualifiers(const TQualifier& from, TQualifier&
}
//
+// Update qualifier layoutBindlessImage & layoutBindlessSampler on block member
+//
+void TParseContext::updateBindlessQualifier(TType& memberType)
+{
+ if (memberType.containsSampler()) {
+ if (memberType.isStruct()) {
+ TTypeList* typeList = memberType.getWritableStruct();
+ for (unsigned int member = 0; member < typeList->size(); ++member) {
+ TType* subMemberType = (*typeList)[member].type;
+ updateBindlessQualifier(*subMemberType);
+ }
+ }
+ else if (memberType.getSampler().isImage()) {
+ intermediate.setBindlessImageMode(currentCaller, AstRefTypeLayout);
+ memberType.getQualifier().layoutBindlessImage = true;
+ }
+ else {
+ intermediate.setBindlessTextureMode(currentCaller, AstRefTypeLayout);
+ memberType.getQualifier().layoutBindlessSampler = true;
+ }
+ }
+}
+
+//
// Do everything needed to add an interface block.
//
void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, const TString* instanceName,
@@ -8281,8 +8532,13 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con
}
}
- if (memberType.containsOpaque())
- error(memberLoc, "member of block cannot be or contain a sampler, image, or atomic_uint type", typeList[member].type->getFieldName().c_str(), "");
+ // For bindless texture, sampler can be declared as uniform/storage block member,
+ if (memberType.containsOpaque()) {
+ if (memberType.containsSampler() && extensionTurnedOn(E_GL_ARB_bindless_texture))
+ updateBindlessQualifier(memberType);
+ else
+ error(memberLoc, "member of block cannot be or contain a sampler, image, or atomic_uint type", typeList[member].type->getFieldName().c_str(), "");
+ }
if (memberType.containsCoopMat())
error(memberLoc, "member of block cannot be or contain a cooperative matrix type", typeList[member].type->getFieldName().c_str(), "");
@@ -8615,6 +8871,10 @@ void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& q
profileRequires(loc, ~EEsProfile, 460, 2, extsrt, "callableDataInNV block");
requireStage(loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV block");
break;
+ case EvqHitObjectAttrNV:
+ profileRequires(loc, ~EEsProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV block");
+ requireStage(loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask | EShLangMissMask), "hitObjectAttributeNV block");
+ break;
#endif
default:
error(loc, "only uniform, buffer, in, or out blocks are supported", blockName->c_str(), "");
@@ -9456,4 +9716,38 @@ const TTypeList* TParseContext::recordStructCopy(TStructRecord& record, const TT
return originStruct;
}
+TLayoutFormat TParseContext::mapLegacyLayoutFormat(TLayoutFormat legacyLayoutFormat, TBasicType imageType)
+{
+ TLayoutFormat layoutFormat = ElfNone;
+ if (imageType == EbtFloat) {
+ switch (legacyLayoutFormat) {
+ case ElfSize1x16: layoutFormat = ElfR16f; break;
+ case ElfSize1x32: layoutFormat = ElfR32f; break;
+ case ElfSize2x32: layoutFormat = ElfRg32f; break;
+ case ElfSize4x32: layoutFormat = ElfRgba32f; break;
+ default: break;
+ }
+ } else if (imageType == EbtUint) {
+ switch (legacyLayoutFormat) {
+ case ElfSize1x8: layoutFormat = ElfR8ui; break;
+ case ElfSize1x16: layoutFormat = ElfR16ui; break;
+ case ElfSize1x32: layoutFormat = ElfR32ui; break;
+ case ElfSize2x32: layoutFormat = ElfRg32ui; break;
+ case ElfSize4x32: layoutFormat = ElfRgba32ui; break;
+ default: break;
+ }
+ } else if (imageType == EbtInt) {
+ switch (legacyLayoutFormat) {
+ case ElfSize1x8: layoutFormat = ElfR8i; break;
+ case ElfSize1x16: layoutFormat = ElfR16i; break;
+ case ElfSize1x32: layoutFormat = ElfR32i; break;
+ case ElfSize2x32: layoutFormat = ElfRg32i; break;
+ case ElfSize4x32: layoutFormat = ElfRgba32i; break;
+ default: break;
+ }
+ }
+
+ return layoutFormat;
+}
+
} // end namespace glslang
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 885fd908..8edcfdf8 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -393,7 +393,7 @@ public:
void accStructCheck(const TSourceLoc & loc, const TType & type, const TString & identifier);
void transparentOpaqueCheck(const TSourceLoc&, const TType&, const TString& identifier);
void memberQualifierCheck(glslang::TPublicType&);
- void globalQualifierFixCheck(const TSourceLoc&, TQualifier&, bool isMemberCheck = false);
+ void globalQualifierFixCheck(const TSourceLoc&, TQualifier&, bool isMemberCheck = false, const TPublicType* publicType = nullptr);
void globalQualifierTypeCheck(const TSourceLoc&, const TQualifier&, const TPublicType&);
bool structQualifierErrorCheck(const TSourceLoc&, const TPublicType& pType);
void mergeQualifiers(const TSourceLoc&, TQualifier& dst, const TQualifier& src, bool force);
@@ -438,12 +438,12 @@ public:
const TFunction* findFunction400(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
const TFunction* findFunctionExplicitTypes(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
void declareTypeDefaults(const TSourceLoc&, const TPublicType&);
- TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, const TPublicType&, TArraySizes* typeArray = 0, TIntermTyped* initializer = 0);
+ TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, const TPublicType&, TArraySizes* typeArray = nullptr, TIntermTyped* initializer = nullptr);
TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&);
TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&);
TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset);
void inheritMemoryQualifiers(const TQualifier& from, TQualifier& to);
- void declareBlock(const TSourceLoc&, TTypeList& typeList, const TString* instanceName = 0, TArraySizes* arraySizes = 0);
+ void declareBlock(const TSourceLoc&, TTypeList& typeList, const TString* instanceName = nullptr, TArraySizes* arraySizes = nullptr);
void blockStorageRemap(const TSourceLoc&, const TString*, TQualifier&);
void blockStageIoCheck(const TSourceLoc&, const TQualifier&);
void blockQualifierCheck(const TSourceLoc&, const TQualifier&, bool instanceName);
@@ -456,9 +456,11 @@ public:
void addQualifierToExisting(const TSourceLoc&, TQualifier, TIdentifierList&);
void invariantCheck(const TSourceLoc&, const TQualifier&);
void updateStandaloneQualifierDefaults(const TSourceLoc&, const TPublicType&);
+ void updateBindlessQualifier(TType& memberType);
void wrapupSwitchSubsequence(TIntermAggregate* statements, TIntermNode* branchNode);
TIntermNode* addSwitch(const TSourceLoc&, TIntermTyped* expression, TIntermAggregate* body);
const TTypeList* recordStructCopy(TStructRecord&, const TType*, const TType*);
+ TLayoutFormat mapLegacyLayoutFormat(TLayoutFormat legacyLayoutFormat, TBasicType imageType);
#ifndef GLSLANG_WEB
TAttributeType attributeFromName(const TString& name) const;
diff --git a/glslang/MachineIndependent/PoolAlloc.cpp b/glslang/MachineIndependent/PoolAlloc.cpp
index 84c40f4e..c3a3928c 100644
--- a/glslang/MachineIndependent/PoolAlloc.cpp
+++ b/glslang/MachineIndependent/PoolAlloc.cpp
@@ -267,8 +267,8 @@ void* TPoolAllocator::allocate(size_t numBytes)
//
size_t numBytesToAlloc = allocationSize + headerSkip;
tHeader* memory = reinterpret_cast<tHeader*>(::new char[numBytesToAlloc]);
- if (memory == 0)
- return 0;
+ if (memory == nullptr)
+ return nullptr;
// Use placement-new to initialize header
new(memory) tHeader(inUseList, (numBytesToAlloc + pageSize - 1) / pageSize);
@@ -289,8 +289,8 @@ void* TPoolAllocator::allocate(size_t numBytes)
freeList = freeList->nextPage;
} else {
memory = reinterpret_cast<tHeader*>(::new char[pageSize]);
- if (memory == 0)
- return 0;
+ if (memory == nullptr)
+ return nullptr;
}
// Use placement-new to initialize header
@@ -308,7 +308,7 @@ void* TPoolAllocator::allocate(size_t numBytes)
//
void TAllocation::checkAllocList() const
{
- for (const TAllocation* alloc = this; alloc != 0; alloc = alloc->prevAlloc)
+ for (const TAllocation* alloc = this; alloc != nullptr; alloc = alloc->prevAlloc)
alloc->check();
}
diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp
index 7f51173e..c20048a9 100644
--- a/glslang/MachineIndependent/Scan.cpp
+++ b/glslang/MachineIndependent/Scan.cpp
@@ -765,6 +765,9 @@ void TScanContext::fillInKeywordMap()
(*KeywordMap)["icoopmatNV"] = ICOOPMATNV;
(*KeywordMap)["ucoopmatNV"] = UCOOPMATNV;
+ (*KeywordMap)["hitObjectNV"] = HITOBJECTNV;
+ (*KeywordMap)["hitObjectAttributeNV"] = HITOBJECTATTRNV;
+
ReservedSet = new std::unordered_set<const char*, str_hash, str_eq>;
ReservedSet->insert("common");
@@ -1789,6 +1792,20 @@ int TScanContext::tokenizeIdentifier()
parseContext.extensionTurnedOn(E_GL_EXT_spirv_intrinsics))
return keyword;
return identifierOrType();
+
+ case HITOBJECTNV:
+ if (parseContext.symbolTable.atBuiltInLevel() ||
+ (!parseContext.isEsProfile() && parseContext.version >= 460
+ && parseContext.extensionTurnedOn(E_GL_NV_shader_invocation_reorder)))
+ return keyword;
+ return identifierOrType();
+
+ case HITOBJECTATTRNV:
+ if (parseContext.symbolTable.atBuiltInLevel() ||
+ (!parseContext.isEsProfile() && parseContext.version >= 460
+ && parseContext.extensionTurnedOn(E_GL_NV_shader_invocation_reorder)))
+ return keyword;
+ return identifierOrType();
#endif
default:
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index 57e3423a..ed40c366 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -298,9 +298,6 @@ void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int versi
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
(*symbolTables[language]).adoptLevels(*commonTable[CommonIndex(profile, language)]);
@@ -322,9 +319,6 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source));
@@ -371,7 +365,6 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS
InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source,
infoSink, commonTable, symbolTables);
-#ifndef GLSLANG_ANGLE
// check for ray tracing stages
if (profile != EEsProfile && version >= 450) {
InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGen, source,
@@ -399,7 +392,6 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS
(profile == EEsProfile && version >= 320))
InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTask, source,
infoSink, commonTable, symbolTables);
-#endif // !GLSLANG_ANGLE
#endif // !GLSLANG_WEB
return true;
@@ -502,7 +494,7 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp
// Function to Print all builtins
void DumpBuiltinSymbolTable(TInfoSink& infoSink, const TSymbolTable& symbolTable)
{
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
infoSink.debug << "BuiltinSymbolTable {\n";
symbolTable.dump(infoSink, true);
@@ -606,7 +598,7 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo
break;
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Correct for stage type...
switch (stage) {
case EShLangGeometry:
@@ -884,7 +876,7 @@ bool ProcessDeferred(
: userInput.scanVersion(version, profile, versionNotFirstToken);
bool versionNotFound = version == 0;
if (forceDefaultVersionAndProfile && source == EShSourceGlsl) {
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (! (messages & EShMsgSuppressWarnings) && ! versionNotFound &&
(version != defaultVersion || profile != defaultProfile)) {
compiler->infoSink.info << "Warning, (version, profile) forced to be ("
@@ -910,13 +902,10 @@ bool ProcessDeferred(
#ifdef GLSLANG_WEB
profile = EEsProfile;
version = 310;
-#elif defined(GLSLANG_ANGLE)
- profile = ECoreProfile;
- version = 450;
#endif
bool versionWillBeError = (versionNotFound || (profile == EEsProfile && version >= 300 && versionNotFirst));
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
bool warnVersionNotFirst = false;
if (! versionWillBeError && versionNotFirstToken) {
if (messages & EShMsgRelaxedErrors)
@@ -989,7 +978,7 @@ bool ProcessDeferred(
parseContext->setLimits(*resources);
if (! goodVersion)
parseContext->addError();
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
if (warnVersionNotFirst) {
TSourceLoc loc;
loc.init();
@@ -1027,7 +1016,7 @@ bool ProcessDeferred(
return success;
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Responsible for keeping track of the most recent source string and line in
// the preprocessor and outputting newlines appropriately if the source string
@@ -1250,16 +1239,14 @@ struct DoFullParse{
parseContext.infoSink.info << parseContext.getNumErrors() << " compilation errors. No code generated.\n\n";
}
-#ifndef GLSLANG_ANGLE
if (messages & EShMsgAST)
intermediate.output(parseContext.infoSink, true);
-#endif
return success;
}
};
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Take a single compilation unit, and run the preprocessor on it.
// Return: True if there were no issues found in preprocessing,
// False if during preprocessing any unknown version, pragmas or
@@ -1370,7 +1357,7 @@ int ShInitialize()
ShHandle ShConstructCompiler(const EShLanguage language, int debugOptions)
{
if (!InitThread())
- return 0;
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(ConstructCompiler(language, debugOptions));
@@ -1380,7 +1367,7 @@ ShHandle ShConstructCompiler(const EShLanguage language, int debugOptions)
ShHandle ShConstructLinker(const EShExecutable executable, int debugOptions)
{
if (!InitThread())
- return 0;
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(ConstructLinker(executable, debugOptions));
@@ -1390,7 +1377,7 @@ ShHandle ShConstructLinker(const EShExecutable executable, int debugOptions)
ShHandle ShConstructUniformMap()
{
if (!InitThread())
- return 0;
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(ConstructUniformMap());
@@ -1399,7 +1386,7 @@ ShHandle ShConstructUniformMap()
void ShDestruct(ShHandle handle)
{
- if (handle == 0)
+ if (handle == nullptr)
return;
TShHandleBase* base = static_cast<TShHandleBase*>(handle);
@@ -1432,7 +1419,7 @@ int ShFinalize()
for (int source = 0; source < SourceCount; ++source) {
for (int stage = 0; stage < EShLangCount; ++stage) {
delete SharedSymbolTables[version][spvVersion][p][source][stage];
- SharedSymbolTables[version][spvVersion][p][source][stage] = 0;
+ SharedSymbolTables[version][spvVersion][p][source][stage] = nullptr;
}
}
}
@@ -1445,7 +1432,7 @@ int ShFinalize()
for (int source = 0; source < SourceCount; ++source) {
for (int pc = 0; pc < EPcCount; ++pc) {
delete CommonSymbolTable[version][spvVersion][p][source][pc];
- CommonSymbolTable[version][spvVersion][p][source][pc] = 0;
+ CommonSymbolTable[version][spvVersion][p][source][pc] = nullptr;
}
}
}
@@ -1488,12 +1475,12 @@ int ShCompile(
)
{
// Map the generic handle to the C++ object
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TCompiler* compiler = base->getAsCompiler();
- if (compiler == 0)
+ if (compiler == nullptr)
return 0;
SetThreadPoolAllocator(compiler->getPool());
@@ -1533,13 +1520,13 @@ int ShLinkExt(
const ShHandle compHandles[],
const int numHandles)
{
- if (linkHandle == 0 || numHandles == 0)
+ if (linkHandle == nullptr || numHandles == 0)
return 0;
THandleList cObjects;
for (int i = 0; i < numHandles; ++i) {
- if (compHandles[i] == 0)
+ if (compHandles[i] == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(compHandles[i]);
if (base->getAsLinker()) {
@@ -1548,7 +1535,7 @@ int ShLinkExt(
if (base->getAsCompiler())
cObjects.push_back(base->getAsCompiler());
- if (cObjects[i] == 0)
+ if (cObjects[i] == nullptr)
return 0;
}
@@ -1557,7 +1544,7 @@ int ShLinkExt(
SetThreadPoolAllocator(linker->getPool());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->infoSink.info.erase();
@@ -1582,7 +1569,7 @@ int ShLinkExt(
//
void ShSetEncryptionMethod(ShHandle handle)
{
- if (handle == 0)
+ if (handle == nullptr)
return;
}
@@ -1591,8 +1578,8 @@ void ShSetEncryptionMethod(ShHandle handle)
//
const char* ShGetInfoLog(const ShHandle handle)
{
- if (handle == 0)
- return 0;
+ if (handle == nullptr)
+ return nullptr;
TShHandleBase* base = static_cast<TShHandleBase*>(handle);
TInfoSink* infoSink;
@@ -1602,7 +1589,7 @@ const char* ShGetInfoLog(const ShHandle handle)
else if (base->getAsLinker())
infoSink = &(base->getAsLinker()->getInfoSink());
else
- return 0;
+ return nullptr;
infoSink->info << infoSink->debug.c_str();
return infoSink->info.c_str();
@@ -1614,14 +1601,14 @@ const char* ShGetInfoLog(const ShHandle handle)
//
const void* ShGetExecutable(const ShHandle handle)
{
- if (handle == 0)
- return 0;
+ if (handle == nullptr)
+ return nullptr;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
- return 0;
+ if (linker == nullptr)
+ return nullptr;
return linker->getObjectCode();
}
@@ -1636,13 +1623,13 @@ const void* ShGetExecutable(const ShHandle handle)
//
int ShSetVirtualAttributeBindings(const ShHandle handle, const ShBindingTable* table)
{
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->setAppAttributeBindings(table);
@@ -1655,13 +1642,13 @@ int ShSetVirtualAttributeBindings(const ShHandle handle, const ShBindingTable* t
//
int ShSetFixedAttributeBindings(const ShHandle handle, const ShBindingTable* table)
{
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->setFixedAttributeBindings(table);
@@ -1673,12 +1660,12 @@ int ShSetFixedAttributeBindings(const ShHandle handle, const ShBindingTable* tab
//
int ShExcludeAttributes(const ShHandle handle, int *attributes, int count)
{
- if (handle == 0)
+ if (handle == nullptr)
return 0;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TLinker* linker = static_cast<TLinker*>(base->getAsLinker());
- if (linker == 0)
+ if (linker == nullptr)
return 0;
linker->setExcludedAttributes(attributes, count);
@@ -1694,12 +1681,12 @@ int ShExcludeAttributes(const ShHandle handle, int *attributes, int count)
//
int ShGetUniformLocation(const ShHandle handle, const char* name)
{
- if (handle == 0)
+ if (handle == nullptr)
return -1;
TShHandleBase* base = reinterpret_cast<TShHandleBase*>(handle);
TUniformMap* uniformMap= base->getAsUniformMap();
- if (uniformMap == 0)
+ if (uniformMap == nullptr)
return -1;
return uniformMap->getLocation(name);
@@ -1927,7 +1914,7 @@ bool TShader::parse(const TBuiltInResource* builtInResources, int defaultVersion
&environment);
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Fill in a string with the result of preprocessing ShaderStrings
// Returns true if all extensions, pragmas and version strings were valid.
//
@@ -1966,15 +1953,15 @@ const char* TShader::getInfoDebugLog()
}
TProgram::TProgram() :
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
- reflection(0),
+#if !defined(GLSLANG_WEB)
+ reflection(nullptr),
#endif
linked(false)
{
pool = new TPoolAllocator;
infoSink = new TInfoSink;
for (int s = 0; s < EShLangCount; ++s) {
- intermediate[s] = 0;
+ intermediate[s] = nullptr;
newedIntermediate[s] = false;
}
}
@@ -1982,7 +1969,7 @@ TProgram::TProgram() :
TProgram::~TProgram()
{
delete infoSink;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
delete reflection;
#endif
@@ -2032,7 +2019,7 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages)
if (stages[stage].size() == 0)
return true;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
int numEsShaders = 0, numNonEsShaders = 0;
for (auto it = stages[stage].begin(); it != stages[stage].end(); ++it) {
if ((*it)->intermediate->getProfile() == EEsProfile) {
@@ -2088,10 +2075,8 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages)
#endif
intermediate[stage]->finalCheck(*infoSink, (messages & EShMsgKeepUncalled) != 0);
-#ifndef GLSLANG_ANGLE
if (messages & EShMsgAST)
intermediate[stage]->output(*infoSink, true);
-#endif
return intermediate[stage]->getNumErrors() == 0;
}
@@ -2169,7 +2154,7 @@ const char* TProgram::getInfoDebugLog()
return infoSink->debug.c_str();
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
//
// Reflection implementation.
@@ -2251,6 +2236,6 @@ bool TProgram::mapIO(TIoMapResolver* pResolver, TIoMapper* pIoMapper)
return ioMapper->doMap(pResolver, *infoSink);
}
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
} // end namespace glslang
diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp
index 2f1b5ac3..f5f98a0b 100644
--- a/glslang/MachineIndependent/SymbolTable.cpp
+++ b/glslang/MachineIndependent/SymbolTable.cpp
@@ -78,6 +78,7 @@ void TType::buildMangledName(TString& mangledName) const
case EbtAccStruct: mangledName += "as"; break;
case EbtRayQuery: mangledName += "rq"; break;
case EbtSpirvType: mangledName += "spv-t"; break;
+ case EbtHitObjectNV: mangledName += "ho"; break;
#endif
case EbtSampler:
switch (sampler.type) {
@@ -183,7 +184,7 @@ void TType::buildMangledName(TString& mangledName) const
}
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
//
// Dump functions.
@@ -416,7 +417,7 @@ TAnonMember* TAnonMember::clone() const
// copy of the original container.
assert(0);
- return 0;
+ return nullptr;
}
TSymbolTableLevel* TSymbolTableLevel::clone() const
diff --git a/glslang/MachineIndependent/SymbolTable.h b/glslang/MachineIndependent/SymbolTable.h
index 2e570bb3..c2b386e8 100644
--- a/glslang/MachineIndependent/SymbolTable.h
+++ b/glslang/MachineIndependent/SymbolTable.h
@@ -84,7 +84,7 @@ typedef TVector<const char*> TExtensionList;
class TSymbol {
public:
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- explicit TSymbol(const TString *n) : name(n), uniqueId(0), extensions(0), writable(true) { }
+ explicit TSymbol(const TString *n) : name(n), uniqueId(0), extensions(nullptr), writable(true) { }
virtual TSymbol* clone() const = 0;
virtual ~TSymbol() { } // rely on all symbol owned memory coming from the pool
@@ -97,18 +97,18 @@ public:
changeName(NewPoolTString(newName.c_str()));
}
virtual const TString& getMangledName() const { return getName(); }
- virtual TFunction* getAsFunction() { return 0; }
- virtual const TFunction* getAsFunction() const { return 0; }
- virtual TVariable* getAsVariable() { return 0; }
- virtual const TVariable* getAsVariable() const { return 0; }
- virtual const TAnonMember* getAsAnonMember() const { return 0; }
+ virtual TFunction* getAsFunction() { return nullptr; }
+ virtual const TFunction* getAsFunction() const { return nullptr; }
+ virtual TVariable* getAsVariable() { return nullptr; }
+ virtual const TVariable* getAsVariable() const { return nullptr; }
+ virtual const TAnonMember* getAsAnonMember() const { return nullptr; }
virtual const TType& getType() const = 0;
virtual TType& getWritableType() = 0;
virtual void setUniqueId(long long id) { uniqueId = id; }
virtual long long getUniqueId() const { return uniqueId; }
virtual void setExtensions(int numExts, const char* const exts[])
{
- assert(extensions == 0);
+ assert(extensions == nullptr);
assert(numExts > 0);
extensions = NewPoolObject(extensions);
for (int e = 0; e < numExts; ++e)
@@ -117,7 +117,7 @@ public:
virtual int getNumExtensions() const { return extensions == nullptr ? 0 : (int)extensions->size(); }
virtual const char** getExtensions() const { return extensions->data(); }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const = 0;
void dumpExtensions(TInfoSink& infoSink) const;
#endif
@@ -196,7 +196,7 @@ public:
}
virtual const char** getMemberExtensions(int member) const { return (*memberExtensions)[member].data(); }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const;
#endif
@@ -229,7 +229,7 @@ struct TParameter {
if (param.name)
name = NewPoolTString(param.name->c_str());
else
- name = 0;
+ name = nullptr;
type = param.type->clone();
defaultValue = param.defaultValue;
return *this;
@@ -243,7 +243,7 @@ struct TParameter {
class TFunction : public TSymbol {
public:
explicit TFunction(TOperator o) :
- TSymbol(0),
+ TSymbol(nullptr),
op(o),
defined(false), prototyped(false), implicitThis(false), illegalImplicitThis(false), defaultParamCount(0) { }
TFunction(const TString *name, const TType& retType, TOperator tOp = EOpNull) :
@@ -319,6 +319,7 @@ public:
virtual TParameter& operator[](int i) { assert(writable); return parameters[i]; }
virtual const TParameter& operator[](int i) const { return parameters[i]; }
+ const TQualifier& getQualifier() const { return returnType.getQualifier(); }
#ifndef GLSLANG_WEB
virtual void setSpirvInstruction(const TSpirvInstruction& inst)
@@ -329,7 +330,7 @@ public:
virtual const TSpirvInstruction& getSpirvInstruction() const { return spirvInst; }
#endif
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const override;
#endif
@@ -395,7 +396,7 @@ public:
virtual const char** getExtensions() const override { return anonContainer.getMemberExtensions(memberNumber); }
virtual int getAnonId() const { return anonId; }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
virtual void dump(TInfoSink& infoSink, bool complete = false) const override;
#endif
@@ -411,7 +412,7 @@ protected:
class TSymbolTableLevel {
public:
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- TSymbolTableLevel() : defaultPrecision(0), anonId(0), thisLevel(false) { }
+ TSymbolTableLevel() : defaultPrecision(nullptr), anonId(0), thisLevel(false) { }
~TSymbolTableLevel();
bool insert(const TString& name, TSymbol* symbol) {
@@ -493,7 +494,7 @@ public:
{
tLevel::const_iterator it = level.find(name);
if (it == level.end())
- return 0;
+ return nullptr;
else
return (*it).second;
}
@@ -561,7 +562,7 @@ public:
{
// can call multiple times at one scope, will only latch on first call,
// as we're tracking the previous scope's values, not the current values
- if (defaultPrecision != 0)
+ if (defaultPrecision != nullptr)
return;
defaultPrecision = new TPrecisionQualifier[EbtNumTypes];
@@ -573,7 +574,7 @@ public:
{
// can be called for table level pops that didn't set the
// defaults
- if (defaultPrecision == 0 || p == 0)
+ if (defaultPrecision == nullptr || p == nullptr)
return;
for (int t = 0; t < EbtNumTypes; ++t)
@@ -582,7 +583,7 @@ public:
void relateToOperator(const char* name, TOperator op);
void setFunctionExtensions(const char* name, int num, const char* const extensions[]);
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
void dump(TInfoSink& infoSink, bool complete = false) const;
#endif
TSymbolTableLevel* clone() const;
@@ -622,7 +623,7 @@ public:
// don't deallocate levels passed in from elsewhere
while (table.size() > adoptedLevels)
- pop(0);
+ pop(nullptr);
}
void adoptLevels(TSymbolTable& symTable)
@@ -783,7 +784,7 @@ public:
// Normal find of a symbol, that can optionally say whether the symbol was found
// at a built-in level or the current top-scope level.
- TSymbol* find(const TString& name, bool* builtIn = 0, bool* currentScope = 0, int* thisDepthP = 0)
+ TSymbol* find(const TString& name, bool* builtIn = nullptr, bool* currentScope = nullptr, int* thisDepthP = nullptr)
{
int level = currentLevel();
TSymbol* symbol;
@@ -827,7 +828,7 @@ public:
++thisDepth;
symbol = table[level]->find(name);
--level;
- } while (symbol == 0 && level >= 0);
+ } while (symbol == nullptr && level >= 0);
if (! table[level + 1]->isThisLevel())
thisDepth = 0;
@@ -912,7 +913,7 @@ public:
}
long long getMaxSymbolId() { return uniqueId; }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
void dump(TInfoSink& infoSink, bool complete = false) const;
#endif
void copyTable(const TSymbolTable& copyOf);
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index a5fd1075..bf5ce2f6 100644
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -227,6 +227,7 @@ void TParseVersions::initializeExtensionBehavior()
extensionBehavior[E_GL_ARB_texture_query_lod] = EBhDisable;
extensionBehavior[E_GL_ARB_vertex_attrib_64bit] = EBhDisable;
extensionBehavior[E_GL_ARB_draw_instanced] = EBhDisable;
+ extensionBehavior[E_GL_ARB_bindless_texture] = EBhDisable;
extensionBehavior[E_GL_ARB_fragment_coord_conventions] = EBhDisable;
@@ -301,6 +302,11 @@ void TParseVersions::initializeExtensionBehavior()
extensionBehavior[E_GL_NV_shader_sm_builtins] = EBhDisable;
extensionBehavior[E_GL_NV_integer_cooperative_matrix] = EBhDisable;
+ extensionBehavior[E_GL_NV_shader_invocation_reorder] = EBhDisable;
+
+ // ARM
+ extensionBehavior[E_GL_ARM_shader_core_builtins] = EBhDisable;
+
// AEP
extensionBehavior[E_GL_ANDROID_extension_pack_es31a] = EBhDisable;
extensionBehavior[E_GL_KHR_blend_equation_advanced] = EBhDisable;
@@ -370,6 +376,9 @@ void TParseVersions::initializeExtensionBehavior()
extensionBehavior[E_GL_EXT_shader_subgroup_extended_types_float16] = EBhDisable;
extensionBehavior[E_GL_EXT_shader_atomic_float] = EBhDisable;
extensionBehavior[E_GL_EXT_shader_atomic_float2] = EBhDisable;
+
+ // Record extensions not for spv.
+ spvUnsupportedExt.push_back(E_GL_ARB_bindless_texture);
}
#endif // GLSLANG_WEB
@@ -437,7 +446,6 @@ void TParseVersions::getPreamble(std::string& preamble)
} else { // !isEsProfile()
preamble =
- "#define GL_FRAGMENT_PRECISION_HIGH 1\n"
"#define GL_ARB_texture_rectangle 1\n"
"#define GL_ARB_shading_language_420pack 1\n"
"#define GL_ARB_texture_gather 1\n"
@@ -477,6 +485,7 @@ void TParseVersions::getPreamble(std::string& preamble)
"#define GL_ARB_vertex_attrib_64bit 1\n"
"#define GL_ARB_draw_instanced 1\n"
"#define GL_ARB_fragment_coord_conventions 1\n"
+ "#define GL_ARB_bindless_texture 1\n"
"#define GL_EXT_shader_non_constant_global_initializers 1\n"
"#define GL_EXT_shader_image_load_formatted 1\n"
"#define GL_EXT_post_depth_coverage 1\n"
@@ -544,6 +553,7 @@ void TParseVersions::getPreamble(std::string& preamble)
"#define GL_NV_mesh_shader 1\n"
"#define GL_NV_cooperative_matrix 1\n"
"#define GL_NV_integer_cooperative_matrix 1\n"
+ "#define GL_NV_shader_execution_reorder 1\n"
"#define GL_EXT_shader_explicit_arithmetic_types 1\n"
"#define GL_EXT_shader_explicit_arithmetic_types_int8 1\n"
@@ -576,6 +586,10 @@ void TParseVersions::getPreamble(std::string& preamble)
preamble += "#define GL_EXT_null_initializer 1\n";
preamble += "#define GL_EXT_subgroup_uniform_control_flow 1\n";
}
+ if (version >= 130) {
+ preamble +="#define GL_FRAGMENT_PRECISION_HIGH 1\n";
+ }
+
#endif // GLSLANG_WEB
}
@@ -1066,8 +1080,8 @@ void TParseVersions::checkExtensionStage(const TSourceLoc& loc, const char * con
if (strcmp(extension, "GL_NV_mesh_shader") == 0) {
requireStage(loc, (EShLanguageMask)(EShLangTaskMask | EShLangMeshMask | EShLangFragmentMask),
"#extension GL_NV_mesh_shader");
- profileRequires(loc, ECoreProfile, 450, 0, "#extension GL_NV_mesh_shader");
- profileRequires(loc, EEsProfile, 320, 0, "#extension GL_NV_mesh_shader");
+ profileRequires(loc, ECoreProfile, 450, nullptr, "#extension GL_NV_mesh_shader");
+ profileRequires(loc, EEsProfile, 320, nullptr, "#extension GL_NV_mesh_shader");
if (extensionTurnedOn(E_GL_EXT_mesh_shader)) {
error(loc, "GL_EXT_mesh_shader is already turned on, and not allowed with", "#extension", extension);
}
@@ -1075,8 +1089,8 @@ void TParseVersions::checkExtensionStage(const TSourceLoc& loc, const char * con
else if (strcmp(extension, "GL_EXT_mesh_shader") == 0) {
requireStage(loc, (EShLanguageMask)(EShLangTaskMask | EShLangMeshMask | EShLangFragmentMask),
"#extension GL_EXT_mesh_shader");
- profileRequires(loc, ECoreProfile, 450, 0, "#extension GL_EXT_mesh_shader");
- profileRequires(loc, EEsProfile, 320, 0, "#extension GL_EXT_mesh_shader");
+ profileRequires(loc, ECoreProfile, 450, nullptr, "#extension GL_EXT_mesh_shader");
+ profileRequires(loc, EEsProfile, 320, nullptr, "#extension GL_EXT_mesh_shader");
if (extensionTurnedOn(E_GL_NV_mesh_shader)) {
error(loc, "GL_NV_mesh_shader is already turned on, and not allowed with", "#extension", extension);
}
@@ -1099,6 +1113,13 @@ void TParseVersions::extensionRequires(const TSourceLoc &loc, const char * const
minSpvVersion = iter->second;
requireSpv(loc, extension, minSpvVersion);
}
+
+ if (spvVersion.spv != 0){
+ for (auto ext : spvUnsupportedExt){
+ if (strcmp(extension, ext.c_str()) == 0)
+ error(loc, "not allowed when using generating SPIR-V codes", extension, "");
+ }
+ }
}
// Call for any operation needing full GLSL integer data-type support.
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
index f06abdd6..9e4c9fea 100644
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -163,6 +163,7 @@ const char* const E_GL_ARB_texture_query_lod = "GL_ARB_texture_query_
const char* const E_GL_ARB_vertex_attrib_64bit = "GL_ARB_vertex_attrib_64bit";
const char* const E_GL_ARB_draw_instanced = "GL_ARB_draw_instanced";
const char* const E_GL_ARB_fragment_coord_conventions = "GL_ARB_fragment_coord_conventions";
+const char* const E_GL_ARB_bindless_texture = "GL_ARB_bindless_texture";
const char* const E_GL_KHR_shader_subgroup_basic = "GL_KHR_shader_subgroup_basic";
const char* const E_GL_KHR_shader_subgroup_vote = "GL_KHR_shader_subgroup_vote";
@@ -265,6 +266,9 @@ const char* const E_GL_NV_compute_shader_derivatives = "GL_NV_compute
const char* const E_GL_NV_shader_texture_footprint = "GL_NV_shader_texture_footprint";
const char* const E_GL_NV_mesh_shader = "GL_NV_mesh_shader";
+// ARM
+const char* const E_GL_ARM_shader_core_builtins = "GL_ARM_shader_core_builtins";
+
// Arrays of extensions for the above viewportEXTs duplications
const char* const viewportEXTs[] = { E_GL_ARB_shader_viewport_layer_array, E_GL_NV_viewport_array2 };
@@ -273,6 +277,7 @@ const int Num_viewportEXTs = sizeof(viewportEXTs) / sizeof(viewportEXTs[0]);
const char* const E_GL_NV_cooperative_matrix = "GL_NV_cooperative_matrix";
const char* const E_GL_NV_shader_sm_builtins = "GL_NV_shader_sm_builtins";
const char* const E_GL_NV_integer_cooperative_matrix = "GL_NV_integer_cooperative_matrix";
+const char* const E_GL_NV_shader_invocation_reorder = "GL_NV_shader_invocation_reorder";
// AEP
const char* const E_GL_ANDROID_extension_pack_es31a = "GL_ANDROID_extension_pack_es31a";
diff --git a/glslang/MachineIndependent/glslang.m4 b/glslang/MachineIndependent/glslang.m4
index a59da443..442529be 100644
--- a/glslang/MachineIndependent/glslang.m4
+++ b/glslang/MachineIndependent/glslang.m4
@@ -211,6 +211,7 @@ GLSLANG_WEB_EXCLUDE_ON
%token <lex> ACCSTRUCTEXT
%token <lex> RAYQUERYEXT
%token <lex> FCOOPMATNV ICOOPMATNV UCOOPMATNV
+%token <lex> HITOBJECTNV HITOBJECTATTRNV
// combined image/sampler
%token <lex> SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW
@@ -310,7 +311,7 @@ GLSLANG_WEB_EXCLUDE_ON
%token <lex> DOUBLECONSTANT INT16CONSTANT UINT16CONSTANT FLOAT16CONSTANT INT32CONSTANT UINT32CONSTANT
%token <lex> INT64CONSTANT UINT64CONSTANT
%token <lex> SUBROUTINE DEMOTE
-%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
+%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
%token <lex> PAYLOADEXT PAYLOADINEXT HITATTREXT CALLDATAEXT CALLDATAINEXT
%token <lex> PATCH SAMPLE NONUNIFORM
%token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT
@@ -1218,7 +1219,7 @@ fully_specified_type
parseContext.precisionQualifierCheck($$.loc, $$.basicType, $$.qualifier);
}
| type_qualifier type_specifier {
- parseContext.globalQualifierFixCheck($1.loc, $1.qualifier);
+ parseContext.globalQualifierFixCheck($1.loc, $1.qualifier, false, &$2);
parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $2);
if ($2.arraySizes) {
@@ -1534,6 +1535,14 @@ GLSLANG_WEB_EXCLUDE_ON
$$.init($1.loc);
$$.qualifier.storage = EvqHitAttr;
}
+ | HITOBJECTATTRNV {
+ parseContext.globalCheck($1.loc, "hitAttributeNV");
+ parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask
+ | EShLangMissMask), "hitObjectAttributeNV");
+ parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV");
+ $$.init($1.loc);
+ $$.qualifier.storage = EvqHitObjectAttrNV;
+ }
| HITATTREXT {
parseContext.globalCheck($1.loc, "hitAttributeEXT");
parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -3509,6 +3518,10 @@ GLSLANG_WEB_EXCLUDE_ON
parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V type specifier");
$$ = $1;
}
+ | HITOBJECTNV {
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtHitObjectNV;
+ }
GLSLANG_WEB_EXCLUDE_OFF
| struct_specifier {
$$ = $1;
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index 35242f21..e0a5bcf1 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -151,7 +151,7 @@ extern int yylex(YYSTYPE*, TParseContext&);
%parse-param {glslang::TParseContext* pParseContext}
%lex-param {parseContext}
-%define api.pure // enable thread safety
+%pure-parser // enable thread safety
%expect 1 // One shift reduce conflict because of if | else
%token <lex> CONST BOOL INT UINT FLOAT
@@ -211,6 +211,7 @@ extern int yylex(YYSTYPE*, TParseContext&);
%token <lex> ACCSTRUCTEXT
%token <lex> RAYQUERYEXT
%token <lex> FCOOPMATNV ICOOPMATNV UCOOPMATNV
+%token <lex> HITOBJECTNV HITOBJECTATTRNV
// combined image/sampler
%token <lex> SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW
@@ -310,7 +311,7 @@ extern int yylex(YYSTYPE*, TParseContext&);
%token <lex> DOUBLECONSTANT INT16CONSTANT UINT16CONSTANT FLOAT16CONSTANT INT32CONSTANT UINT32CONSTANT
%token <lex> INT64CONSTANT UINT64CONSTANT
%token <lex> SUBROUTINE DEMOTE
-%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
+%token <lex> PAYLOADNV PAYLOADINNV HITATTRNV CALLDATANV CALLDATAINNV
%token <lex> PAYLOADEXT PAYLOADINEXT HITATTREXT CALLDATAEXT CALLDATAINEXT
%token <lex> PATCH SAMPLE NONUNIFORM
%token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT
@@ -1218,7 +1219,7 @@ fully_specified_type
parseContext.precisionQualifierCheck($$.loc, $$.basicType, $$.qualifier);
}
| type_qualifier type_specifier {
- parseContext.globalQualifierFixCheck($1.loc, $1.qualifier);
+ parseContext.globalQualifierFixCheck($1.loc, $1.qualifier, false, &$2);
parseContext.globalQualifierTypeCheck($1.loc, $1.qualifier, $2);
if ($2.arraySizes) {
@@ -1534,6 +1535,14 @@ storage_qualifier
$$.init($1.loc);
$$.qualifier.storage = EvqHitAttr;
}
+ | HITOBJECTATTRNV {
+ parseContext.globalCheck($1.loc, "hitAttributeNV");
+ parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask
+ | EShLangMissMask), "hitObjectAttributeNV");
+ parseContext.profileRequires($1.loc, ECoreProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV");
+ $$.init($1.loc);
+ $$.qualifier.storage = EvqHitObjectAttrNV;
+ }
| HITATTREXT {
parseContext.globalCheck($1.loc, "hitAttributeEXT");
parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -3509,6 +3518,10 @@ type_specifier_nonarray
parseContext.requireExtensions($1.loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V type specifier");
$$ = $1;
}
+ | HITOBJECTNV {
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtHitObjectNV;
+ }
| struct_specifier {
$$ = $1;
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index 7ca3e711..5c17c8ce 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -287,429 +287,431 @@ enum yysymbol_kind_t
YYSYMBOL_FCOOPMATNV = 163, /* FCOOPMATNV */
YYSYMBOL_ICOOPMATNV = 164, /* ICOOPMATNV */
YYSYMBOL_UCOOPMATNV = 165, /* UCOOPMATNV */
- YYSYMBOL_SAMPLERCUBEARRAY = 166, /* SAMPLERCUBEARRAY */
- YYSYMBOL_SAMPLERCUBEARRAYSHADOW = 167, /* SAMPLERCUBEARRAYSHADOW */
- YYSYMBOL_ISAMPLERCUBEARRAY = 168, /* ISAMPLERCUBEARRAY */
- YYSYMBOL_USAMPLERCUBEARRAY = 169, /* USAMPLERCUBEARRAY */
- YYSYMBOL_SAMPLER1D = 170, /* SAMPLER1D */
- YYSYMBOL_SAMPLER1DARRAY = 171, /* SAMPLER1DARRAY */
- YYSYMBOL_SAMPLER1DARRAYSHADOW = 172, /* SAMPLER1DARRAYSHADOW */
- YYSYMBOL_ISAMPLER1D = 173, /* ISAMPLER1D */
- YYSYMBOL_SAMPLER1DSHADOW = 174, /* SAMPLER1DSHADOW */
- YYSYMBOL_SAMPLER2DRECT = 175, /* SAMPLER2DRECT */
- YYSYMBOL_SAMPLER2DRECTSHADOW = 176, /* SAMPLER2DRECTSHADOW */
- YYSYMBOL_ISAMPLER2DRECT = 177, /* ISAMPLER2DRECT */
- YYSYMBOL_USAMPLER2DRECT = 178, /* USAMPLER2DRECT */
- YYSYMBOL_SAMPLERBUFFER = 179, /* SAMPLERBUFFER */
- YYSYMBOL_ISAMPLERBUFFER = 180, /* ISAMPLERBUFFER */
- YYSYMBOL_USAMPLERBUFFER = 181, /* USAMPLERBUFFER */
- YYSYMBOL_SAMPLER2DMS = 182, /* SAMPLER2DMS */
- YYSYMBOL_ISAMPLER2DMS = 183, /* ISAMPLER2DMS */
- YYSYMBOL_USAMPLER2DMS = 184, /* USAMPLER2DMS */
- YYSYMBOL_SAMPLER2DMSARRAY = 185, /* SAMPLER2DMSARRAY */
- YYSYMBOL_ISAMPLER2DMSARRAY = 186, /* ISAMPLER2DMSARRAY */
- YYSYMBOL_USAMPLER2DMSARRAY = 187, /* USAMPLER2DMSARRAY */
- YYSYMBOL_SAMPLEREXTERNALOES = 188, /* SAMPLEREXTERNALOES */
- YYSYMBOL_SAMPLEREXTERNAL2DY2YEXT = 189, /* SAMPLEREXTERNAL2DY2YEXT */
- YYSYMBOL_ISAMPLER1DARRAY = 190, /* ISAMPLER1DARRAY */
- YYSYMBOL_USAMPLER1D = 191, /* USAMPLER1D */
- YYSYMBOL_USAMPLER1DARRAY = 192, /* USAMPLER1DARRAY */
- YYSYMBOL_F16SAMPLER1D = 193, /* F16SAMPLER1D */
- YYSYMBOL_F16SAMPLER2D = 194, /* F16SAMPLER2D */
- YYSYMBOL_F16SAMPLER3D = 195, /* F16SAMPLER3D */
- YYSYMBOL_F16SAMPLER2DRECT = 196, /* F16SAMPLER2DRECT */
- YYSYMBOL_F16SAMPLERCUBE = 197, /* F16SAMPLERCUBE */
- YYSYMBOL_F16SAMPLER1DARRAY = 198, /* F16SAMPLER1DARRAY */
- YYSYMBOL_F16SAMPLER2DARRAY = 199, /* F16SAMPLER2DARRAY */
- YYSYMBOL_F16SAMPLERCUBEARRAY = 200, /* F16SAMPLERCUBEARRAY */
- YYSYMBOL_F16SAMPLERBUFFER = 201, /* F16SAMPLERBUFFER */
- YYSYMBOL_F16SAMPLER2DMS = 202, /* F16SAMPLER2DMS */
- YYSYMBOL_F16SAMPLER2DMSARRAY = 203, /* F16SAMPLER2DMSARRAY */
- YYSYMBOL_F16SAMPLER1DSHADOW = 204, /* F16SAMPLER1DSHADOW */
- YYSYMBOL_F16SAMPLER2DSHADOW = 205, /* F16SAMPLER2DSHADOW */
- YYSYMBOL_F16SAMPLER1DARRAYSHADOW = 206, /* F16SAMPLER1DARRAYSHADOW */
- YYSYMBOL_F16SAMPLER2DARRAYSHADOW = 207, /* F16SAMPLER2DARRAYSHADOW */
- YYSYMBOL_F16SAMPLER2DRECTSHADOW = 208, /* F16SAMPLER2DRECTSHADOW */
- YYSYMBOL_F16SAMPLERCUBESHADOW = 209, /* F16SAMPLERCUBESHADOW */
- YYSYMBOL_F16SAMPLERCUBEARRAYSHADOW = 210, /* F16SAMPLERCUBEARRAYSHADOW */
- YYSYMBOL_IMAGE1D = 211, /* IMAGE1D */
- YYSYMBOL_IIMAGE1D = 212, /* IIMAGE1D */
- YYSYMBOL_UIMAGE1D = 213, /* UIMAGE1D */
- YYSYMBOL_IMAGE2D = 214, /* IMAGE2D */
- YYSYMBOL_IIMAGE2D = 215, /* IIMAGE2D */
- YYSYMBOL_UIMAGE2D = 216, /* UIMAGE2D */
- YYSYMBOL_IMAGE3D = 217, /* IMAGE3D */
- YYSYMBOL_IIMAGE3D = 218, /* IIMAGE3D */
- YYSYMBOL_UIMAGE3D = 219, /* UIMAGE3D */
- YYSYMBOL_IMAGE2DRECT = 220, /* IMAGE2DRECT */
- YYSYMBOL_IIMAGE2DRECT = 221, /* IIMAGE2DRECT */
- YYSYMBOL_UIMAGE2DRECT = 222, /* UIMAGE2DRECT */
- YYSYMBOL_IMAGECUBE = 223, /* IMAGECUBE */
- YYSYMBOL_IIMAGECUBE = 224, /* IIMAGECUBE */
- YYSYMBOL_UIMAGECUBE = 225, /* UIMAGECUBE */
- YYSYMBOL_IMAGEBUFFER = 226, /* IMAGEBUFFER */
- YYSYMBOL_IIMAGEBUFFER = 227, /* IIMAGEBUFFER */
- YYSYMBOL_UIMAGEBUFFER = 228, /* UIMAGEBUFFER */
- YYSYMBOL_IMAGE1DARRAY = 229, /* IMAGE1DARRAY */
- YYSYMBOL_IIMAGE1DARRAY = 230, /* IIMAGE1DARRAY */
- YYSYMBOL_UIMAGE1DARRAY = 231, /* UIMAGE1DARRAY */
- YYSYMBOL_IMAGE2DARRAY = 232, /* IMAGE2DARRAY */
- YYSYMBOL_IIMAGE2DARRAY = 233, /* IIMAGE2DARRAY */
- YYSYMBOL_UIMAGE2DARRAY = 234, /* UIMAGE2DARRAY */
- YYSYMBOL_IMAGECUBEARRAY = 235, /* IMAGECUBEARRAY */
- YYSYMBOL_IIMAGECUBEARRAY = 236, /* IIMAGECUBEARRAY */
- YYSYMBOL_UIMAGECUBEARRAY = 237, /* UIMAGECUBEARRAY */
- YYSYMBOL_IMAGE2DMS = 238, /* IMAGE2DMS */
- YYSYMBOL_IIMAGE2DMS = 239, /* IIMAGE2DMS */
- YYSYMBOL_UIMAGE2DMS = 240, /* UIMAGE2DMS */
- YYSYMBOL_IMAGE2DMSARRAY = 241, /* IMAGE2DMSARRAY */
- YYSYMBOL_IIMAGE2DMSARRAY = 242, /* IIMAGE2DMSARRAY */
- YYSYMBOL_UIMAGE2DMSARRAY = 243, /* UIMAGE2DMSARRAY */
- YYSYMBOL_F16IMAGE1D = 244, /* F16IMAGE1D */
- YYSYMBOL_F16IMAGE2D = 245, /* F16IMAGE2D */
- YYSYMBOL_F16IMAGE3D = 246, /* F16IMAGE3D */
- YYSYMBOL_F16IMAGE2DRECT = 247, /* F16IMAGE2DRECT */
- YYSYMBOL_F16IMAGECUBE = 248, /* F16IMAGECUBE */
- YYSYMBOL_F16IMAGE1DARRAY = 249, /* F16IMAGE1DARRAY */
- YYSYMBOL_F16IMAGE2DARRAY = 250, /* F16IMAGE2DARRAY */
- YYSYMBOL_F16IMAGECUBEARRAY = 251, /* F16IMAGECUBEARRAY */
- YYSYMBOL_F16IMAGEBUFFER = 252, /* F16IMAGEBUFFER */
- YYSYMBOL_F16IMAGE2DMS = 253, /* F16IMAGE2DMS */
- YYSYMBOL_F16IMAGE2DMSARRAY = 254, /* F16IMAGE2DMSARRAY */
- YYSYMBOL_I64IMAGE1D = 255, /* I64IMAGE1D */
- YYSYMBOL_U64IMAGE1D = 256, /* U64IMAGE1D */
- YYSYMBOL_I64IMAGE2D = 257, /* I64IMAGE2D */
- YYSYMBOL_U64IMAGE2D = 258, /* U64IMAGE2D */
- YYSYMBOL_I64IMAGE3D = 259, /* I64IMAGE3D */
- YYSYMBOL_U64IMAGE3D = 260, /* U64IMAGE3D */
- YYSYMBOL_I64IMAGE2DRECT = 261, /* I64IMAGE2DRECT */
- YYSYMBOL_U64IMAGE2DRECT = 262, /* U64IMAGE2DRECT */
- YYSYMBOL_I64IMAGECUBE = 263, /* I64IMAGECUBE */
- YYSYMBOL_U64IMAGECUBE = 264, /* U64IMAGECUBE */
- YYSYMBOL_I64IMAGEBUFFER = 265, /* I64IMAGEBUFFER */
- YYSYMBOL_U64IMAGEBUFFER = 266, /* U64IMAGEBUFFER */
- YYSYMBOL_I64IMAGE1DARRAY = 267, /* I64IMAGE1DARRAY */
- YYSYMBOL_U64IMAGE1DARRAY = 268, /* U64IMAGE1DARRAY */
- YYSYMBOL_I64IMAGE2DARRAY = 269, /* I64IMAGE2DARRAY */
- YYSYMBOL_U64IMAGE2DARRAY = 270, /* U64IMAGE2DARRAY */
- YYSYMBOL_I64IMAGECUBEARRAY = 271, /* I64IMAGECUBEARRAY */
- YYSYMBOL_U64IMAGECUBEARRAY = 272, /* U64IMAGECUBEARRAY */
- YYSYMBOL_I64IMAGE2DMS = 273, /* I64IMAGE2DMS */
- YYSYMBOL_U64IMAGE2DMS = 274, /* U64IMAGE2DMS */
- YYSYMBOL_I64IMAGE2DMSARRAY = 275, /* I64IMAGE2DMSARRAY */
- YYSYMBOL_U64IMAGE2DMSARRAY = 276, /* U64IMAGE2DMSARRAY */
- YYSYMBOL_TEXTURECUBEARRAY = 277, /* TEXTURECUBEARRAY */
- YYSYMBOL_ITEXTURECUBEARRAY = 278, /* ITEXTURECUBEARRAY */
- YYSYMBOL_UTEXTURECUBEARRAY = 279, /* UTEXTURECUBEARRAY */
- YYSYMBOL_TEXTURE1D = 280, /* TEXTURE1D */
- YYSYMBOL_ITEXTURE1D = 281, /* ITEXTURE1D */
- YYSYMBOL_UTEXTURE1D = 282, /* UTEXTURE1D */
- YYSYMBOL_TEXTURE1DARRAY = 283, /* TEXTURE1DARRAY */
- YYSYMBOL_ITEXTURE1DARRAY = 284, /* ITEXTURE1DARRAY */
- YYSYMBOL_UTEXTURE1DARRAY = 285, /* UTEXTURE1DARRAY */
- YYSYMBOL_TEXTURE2DRECT = 286, /* TEXTURE2DRECT */
- YYSYMBOL_ITEXTURE2DRECT = 287, /* ITEXTURE2DRECT */
- YYSYMBOL_UTEXTURE2DRECT = 288, /* UTEXTURE2DRECT */
- YYSYMBOL_TEXTUREBUFFER = 289, /* TEXTUREBUFFER */
- YYSYMBOL_ITEXTUREBUFFER = 290, /* ITEXTUREBUFFER */
- YYSYMBOL_UTEXTUREBUFFER = 291, /* UTEXTUREBUFFER */
- YYSYMBOL_TEXTURE2DMS = 292, /* TEXTURE2DMS */
- YYSYMBOL_ITEXTURE2DMS = 293, /* ITEXTURE2DMS */
- YYSYMBOL_UTEXTURE2DMS = 294, /* UTEXTURE2DMS */
- YYSYMBOL_TEXTURE2DMSARRAY = 295, /* TEXTURE2DMSARRAY */
- YYSYMBOL_ITEXTURE2DMSARRAY = 296, /* ITEXTURE2DMSARRAY */
- YYSYMBOL_UTEXTURE2DMSARRAY = 297, /* UTEXTURE2DMSARRAY */
- YYSYMBOL_F16TEXTURE1D = 298, /* F16TEXTURE1D */
- YYSYMBOL_F16TEXTURE2D = 299, /* F16TEXTURE2D */
- YYSYMBOL_F16TEXTURE3D = 300, /* F16TEXTURE3D */
- YYSYMBOL_F16TEXTURE2DRECT = 301, /* F16TEXTURE2DRECT */
- YYSYMBOL_F16TEXTURECUBE = 302, /* F16TEXTURECUBE */
- YYSYMBOL_F16TEXTURE1DARRAY = 303, /* F16TEXTURE1DARRAY */
- YYSYMBOL_F16TEXTURE2DARRAY = 304, /* F16TEXTURE2DARRAY */
- YYSYMBOL_F16TEXTURECUBEARRAY = 305, /* F16TEXTURECUBEARRAY */
- YYSYMBOL_F16TEXTUREBUFFER = 306, /* F16TEXTUREBUFFER */
- YYSYMBOL_F16TEXTURE2DMS = 307, /* F16TEXTURE2DMS */
- YYSYMBOL_F16TEXTURE2DMSARRAY = 308, /* F16TEXTURE2DMSARRAY */
- YYSYMBOL_SUBPASSINPUT = 309, /* SUBPASSINPUT */
- YYSYMBOL_SUBPASSINPUTMS = 310, /* SUBPASSINPUTMS */
- YYSYMBOL_ISUBPASSINPUT = 311, /* ISUBPASSINPUT */
- YYSYMBOL_ISUBPASSINPUTMS = 312, /* ISUBPASSINPUTMS */
- YYSYMBOL_USUBPASSINPUT = 313, /* USUBPASSINPUT */
- YYSYMBOL_USUBPASSINPUTMS = 314, /* USUBPASSINPUTMS */
- YYSYMBOL_F16SUBPASSINPUT = 315, /* F16SUBPASSINPUT */
- YYSYMBOL_F16SUBPASSINPUTMS = 316, /* F16SUBPASSINPUTMS */
- YYSYMBOL_SPIRV_INSTRUCTION = 317, /* SPIRV_INSTRUCTION */
- YYSYMBOL_SPIRV_EXECUTION_MODE = 318, /* SPIRV_EXECUTION_MODE */
- YYSYMBOL_SPIRV_EXECUTION_MODE_ID = 319, /* SPIRV_EXECUTION_MODE_ID */
- YYSYMBOL_SPIRV_DECORATE = 320, /* SPIRV_DECORATE */
- YYSYMBOL_SPIRV_DECORATE_ID = 321, /* SPIRV_DECORATE_ID */
- YYSYMBOL_SPIRV_DECORATE_STRING = 322, /* SPIRV_DECORATE_STRING */
- YYSYMBOL_SPIRV_TYPE = 323, /* SPIRV_TYPE */
- YYSYMBOL_SPIRV_STORAGE_CLASS = 324, /* SPIRV_STORAGE_CLASS */
- YYSYMBOL_SPIRV_BY_REFERENCE = 325, /* SPIRV_BY_REFERENCE */
- YYSYMBOL_SPIRV_LITERAL = 326, /* SPIRV_LITERAL */
- YYSYMBOL_LEFT_OP = 327, /* LEFT_OP */
- YYSYMBOL_RIGHT_OP = 328, /* RIGHT_OP */
- YYSYMBOL_INC_OP = 329, /* INC_OP */
- YYSYMBOL_DEC_OP = 330, /* DEC_OP */
- YYSYMBOL_LE_OP = 331, /* LE_OP */
- YYSYMBOL_GE_OP = 332, /* GE_OP */
- YYSYMBOL_EQ_OP = 333, /* EQ_OP */
- YYSYMBOL_NE_OP = 334, /* NE_OP */
- YYSYMBOL_AND_OP = 335, /* AND_OP */
- YYSYMBOL_OR_OP = 336, /* OR_OP */
- YYSYMBOL_XOR_OP = 337, /* XOR_OP */
- YYSYMBOL_MUL_ASSIGN = 338, /* MUL_ASSIGN */
- YYSYMBOL_DIV_ASSIGN = 339, /* DIV_ASSIGN */
- YYSYMBOL_ADD_ASSIGN = 340, /* ADD_ASSIGN */
- YYSYMBOL_MOD_ASSIGN = 341, /* MOD_ASSIGN */
- YYSYMBOL_LEFT_ASSIGN = 342, /* LEFT_ASSIGN */
- YYSYMBOL_RIGHT_ASSIGN = 343, /* RIGHT_ASSIGN */
- YYSYMBOL_AND_ASSIGN = 344, /* AND_ASSIGN */
- YYSYMBOL_XOR_ASSIGN = 345, /* XOR_ASSIGN */
- YYSYMBOL_OR_ASSIGN = 346, /* OR_ASSIGN */
- YYSYMBOL_SUB_ASSIGN = 347, /* SUB_ASSIGN */
- YYSYMBOL_STRING_LITERAL = 348, /* STRING_LITERAL */
- YYSYMBOL_LEFT_PAREN = 349, /* LEFT_PAREN */
- YYSYMBOL_RIGHT_PAREN = 350, /* RIGHT_PAREN */
- YYSYMBOL_LEFT_BRACKET = 351, /* LEFT_BRACKET */
- YYSYMBOL_RIGHT_BRACKET = 352, /* RIGHT_BRACKET */
- YYSYMBOL_LEFT_BRACE = 353, /* LEFT_BRACE */
- YYSYMBOL_RIGHT_BRACE = 354, /* RIGHT_BRACE */
- YYSYMBOL_DOT = 355, /* DOT */
- YYSYMBOL_COMMA = 356, /* COMMA */
- YYSYMBOL_COLON = 357, /* COLON */
- YYSYMBOL_EQUAL = 358, /* EQUAL */
- YYSYMBOL_SEMICOLON = 359, /* SEMICOLON */
- YYSYMBOL_BANG = 360, /* BANG */
- YYSYMBOL_DASH = 361, /* DASH */
- YYSYMBOL_TILDE = 362, /* TILDE */
- YYSYMBOL_PLUS = 363, /* PLUS */
- YYSYMBOL_STAR = 364, /* STAR */
- YYSYMBOL_SLASH = 365, /* SLASH */
- YYSYMBOL_PERCENT = 366, /* PERCENT */
- YYSYMBOL_LEFT_ANGLE = 367, /* LEFT_ANGLE */
- YYSYMBOL_RIGHT_ANGLE = 368, /* RIGHT_ANGLE */
- YYSYMBOL_VERTICAL_BAR = 369, /* VERTICAL_BAR */
- YYSYMBOL_CARET = 370, /* CARET */
- YYSYMBOL_AMPERSAND = 371, /* AMPERSAND */
- YYSYMBOL_QUESTION = 372, /* QUESTION */
- YYSYMBOL_INVARIANT = 373, /* INVARIANT */
- YYSYMBOL_HIGH_PRECISION = 374, /* HIGH_PRECISION */
- YYSYMBOL_MEDIUM_PRECISION = 375, /* MEDIUM_PRECISION */
- YYSYMBOL_LOW_PRECISION = 376, /* LOW_PRECISION */
- YYSYMBOL_PRECISION = 377, /* PRECISION */
- YYSYMBOL_PACKED = 378, /* PACKED */
- YYSYMBOL_RESOURCE = 379, /* RESOURCE */
- YYSYMBOL_SUPERP = 380, /* SUPERP */
- YYSYMBOL_FLOATCONSTANT = 381, /* FLOATCONSTANT */
- YYSYMBOL_INTCONSTANT = 382, /* INTCONSTANT */
- YYSYMBOL_UINTCONSTANT = 383, /* UINTCONSTANT */
- YYSYMBOL_BOOLCONSTANT = 384, /* BOOLCONSTANT */
- YYSYMBOL_IDENTIFIER = 385, /* IDENTIFIER */
- YYSYMBOL_TYPE_NAME = 386, /* TYPE_NAME */
- YYSYMBOL_CENTROID = 387, /* CENTROID */
- YYSYMBOL_IN = 388, /* IN */
- YYSYMBOL_OUT = 389, /* OUT */
- YYSYMBOL_INOUT = 390, /* INOUT */
- YYSYMBOL_STRUCT = 391, /* STRUCT */
- YYSYMBOL_VOID = 392, /* VOID */
- YYSYMBOL_WHILE = 393, /* WHILE */
- YYSYMBOL_BREAK = 394, /* BREAK */
- YYSYMBOL_CONTINUE = 395, /* CONTINUE */
- YYSYMBOL_DO = 396, /* DO */
- YYSYMBOL_ELSE = 397, /* ELSE */
- YYSYMBOL_FOR = 398, /* FOR */
- YYSYMBOL_IF = 399, /* IF */
- YYSYMBOL_DISCARD = 400, /* DISCARD */
- YYSYMBOL_RETURN = 401, /* RETURN */
- YYSYMBOL_SWITCH = 402, /* SWITCH */
- YYSYMBOL_CASE = 403, /* CASE */
- YYSYMBOL_DEFAULT = 404, /* DEFAULT */
- YYSYMBOL_TERMINATE_INVOCATION = 405, /* TERMINATE_INVOCATION */
- YYSYMBOL_TERMINATE_RAY = 406, /* TERMINATE_RAY */
- YYSYMBOL_IGNORE_INTERSECTION = 407, /* IGNORE_INTERSECTION */
- YYSYMBOL_UNIFORM = 408, /* UNIFORM */
- YYSYMBOL_SHARED = 409, /* SHARED */
- YYSYMBOL_BUFFER = 410, /* BUFFER */
- YYSYMBOL_FLAT = 411, /* FLAT */
- YYSYMBOL_SMOOTH = 412, /* SMOOTH */
- YYSYMBOL_LAYOUT = 413, /* LAYOUT */
- YYSYMBOL_DOUBLECONSTANT = 414, /* DOUBLECONSTANT */
- YYSYMBOL_INT16CONSTANT = 415, /* INT16CONSTANT */
- YYSYMBOL_UINT16CONSTANT = 416, /* UINT16CONSTANT */
- YYSYMBOL_FLOAT16CONSTANT = 417, /* FLOAT16CONSTANT */
- YYSYMBOL_INT32CONSTANT = 418, /* INT32CONSTANT */
- YYSYMBOL_UINT32CONSTANT = 419, /* UINT32CONSTANT */
- YYSYMBOL_INT64CONSTANT = 420, /* INT64CONSTANT */
- YYSYMBOL_UINT64CONSTANT = 421, /* UINT64CONSTANT */
- YYSYMBOL_SUBROUTINE = 422, /* SUBROUTINE */
- YYSYMBOL_DEMOTE = 423, /* DEMOTE */
- YYSYMBOL_PAYLOADNV = 424, /* PAYLOADNV */
- YYSYMBOL_PAYLOADINNV = 425, /* PAYLOADINNV */
- YYSYMBOL_HITATTRNV = 426, /* HITATTRNV */
- YYSYMBOL_CALLDATANV = 427, /* CALLDATANV */
- YYSYMBOL_CALLDATAINNV = 428, /* CALLDATAINNV */
- YYSYMBOL_PAYLOADEXT = 429, /* PAYLOADEXT */
- YYSYMBOL_PAYLOADINEXT = 430, /* PAYLOADINEXT */
- YYSYMBOL_HITATTREXT = 431, /* HITATTREXT */
- YYSYMBOL_CALLDATAEXT = 432, /* CALLDATAEXT */
- YYSYMBOL_CALLDATAINEXT = 433, /* CALLDATAINEXT */
- YYSYMBOL_PATCH = 434, /* PATCH */
- YYSYMBOL_SAMPLE = 435, /* SAMPLE */
- YYSYMBOL_NONUNIFORM = 436, /* NONUNIFORM */
- YYSYMBOL_COHERENT = 437, /* COHERENT */
- YYSYMBOL_VOLATILE = 438, /* VOLATILE */
- YYSYMBOL_RESTRICT = 439, /* RESTRICT */
- YYSYMBOL_READONLY = 440, /* READONLY */
- YYSYMBOL_WRITEONLY = 441, /* WRITEONLY */
- YYSYMBOL_DEVICECOHERENT = 442, /* DEVICECOHERENT */
- YYSYMBOL_QUEUEFAMILYCOHERENT = 443, /* QUEUEFAMILYCOHERENT */
- YYSYMBOL_WORKGROUPCOHERENT = 444, /* WORKGROUPCOHERENT */
- YYSYMBOL_SUBGROUPCOHERENT = 445, /* SUBGROUPCOHERENT */
- YYSYMBOL_NONPRIVATE = 446, /* NONPRIVATE */
- YYSYMBOL_SHADERCALLCOHERENT = 447, /* SHADERCALLCOHERENT */
- YYSYMBOL_NOPERSPECTIVE = 448, /* NOPERSPECTIVE */
- YYSYMBOL_EXPLICITINTERPAMD = 449, /* EXPLICITINTERPAMD */
- YYSYMBOL_PERVERTEXEXT = 450, /* PERVERTEXEXT */
- YYSYMBOL_PERVERTEXNV = 451, /* PERVERTEXNV */
- YYSYMBOL_PERPRIMITIVENV = 452, /* PERPRIMITIVENV */
- YYSYMBOL_PERVIEWNV = 453, /* PERVIEWNV */
- YYSYMBOL_PERTASKNV = 454, /* PERTASKNV */
- YYSYMBOL_PERPRIMITIVEEXT = 455, /* PERPRIMITIVEEXT */
- YYSYMBOL_TASKPAYLOADWORKGROUPEXT = 456, /* TASKPAYLOADWORKGROUPEXT */
- YYSYMBOL_PRECISE = 457, /* PRECISE */
- YYSYMBOL_YYACCEPT = 458, /* $accept */
- YYSYMBOL_variable_identifier = 459, /* variable_identifier */
- YYSYMBOL_primary_expression = 460, /* primary_expression */
- YYSYMBOL_postfix_expression = 461, /* postfix_expression */
- YYSYMBOL_integer_expression = 462, /* integer_expression */
- YYSYMBOL_function_call = 463, /* function_call */
- YYSYMBOL_function_call_or_method = 464, /* function_call_or_method */
- YYSYMBOL_function_call_generic = 465, /* function_call_generic */
- YYSYMBOL_function_call_header_no_parameters = 466, /* function_call_header_no_parameters */
- YYSYMBOL_function_call_header_with_parameters = 467, /* function_call_header_with_parameters */
- YYSYMBOL_function_call_header = 468, /* function_call_header */
- YYSYMBOL_function_identifier = 469, /* function_identifier */
- YYSYMBOL_unary_expression = 470, /* unary_expression */
- YYSYMBOL_unary_operator = 471, /* unary_operator */
- YYSYMBOL_multiplicative_expression = 472, /* multiplicative_expression */
- YYSYMBOL_additive_expression = 473, /* additive_expression */
- YYSYMBOL_shift_expression = 474, /* shift_expression */
- YYSYMBOL_relational_expression = 475, /* relational_expression */
- YYSYMBOL_equality_expression = 476, /* equality_expression */
- YYSYMBOL_and_expression = 477, /* and_expression */
- YYSYMBOL_exclusive_or_expression = 478, /* exclusive_or_expression */
- YYSYMBOL_inclusive_or_expression = 479, /* inclusive_or_expression */
- YYSYMBOL_logical_and_expression = 480, /* logical_and_expression */
- YYSYMBOL_logical_xor_expression = 481, /* logical_xor_expression */
- YYSYMBOL_logical_or_expression = 482, /* logical_or_expression */
- YYSYMBOL_conditional_expression = 483, /* conditional_expression */
- YYSYMBOL_484_1 = 484, /* $@1 */
- YYSYMBOL_assignment_expression = 485, /* assignment_expression */
- YYSYMBOL_assignment_operator = 486, /* assignment_operator */
- YYSYMBOL_expression = 487, /* expression */
- YYSYMBOL_constant_expression = 488, /* constant_expression */
- YYSYMBOL_declaration = 489, /* declaration */
- YYSYMBOL_block_structure = 490, /* block_structure */
- YYSYMBOL_491_2 = 491, /* $@2 */
- YYSYMBOL_identifier_list = 492, /* identifier_list */
- YYSYMBOL_function_prototype = 493, /* function_prototype */
- YYSYMBOL_function_declarator = 494, /* function_declarator */
- YYSYMBOL_function_header_with_parameters = 495, /* function_header_with_parameters */
- YYSYMBOL_function_header = 496, /* function_header */
- YYSYMBOL_parameter_declarator = 497, /* parameter_declarator */
- YYSYMBOL_parameter_declaration = 498, /* parameter_declaration */
- YYSYMBOL_parameter_type_specifier = 499, /* parameter_type_specifier */
- YYSYMBOL_init_declarator_list = 500, /* init_declarator_list */
- YYSYMBOL_single_declaration = 501, /* single_declaration */
- YYSYMBOL_fully_specified_type = 502, /* fully_specified_type */
- YYSYMBOL_invariant_qualifier = 503, /* invariant_qualifier */
- YYSYMBOL_interpolation_qualifier = 504, /* interpolation_qualifier */
- YYSYMBOL_layout_qualifier = 505, /* layout_qualifier */
- YYSYMBOL_layout_qualifier_id_list = 506, /* layout_qualifier_id_list */
- YYSYMBOL_layout_qualifier_id = 507, /* layout_qualifier_id */
- YYSYMBOL_precise_qualifier = 508, /* precise_qualifier */
- YYSYMBOL_type_qualifier = 509, /* type_qualifier */
- YYSYMBOL_single_type_qualifier = 510, /* single_type_qualifier */
- YYSYMBOL_storage_qualifier = 511, /* storage_qualifier */
- YYSYMBOL_non_uniform_qualifier = 512, /* non_uniform_qualifier */
- YYSYMBOL_type_name_list = 513, /* type_name_list */
- YYSYMBOL_type_specifier = 514, /* type_specifier */
- YYSYMBOL_array_specifier = 515, /* array_specifier */
- YYSYMBOL_type_parameter_specifier_opt = 516, /* type_parameter_specifier_opt */
- YYSYMBOL_type_parameter_specifier = 517, /* type_parameter_specifier */
- YYSYMBOL_type_parameter_specifier_list = 518, /* type_parameter_specifier_list */
- YYSYMBOL_type_specifier_nonarray = 519, /* type_specifier_nonarray */
- YYSYMBOL_precision_qualifier = 520, /* precision_qualifier */
- YYSYMBOL_struct_specifier = 521, /* struct_specifier */
- YYSYMBOL_522_3 = 522, /* $@3 */
- YYSYMBOL_523_4 = 523, /* $@4 */
- YYSYMBOL_struct_declaration_list = 524, /* struct_declaration_list */
- YYSYMBOL_struct_declaration = 525, /* struct_declaration */
- YYSYMBOL_struct_declarator_list = 526, /* struct_declarator_list */
- YYSYMBOL_struct_declarator = 527, /* struct_declarator */
- YYSYMBOL_initializer = 528, /* initializer */
- YYSYMBOL_initializer_list = 529, /* initializer_list */
- YYSYMBOL_declaration_statement = 530, /* declaration_statement */
- YYSYMBOL_statement = 531, /* statement */
- YYSYMBOL_simple_statement = 532, /* simple_statement */
- YYSYMBOL_demote_statement = 533, /* demote_statement */
- YYSYMBOL_compound_statement = 534, /* compound_statement */
- YYSYMBOL_535_5 = 535, /* $@5 */
- YYSYMBOL_536_6 = 536, /* $@6 */
- YYSYMBOL_statement_no_new_scope = 537, /* statement_no_new_scope */
- YYSYMBOL_statement_scoped = 538, /* statement_scoped */
- YYSYMBOL_539_7 = 539, /* $@7 */
- YYSYMBOL_540_8 = 540, /* $@8 */
- YYSYMBOL_compound_statement_no_new_scope = 541, /* compound_statement_no_new_scope */
- YYSYMBOL_statement_list = 542, /* statement_list */
- YYSYMBOL_expression_statement = 543, /* expression_statement */
- YYSYMBOL_selection_statement = 544, /* selection_statement */
- YYSYMBOL_selection_statement_nonattributed = 545, /* selection_statement_nonattributed */
- YYSYMBOL_selection_rest_statement = 546, /* selection_rest_statement */
- YYSYMBOL_condition = 547, /* condition */
- YYSYMBOL_switch_statement = 548, /* switch_statement */
- YYSYMBOL_switch_statement_nonattributed = 549, /* switch_statement_nonattributed */
- YYSYMBOL_550_9 = 550, /* $@9 */
- YYSYMBOL_switch_statement_list = 551, /* switch_statement_list */
- YYSYMBOL_case_label = 552, /* case_label */
- YYSYMBOL_iteration_statement = 553, /* iteration_statement */
- YYSYMBOL_iteration_statement_nonattributed = 554, /* iteration_statement_nonattributed */
- YYSYMBOL_555_10 = 555, /* $@10 */
- YYSYMBOL_556_11 = 556, /* $@11 */
- YYSYMBOL_557_12 = 557, /* $@12 */
- YYSYMBOL_for_init_statement = 558, /* for_init_statement */
- YYSYMBOL_conditionopt = 559, /* conditionopt */
- YYSYMBOL_for_rest_statement = 560, /* for_rest_statement */
- YYSYMBOL_jump_statement = 561, /* jump_statement */
- YYSYMBOL_translation_unit = 562, /* translation_unit */
- YYSYMBOL_external_declaration = 563, /* external_declaration */
- YYSYMBOL_function_definition = 564, /* function_definition */
- YYSYMBOL_565_13 = 565, /* $@13 */
- YYSYMBOL_attribute = 566, /* attribute */
- YYSYMBOL_attribute_list = 567, /* attribute_list */
- YYSYMBOL_single_attribute = 568, /* single_attribute */
- YYSYMBOL_spirv_requirements_list = 569, /* spirv_requirements_list */
- YYSYMBOL_spirv_requirements_parameter = 570, /* spirv_requirements_parameter */
- YYSYMBOL_spirv_extension_list = 571, /* spirv_extension_list */
- YYSYMBOL_spirv_capability_list = 572, /* spirv_capability_list */
- YYSYMBOL_spirv_execution_mode_qualifier = 573, /* spirv_execution_mode_qualifier */
- YYSYMBOL_spirv_execution_mode_parameter_list = 574, /* spirv_execution_mode_parameter_list */
- YYSYMBOL_spirv_execution_mode_parameter = 575, /* spirv_execution_mode_parameter */
- YYSYMBOL_spirv_execution_mode_id_parameter_list = 576, /* spirv_execution_mode_id_parameter_list */
- YYSYMBOL_spirv_storage_class_qualifier = 577, /* spirv_storage_class_qualifier */
- YYSYMBOL_spirv_decorate_qualifier = 578, /* spirv_decorate_qualifier */
- YYSYMBOL_spirv_decorate_parameter_list = 579, /* spirv_decorate_parameter_list */
- YYSYMBOL_spirv_decorate_parameter = 580, /* spirv_decorate_parameter */
- YYSYMBOL_spirv_decorate_id_parameter_list = 581, /* spirv_decorate_id_parameter_list */
- YYSYMBOL_spirv_decorate_string_parameter_list = 582, /* spirv_decorate_string_parameter_list */
- YYSYMBOL_spirv_type_specifier = 583, /* spirv_type_specifier */
- YYSYMBOL_spirv_type_parameter_list = 584, /* spirv_type_parameter_list */
- YYSYMBOL_spirv_type_parameter = 585, /* spirv_type_parameter */
- YYSYMBOL_spirv_instruction_qualifier = 586, /* spirv_instruction_qualifier */
- YYSYMBOL_spirv_instruction_qualifier_list = 587, /* spirv_instruction_qualifier_list */
- YYSYMBOL_spirv_instruction_qualifier_id = 588 /* spirv_instruction_qualifier_id */
+ YYSYMBOL_HITOBJECTNV = 166, /* HITOBJECTNV */
+ YYSYMBOL_HITOBJECTATTRNV = 167, /* HITOBJECTATTRNV */
+ YYSYMBOL_SAMPLERCUBEARRAY = 168, /* SAMPLERCUBEARRAY */
+ YYSYMBOL_SAMPLERCUBEARRAYSHADOW = 169, /* SAMPLERCUBEARRAYSHADOW */
+ YYSYMBOL_ISAMPLERCUBEARRAY = 170, /* ISAMPLERCUBEARRAY */
+ YYSYMBOL_USAMPLERCUBEARRAY = 171, /* USAMPLERCUBEARRAY */
+ YYSYMBOL_SAMPLER1D = 172, /* SAMPLER1D */
+ YYSYMBOL_SAMPLER1DARRAY = 173, /* SAMPLER1DARRAY */
+ YYSYMBOL_SAMPLER1DARRAYSHADOW = 174, /* SAMPLER1DARRAYSHADOW */
+ YYSYMBOL_ISAMPLER1D = 175, /* ISAMPLER1D */
+ YYSYMBOL_SAMPLER1DSHADOW = 176, /* SAMPLER1DSHADOW */
+ YYSYMBOL_SAMPLER2DRECT = 177, /* SAMPLER2DRECT */
+ YYSYMBOL_SAMPLER2DRECTSHADOW = 178, /* SAMPLER2DRECTSHADOW */
+ YYSYMBOL_ISAMPLER2DRECT = 179, /* ISAMPLER2DRECT */
+ YYSYMBOL_USAMPLER2DRECT = 180, /* USAMPLER2DRECT */
+ YYSYMBOL_SAMPLERBUFFER = 181, /* SAMPLERBUFFER */
+ YYSYMBOL_ISAMPLERBUFFER = 182, /* ISAMPLERBUFFER */
+ YYSYMBOL_USAMPLERBUFFER = 183, /* USAMPLERBUFFER */
+ YYSYMBOL_SAMPLER2DMS = 184, /* SAMPLER2DMS */
+ YYSYMBOL_ISAMPLER2DMS = 185, /* ISAMPLER2DMS */
+ YYSYMBOL_USAMPLER2DMS = 186, /* USAMPLER2DMS */
+ YYSYMBOL_SAMPLER2DMSARRAY = 187, /* SAMPLER2DMSARRAY */
+ YYSYMBOL_ISAMPLER2DMSARRAY = 188, /* ISAMPLER2DMSARRAY */
+ YYSYMBOL_USAMPLER2DMSARRAY = 189, /* USAMPLER2DMSARRAY */
+ YYSYMBOL_SAMPLEREXTERNALOES = 190, /* SAMPLEREXTERNALOES */
+ YYSYMBOL_SAMPLEREXTERNAL2DY2YEXT = 191, /* SAMPLEREXTERNAL2DY2YEXT */
+ YYSYMBOL_ISAMPLER1DARRAY = 192, /* ISAMPLER1DARRAY */
+ YYSYMBOL_USAMPLER1D = 193, /* USAMPLER1D */
+ YYSYMBOL_USAMPLER1DARRAY = 194, /* USAMPLER1DARRAY */
+ YYSYMBOL_F16SAMPLER1D = 195, /* F16SAMPLER1D */
+ YYSYMBOL_F16SAMPLER2D = 196, /* F16SAMPLER2D */
+ YYSYMBOL_F16SAMPLER3D = 197, /* F16SAMPLER3D */
+ YYSYMBOL_F16SAMPLER2DRECT = 198, /* F16SAMPLER2DRECT */
+ YYSYMBOL_F16SAMPLERCUBE = 199, /* F16SAMPLERCUBE */
+ YYSYMBOL_F16SAMPLER1DARRAY = 200, /* F16SAMPLER1DARRAY */
+ YYSYMBOL_F16SAMPLER2DARRAY = 201, /* F16SAMPLER2DARRAY */
+ YYSYMBOL_F16SAMPLERCUBEARRAY = 202, /* F16SAMPLERCUBEARRAY */
+ YYSYMBOL_F16SAMPLERBUFFER = 203, /* F16SAMPLERBUFFER */
+ YYSYMBOL_F16SAMPLER2DMS = 204, /* F16SAMPLER2DMS */
+ YYSYMBOL_F16SAMPLER2DMSARRAY = 205, /* F16SAMPLER2DMSARRAY */
+ YYSYMBOL_F16SAMPLER1DSHADOW = 206, /* F16SAMPLER1DSHADOW */
+ YYSYMBOL_F16SAMPLER2DSHADOW = 207, /* F16SAMPLER2DSHADOW */
+ YYSYMBOL_F16SAMPLER1DARRAYSHADOW = 208, /* F16SAMPLER1DARRAYSHADOW */
+ YYSYMBOL_F16SAMPLER2DARRAYSHADOW = 209, /* F16SAMPLER2DARRAYSHADOW */
+ YYSYMBOL_F16SAMPLER2DRECTSHADOW = 210, /* F16SAMPLER2DRECTSHADOW */
+ YYSYMBOL_F16SAMPLERCUBESHADOW = 211, /* F16SAMPLERCUBESHADOW */
+ YYSYMBOL_F16SAMPLERCUBEARRAYSHADOW = 212, /* F16SAMPLERCUBEARRAYSHADOW */
+ YYSYMBOL_IMAGE1D = 213, /* IMAGE1D */
+ YYSYMBOL_IIMAGE1D = 214, /* IIMAGE1D */
+ YYSYMBOL_UIMAGE1D = 215, /* UIMAGE1D */
+ YYSYMBOL_IMAGE2D = 216, /* IMAGE2D */
+ YYSYMBOL_IIMAGE2D = 217, /* IIMAGE2D */
+ YYSYMBOL_UIMAGE2D = 218, /* UIMAGE2D */
+ YYSYMBOL_IMAGE3D = 219, /* IMAGE3D */
+ YYSYMBOL_IIMAGE3D = 220, /* IIMAGE3D */
+ YYSYMBOL_UIMAGE3D = 221, /* UIMAGE3D */
+ YYSYMBOL_IMAGE2DRECT = 222, /* IMAGE2DRECT */
+ YYSYMBOL_IIMAGE2DRECT = 223, /* IIMAGE2DRECT */
+ YYSYMBOL_UIMAGE2DRECT = 224, /* UIMAGE2DRECT */
+ YYSYMBOL_IMAGECUBE = 225, /* IMAGECUBE */
+ YYSYMBOL_IIMAGECUBE = 226, /* IIMAGECUBE */
+ YYSYMBOL_UIMAGECUBE = 227, /* UIMAGECUBE */
+ YYSYMBOL_IMAGEBUFFER = 228, /* IMAGEBUFFER */
+ YYSYMBOL_IIMAGEBUFFER = 229, /* IIMAGEBUFFER */
+ YYSYMBOL_UIMAGEBUFFER = 230, /* UIMAGEBUFFER */
+ YYSYMBOL_IMAGE1DARRAY = 231, /* IMAGE1DARRAY */
+ YYSYMBOL_IIMAGE1DARRAY = 232, /* IIMAGE1DARRAY */
+ YYSYMBOL_UIMAGE1DARRAY = 233, /* UIMAGE1DARRAY */
+ YYSYMBOL_IMAGE2DARRAY = 234, /* IMAGE2DARRAY */
+ YYSYMBOL_IIMAGE2DARRAY = 235, /* IIMAGE2DARRAY */
+ YYSYMBOL_UIMAGE2DARRAY = 236, /* UIMAGE2DARRAY */
+ YYSYMBOL_IMAGECUBEARRAY = 237, /* IMAGECUBEARRAY */
+ YYSYMBOL_IIMAGECUBEARRAY = 238, /* IIMAGECUBEARRAY */
+ YYSYMBOL_UIMAGECUBEARRAY = 239, /* UIMAGECUBEARRAY */
+ YYSYMBOL_IMAGE2DMS = 240, /* IMAGE2DMS */
+ YYSYMBOL_IIMAGE2DMS = 241, /* IIMAGE2DMS */
+ YYSYMBOL_UIMAGE2DMS = 242, /* UIMAGE2DMS */
+ YYSYMBOL_IMAGE2DMSARRAY = 243, /* IMAGE2DMSARRAY */
+ YYSYMBOL_IIMAGE2DMSARRAY = 244, /* IIMAGE2DMSARRAY */
+ YYSYMBOL_UIMAGE2DMSARRAY = 245, /* UIMAGE2DMSARRAY */
+ YYSYMBOL_F16IMAGE1D = 246, /* F16IMAGE1D */
+ YYSYMBOL_F16IMAGE2D = 247, /* F16IMAGE2D */
+ YYSYMBOL_F16IMAGE3D = 248, /* F16IMAGE3D */
+ YYSYMBOL_F16IMAGE2DRECT = 249, /* F16IMAGE2DRECT */
+ YYSYMBOL_F16IMAGECUBE = 250, /* F16IMAGECUBE */
+ YYSYMBOL_F16IMAGE1DARRAY = 251, /* F16IMAGE1DARRAY */
+ YYSYMBOL_F16IMAGE2DARRAY = 252, /* F16IMAGE2DARRAY */
+ YYSYMBOL_F16IMAGECUBEARRAY = 253, /* F16IMAGECUBEARRAY */
+ YYSYMBOL_F16IMAGEBUFFER = 254, /* F16IMAGEBUFFER */
+ YYSYMBOL_F16IMAGE2DMS = 255, /* F16IMAGE2DMS */
+ YYSYMBOL_F16IMAGE2DMSARRAY = 256, /* F16IMAGE2DMSARRAY */
+ YYSYMBOL_I64IMAGE1D = 257, /* I64IMAGE1D */
+ YYSYMBOL_U64IMAGE1D = 258, /* U64IMAGE1D */
+ YYSYMBOL_I64IMAGE2D = 259, /* I64IMAGE2D */
+ YYSYMBOL_U64IMAGE2D = 260, /* U64IMAGE2D */
+ YYSYMBOL_I64IMAGE3D = 261, /* I64IMAGE3D */
+ YYSYMBOL_U64IMAGE3D = 262, /* U64IMAGE3D */
+ YYSYMBOL_I64IMAGE2DRECT = 263, /* I64IMAGE2DRECT */
+ YYSYMBOL_U64IMAGE2DRECT = 264, /* U64IMAGE2DRECT */
+ YYSYMBOL_I64IMAGECUBE = 265, /* I64IMAGECUBE */
+ YYSYMBOL_U64IMAGECUBE = 266, /* U64IMAGECUBE */
+ YYSYMBOL_I64IMAGEBUFFER = 267, /* I64IMAGEBUFFER */
+ YYSYMBOL_U64IMAGEBUFFER = 268, /* U64IMAGEBUFFER */
+ YYSYMBOL_I64IMAGE1DARRAY = 269, /* I64IMAGE1DARRAY */
+ YYSYMBOL_U64IMAGE1DARRAY = 270, /* U64IMAGE1DARRAY */
+ YYSYMBOL_I64IMAGE2DARRAY = 271, /* I64IMAGE2DARRAY */
+ YYSYMBOL_U64IMAGE2DARRAY = 272, /* U64IMAGE2DARRAY */
+ YYSYMBOL_I64IMAGECUBEARRAY = 273, /* I64IMAGECUBEARRAY */
+ YYSYMBOL_U64IMAGECUBEARRAY = 274, /* U64IMAGECUBEARRAY */
+ YYSYMBOL_I64IMAGE2DMS = 275, /* I64IMAGE2DMS */
+ YYSYMBOL_U64IMAGE2DMS = 276, /* U64IMAGE2DMS */
+ YYSYMBOL_I64IMAGE2DMSARRAY = 277, /* I64IMAGE2DMSARRAY */
+ YYSYMBOL_U64IMAGE2DMSARRAY = 278, /* U64IMAGE2DMSARRAY */
+ YYSYMBOL_TEXTURECUBEARRAY = 279, /* TEXTURECUBEARRAY */
+ YYSYMBOL_ITEXTURECUBEARRAY = 280, /* ITEXTURECUBEARRAY */
+ YYSYMBOL_UTEXTURECUBEARRAY = 281, /* UTEXTURECUBEARRAY */
+ YYSYMBOL_TEXTURE1D = 282, /* TEXTURE1D */
+ YYSYMBOL_ITEXTURE1D = 283, /* ITEXTURE1D */
+ YYSYMBOL_UTEXTURE1D = 284, /* UTEXTURE1D */
+ YYSYMBOL_TEXTURE1DARRAY = 285, /* TEXTURE1DARRAY */
+ YYSYMBOL_ITEXTURE1DARRAY = 286, /* ITEXTURE1DARRAY */
+ YYSYMBOL_UTEXTURE1DARRAY = 287, /* UTEXTURE1DARRAY */
+ YYSYMBOL_TEXTURE2DRECT = 288, /* TEXTURE2DRECT */
+ YYSYMBOL_ITEXTURE2DRECT = 289, /* ITEXTURE2DRECT */
+ YYSYMBOL_UTEXTURE2DRECT = 290, /* UTEXTURE2DRECT */
+ YYSYMBOL_TEXTUREBUFFER = 291, /* TEXTUREBUFFER */
+ YYSYMBOL_ITEXTUREBUFFER = 292, /* ITEXTUREBUFFER */
+ YYSYMBOL_UTEXTUREBUFFER = 293, /* UTEXTUREBUFFER */
+ YYSYMBOL_TEXTURE2DMS = 294, /* TEXTURE2DMS */
+ YYSYMBOL_ITEXTURE2DMS = 295, /* ITEXTURE2DMS */
+ YYSYMBOL_UTEXTURE2DMS = 296, /* UTEXTURE2DMS */
+ YYSYMBOL_TEXTURE2DMSARRAY = 297, /* TEXTURE2DMSARRAY */
+ YYSYMBOL_ITEXTURE2DMSARRAY = 298, /* ITEXTURE2DMSARRAY */
+ YYSYMBOL_UTEXTURE2DMSARRAY = 299, /* UTEXTURE2DMSARRAY */
+ YYSYMBOL_F16TEXTURE1D = 300, /* F16TEXTURE1D */
+ YYSYMBOL_F16TEXTURE2D = 301, /* F16TEXTURE2D */
+ YYSYMBOL_F16TEXTURE3D = 302, /* F16TEXTURE3D */
+ YYSYMBOL_F16TEXTURE2DRECT = 303, /* F16TEXTURE2DRECT */
+ YYSYMBOL_F16TEXTURECUBE = 304, /* F16TEXTURECUBE */
+ YYSYMBOL_F16TEXTURE1DARRAY = 305, /* F16TEXTURE1DARRAY */
+ YYSYMBOL_F16TEXTURE2DARRAY = 306, /* F16TEXTURE2DARRAY */
+ YYSYMBOL_F16TEXTURECUBEARRAY = 307, /* F16TEXTURECUBEARRAY */
+ YYSYMBOL_F16TEXTUREBUFFER = 308, /* F16TEXTUREBUFFER */
+ YYSYMBOL_F16TEXTURE2DMS = 309, /* F16TEXTURE2DMS */
+ YYSYMBOL_F16TEXTURE2DMSARRAY = 310, /* F16TEXTURE2DMSARRAY */
+ YYSYMBOL_SUBPASSINPUT = 311, /* SUBPASSINPUT */
+ YYSYMBOL_SUBPASSINPUTMS = 312, /* SUBPASSINPUTMS */
+ YYSYMBOL_ISUBPASSINPUT = 313, /* ISUBPASSINPUT */
+ YYSYMBOL_ISUBPASSINPUTMS = 314, /* ISUBPASSINPUTMS */
+ YYSYMBOL_USUBPASSINPUT = 315, /* USUBPASSINPUT */
+ YYSYMBOL_USUBPASSINPUTMS = 316, /* USUBPASSINPUTMS */
+ YYSYMBOL_F16SUBPASSINPUT = 317, /* F16SUBPASSINPUT */
+ YYSYMBOL_F16SUBPASSINPUTMS = 318, /* F16SUBPASSINPUTMS */
+ YYSYMBOL_SPIRV_INSTRUCTION = 319, /* SPIRV_INSTRUCTION */
+ YYSYMBOL_SPIRV_EXECUTION_MODE = 320, /* SPIRV_EXECUTION_MODE */
+ YYSYMBOL_SPIRV_EXECUTION_MODE_ID = 321, /* SPIRV_EXECUTION_MODE_ID */
+ YYSYMBOL_SPIRV_DECORATE = 322, /* SPIRV_DECORATE */
+ YYSYMBOL_SPIRV_DECORATE_ID = 323, /* SPIRV_DECORATE_ID */
+ YYSYMBOL_SPIRV_DECORATE_STRING = 324, /* SPIRV_DECORATE_STRING */
+ YYSYMBOL_SPIRV_TYPE = 325, /* SPIRV_TYPE */
+ YYSYMBOL_SPIRV_STORAGE_CLASS = 326, /* SPIRV_STORAGE_CLASS */
+ YYSYMBOL_SPIRV_BY_REFERENCE = 327, /* SPIRV_BY_REFERENCE */
+ YYSYMBOL_SPIRV_LITERAL = 328, /* SPIRV_LITERAL */
+ YYSYMBOL_LEFT_OP = 329, /* LEFT_OP */
+ YYSYMBOL_RIGHT_OP = 330, /* RIGHT_OP */
+ YYSYMBOL_INC_OP = 331, /* INC_OP */
+ YYSYMBOL_DEC_OP = 332, /* DEC_OP */
+ YYSYMBOL_LE_OP = 333, /* LE_OP */
+ YYSYMBOL_GE_OP = 334, /* GE_OP */
+ YYSYMBOL_EQ_OP = 335, /* EQ_OP */
+ YYSYMBOL_NE_OP = 336, /* NE_OP */
+ YYSYMBOL_AND_OP = 337, /* AND_OP */
+ YYSYMBOL_OR_OP = 338, /* OR_OP */
+ YYSYMBOL_XOR_OP = 339, /* XOR_OP */
+ YYSYMBOL_MUL_ASSIGN = 340, /* MUL_ASSIGN */
+ YYSYMBOL_DIV_ASSIGN = 341, /* DIV_ASSIGN */
+ YYSYMBOL_ADD_ASSIGN = 342, /* ADD_ASSIGN */
+ YYSYMBOL_MOD_ASSIGN = 343, /* MOD_ASSIGN */
+ YYSYMBOL_LEFT_ASSIGN = 344, /* LEFT_ASSIGN */
+ YYSYMBOL_RIGHT_ASSIGN = 345, /* RIGHT_ASSIGN */
+ YYSYMBOL_AND_ASSIGN = 346, /* AND_ASSIGN */
+ YYSYMBOL_XOR_ASSIGN = 347, /* XOR_ASSIGN */
+ YYSYMBOL_OR_ASSIGN = 348, /* OR_ASSIGN */
+ YYSYMBOL_SUB_ASSIGN = 349, /* SUB_ASSIGN */
+ YYSYMBOL_STRING_LITERAL = 350, /* STRING_LITERAL */
+ YYSYMBOL_LEFT_PAREN = 351, /* LEFT_PAREN */
+ YYSYMBOL_RIGHT_PAREN = 352, /* RIGHT_PAREN */
+ YYSYMBOL_LEFT_BRACKET = 353, /* LEFT_BRACKET */
+ YYSYMBOL_RIGHT_BRACKET = 354, /* RIGHT_BRACKET */
+ YYSYMBOL_LEFT_BRACE = 355, /* LEFT_BRACE */
+ YYSYMBOL_RIGHT_BRACE = 356, /* RIGHT_BRACE */
+ YYSYMBOL_DOT = 357, /* DOT */
+ YYSYMBOL_COMMA = 358, /* COMMA */
+ YYSYMBOL_COLON = 359, /* COLON */
+ YYSYMBOL_EQUAL = 360, /* EQUAL */
+ YYSYMBOL_SEMICOLON = 361, /* SEMICOLON */
+ YYSYMBOL_BANG = 362, /* BANG */
+ YYSYMBOL_DASH = 363, /* DASH */
+ YYSYMBOL_TILDE = 364, /* TILDE */
+ YYSYMBOL_PLUS = 365, /* PLUS */
+ YYSYMBOL_STAR = 366, /* STAR */
+ YYSYMBOL_SLASH = 367, /* SLASH */
+ YYSYMBOL_PERCENT = 368, /* PERCENT */
+ YYSYMBOL_LEFT_ANGLE = 369, /* LEFT_ANGLE */
+ YYSYMBOL_RIGHT_ANGLE = 370, /* RIGHT_ANGLE */
+ YYSYMBOL_VERTICAL_BAR = 371, /* VERTICAL_BAR */
+ YYSYMBOL_CARET = 372, /* CARET */
+ YYSYMBOL_AMPERSAND = 373, /* AMPERSAND */
+ YYSYMBOL_QUESTION = 374, /* QUESTION */
+ YYSYMBOL_INVARIANT = 375, /* INVARIANT */
+ YYSYMBOL_HIGH_PRECISION = 376, /* HIGH_PRECISION */
+ YYSYMBOL_MEDIUM_PRECISION = 377, /* MEDIUM_PRECISION */
+ YYSYMBOL_LOW_PRECISION = 378, /* LOW_PRECISION */
+ YYSYMBOL_PRECISION = 379, /* PRECISION */
+ YYSYMBOL_PACKED = 380, /* PACKED */
+ YYSYMBOL_RESOURCE = 381, /* RESOURCE */
+ YYSYMBOL_SUPERP = 382, /* SUPERP */
+ YYSYMBOL_FLOATCONSTANT = 383, /* FLOATCONSTANT */
+ YYSYMBOL_INTCONSTANT = 384, /* INTCONSTANT */
+ YYSYMBOL_UINTCONSTANT = 385, /* UINTCONSTANT */
+ YYSYMBOL_BOOLCONSTANT = 386, /* BOOLCONSTANT */
+ YYSYMBOL_IDENTIFIER = 387, /* IDENTIFIER */
+ YYSYMBOL_TYPE_NAME = 388, /* TYPE_NAME */
+ YYSYMBOL_CENTROID = 389, /* CENTROID */
+ YYSYMBOL_IN = 390, /* IN */
+ YYSYMBOL_OUT = 391, /* OUT */
+ YYSYMBOL_INOUT = 392, /* INOUT */
+ YYSYMBOL_STRUCT = 393, /* STRUCT */
+ YYSYMBOL_VOID = 394, /* VOID */
+ YYSYMBOL_WHILE = 395, /* WHILE */
+ YYSYMBOL_BREAK = 396, /* BREAK */
+ YYSYMBOL_CONTINUE = 397, /* CONTINUE */
+ YYSYMBOL_DO = 398, /* DO */
+ YYSYMBOL_ELSE = 399, /* ELSE */
+ YYSYMBOL_FOR = 400, /* FOR */
+ YYSYMBOL_IF = 401, /* IF */
+ YYSYMBOL_DISCARD = 402, /* DISCARD */
+ YYSYMBOL_RETURN = 403, /* RETURN */
+ YYSYMBOL_SWITCH = 404, /* SWITCH */
+ YYSYMBOL_CASE = 405, /* CASE */
+ YYSYMBOL_DEFAULT = 406, /* DEFAULT */
+ YYSYMBOL_TERMINATE_INVOCATION = 407, /* TERMINATE_INVOCATION */
+ YYSYMBOL_TERMINATE_RAY = 408, /* TERMINATE_RAY */
+ YYSYMBOL_IGNORE_INTERSECTION = 409, /* IGNORE_INTERSECTION */
+ YYSYMBOL_UNIFORM = 410, /* UNIFORM */
+ YYSYMBOL_SHARED = 411, /* SHARED */
+ YYSYMBOL_BUFFER = 412, /* BUFFER */
+ YYSYMBOL_FLAT = 413, /* FLAT */
+ YYSYMBOL_SMOOTH = 414, /* SMOOTH */
+ YYSYMBOL_LAYOUT = 415, /* LAYOUT */
+ YYSYMBOL_DOUBLECONSTANT = 416, /* DOUBLECONSTANT */
+ YYSYMBOL_INT16CONSTANT = 417, /* INT16CONSTANT */
+ YYSYMBOL_UINT16CONSTANT = 418, /* UINT16CONSTANT */
+ YYSYMBOL_FLOAT16CONSTANT = 419, /* FLOAT16CONSTANT */
+ YYSYMBOL_INT32CONSTANT = 420, /* INT32CONSTANT */
+ YYSYMBOL_UINT32CONSTANT = 421, /* UINT32CONSTANT */
+ YYSYMBOL_INT64CONSTANT = 422, /* INT64CONSTANT */
+ YYSYMBOL_UINT64CONSTANT = 423, /* UINT64CONSTANT */
+ YYSYMBOL_SUBROUTINE = 424, /* SUBROUTINE */
+ YYSYMBOL_DEMOTE = 425, /* DEMOTE */
+ YYSYMBOL_PAYLOADNV = 426, /* PAYLOADNV */
+ YYSYMBOL_PAYLOADINNV = 427, /* PAYLOADINNV */
+ YYSYMBOL_HITATTRNV = 428, /* HITATTRNV */
+ YYSYMBOL_CALLDATANV = 429, /* CALLDATANV */
+ YYSYMBOL_CALLDATAINNV = 430, /* CALLDATAINNV */
+ YYSYMBOL_PAYLOADEXT = 431, /* PAYLOADEXT */
+ YYSYMBOL_PAYLOADINEXT = 432, /* PAYLOADINEXT */
+ YYSYMBOL_HITATTREXT = 433, /* HITATTREXT */
+ YYSYMBOL_CALLDATAEXT = 434, /* CALLDATAEXT */
+ YYSYMBOL_CALLDATAINEXT = 435, /* CALLDATAINEXT */
+ YYSYMBOL_PATCH = 436, /* PATCH */
+ YYSYMBOL_SAMPLE = 437, /* SAMPLE */
+ YYSYMBOL_NONUNIFORM = 438, /* NONUNIFORM */
+ YYSYMBOL_COHERENT = 439, /* COHERENT */
+ YYSYMBOL_VOLATILE = 440, /* VOLATILE */
+ YYSYMBOL_RESTRICT = 441, /* RESTRICT */
+ YYSYMBOL_READONLY = 442, /* READONLY */
+ YYSYMBOL_WRITEONLY = 443, /* WRITEONLY */
+ YYSYMBOL_DEVICECOHERENT = 444, /* DEVICECOHERENT */
+ YYSYMBOL_QUEUEFAMILYCOHERENT = 445, /* QUEUEFAMILYCOHERENT */
+ YYSYMBOL_WORKGROUPCOHERENT = 446, /* WORKGROUPCOHERENT */
+ YYSYMBOL_SUBGROUPCOHERENT = 447, /* SUBGROUPCOHERENT */
+ YYSYMBOL_NONPRIVATE = 448, /* NONPRIVATE */
+ YYSYMBOL_SHADERCALLCOHERENT = 449, /* SHADERCALLCOHERENT */
+ YYSYMBOL_NOPERSPECTIVE = 450, /* NOPERSPECTIVE */
+ YYSYMBOL_EXPLICITINTERPAMD = 451, /* EXPLICITINTERPAMD */
+ YYSYMBOL_PERVERTEXEXT = 452, /* PERVERTEXEXT */
+ YYSYMBOL_PERVERTEXNV = 453, /* PERVERTEXNV */
+ YYSYMBOL_PERPRIMITIVENV = 454, /* PERPRIMITIVENV */
+ YYSYMBOL_PERVIEWNV = 455, /* PERVIEWNV */
+ YYSYMBOL_PERTASKNV = 456, /* PERTASKNV */
+ YYSYMBOL_PERPRIMITIVEEXT = 457, /* PERPRIMITIVEEXT */
+ YYSYMBOL_TASKPAYLOADWORKGROUPEXT = 458, /* TASKPAYLOADWORKGROUPEXT */
+ YYSYMBOL_PRECISE = 459, /* PRECISE */
+ YYSYMBOL_YYACCEPT = 460, /* $accept */
+ YYSYMBOL_variable_identifier = 461, /* variable_identifier */
+ YYSYMBOL_primary_expression = 462, /* primary_expression */
+ YYSYMBOL_postfix_expression = 463, /* postfix_expression */
+ YYSYMBOL_integer_expression = 464, /* integer_expression */
+ YYSYMBOL_function_call = 465, /* function_call */
+ YYSYMBOL_function_call_or_method = 466, /* function_call_or_method */
+ YYSYMBOL_function_call_generic = 467, /* function_call_generic */
+ YYSYMBOL_function_call_header_no_parameters = 468, /* function_call_header_no_parameters */
+ YYSYMBOL_function_call_header_with_parameters = 469, /* function_call_header_with_parameters */
+ YYSYMBOL_function_call_header = 470, /* function_call_header */
+ YYSYMBOL_function_identifier = 471, /* function_identifier */
+ YYSYMBOL_unary_expression = 472, /* unary_expression */
+ YYSYMBOL_unary_operator = 473, /* unary_operator */
+ YYSYMBOL_multiplicative_expression = 474, /* multiplicative_expression */
+ YYSYMBOL_additive_expression = 475, /* additive_expression */
+ YYSYMBOL_shift_expression = 476, /* shift_expression */
+ YYSYMBOL_relational_expression = 477, /* relational_expression */
+ YYSYMBOL_equality_expression = 478, /* equality_expression */
+ YYSYMBOL_and_expression = 479, /* and_expression */
+ YYSYMBOL_exclusive_or_expression = 480, /* exclusive_or_expression */
+ YYSYMBOL_inclusive_or_expression = 481, /* inclusive_or_expression */
+ YYSYMBOL_logical_and_expression = 482, /* logical_and_expression */
+ YYSYMBOL_logical_xor_expression = 483, /* logical_xor_expression */
+ YYSYMBOL_logical_or_expression = 484, /* logical_or_expression */
+ YYSYMBOL_conditional_expression = 485, /* conditional_expression */
+ YYSYMBOL_486_1 = 486, /* $@1 */
+ YYSYMBOL_assignment_expression = 487, /* assignment_expression */
+ YYSYMBOL_assignment_operator = 488, /* assignment_operator */
+ YYSYMBOL_expression = 489, /* expression */
+ YYSYMBOL_constant_expression = 490, /* constant_expression */
+ YYSYMBOL_declaration = 491, /* declaration */
+ YYSYMBOL_block_structure = 492, /* block_structure */
+ YYSYMBOL_493_2 = 493, /* $@2 */
+ YYSYMBOL_identifier_list = 494, /* identifier_list */
+ YYSYMBOL_function_prototype = 495, /* function_prototype */
+ YYSYMBOL_function_declarator = 496, /* function_declarator */
+ YYSYMBOL_function_header_with_parameters = 497, /* function_header_with_parameters */
+ YYSYMBOL_function_header = 498, /* function_header */
+ YYSYMBOL_parameter_declarator = 499, /* parameter_declarator */
+ YYSYMBOL_parameter_declaration = 500, /* parameter_declaration */
+ YYSYMBOL_parameter_type_specifier = 501, /* parameter_type_specifier */
+ YYSYMBOL_init_declarator_list = 502, /* init_declarator_list */
+ YYSYMBOL_single_declaration = 503, /* single_declaration */
+ YYSYMBOL_fully_specified_type = 504, /* fully_specified_type */
+ YYSYMBOL_invariant_qualifier = 505, /* invariant_qualifier */
+ YYSYMBOL_interpolation_qualifier = 506, /* interpolation_qualifier */
+ YYSYMBOL_layout_qualifier = 507, /* layout_qualifier */
+ YYSYMBOL_layout_qualifier_id_list = 508, /* layout_qualifier_id_list */
+ YYSYMBOL_layout_qualifier_id = 509, /* layout_qualifier_id */
+ YYSYMBOL_precise_qualifier = 510, /* precise_qualifier */
+ YYSYMBOL_type_qualifier = 511, /* type_qualifier */
+ YYSYMBOL_single_type_qualifier = 512, /* single_type_qualifier */
+ YYSYMBOL_storage_qualifier = 513, /* storage_qualifier */
+ YYSYMBOL_non_uniform_qualifier = 514, /* non_uniform_qualifier */
+ YYSYMBOL_type_name_list = 515, /* type_name_list */
+ YYSYMBOL_type_specifier = 516, /* type_specifier */
+ YYSYMBOL_array_specifier = 517, /* array_specifier */
+ YYSYMBOL_type_parameter_specifier_opt = 518, /* type_parameter_specifier_opt */
+ YYSYMBOL_type_parameter_specifier = 519, /* type_parameter_specifier */
+ YYSYMBOL_type_parameter_specifier_list = 520, /* type_parameter_specifier_list */
+ YYSYMBOL_type_specifier_nonarray = 521, /* type_specifier_nonarray */
+ YYSYMBOL_precision_qualifier = 522, /* precision_qualifier */
+ YYSYMBOL_struct_specifier = 523, /* struct_specifier */
+ YYSYMBOL_524_3 = 524, /* $@3 */
+ YYSYMBOL_525_4 = 525, /* $@4 */
+ YYSYMBOL_struct_declaration_list = 526, /* struct_declaration_list */
+ YYSYMBOL_struct_declaration = 527, /* struct_declaration */
+ YYSYMBOL_struct_declarator_list = 528, /* struct_declarator_list */
+ YYSYMBOL_struct_declarator = 529, /* struct_declarator */
+ YYSYMBOL_initializer = 530, /* initializer */
+ YYSYMBOL_initializer_list = 531, /* initializer_list */
+ YYSYMBOL_declaration_statement = 532, /* declaration_statement */
+ YYSYMBOL_statement = 533, /* statement */
+ YYSYMBOL_simple_statement = 534, /* simple_statement */
+ YYSYMBOL_demote_statement = 535, /* demote_statement */
+ YYSYMBOL_compound_statement = 536, /* compound_statement */
+ YYSYMBOL_537_5 = 537, /* $@5 */
+ YYSYMBOL_538_6 = 538, /* $@6 */
+ YYSYMBOL_statement_no_new_scope = 539, /* statement_no_new_scope */
+ YYSYMBOL_statement_scoped = 540, /* statement_scoped */
+ YYSYMBOL_541_7 = 541, /* $@7 */
+ YYSYMBOL_542_8 = 542, /* $@8 */
+ YYSYMBOL_compound_statement_no_new_scope = 543, /* compound_statement_no_new_scope */
+ YYSYMBOL_statement_list = 544, /* statement_list */
+ YYSYMBOL_expression_statement = 545, /* expression_statement */
+ YYSYMBOL_selection_statement = 546, /* selection_statement */
+ YYSYMBOL_selection_statement_nonattributed = 547, /* selection_statement_nonattributed */
+ YYSYMBOL_selection_rest_statement = 548, /* selection_rest_statement */
+ YYSYMBOL_condition = 549, /* condition */
+ YYSYMBOL_switch_statement = 550, /* switch_statement */
+ YYSYMBOL_switch_statement_nonattributed = 551, /* switch_statement_nonattributed */
+ YYSYMBOL_552_9 = 552, /* $@9 */
+ YYSYMBOL_switch_statement_list = 553, /* switch_statement_list */
+ YYSYMBOL_case_label = 554, /* case_label */
+ YYSYMBOL_iteration_statement = 555, /* iteration_statement */
+ YYSYMBOL_iteration_statement_nonattributed = 556, /* iteration_statement_nonattributed */
+ YYSYMBOL_557_10 = 557, /* $@10 */
+ YYSYMBOL_558_11 = 558, /* $@11 */
+ YYSYMBOL_559_12 = 559, /* $@12 */
+ YYSYMBOL_for_init_statement = 560, /* for_init_statement */
+ YYSYMBOL_conditionopt = 561, /* conditionopt */
+ YYSYMBOL_for_rest_statement = 562, /* for_rest_statement */
+ YYSYMBOL_jump_statement = 563, /* jump_statement */
+ YYSYMBOL_translation_unit = 564, /* translation_unit */
+ YYSYMBOL_external_declaration = 565, /* external_declaration */
+ YYSYMBOL_function_definition = 566, /* function_definition */
+ YYSYMBOL_567_13 = 567, /* $@13 */
+ YYSYMBOL_attribute = 568, /* attribute */
+ YYSYMBOL_attribute_list = 569, /* attribute_list */
+ YYSYMBOL_single_attribute = 570, /* single_attribute */
+ YYSYMBOL_spirv_requirements_list = 571, /* spirv_requirements_list */
+ YYSYMBOL_spirv_requirements_parameter = 572, /* spirv_requirements_parameter */
+ YYSYMBOL_spirv_extension_list = 573, /* spirv_extension_list */
+ YYSYMBOL_spirv_capability_list = 574, /* spirv_capability_list */
+ YYSYMBOL_spirv_execution_mode_qualifier = 575, /* spirv_execution_mode_qualifier */
+ YYSYMBOL_spirv_execution_mode_parameter_list = 576, /* spirv_execution_mode_parameter_list */
+ YYSYMBOL_spirv_execution_mode_parameter = 577, /* spirv_execution_mode_parameter */
+ YYSYMBOL_spirv_execution_mode_id_parameter_list = 578, /* spirv_execution_mode_id_parameter_list */
+ YYSYMBOL_spirv_storage_class_qualifier = 579, /* spirv_storage_class_qualifier */
+ YYSYMBOL_spirv_decorate_qualifier = 580, /* spirv_decorate_qualifier */
+ YYSYMBOL_spirv_decorate_parameter_list = 581, /* spirv_decorate_parameter_list */
+ YYSYMBOL_spirv_decorate_parameter = 582, /* spirv_decorate_parameter */
+ YYSYMBOL_spirv_decorate_id_parameter_list = 583, /* spirv_decorate_id_parameter_list */
+ YYSYMBOL_spirv_decorate_string_parameter_list = 584, /* spirv_decorate_string_parameter_list */
+ YYSYMBOL_spirv_type_specifier = 585, /* spirv_type_specifier */
+ YYSYMBOL_spirv_type_parameter_list = 586, /* spirv_type_parameter_list */
+ YYSYMBOL_spirv_type_parameter = 587, /* spirv_type_parameter */
+ YYSYMBOL_spirv_instruction_qualifier = 588, /* spirv_instruction_qualifier */
+ YYSYMBOL_spirv_instruction_qualifier_list = 589, /* spirv_instruction_qualifier_list */
+ YYSYMBOL_spirv_instruction_qualifier_id = 590 /* spirv_instruction_qualifier_id */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -731,7 +733,7 @@ typedef enum yysymbol_kind_t yysymbol_kind_t;
extern int yylex(YYSTYPE*, TParseContext&);
-#line 735 "MachineIndependent/glslang_tab.cpp"
+#line 737 "MachineIndependent/glslang_tab.cpp"
#ifdef short
@@ -1035,21 +1037,21 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 445
+#define YYFINAL 447
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 12503
+#define YYLAST 12557
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 458
+#define YYNTOKENS 460
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 131
/* YYNRULES -- Number of rules. */
-#define YYNRULES 686
+#define YYNRULES 688
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 932
+#define YYNSTATES 934
/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 712
+#define YYMAXUTOK 714
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -1134,82 +1136,82 @@ static const yytype_int16 yytranslate[] =
425, 426, 427, 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
+ 455, 456, 457, 458, 459
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 392, 392, 398, 401, 406, 409, 412, 416, 420,
- 423, 427, 431, 435, 439, 443, 447, 453, 461, 464,
- 467, 470, 473, 478, 486, 493, 500, 506, 510, 517,
- 520, 526, 533, 543, 551, 556, 584, 593, 599, 603,
- 607, 627, 628, 629, 630, 636, 637, 642, 647, 656,
- 657, 662, 670, 671, 677, 686, 687, 692, 697, 702,
- 710, 711, 720, 732, 733, 742, 743, 752, 753, 762,
- 763, 771, 772, 780, 781, 789, 790, 790, 808, 809,
- 825, 829, 833, 837, 842, 846, 850, 854, 858, 862,
- 866, 873, 876, 887, 894, 900, 907, 913, 918, 925,
- 929, 933, 937, 942, 947, 956, 956, 967, 971, 978,
- 982, 988, 994, 1004, 1007, 1014, 1022, 1042, 1065, 1080,
- 1105, 1116, 1126, 1136, 1146, 1155, 1158, 1162, 1166, 1171,
- 1179, 1186, 1191, 1196, 1201, 1210, 1220, 1247, 1256, 1263,
- 1271, 1278, 1285, 1293, 1301, 1311, 1321, 1328, 1339, 1345,
- 1348, 1355, 1359, 1363, 1372, 1382, 1385, 1396, 1399, 1402,
- 1406, 1410, 1415, 1419, 1422, 1427, 1431, 1436, 1445, 1449,
- 1454, 1460, 1466, 1473, 1478, 1486, 1492, 1504, 1518, 1524,
- 1529, 1537, 1545, 1553, 1561, 1569, 1577, 1585, 1593, 1600,
- 1607, 1611, 1616, 1621, 1626, 1631, 1636, 1641, 1645, 1649,
- 1653, 1657, 1663, 1669, 1681, 1688, 1691, 1700, 1705, 1715,
- 1720, 1728, 1732, 1742, 1745, 1751, 1757, 1764, 1774, 1778,
- 1782, 1786, 1791, 1795, 1800, 1805, 1810, 1815, 1820, 1825,
- 1830, 1835, 1840, 1846, 1852, 1858, 1863, 1868, 1873, 1878,
- 1883, 1888, 1893, 1898, 1903, 1908, 1913, 1919, 1926, 1931,
- 1936, 1941, 1946, 1951, 1956, 1961, 1966, 1971, 1976, 1981,
- 1989, 1997, 2005, 2011, 2017, 2023, 2029, 2035, 2041, 2047,
- 2053, 2059, 2065, 2071, 2077, 2083, 2089, 2095, 2101, 2107,
- 2113, 2119, 2125, 2131, 2137, 2143, 2149, 2155, 2161, 2167,
- 2173, 2179, 2185, 2191, 2197, 2203, 2211, 2219, 2227, 2235,
- 2243, 2251, 2259, 2267, 2275, 2283, 2291, 2299, 2305, 2311,
- 2317, 2323, 2329, 2335, 2341, 2347, 2353, 2359, 2365, 2371,
- 2377, 2383, 2389, 2395, 2401, 2407, 2413, 2419, 2425, 2431,
- 2437, 2443, 2449, 2455, 2461, 2467, 2473, 2479, 2485, 2491,
- 2497, 2503, 2509, 2515, 2519, 2523, 2527, 2532, 2538, 2543,
- 2548, 2553, 2558, 2563, 2568, 2574, 2579, 2584, 2589, 2594,
- 2599, 2605, 2611, 2617, 2623, 2629, 2635, 2641, 2647, 2653,
- 2659, 2665, 2671, 2677, 2683, 2688, 2693, 2698, 2703, 2708,
- 2713, 2719, 2724, 2729, 2734, 2739, 2744, 2749, 2754, 2760,
- 2765, 2770, 2775, 2780, 2785, 2790, 2795, 2800, 2805, 2810,
- 2815, 2820, 2825, 2830, 2836, 2841, 2846, 2852, 2858, 2863,
- 2868, 2873, 2879, 2884, 2889, 2894, 2900, 2905, 2910, 2915,
- 2921, 2926, 2931, 2936, 2942, 2948, 2954, 2960, 2965, 2971,
- 2977, 2983, 2988, 2993, 2998, 3003, 3008, 3014, 3019, 3024,
- 3029, 3035, 3040, 3045, 3050, 3056, 3061, 3066, 3071, 3077,
- 3082, 3087, 3092, 3098, 3103, 3108, 3113, 3119, 3124, 3129,
- 3134, 3140, 3145, 3150, 3155, 3161, 3166, 3171, 3176, 3182,
- 3187, 3192, 3197, 3203, 3208, 3213, 3218, 3224, 3229, 3234,
- 3239, 3245, 3250, 3255, 3260, 3266, 3271, 3276, 3281, 3287,
- 3292, 3297, 3302, 3308, 3313, 3318, 3323, 3328, 3333, 3338,
- 3343, 3348, 3353, 3358, 3363, 3368, 3373, 3378, 3383, 3388,
- 3393, 3398, 3403, 3408, 3413, 3418, 3423, 3428, 3434, 3440,
- 3446, 3452, 3459, 3466, 3472, 3478, 3484, 3490, 3496, 3502,
- 3508, 3513, 3518, 3534, 3539, 3544, 3552, 3552, 3563, 3563,
- 3573, 3576, 3589, 3611, 3638, 3642, 3648, 3653, 3664, 3668,
- 3674, 3680, 3691, 3694, 3701, 3705, 3706, 3712, 3713, 3714,
- 3715, 3716, 3717, 3718, 3720, 3726, 3735, 3736, 3740, 3736,
- 3752, 3753, 3757, 3757, 3764, 3764, 3778, 3781, 3789, 3797,
- 3808, 3809, 3813, 3817, 3825, 3832, 3836, 3844, 3848, 3861,
- 3865, 3873, 3873, 3893, 3896, 3902, 3914, 3926, 3930, 3938,
- 3938, 3953, 3953, 3971, 3971, 3992, 3995, 4001, 4004, 4010,
- 4014, 4021, 4026, 4031, 4038, 4041, 4045, 4050, 4054, 4064,
- 4068, 4077, 4080, 4084, 4093, 4093, 4135, 4140, 4143, 4148,
- 4151, 4158, 4161, 4166, 4169, 4174, 4177, 4182, 4185, 4190,
- 4194, 4199, 4203, 4208, 4212, 4219, 4222, 4227, 4230, 4233,
- 4236, 4239, 4244, 4253, 4264, 4269, 4277, 4281, 4286, 4290,
- 4295, 4299, 4304, 4308, 4315, 4318, 4323, 4326, 4329, 4332,
- 4337, 4345, 4355, 4359, 4364, 4368, 4373, 4377, 4384, 4387,
- 4392, 4397, 4400, 4406, 4409, 4414, 4417
+ 0, 393, 393, 399, 402, 407, 410, 413, 417, 421,
+ 424, 428, 432, 436, 440, 444, 448, 454, 462, 465,
+ 468, 471, 474, 479, 487, 494, 501, 507, 511, 518,
+ 521, 527, 534, 544, 552, 557, 585, 594, 600, 604,
+ 608, 628, 629, 630, 631, 637, 638, 643, 648, 657,
+ 658, 663, 671, 672, 678, 687, 688, 693, 698, 703,
+ 711, 712, 721, 733, 734, 743, 744, 753, 754, 763,
+ 764, 772, 773, 781, 782, 790, 791, 791, 809, 810,
+ 826, 830, 834, 838, 843, 847, 851, 855, 859, 863,
+ 867, 874, 877, 888, 895, 901, 908, 914, 919, 926,
+ 930, 934, 938, 943, 948, 957, 957, 968, 972, 979,
+ 983, 989, 995, 1005, 1008, 1015, 1023, 1043, 1066, 1081,
+ 1106, 1117, 1127, 1137, 1147, 1156, 1159, 1163, 1167, 1172,
+ 1180, 1187, 1192, 1197, 1202, 1211, 1221, 1248, 1257, 1264,
+ 1272, 1279, 1286, 1294, 1302, 1312, 1322, 1329, 1340, 1346,
+ 1349, 1356, 1360, 1364, 1373, 1383, 1386, 1397, 1400, 1403,
+ 1407, 1411, 1416, 1420, 1423, 1428, 1432, 1437, 1446, 1450,
+ 1455, 1461, 1467, 1474, 1479, 1487, 1493, 1505, 1519, 1525,
+ 1530, 1538, 1546, 1554, 1562, 1570, 1578, 1586, 1594, 1602,
+ 1609, 1616, 1620, 1625, 1630, 1635, 1640, 1645, 1650, 1654,
+ 1658, 1662, 1666, 1672, 1678, 1690, 1697, 1700, 1709, 1714,
+ 1724, 1729, 1737, 1741, 1751, 1754, 1760, 1766, 1773, 1783,
+ 1787, 1791, 1795, 1800, 1804, 1809, 1814, 1819, 1824, 1829,
+ 1834, 1839, 1844, 1849, 1855, 1861, 1867, 1872, 1877, 1882,
+ 1887, 1892, 1897, 1902, 1907, 1912, 1917, 1922, 1928, 1935,
+ 1940, 1945, 1950, 1955, 1960, 1965, 1970, 1975, 1980, 1985,
+ 1990, 1998, 2006, 2014, 2020, 2026, 2032, 2038, 2044, 2050,
+ 2056, 2062, 2068, 2074, 2080, 2086, 2092, 2098, 2104, 2110,
+ 2116, 2122, 2128, 2134, 2140, 2146, 2152, 2158, 2164, 2170,
+ 2176, 2182, 2188, 2194, 2200, 2206, 2212, 2220, 2228, 2236,
+ 2244, 2252, 2260, 2268, 2276, 2284, 2292, 2300, 2308, 2314,
+ 2320, 2326, 2332, 2338, 2344, 2350, 2356, 2362, 2368, 2374,
+ 2380, 2386, 2392, 2398, 2404, 2410, 2416, 2422, 2428, 2434,
+ 2440, 2446, 2452, 2458, 2464, 2470, 2476, 2482, 2488, 2494,
+ 2500, 2506, 2512, 2518, 2524, 2528, 2532, 2536, 2541, 2547,
+ 2552, 2557, 2562, 2567, 2572, 2577, 2583, 2588, 2593, 2598,
+ 2603, 2608, 2614, 2620, 2626, 2632, 2638, 2644, 2650, 2656,
+ 2662, 2668, 2674, 2680, 2686, 2692, 2697, 2702, 2707, 2712,
+ 2717, 2722, 2728, 2733, 2738, 2743, 2748, 2753, 2758, 2763,
+ 2769, 2774, 2779, 2784, 2789, 2794, 2799, 2804, 2809, 2814,
+ 2819, 2824, 2829, 2834, 2839, 2845, 2850, 2855, 2861, 2867,
+ 2872, 2877, 2882, 2888, 2893, 2898, 2903, 2909, 2914, 2919,
+ 2924, 2930, 2935, 2940, 2945, 2951, 2957, 2963, 2969, 2974,
+ 2980, 2986, 2992, 2997, 3002, 3007, 3012, 3017, 3023, 3028,
+ 3033, 3038, 3044, 3049, 3054, 3059, 3065, 3070, 3075, 3080,
+ 3086, 3091, 3096, 3101, 3107, 3112, 3117, 3122, 3128, 3133,
+ 3138, 3143, 3149, 3154, 3159, 3164, 3170, 3175, 3180, 3185,
+ 3191, 3196, 3201, 3206, 3212, 3217, 3222, 3227, 3233, 3238,
+ 3243, 3248, 3254, 3259, 3264, 3269, 3275, 3280, 3285, 3290,
+ 3296, 3301, 3306, 3311, 3317, 3322, 3327, 3332, 3337, 3342,
+ 3347, 3352, 3357, 3362, 3367, 3372, 3377, 3382, 3387, 3392,
+ 3397, 3402, 3407, 3412, 3417, 3422, 3427, 3432, 3437, 3443,
+ 3449, 3455, 3461, 3468, 3475, 3481, 3487, 3493, 3499, 3505,
+ 3511, 3517, 3521, 3526, 3531, 3547, 3552, 3557, 3565, 3565,
+ 3576, 3576, 3586, 3589, 3602, 3624, 3651, 3655, 3661, 3666,
+ 3677, 3681, 3687, 3693, 3704, 3707, 3714, 3718, 3719, 3725,
+ 3726, 3727, 3728, 3729, 3730, 3731, 3733, 3739, 3748, 3749,
+ 3753, 3749, 3765, 3766, 3770, 3770, 3777, 3777, 3791, 3794,
+ 3802, 3810, 3821, 3822, 3826, 3830, 3838, 3845, 3849, 3857,
+ 3861, 3874, 3878, 3886, 3886, 3906, 3909, 3915, 3927, 3939,
+ 3943, 3951, 3951, 3966, 3966, 3984, 3984, 4005, 4008, 4014,
+ 4017, 4023, 4027, 4034, 4039, 4044, 4051, 4054, 4058, 4063,
+ 4067, 4077, 4081, 4090, 4093, 4097, 4106, 4106, 4148, 4153,
+ 4156, 4161, 4164, 4171, 4174, 4179, 4182, 4187, 4190, 4195,
+ 4198, 4203, 4207, 4212, 4216, 4221, 4225, 4232, 4235, 4240,
+ 4243, 4246, 4249, 4252, 4257, 4266, 4277, 4282, 4290, 4294,
+ 4299, 4303, 4308, 4312, 4317, 4321, 4328, 4331, 4336, 4339,
+ 4342, 4345, 4350, 4358, 4368, 4372, 4377, 4381, 4386, 4390,
+ 4397, 4400, 4405, 4410, 4413, 4419, 4422, 4427, 4430
};
#endif
@@ -1254,9 +1256,9 @@ static const char *const yytname[] =
"F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2", "F64MAT2X3",
"F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4", "F64MAT4X2",
"F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV", "ACCSTRUCTEXT",
- "RAYQUERYEXT", "FCOOPMATNV", "ICOOPMATNV", "UCOOPMATNV",
- "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", "ISAMPLERCUBEARRAY",
- "USAMPLERCUBEARRAY", "SAMPLER1D", "SAMPLER1DARRAY",
+ "RAYQUERYEXT", "FCOOPMATNV", "ICOOPMATNV", "UCOOPMATNV", "HITOBJECTNV",
+ "HITOBJECTATTRNV", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW",
+ "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER1D", "SAMPLER1DARRAY",
"SAMPLER1DARRAYSHADOW", "ISAMPLER1D", "SAMPLER1DSHADOW", "SAMPLER2DRECT",
"SAMPLER2DRECTSHADOW", "ISAMPLER2DRECT", "USAMPLER2DRECT",
"SAMPLERBUFFER", "ISAMPLERBUFFER", "USAMPLERBUFFER", "SAMPLER2DMS",
@@ -1434,16 +1436,16 @@ static const yytype_int16 yytoknum[] =
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
- 705, 706, 707, 708, 709, 710, 711, 712
+ 705, 706, 707, 708, 709, 710, 711, 712, 713, 714
};
#endif
-#define YYPACT_NINF (-813)
+#define YYPACT_NINF (-868)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-573)
+#define YYTABLE_NINF (-575)
#define yytable_value_is_error(Yyn) \
0
@@ -1452,100 +1454,100 @@ static const yytype_int16 yytoknum[] =
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 4575, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -300, -272, -219, -123, -120,
- -118, -105, -87, -813, -813, -317, -813, -813, -813, -813,
- -813, -62, -813, -813, -813, -813, -813, -324, -813, -813,
- -813, -813, -813, -813, -76, -64, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -319, -260, -133, -174, 7760, -191, -813, -166, -813,
- -813, -813, -813, 5485, -813, -813, -813, -813, -61, -813,
- -813, 935, -813, -813, 7760, -39, -813, -813, -813, 5940,
- -50, -335, -267, -162, -152, -139, -50, -137, -46, 12111,
- -813, -29, -339, -43, -813, -268, -813, -27, -6, 7760,
- -813, -813, -813, 7760, -37, -36, -813, -298, -813, -237,
- -813, -813, 10812, -5, -813, -813, -813, 1, -33, 7760,
- -813, -4, -2, -3, -813, -236, -813, -227, -1, 3,
- 4, 5, -225, 6, 10, 12, 13, 14, 17, -223,
- 8, 18, 16, -304, -813, 21, 7760, -813, 19, -813,
- -222, -813, -813, -207, 9080, -813, -247, 1390, -813, -813,
- -813, -813, -813, -5, -270, -813, 9513, -250, -813, -22,
- -813, -132, 10812, 10812, -813, 10812, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -265, -813, -813, -813, 25,
- -204, 11245, 27, -813, 10812, -813, -813, -314, 30, -6,
- 33, -813, -315, -50, -813, 15, -813, -325, 32, -130,
- 10812, -129, -813, -146, -125, 10812, -124, 39, -119, -50,
- -813, 11678, -813, -115, 10812, 36, -46, -813, 7760, 20,
- 6395, -813, 7760, 10812, -813, -339, -813, 29, -813, -813,
- -47, -83, -59, -288, -18, -17, 22, 26, 54, 59,
- -309, 46, 9946, -813, 37, -813, -813, 50, 56, 58,
- -813, 72, 74, 65, 10379, 76, 10812, 69, 68, 73,
- 75, 77, -168, -813, -813, -82, -813, -260, 79, 82,
- -813, -813, -813, -813, -813, 1845, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, 5030, 30, 9513, -241, 8214,
- -813, -813, 9513, 7760, -813, 52, -813, -813, -813, -202,
- -813, -813, 10812, 55, -813, -813, 10812, 85, -813, -813,
- -813, 10812, -813, -813, -813, -310, -813, -813, -197, 81,
- -813, -813, -813, -813, -813, -813, -195, -813, -194, -813,
- -813, -190, 87, -813, -813, -813, -813, -169, -813, -167,
- -813, -165, 89, -813, -158, 90, -157, 81, -813, -156,
- -813, 91, 97, -813, -813, 20, -5, -77, -813, -813,
- -813, 6850, -813, -813, -813, 10812, 10812, 10812, 10812, 10812,
- 10812, 10812, 10812, 10812, 10812, 10812, 10812, 10812, 10812, 10812,
- 10812, 10812, 10812, 10812, -813, -813, -813, 96, -813, 2300,
- -813, -813, -813, 2300, -813, 10812, -813, -813, -49, 10812,
- -26, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, 10812, 10812, -813,
- -813, -813, -813, -813, -813, -813, 9513, -813, -813, -31,
- -813, 7305, -813, -813, 98, 95, -813, -813, -813, -813,
- -813, -172, -134, -813, -307, -813, -325, -813, -325, -813,
- 10812, 10812, -813, -146, -813, -146, -813, 10812, 10812, -813,
- 104, 39, -813, 11678, -813, 10812, -813, -813, -48, 30,
- 20, -813, -813, -813, -813, -813, -47, -47, -83, -83,
- -59, -59, -59, -59, -288, -288, -18, -17, 22, 26,
- 54, 59, 10812, -813, 2300, 4120, 60, 3665, -155, -813,
- -154, -813, -813, -813, -813, -813, 8647, -813, -813, -813,
- 106, -813, -15, -813, -147, -813, -145, -813, -144, -813,
- -143, -813, -142, -140, -813, -813, -813, -24, 101, 95,
- 71, 107, 110, -813, -813, 4120, 109, -813, -813, -813,
- -813, -813, -813, -813, -813, -813, -813, -813, 10812, -813,
- 102, 2755, 10812, -813, 105, 113, 70, 112, 3210, -813,
- 115, -813, 9513, -813, -813, -813, -135, 10812, 2755, 109,
- -813, -813, 2300, -813, 111, 95, -813, -813, 2300, 117,
- -813, -813
+ 4593, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -296, -250, -233,
+ -225, -220, -203, -180, -178, -868, -868, -125, -868, -868,
+ -868, -868, -868, -60, -868, -868, -868, -868, -868, -329,
+ -868, -868, -868, -868, -868, -868, -156, -116, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -331, -313, -109, -94, 7792, -309, -868,
+ -106, -868, -868, -868, -868, 5507, -868, -868, -868, -868,
+ -98, -868, -868, 937, -868, -868, 7792, -124, -868, -868,
+ -868, 5964, -74, -288, -234, -154, -138, -137, -74, -127,
+ -68, 12163, -868, -32, -345, -61, -868, -307, -868, -17,
+ -13, 7792, -868, -868, -868, 7792, -57, -38, -868, -262,
+ -868, -223, -868, -868, 10858, -3, -868, -868, -868, 1,
+ -36, 7792, -868, -9, -6, -2, -868, -268, -868, -239,
+ -5, 3, 4, 5, -231, 6, 10, 12, 13, 14,
+ 17, -219, 8, 18, 16, -291, -868, -4, 7792, -868,
+ 19, -868, -216, -868, -868, -184, 9118, -868, -302, 1394,
+ -868, -868, -868, -868, -868, -3, -260, -868, 9553, -258,
+ -868, -29, -868, -218, 10858, 10858, -868, 10858, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -245, -868, -868,
+ -868, 25, -169, 11293, 27, -868, 10858, -868, -868, -308,
+ 29, -13, 32, -868, -316, -74, -868, -28, -868, -303,
+ 36, -126, 10858, -122, -868, -144, -121, 10858, -115, 15,
+ -114, -74, -868, 11728, -868, -108, 10858, 31, -68, -868,
+ 7792, -18, 6421, -868, 7792, 10858, -868, -345, -868, 20,
+ -868, -868, -46, -196, -1, -305, -264, 21, 26, 22,
+ 53, 52, -314, 38, 9988, -868, 43, -868, -868, 49,
+ 41, 48, -868, 66, 68, 62, 10423, 73, 10858, 67,
+ 64, 69, 72, 75, -185, -868, -868, -78, -868, -313,
+ 76, 77, -868, -868, -868, -868, -868, 1851, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, 5050, 29, 9553,
+ -249, 8248, -868, -868, 9553, 7792, -868, 42, -868, -868,
+ -868, -168, -868, -868, 10858, 47, -868, -868, 10858, 85,
+ -868, -868, -868, 10858, -868, -868, -868, -311, -868, -868,
+ -167, 78, -868, -868, -868, -868, -868, -868, -165, -868,
+ -160, -868, -868, -158, 81, -868, -868, -868, -868, -155,
+ -868, -153, -868, -150, 83, -868, -148, 84, -146, 78,
+ -868, -145, -868, 91, 93, -868, -868, -18, -3, -51,
+ -868, -868, -868, 6878, -868, -868, -868, 10858, 10858, 10858,
+ 10858, 10858, 10858, 10858, 10858, 10858, 10858, 10858, 10858, 10858,
+ 10858, 10858, 10858, 10858, 10858, 10858, -868, -868, -868, 94,
+ -868, 2308, -868, -868, -868, 2308, -868, 10858, -868, -868,
+ -49, 10858, -25, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, 10858,
+ 10858, -868, -868, -868, -868, -868, -868, -868, 9553, -868,
+ -868, -71, -868, 7335, -868, -868, 95, 89, -868, -868,
+ -868, -868, -868, -244, -213, -868, -306, -868, -303, -868,
+ -303, -868, 10858, 10858, -868, -144, -868, -144, -868, 10858,
+ 10858, -868, 100, 15, -868, 11728, -868, 10858, -868, -868,
+ -47, 29, -18, -868, -868, -868, -868, -868, -46, -46,
+ -196, -196, -1, -1, -1, -1, -305, -305, -264, 21,
+ 26, 22, 53, 52, 10858, -868, 2308, 4136, 57, 3679,
+ -143, -868, -141, -868, -868, -868, -868, -868, 8683, -868,
+ -868, -868, 103, -868, 70, -868, -136, -868, -134, -868,
+ -133, -868, -132, -868, -131, -129, -868, -868, -868, -23,
+ 99, 89, 71, 104, 106, -868, -868, 4136, 107, -868,
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ 10858, -868, 105, 2765, 10858, -868, 98, 111, 65, 112,
+ 3222, -868, 113, -868, 9553, -868, -868, -868, -120, 10858,
+ 2765, 107, -868, -868, 2308, -868, 108, 89, -868, -868,
+ 2308, 110, -868, -868
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1553,138 +1555,138 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_int16 yydefact[] =
{
- 0, 168, 222, 220, 221, 219, 226, 227, 228, 229,
- 230, 231, 232, 233, 234, 223, 224, 225, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 348, 349, 350, 351, 352, 353, 354, 374, 375, 376,
- 377, 378, 379, 380, 389, 402, 403, 390, 391, 393,
- 392, 394, 395, 396, 397, 398, 399, 400, 401, 176,
- 177, 248, 249, 247, 250, 257, 258, 255, 256, 253,
- 254, 251, 252, 280, 281, 282, 292, 293, 294, 277,
- 278, 279, 289, 290, 291, 274, 275, 276, 286, 287,
- 288, 271, 272, 273, 283, 284, 285, 259, 260, 261,
- 295, 296, 297, 262, 263, 264, 307, 308, 309, 265,
- 266, 267, 319, 320, 321, 268, 269, 270, 331, 332,
- 333, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 322,
- 323, 324, 325, 326, 327, 328, 329, 330, 334, 335,
- 336, 337, 338, 339, 340, 341, 342, 346, 343, 344,
- 345, 527, 528, 529, 358, 359, 382, 385, 347, 356,
- 357, 373, 355, 404, 405, 408, 409, 410, 412, 413,
- 414, 416, 417, 418, 420, 421, 517, 518, 381, 383,
- 384, 360, 361, 362, 406, 363, 367, 368, 371, 411,
- 415, 419, 364, 365, 369, 370, 407, 366, 372, 451,
- 453, 454, 455, 457, 458, 459, 461, 462, 463, 465,
- 466, 467, 469, 470, 471, 473, 474, 475, 477, 478,
- 479, 481, 482, 483, 485, 486, 487, 489, 490, 491,
- 493, 494, 452, 456, 460, 464, 468, 476, 480, 484,
- 472, 488, 492, 495, 496, 497, 498, 499, 500, 501,
- 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
- 512, 513, 514, 515, 516, 386, 387, 388, 422, 431,
- 433, 427, 432, 434, 435, 437, 438, 439, 441, 442,
- 443, 445, 446, 447, 449, 450, 423, 424, 425, 436,
- 426, 428, 429, 430, 440, 444, 448, 519, 520, 523,
- 524, 525, 526, 521, 522, 0, 0, 0, 0, 0,
- 0, 0, 0, 166, 167, 0, 623, 137, 533, 534,
- 535, 0, 532, 172, 170, 171, 169, 0, 218, 173,
- 174, 175, 139, 138, 0, 201, 182, 184, 180, 186,
- 188, 183, 185, 181, 187, 189, 178, 179, 204, 190,
- 197, 198, 199, 200, 191, 192, 193, 194, 195, 196,
- 140, 141, 143, 142, 144, 146, 147, 145, 203, 154,
- 622, 0, 624, 0, 114, 113, 0, 125, 130, 161,
- 160, 158, 162, 0, 155, 157, 163, 135, 214, 159,
- 531, 0, 619, 621, 0, 0, 164, 165, 530, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 538, 0, 0, 0, 99, 0, 94, 0, 109, 0,
- 121, 115, 123, 0, 124, 0, 97, 131, 102, 0,
- 156, 136, 0, 207, 213, 1, 620, 0, 0, 0,
- 96, 0, 0, 0, 631, 0, 683, 0, 0, 0,
+ 0, 168, 223, 221, 222, 220, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 224, 225, 226, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 349, 350, 351, 352, 353, 354, 355, 375, 376, 377,
+ 378, 379, 380, 381, 390, 403, 404, 391, 392, 394,
+ 393, 395, 396, 397, 398, 399, 400, 401, 402, 176,
+ 177, 249, 250, 248, 251, 258, 259, 256, 257, 254,
+ 255, 252, 253, 281, 282, 283, 293, 294, 295, 278,
+ 279, 280, 290, 291, 292, 275, 276, 277, 287, 288,
+ 289, 272, 273, 274, 284, 285, 286, 260, 261, 262,
+ 296, 297, 298, 263, 264, 265, 308, 309, 310, 266,
+ 267, 268, 320, 321, 322, 269, 270, 271, 332, 333,
+ 334, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 311, 312, 313, 314, 315, 316, 317, 318, 319, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 347, 344, 345,
+ 346, 528, 529, 530, 532, 181, 359, 360, 383, 386,
+ 348, 357, 358, 374, 356, 405, 406, 409, 410, 411,
+ 413, 414, 415, 417, 418, 419, 421, 422, 518, 519,
+ 382, 384, 385, 361, 362, 363, 407, 364, 368, 369,
+ 372, 412, 416, 420, 365, 366, 370, 371, 408, 367,
+ 373, 452, 454, 455, 456, 458, 459, 460, 462, 463,
+ 464, 466, 467, 468, 470, 471, 472, 474, 475, 476,
+ 478, 479, 480, 482, 483, 484, 486, 487, 488, 490,
+ 491, 492, 494, 495, 453, 457, 461, 465, 469, 477,
+ 481, 485, 473, 489, 493, 496, 497, 498, 499, 500,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 515, 516, 517, 387, 388, 389,
+ 423, 432, 434, 428, 433, 435, 436, 438, 439, 440,
+ 442, 443, 444, 446, 447, 448, 450, 451, 424, 425,
+ 426, 437, 427, 429, 430, 431, 441, 445, 449, 520,
+ 521, 524, 525, 526, 527, 522, 523, 0, 0, 0,
+ 0, 0, 0, 0, 0, 166, 167, 0, 625, 137,
+ 535, 536, 537, 0, 534, 172, 170, 171, 169, 0,
+ 219, 173, 174, 175, 139, 138, 0, 202, 183, 185,
+ 180, 187, 189, 184, 186, 182, 188, 190, 178, 179,
+ 205, 191, 198, 199, 200, 201, 192, 193, 194, 195,
+ 196, 197, 140, 141, 143, 142, 144, 146, 147, 145,
+ 204, 154, 624, 0, 626, 0, 114, 113, 0, 125,
+ 130, 161, 160, 158, 162, 0, 155, 157, 163, 135,
+ 215, 159, 533, 0, 621, 623, 0, 0, 164, 165,
+ 531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 540, 0, 0, 0, 99, 0, 94, 0,
+ 109, 0, 121, 115, 123, 0, 124, 0, 97, 131,
+ 102, 0, 156, 136, 0, 208, 214, 1, 622, 0,
+ 0, 0, 96, 0, 0, 0, 633, 0, 685, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 629, 0, 627, 0, 0, 536, 151, 153,
- 0, 149, 205, 0, 0, 100, 0, 0, 625, 110,
- 116, 120, 122, 118, 126, 117, 0, 132, 105, 0,
- 103, 0, 0, 0, 9, 0, 43, 42, 44, 41,
- 5, 6, 7, 8, 2, 16, 14, 15, 17, 10,
- 11, 12, 13, 3, 18, 37, 20, 25, 26, 0,
- 0, 30, 0, 216, 0, 36, 34, 0, 208, 111,
- 0, 95, 0, 0, 681, 0, 639, 0, 0, 0,
- 0, 0, 656, 0, 0, 0, 0, 0, 0, 0,
- 676, 0, 654, 0, 0, 0, 0, 98, 0, 0,
- 0, 540, 0, 0, 148, 0, 202, 0, 209, 45,
- 49, 52, 55, 60, 63, 65, 67, 69, 71, 73,
- 75, 0, 0, 101, 567, 576, 580, 0, 0, 0,
- 601, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 45, 78, 91, 0, 554, 0, 163, 135,
- 557, 578, 556, 564, 555, 0, 558, 559, 582, 560,
- 589, 561, 562, 597, 563, 0, 119, 0, 127, 0,
- 548, 134, 0, 0, 107, 0, 104, 38, 39, 0,
- 22, 23, 0, 0, 28, 27, 0, 218, 31, 33,
- 40, 0, 215, 112, 685, 0, 686, 632, 0, 0,
- 684, 651, 647, 648, 649, 650, 0, 645, 0, 93,
- 652, 0, 0, 666, 667, 668, 669, 0, 664, 0,
- 670, 0, 0, 672, 0, 0, 0, 2, 680, 0,
- 678, 0, 0, 626, 628, 0, 546, 0, 544, 539,
- 541, 0, 152, 150, 206, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 631, 0, 629, 0, 0, 538,
+ 151, 153, 0, 149, 206, 0, 0, 100, 0, 0,
+ 627, 110, 116, 120, 122, 118, 126, 117, 0, 132,
+ 105, 0, 103, 0, 0, 0, 9, 0, 43, 42,
+ 44, 41, 5, 6, 7, 8, 2, 16, 14, 15,
+ 17, 10, 11, 12, 13, 3, 18, 37, 20, 25,
+ 26, 0, 0, 30, 0, 217, 0, 36, 34, 0,
+ 209, 111, 0, 95, 0, 0, 683, 0, 641, 0,
+ 0, 0, 0, 0, 658, 0, 0, 0, 0, 0,
+ 0, 0, 678, 0, 656, 0, 0, 0, 0, 98,
+ 0, 0, 0, 542, 0, 0, 148, 0, 203, 0,
+ 210, 45, 49, 52, 55, 60, 63, 65, 67, 69,
+ 71, 73, 75, 0, 0, 101, 569, 578, 582, 0,
+ 0, 0, 603, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 45, 78, 91, 0, 556, 0,
+ 163, 135, 559, 580, 558, 566, 557, 0, 560, 561,
+ 584, 562, 591, 563, 564, 599, 565, 0, 119, 0,
+ 127, 0, 550, 134, 0, 0, 107, 0, 104, 38,
+ 39, 0, 22, 23, 0, 0, 28, 27, 0, 219,
+ 31, 33, 40, 0, 216, 112, 687, 0, 688, 634,
+ 0, 0, 686, 653, 649, 650, 651, 652, 0, 647,
+ 0, 93, 654, 0, 0, 668, 669, 670, 671, 0,
+ 666, 0, 672, 0, 0, 674, 0, 0, 0, 2,
+ 682, 0, 680, 0, 0, 628, 630, 0, 548, 0,
+ 546, 541, 543, 0, 152, 150, 207, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 210, 211, 0, 566, 0,
- 599, 612, 611, 0, 603, 0, 615, 613, 0, 0,
- 0, 596, 616, 617, 618, 565, 81, 82, 84, 83,
- 86, 87, 88, 89, 90, 85, 80, 0, 0, 581,
- 577, 579, 583, 590, 598, 129, 0, 551, 552, 0,
- 133, 0, 108, 4, 0, 24, 21, 32, 217, 635,
- 637, 0, 0, 682, 0, 641, 0, 640, 0, 643,
- 0, 0, 658, 0, 657, 0, 660, 0, 0, 662,
- 0, 0, 677, 0, 674, 0, 655, 630, 0, 547,
- 0, 542, 537, 46, 47, 48, 51, 50, 53, 54,
- 58, 59, 56, 57, 61, 62, 64, 66, 68, 70,
- 72, 74, 0, 212, 568, 0, 0, 0, 0, 614,
- 0, 595, 79, 92, 128, 549, 0, 106, 19, 633,
- 0, 634, 0, 646, 0, 653, 0, 665, 0, 671,
- 0, 673, 0, 0, 679, 543, 545, 0, 0, 587,
- 0, 0, 0, 606, 605, 608, 574, 591, 550, 553,
- 636, 638, 642, 644, 659, 661, 663, 675, 0, 569,
- 0, 0, 0, 607, 0, 0, 586, 0, 0, 584,
- 0, 77, 0, 571, 600, 570, 0, 609, 0, 574,
- 573, 575, 593, 588, 0, 610, 604, 585, 594, 0,
- 602, 592
+ 0, 0, 0, 0, 0, 0, 76, 211, 212, 0,
+ 568, 0, 601, 614, 613, 0, 605, 0, 617, 615,
+ 0, 0, 0, 598, 618, 619, 620, 567, 81, 82,
+ 84, 83, 86, 87, 88, 89, 90, 85, 80, 0,
+ 0, 583, 579, 581, 585, 592, 600, 129, 0, 553,
+ 554, 0, 133, 0, 108, 4, 0, 24, 21, 32,
+ 218, 637, 639, 0, 0, 684, 0, 643, 0, 642,
+ 0, 645, 0, 0, 660, 0, 659, 0, 662, 0,
+ 0, 664, 0, 0, 679, 0, 676, 0, 657, 632,
+ 0, 549, 0, 544, 539, 46, 47, 48, 51, 50,
+ 53, 54, 58, 59, 56, 57, 61, 62, 64, 66,
+ 68, 70, 72, 74, 0, 213, 570, 0, 0, 0,
+ 0, 616, 0, 597, 79, 92, 128, 551, 0, 106,
+ 19, 635, 0, 636, 0, 648, 0, 655, 0, 667,
+ 0, 673, 0, 675, 0, 0, 681, 545, 547, 0,
+ 0, 589, 0, 0, 0, 608, 607, 610, 576, 593,
+ 552, 555, 638, 640, 644, 646, 661, 663, 665, 677,
+ 0, 571, 0, 0, 0, 609, 0, 0, 588, 0,
+ 0, 586, 0, 77, 0, 573, 602, 572, 0, 611,
+ 0, 576, 575, 577, 595, 590, 0, 612, 606, 587,
+ 596, 0, 604, 594
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
- -813, -813, -429, -813, -381, -380, -483, -383, -262, -257,
- -261, -258, -255, -259, -813, -479, -813, -492, -813, -495,
- -536, 11, -813, -813, -813, 7, -388, -813, -813, 42,
- 49, 47, -813, -813, -401, -813, -813, -813, -813, -96,
- -813, -384, -371, -813, 9, -813, 0, -425, -813, -813,
- -813, -813, 150, -813, -813, -813, -546, -553, -217, -338,
- -607, -813, -364, -619, -812, -813, -421, -813, -813, -428,
- -430, -813, -813, 64, -718, -355, -813, -141, -813, -390,
- -813, -138, -813, -813, -813, -813, -136, -813, -813, -813,
- -813, -813, -813, -813, -813, 92, -813, -813, 2, -813,
- -68, -275, -456, -813, -813, -813, -296, -293, -301, -813,
- -813, -299, -295, -303, -302, -813, -306, -311, -813, -392,
- -530
+ -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
+ -868, -868, -429, -868, -378, -377, -471, -381, -259, -261,
+ -257, -256, -255, -263, -868, -478, -868, -492, -868, -503,
+ -535, 11, -868, -868, -868, 7, -392, -868, -868, 39,
+ 45, 46, -868, -868, -401, -868, -868, -868, -868, -104,
+ -868, -386, -374, -868, 9, -868, 0, -426, -868, -868,
+ -868, -868, 147, -868, -868, -868, -551, -569, -224, -340,
+ -606, -868, -365, -615, -867, -868, -424, -868, -868, -432,
+ -431, -868, -868, 63, -723, -358, -868, -142, -868, -394,
+ -868, -140, -868, -868, -868, -868, -135, -868, -868, -868,
+ -868, -868, -868, -868, -868, 96, -868, -868, 2, -868,
+ -72, -237, -436, -868, -868, -868, -300, -304, -299, -868,
+ -868, -301, -298, -297, -310, -868, -295, -312, -868, -391,
+ -531
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 523, 524, 525, 784, 526, 527, 528, 529, 530,
- 531, 532, 612, 534, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 613, 842, 614, 767, 615,
- 698, 616, 381, 643, 501, 617, 383, 384, 385, 430,
- 431, 432, 386, 387, 388, 389, 390, 391, 480, 481,
- 392, 393, 394, 395, 535, 483, 536, 486, 443, 444,
- 537, 398, 399, 400, 572, 476, 570, 571, 707, 708,
- 641, 779, 620, 621, 622, 623, 624, 739, 878, 914,
- 906, 907, 908, 915, 625, 626, 627, 628, 909, 881,
- 629, 630, 910, 929, 631, 632, 633, 845, 743, 847,
- 885, 904, 905, 634, 401, 402, 403, 427, 635, 473,
- 474, 453, 454, 791, 792, 405, 676, 677, 681, 406,
- 407, 687, 688, 691, 694, 408, 699, 700, 409, 455,
- 456
+ -1, 525, 526, 527, 786, 528, 529, 530, 531, 532,
+ 533, 534, 614, 536, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 591, 592, 615, 844, 616, 769, 617,
+ 700, 618, 383, 645, 503, 619, 385, 386, 387, 432,
+ 433, 434, 388, 389, 390, 391, 392, 393, 482, 483,
+ 394, 395, 396, 397, 537, 485, 538, 488, 445, 446,
+ 539, 400, 401, 402, 574, 478, 572, 573, 709, 710,
+ 643, 781, 622, 623, 624, 625, 626, 741, 880, 916,
+ 908, 909, 910, 917, 627, 628, 629, 630, 911, 883,
+ 631, 632, 912, 931, 633, 634, 635, 847, 745, 849,
+ 887, 906, 907, 636, 403, 404, 405, 429, 637, 475,
+ 476, 455, 456, 793, 794, 407, 678, 679, 683, 408,
+ 409, 689, 690, 693, 696, 410, 701, 702, 411, 457,
+ 458
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1692,464 +1694,283 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 397, 433, 404, 448, 640, 591, 771, 382, 448, 396,
- 649, 380, 497, 533, 680, 670, 447, 710, 538, 690,
- 449, 844, 440, 671, 469, 449, 711, 733, 702, 420,
- 775, 670, 778, 664, 418, 780, 665, 712, 789, 658,
- 424, 664, 661, 722, 723, 433, 478, 457, 565, 410,
- 458, 495, 566, 484, 662, 579, 672, 673, 674, 675,
- 496, 421, 440, 734, 650, 651, 425, 666, 636, 638,
- 479, 679, 790, 647, 648, 666, 679, 411, 440, 724,
- 725, 484, 679, 484, -35, 679, 652, 667, 637, 913,
- 653, 485, 568, 667, 679, 667, 921, 781, 667, 426,
- 667, 592, 667, 667, 592, 660, 913, 667, 642, 748,
- 592, 750, 593, 737, 544, 460, 498, 776, 458, 499,
- 545, 579, 500, 546, 846, 552, 579, 560, 574, 547,
- 412, 553, 579, 561, 575, 579, 459, 461, 463, 465,
- 467, 468, 471, 576, 579, 640, 655, 640, 783, 577,
- 640, 668, 656, 793, 768, 795, 797, 785, 710, 545,
- 799, 796, 798, 579, 787, 435, 800, 696, 436, 854,
- 756, 757, 758, 759, 760, 761, 762, 763, 764, 765,
- 859, 802, 429, 804, 860, 806, 568, 803, 568, 805,
- 766, 807, 809, 812, 814, 886, 887, 440, 810, 813,
- 815, 768, 768, 892, 928, 893, 894, 895, 896, 796,
- 897, 800, 803, 807, 810, 924, 815, 428, 861, 437,
- 462, 768, 862, 458, 645, 771, 413, 646, 710, 414,
- 464, 415, 788, 458, 448, 683, 684, 685, 686, 830,
- 831, 832, 833, 466, 416, 470, 458, 447, 458, 889,
- 848, 449, 678, 682, 850, 458, 458, 689, 692, 568,
- 458, 458, 417, 695, 865, 680, 458, 701, 720, 721,
- 458, 869, 690, 422, 768, 852, 853, 769, 718, 820,
- 719, 819, 821, 670, 640, 423, 823, 824, 825, 579,
- 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
- 579, 579, 579, 579, 579, 923, 442, 768, 820, 771,
- 849, 875, 328, 329, 330, 726, 727, 715, 716, 717,
- 450, 679, 679, 855, 477, 856, 487, 568, 679, 679,
- 768, 851, 768, 898, 679, 452, 679, 826, 827, 472,
- 828, 829, 482, 834, 835, 325, 484, 877, 493, 494,
- 879, 539, 540, 543, 728, 541, 542, 548, 562, 549,
- 550, 551, 554, 644, 640, 564, 555, 891, 556, 557,
- 558, 579, 579, 559, 563, 654, 659, 573, 579, 579,
- 567, 592, 495, 665, 579, 434, 579, 693, 703, 731,
- 879, 738, 729, 441, 396, 730, 732, 568, 735, 740,
- 669, 397, 396, 404, 397, 706, 911, 916, 382, 397,
- 396, 404, 380, 396, 714, 741, 451, 742, 396, 475,
- 640, 744, 925, 745, 746, 749, 751, 752, -36, 434,
- 489, -34, 753, 434, 754, -29, 755, 782, 396, 794,
- 786, 816, 396, 801, 880, 808, 811, 817, 843, 441,
- 858, 768, 871, 882, 890, 899, 900, 901, 396, 902,
- 912, 449, -572, 918, 917, 594, 836, 919, 922, 838,
- 930, 931, 837, 839, 841, 491, 569, 840, 490, 713,
- 492, 419, 876, 883, 880, 396, 920, 619, 818, 927,
- 926, 488, 884, 446, 772, 903, 618, 773, 704, 774,
- 866, 449, 864, 863, 874, 870, 868, 873, 867, 872,
+ 399, 435, 406, 712, 651, 450, 642, 384, 593, 398,
+ 450, 382, 773, 499, 449, 535, 672, 682, 846, 540,
+ 451, 442, 692, 713, 735, 451, 422, 471, 724, 725,
+ 426, 704, 672, 777, 666, 780, 915, 667, 782, 791,
+ 714, 660, 480, 923, 666, 435, 486, 673, 428, 437,
+ 663, 594, 438, 915, 487, 412, 427, 581, 423, 595,
+ 736, 442, 664, 567, 726, 727, 481, 568, 668, 638,
+ 640, 728, 729, 792, 681, 649, 650, 442, 668, 681,
+ 674, 675, 676, 677, 546, 681, 652, 653, 681, 497,
+ 547, 486, 570, 486, 783, 594, 459, 681, 498, 460,
+ 639, 413, 644, 750, 594, 752, -35, 662, 654, 669,
+ 861, 778, 655, 548, 862, 669, 739, 669, 414, 549,
+ 669, 554, 669, 581, 669, 669, 415, 555, 581, 669,
+ 848, 416, 500, 562, 581, 501, 576, 581, 502, 563,
+ 647, 863, 577, 648, 712, 864, 581, 642, 417, 642,
+ 462, 787, 642, 460, 670, 758, 759, 760, 761, 762,
+ 763, 764, 765, 766, 767, 581, 789, 720, 578, 721,
+ 698, 418, 856, 419, 579, 768, 461, 463, 465, 467,
+ 469, 470, 473, 657, 785, 795, 570, 797, 570, 658,
+ 770, 547, 799, 798, 801, 424, 442, 804, 800, 806,
+ 802, 930, 808, 805, 811, 807, 814, 816, 809, 888,
+ 812, 889, 815, 817, 712, 770, 894, 770, 895, 896,
+ 897, 898, 798, 899, 802, 805, 809, 812, 420, 817,
+ 464, 773, 926, 460, 790, 425, 450, 452, 770, 685,
+ 686, 687, 688, 430, 850, 449, 466, 468, 852, 460,
+ 460, 451, 891, 832, 833, 834, 835, 472, 680, 570,
+ 460, 460, 684, 691, 431, 460, 460, 867, 682, 694,
+ 697, 444, 460, 460, 871, 692, 703, 854, 855, 460,
+ 770, 439, 821, 771, 672, 857, 642, 858, 825, 826,
+ 827, 581, 581, 581, 581, 581, 581, 581, 581, 581,
+ 581, 581, 581, 581, 581, 581, 581, 822, 925, 770,
+ 823, 822, 851, 454, 877, 773, 330, 331, 332, 474,
+ 717, 718, 719, 479, 681, 681, 484, 570, 722, 723,
+ 495, 681, 681, 770, 853, 770, 900, 681, 489, 681,
+ 327, 879, 828, 829, 881, 830, 831, 836, 837, 496,
+ 486, 542, 543, 541, 544, 550, 545, 569, 646, 671,
+ 564, 551, 552, 553, 556, 695, 642, 566, 557, 708,
+ 558, 559, 560, 581, 581, 561, 565, 656, 661, 575,
+ 581, 581, 594, 497, 881, 705, 581, 436, 581, 667,
+ 733, 734, 737, 732, 730, 443, 398, 570, 731, 740,
+ 742, 918, 743, 399, 398, 406, 399, 716, 913, 744,
+ 384, 399, 398, 406, 382, 398, 927, 746, 453, 747,
+ 398, 477, 642, 748, 751, 754, 753, -36, -34, 784,
+ 755, 436, 491, 756, 788, 436, 757, -29, 796, 803,
+ 398, 810, 813, 818, 398, 819, 882, 770, 845, 860,
+ 873, 443, 884, 892, 893, 901, 903, 904, 902, 919,
+ 398, 451, -574, 920, 921, 914, 933, 596, 924, 932,
+ 839, 838, 843, 715, 493, 840, 492, 841, 571, 842,
+ 421, 494, 878, 820, 885, 922, 882, 398, 928, 621,
+ 929, 886, 490, 905, 865, 774, 706, 775, 620, 448,
+ 866, 451, 776, 874, 868, 876, 870, 869, 0, 0,
+ 0, 0, 0, 872, 0, 0, 0, 0, 0, 0,
+ 875, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 665, 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, 663, 0, 0, 0, 0, 0, 0, 0, 0,
+ 707, 0, 571, 0, 571, 0, 0, 0, 0, 398,
+ 0, 398, 0, 398, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 705, 0,
- 569, 0, 569, 0, 0, 0, 0, 396, 0, 396,
- 0, 396, 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, 621, 0, 0,
+ 0, 0, 0, 0, 0, 0, 620, 399, 0, 0,
+ 0, 0, 0, 0, 0, 571, 398, 0, 0, 0,
+ 0, 0, 0, 0, 398, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 619, 0, 0, 0, 0,
- 0, 0, 0, 0, 618, 397, 0, 0, 0, 0,
- 0, 0, 0, 569, 396, 0, 0, 0, 0, 0,
- 0, 0, 396, 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, 571, 0, 0, 0, 0, 0, 0,
+ 0, 0, 398, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 569, 0, 0, 0, 0, 0, 0, 0, 0,
- 396, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 619,
- 0, 0, 0, 619, 0, 0, 0, 0, 618, 0,
- 0, 0, 618, 0, 0, 0, 0, 0, 0, 0,
+ 0, 621, 0, 0, 0, 621, 0, 0, 0, 0,
+ 620, 0, 0, 0, 620, 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, 569, 0, 0, 0, 0, 0, 0, 0, 0,
- 396, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 571, 0, 0, 0, 0, 0, 0,
+ 0, 0, 398, 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, 619, 619, 0, 619, 0, 404,
- 0, 0, 0, 618, 618, 0, 618, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 621, 621, 0, 621,
+ 0, 406, 0, 0, 0, 620, 620, 0, 620, 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, 619, 0, 0, 0, 0,
- 0, 0, 0, 0, 618, 0, 0, 0, 0, 0,
- 0, 619, 0, 0, 0, 0, 0, 0, 619, 0,
- 618, 0, 0, 0, 0, 0, 0, 618, 619, 0,
- 0, 0, 619, 0, 0, 0, 0, 618, 619, 0,
- 0, 618, 0, 0, 0, 445, 0, 618, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 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, 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, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 325, 0, 594, 595, 0, 0, 0, 0, 596,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 597, 598, 599, 600, 0, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, 610, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 611, 346, 347, 348, 349, 350, 351,
- 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, 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, 0, 0, 502, 503, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 621, 0, 0,
+ 0, 0, 0, 0, 0, 0, 620, 0, 0, 0,
+ 0, 0, 0, 621, 0, 0, 0, 0, 0, 0,
+ 621, 0, 620, 0, 0, 0, 0, 0, 0, 620,
+ 621, 0, 0, 0, 621, 0, 0, 0, 0, 620,
+ 621, 0, 0, 620, 0, 0, 0, 447, 0, 620,
+ 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 325, 0, 594, 770,
- 0, 0, 0, 0, 596, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 333, 334, 335, 336, 337, 338, 597, 598,
- 599, 600, 0, 601, 602, 603, 604, 605, 606, 607,
- 608, 609, 610, 339, 340, 341, 342, 343, 344, 515,
- 516, 517, 518, 519, 520, 521, 522, 345, 611, 346,
- 347, 348, 349, 350, 351, 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, 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, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 325, 0, 594, 0, 0, 0, 0, 0, 596,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 597, 598, 599, 600, 0, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, 610, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 611, 346, 347, 348, 349, 350, 351,
- 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, 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, 0, 0, 502, 503, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 325, 0, 487, 0,
- 0, 0, 0, 0, 596, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 333, 334, 335, 336, 337, 338, 597, 598,
- 599, 600, 0, 601, 602, 603, 604, 605, 606, 607,
- 608, 609, 610, 339, 340, 341, 342, 343, 344, 515,
- 516, 517, 518, 519, 520, 521, 522, 345, 611, 346,
- 347, 348, 349, 350, 351, 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, 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, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 325, 0, 0, 0, 0, 0, 0, 0, 596,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 597, 598, 599, 600, 0, 601, 602,
- 603, 604, 605, 606, 607, 608, 609, 610, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 611, 346, 347, 348, 349, 350, 351,
- 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, 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, 0, 0, 502, 503, 0, 0, 0, 0,
+ 327, 0, 0, 0, 0, 0, 0, 0, 328, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 596, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 333, 334, 335, 336, 337, 338, 0, 0,
+ 0, 0, 329, 330, 331, 332, 333, 0, 0, 0,
+ 0, 0, 0, 0, 0, 334, 335, 336, 337, 338,
+ 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 341, 342, 343,
+ 344, 345, 346, 0, 0, 0, 0, 0, 0, 0,
+ 0, 347, 0, 348, 349, 350, 351, 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, 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, 0, 0, 504, 505, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 515,
- 516, 517, 518, 519, 520, 521, 522, 345, 0, 346,
- 347, 348, 349, 350, 351, 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, 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, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
+ 0, 0, 0, 0, 506, 507, 0, 327, 0, 596,
+ 597, 0, 0, 0, 0, 598, 508, 509, 510, 511,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 329,
+ 330, 331, 332, 333, 0, 0, 0, 512, 513, 514,
+ 515, 516, 334, 335, 336, 337, 338, 339, 340, 599,
+ 600, 601, 602, 0, 603, 604, 605, 606, 607, 608,
+ 609, 610, 611, 612, 341, 342, 343, 344, 345, 346,
+ 517, 518, 519, 520, 521, 522, 523, 524, 347, 613,
+ 348, 349, 350, 351, 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, 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,
+ 0, 0, 504, 505, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 515, 516, 517, 518, 519, 520,
- 521, 522, 345, 0, 346, 347, 348, 349, 350, 351,
- 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, 1, 2,
+ 0, 506, 507, 0, 327, 0, 596, 772, 0, 0,
+ 0, 0, 598, 508, 509, 510, 511, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 329, 330, 331, 332,
+ 333, 0, 0, 0, 512, 513, 514, 515, 516, 334,
+ 335, 336, 337, 338, 339, 340, 599, 600, 601, 602,
+ 0, 603, 604, 605, 606, 607, 608, 609, 610, 611,
+ 612, 341, 342, 343, 344, 345, 346, 517, 518, 519,
+ 520, 521, 522, 523, 524, 347, 613, 348, 349, 350,
+ 351, 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, 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, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 327, 0, 596, 0, 0, 0, 0, 0, 598,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 330, 331, 332, 333, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 335, 336, 337,
+ 338, 339, 340, 599, 600, 601, 602, 0, 603, 604,
+ 605, 606, 607, 608, 609, 610, 611, 612, 341, 342,
+ 343, 344, 345, 346, 517, 518, 519, 520, 521, 522,
+ 523, 524, 347, 613, 348, 349, 350, 351, 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, 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,
@@ -2182,111 +2003,203 @@ static const yytype_int16 yytable[] =
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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 323, 324, 325, 326, 0, 0, 504, 505, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 0, 0, 0, 0, 0, 506, 507, 0, 327, 0,
+ 489, 0, 0, 0, 0, 0, 598, 508, 509, 510,
+ 511, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 329, 330, 331, 332, 333, 0, 0, 0, 512, 513,
+ 514, 515, 516, 334, 335, 336, 337, 338, 339, 340,
+ 599, 600, 601, 602, 0, 603, 604, 605, 606, 607,
+ 608, 609, 610, 611, 612, 341, 342, 343, 344, 345,
+ 346, 517, 518, 519, 520, 521, 522, 523, 524, 347,
+ 613, 348, 349, 350, 351, 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, 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, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 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,
+ 377, 378, 379, 380, 381, 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, 0, 0, 504, 505, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 597, 0, 0, 600, 0, 601, 602,
- 0, 0, 605, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
- 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, 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, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 506, 507, 0, 327, 0, 0, 0, 0,
+ 0, 0, 0, 598, 508, 509, 510, 511, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 329, 330, 331,
+ 332, 333, 0, 0, 0, 512, 513, 514, 515, 516,
+ 334, 335, 336, 337, 338, 339, 340, 599, 600, 601,
+ 602, 0, 603, 604, 605, 606, 607, 608, 609, 610,
+ 611, 612, 341, 342, 343, 344, 345, 346, 517, 518,
+ 519, 520, 521, 522, 523, 524, 347, 613, 348, 349,
+ 350, 351, 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, 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, 0, 0,
+ 504, 505, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 506,
+ 507, 0, 327, 0, 0, 0, 0, 0, 0, 0,
+ 598, 508, 509, 510, 511, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 329, 330, 331, 332, 333, 0,
+ 0, 0, 512, 513, 514, 515, 516, 334, 335, 336,
+ 337, 338, 339, 340, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 341,
+ 342, 343, 344, 345, 346, 517, 518, 519, 520, 521,
+ 522, 523, 524, 347, 0, 348, 349, 350, 351, 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, 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, 0, 0, 504, 505, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 506, 507, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 508, 509,
+ 510, 511, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 329, 330, 331, 332, 0, 0, 0, 0, 512,
+ 513, 514, 515, 516, 334, 335, 336, 337, 338, 339,
+ 340, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 341, 342, 343, 344,
+ 345, 346, 517, 518, 519, 520, 521, 522, 523, 524,
+ 347, 0, 348, 349, 350, 351, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 438, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 439, 332, 333, 334, 335, 336, 337, 338, 0, 0,
+ 0, 0, 0, 0, 0, 0, 327, 0, 0, 0,
+ 0, 0, 0, 0, 328, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 329, 330,
+ 331, 332, 333, 0, 0, 0, 0, 0, 0, 0,
+ 0, 334, 335, 336, 337, 338, 339, 340, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 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, 1, 2, 3, 4, 5, 6, 7,
+ 0, 0, 0, 341, 342, 343, 344, 345, 346, 0,
+ 0, 0, 0, 0, 0, 0, 0, 347, 0, 348,
+ 349, 350, 351, 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, 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,
@@ -2317,209 +2230,73 @@ static const yytype_int16 yytable[] =
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, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 325, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
- 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, 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, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 0,
+ 0, 0, 320, 321, 322, 323, 324, 325, 326, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 709,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 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, 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, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 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, 822, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
+ 0, 0, 0, 0, 0, 329, 330, 331, 332, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 334, 335,
+ 336, 337, 338, 339, 340, 599, 0, 0, 602, 0,
+ 603, 604, 0, 0, 607, 0, 0, 0, 0, 0,
+ 341, 342, 343, 344, 345, 346, 0, 0, 0, 0,
+ 0, 0, 0, 0, 347, 0, 348, 349, 350, 351,
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, 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, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 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, 857,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 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, 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, 0, 0, 0,
- 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
+ 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, 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, 440, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
- 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
- 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
- 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
- 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, 2, 3,
+ 0, 0, 329, 330, 331, 332, 0, 0, 0, 0,
+ 0, 0, 0, 0, 441, 334, 335, 336, 337, 338,
+ 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 341, 342, 343,
+ 344, 345, 346, 0, 0, 0, 0, 0, 0, 0,
+ 0, 347, 0, 348, 349, 350, 351, 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, 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, 0, 0, 61, 62, 63,
+ 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,
@@ -2545,371 +2322,27 @@ 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, 0, 0, 0, 0, 0, 0, 321, 0, 0,
- 0, 0, 0, 502, 503, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 504, 505, 0, 0, 0, 639, 777, 0,
- 0, 0, 0, 0, 506, 507, 508, 509, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 510, 511, 512, 513, 514,
- 332, 0, 0, 0, 0, 337, 338, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 515, 516,
- 517, 518, 519, 520, 521, 522, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 358, 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, 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, 0, 0, 0, 0, 0, 0,
- 321, 0, 0, 0, 0, 0, 502, 503, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 504, 505, 0, 0, 0,
- 639, 888, 0, 0, 0, 0, 0, 506, 507, 508,
- 509, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 510, 511,
- 512, 513, 514, 332, 0, 0, 0, 0, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 515, 516, 517, 518, 519, 520, 521, 522, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 358, 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, 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, 0, 0, 0,
- 0, 0, 0, 321, 0, 0, 0, 0, 0, 502,
- 503, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 504, 505,
- 0, 0, 578, 0, 0, 0, 0, 0, 0, 0,
- 506, 507, 508, 509, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 510, 511, 512, 513, 514, 332, 0, 0, 0,
- 0, 337, 338, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 515, 516, 517, 518, 519, 520,
- 521, 522, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 358, 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,
- 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,
- 0, 0, 0, 0, 0, 0, 321, 0, 0, 0,
- 0, 0, 502, 503, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 504, 505, 0, 0, 0, 639, 0, 0, 0,
- 0, 0, 0, 506, 507, 508, 509, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 510, 511, 512, 513, 514, 332,
- 0, 0, 0, 0, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 515, 516, 517,
- 518, 519, 520, 521, 522, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 358,
- 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, 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, 0, 0, 0, 0, 0, 0, 321,
- 0, 0, 0, 0, 0, 502, 503, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 504, 505, 0, 0, 736, 0,
- 0, 0, 0, 0, 0, 0, 506, 507, 508, 509,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 510, 511, 512,
- 513, 514, 332, 0, 0, 0, 0, 337, 338, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 515, 516, 517, 518, 519, 520, 521, 522, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 358, 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, 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, 0, 0, 0, 0,
- 0, 0, 321, 0, 0, 0, 0, 0, 502, 503,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 504, 505, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 747, 506,
- 507, 508, 509, 0, 0, 0, 0, 0, 0, 0,
+ 314, 315, 316, 0, 0, 0, 320, 321, 322, 323,
+ 324, 325, 326, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 510, 511, 512, 513, 514, 332, 0, 0, 0, 0,
- 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 515, 516, 517, 518, 519, 520, 521,
- 522, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 358, 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, 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, 0,
- 0, 0, 0, 0, 0, 321, 0, 0, 0, 0,
- 0, 502, 503, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 504, 505, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 506, 507, 508, 509, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 329,
+ 330, 331, 332, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 334, 335, 336, 337, 338, 339, 340, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 510, 511, 512, 513, 514, 332, 0,
- 0, 0, 0, 337, 338, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 515, 516, 517, 518,
- 519, 520, 521, 522, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 358, 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, 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, 0, 0, 0, 0, 0, 0, 321, 0,
- 0, 0, 0, 0, 502, 503, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 504, 505, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 506, 507, 508, 509, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 510, 511, 512, 513,
- 514, 332, 0, 0, 0, 0, 337, 657, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 515,
- 516, 517, 518, 519, 520, 521, 522, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 358, 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, 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, 0, 0, 0, 0, 0,
- 0, 321, 0, 0, 0, 0, 0, 502, 503, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 504, 505, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
- 508, 509, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 510,
- 511, 512, 513, 697, 332, 0, 0, 0, 0, 337,
- 338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 515, 516, 517, 518, 519, 520, 521, 522,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 358, 2, 3, 4, 5, 6,
+ 0, 0, 0, 0, 341, 342, 343, 344, 345, 346,
+ 0, 0, 0, 0, 0, 0, 0, 0, 347, 0,
+ 348, 349, 350, 351, 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, 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, 0, 0, 61, 62, 63, 64, 65, 66,
+ 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,
@@ -2934,159 +2367,22 @@ static const yytype_int16 yytable[] =
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, 0, 0,
- 0, 0, 0, 0, 321, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 0, 0, 0, 320, 321, 322, 323, 324, 325, 326,
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, 711, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 329, 330, 331, 332,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 334,
+ 335, 336, 337, 338, 339, 340, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 0, 0,
- 0, 0, 337, 338
-};
-
-static const yytype_int16 yycheck[] =
-{
- 0, 385, 0, 404, 496, 484, 625, 0, 409, 0,
- 505, 0, 437, 442, 550, 545, 404, 570, 443, 555,
- 404, 739, 393, 348, 416, 409, 572, 336, 564, 353,
- 637, 561, 639, 348, 351, 642, 351, 573, 348, 531,
- 359, 348, 356, 331, 332, 429, 385, 382, 352, 349,
- 385, 349, 356, 351, 368, 484, 381, 382, 383, 384,
- 358, 385, 433, 372, 329, 330, 385, 382, 493, 494,
- 409, 550, 382, 502, 503, 382, 555, 349, 449, 367,
- 368, 351, 561, 351, 349, 564, 351, 543, 358, 901,
- 355, 359, 476, 549, 573, 551, 908, 643, 554, 359,
- 556, 351, 558, 559, 351, 534, 918, 563, 358, 604,
- 351, 606, 359, 592, 350, 382, 353, 358, 385, 356,
- 356, 550, 359, 350, 743, 350, 555, 350, 350, 356,
- 349, 356, 561, 356, 356, 564, 411, 412, 413, 414,
- 415, 416, 417, 350, 573, 637, 350, 639, 350, 356,
- 642, 543, 356, 350, 356, 350, 350, 652, 711, 356,
- 350, 356, 356, 592, 656, 356, 356, 559, 359, 776,
- 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 352, 350, 356, 350, 356, 350, 570, 356, 572, 356,
- 358, 356, 350, 350, 350, 350, 350, 568, 356, 356,
- 356, 356, 356, 350, 922, 350, 350, 350, 350, 356,
- 350, 356, 356, 356, 356, 350, 356, 350, 352, 385,
- 382, 356, 356, 385, 356, 844, 349, 359, 781, 349,
- 382, 349, 661, 385, 635, 381, 382, 383, 384, 722,
- 723, 724, 725, 382, 349, 382, 385, 635, 385, 856,
- 745, 635, 382, 382, 749, 385, 385, 382, 382, 643,
- 385, 385, 349, 382, 800, 801, 385, 382, 327, 328,
- 385, 807, 808, 349, 356, 767, 768, 359, 361, 356,
- 363, 706, 359, 813, 776, 349, 715, 716, 717, 718,
- 719, 720, 721, 722, 723, 724, 725, 726, 727, 728,
- 729, 730, 731, 732, 733, 912, 367, 356, 356, 928,
- 359, 359, 374, 375, 376, 333, 334, 364, 365, 366,
- 359, 800, 801, 354, 353, 356, 353, 711, 807, 808,
- 356, 357, 356, 357, 813, 385, 815, 718, 719, 385,
- 720, 721, 385, 726, 727, 351, 351, 842, 385, 385,
- 845, 350, 385, 356, 371, 359, 358, 358, 350, 356,
- 356, 356, 356, 385, 856, 349, 356, 382, 356, 356,
- 356, 800, 801, 356, 356, 350, 349, 358, 807, 808,
- 359, 351, 349, 351, 813, 385, 815, 348, 352, 335,
- 885, 354, 370, 393, 385, 369, 337, 781, 352, 349,
- 385, 401, 393, 401, 404, 385, 898, 902, 401, 409,
- 401, 409, 401, 404, 385, 359, 409, 359, 409, 419,
- 912, 349, 917, 349, 359, 349, 357, 359, 349, 429,
- 428, 349, 359, 433, 359, 350, 359, 385, 429, 358,
- 385, 350, 433, 356, 845, 356, 356, 350, 352, 449,
- 352, 356, 348, 393, 348, 354, 385, 350, 449, 349,
- 358, 845, 353, 350, 359, 353, 728, 397, 353, 730,
- 359, 354, 729, 731, 733, 433, 476, 732, 429, 575,
- 433, 331, 820, 847, 885, 476, 907, 487, 705, 919,
- 918, 427, 847, 401, 635, 885, 487, 635, 566, 635,
- 801, 885, 798, 796, 815, 808, 805, 813, 803, 811,
- -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, 539, -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, 568, -1,
- 570, -1, 572, -1, -1, -1, -1, 568, -1, 570,
- -1, 572, -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, 625, -1, -1, -1, -1,
- -1, -1, -1, -1, 625, 635, -1, -1, -1, -1,
- -1, -1, -1, 643, 635, -1, -1, -1, -1, -1,
- -1, -1, 643, -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, 711, -1, -1, -1, -1, -1, -1, -1, -1,
- 711, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 739,
- -1, -1, -1, 743, -1, -1, -1, -1, 739, -1,
- -1, -1, 743, -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, 781, -1, -1, -1, -1, -1, -1, -1, -1,
- 781, -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, 844, 845, -1, 847, -1, 847,
- -1, -1, -1, 844, 845, -1, 847, -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, 885, -1, -1, -1, -1,
- -1, -1, -1, -1, 885, -1, -1, -1, -1, -1,
- -1, 901, -1, -1, -1, -1, -1, -1, 908, -1,
- 901, -1, -1, -1, -1, -1, -1, 908, 918, -1,
- -1, -1, 922, -1, -1, -1, -1, 918, 928, -1,
- -1, 922, -1, -1, -1, 0, -1, 928, 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, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 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, 3, 4, 5, 6, 7, 8, 9,
+ 0, 341, 342, 343, 344, 345, 346, 0, 0, 0,
+ 0, 0, 0, 0, 0, 347, 0, 348, 349, 350,
+ 351, 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, 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,
@@ -3117,73 +2413,119 @@ static const yytype_int16 yycheck[] =
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, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, 351, -1, 353, 354, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
- 400, 401, 402, 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, 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, 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, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, 353, 354,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, -1, 398, 399, 400, 401, 402, 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, 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, 3, 4, 5, 6, 7, 8, 9,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 320, 321, 322, 323, 324, 325, 326, 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, 824, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 329, 330, 331, 332, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 334, 335, 336, 337,
+ 338, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 341, 342,
+ 343, 344, 345, 346, 0, 0, 0, 0, 0, 0,
+ 0, 0, 347, 0, 348, 349, 350, 351, 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, 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, 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, 859, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 329, 330, 331, 332, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 334, 335, 336, 337, 338, 339, 340,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 341, 342, 343, 344, 345,
+ 346, 0, 0, 0, 0, 0, 0, 0, 0, 347,
+ 0, 348, 349, 350, 351, 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, 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, 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, 329, 330, 331,
+ 332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 334, 335, 336, 337, 338, 339, 340, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 341, 342, 343, 344, 345, 346, 0, 0,
+ 0, 0, 0, 0, 0, 0, 347, 0, 348, 349,
+ 350, 351, 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, 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,
+ 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,
@@ -3193,7 +2535,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3208,27 +2550,25 @@ static const yytype_int16 yycheck[] =
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, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, 351, -1, 353, -1, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
- 400, 401, 402, 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, 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, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 0, 641, 779, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 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,
+ 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,
@@ -3239,7 +2579,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3254,27 +2594,25 @@ 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, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, 353, -1,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, -1, 398, 399, 400, 401, 402, 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, 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, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 641, 890,
+ 0, 0, 0, 0, 0, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 340, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 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,
+ 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,
@@ -3284,7 +2622,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3299,27 +2637,25 @@ static const yytype_int16 yycheck[] =
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, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, 351, -1, -1, -1, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
- 400, 401, 402, 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, 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, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 580, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 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,
+ 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,
@@ -3330,7 +2666,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3345,27 +2681,25 @@ 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, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, -1, 424,
- 425, 426, 427, 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, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 641, 0,
+ 0, 0, 0, 0, 0, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 340, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 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,
+ 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,
@@ -3375,7 +2709,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3390,27 +2724,25 @@ static const yytype_int16 yycheck[] =
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, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
- 420, 421, 422, -1, 424, 425, 426, 427, 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, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 738, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 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,
+ 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,
@@ -3421,7 +2753,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3436,27 +2768,25 @@ 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, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 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, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 749, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 340, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 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,
+ 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,
@@ -3466,7 +2796,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3481,27 +2811,25 @@ static const yytype_int16 yycheck[] =
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, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -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, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, 393, -1, -1, 396, -1, 398, 399,
- -1, -1, 402, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 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, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 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,
+ 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,
@@ -3512,7 +2840,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3527,27 +2855,25 @@ 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, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -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, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- 385, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 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, 3, 4, 5, 6, 7, 8, 9,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 0,
+ 0, 0, 0, 0, 504, 505, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 506, 507, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 508, 509, 510, 511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 512, 513, 514, 515,
+ 516, 334, 0, 0, 0, 0, 339, 659, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 517,
+ 518, 519, 520, 521, 522, 523, 524, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 360, 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,
+ 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,
@@ -3557,7 +2883,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3572,27 +2898,25 @@ static const yytype_int16 yycheck[] =
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, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 351, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 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, 3, 4,
+ 310, 311, 312, 313, 314, 315, 316, 0, 0, 0,
+ 0, 0, 0, 323, 0, 0, 0, 0, 0, 504,
+ 505, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 506, 507,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 508, 509, 510, 511, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 699, 334, 0, 0, 0,
+ 0, 339, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 517, 518, 519, 520, 521, 522,
+ 523, 524, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 360, 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,
+ 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,
@@ -3603,7 +2927,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -3618,66 +2942,295 @@ 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, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
+ 315, 316, 0, 0, 0, 0, 0, 0, 323, 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, 0, 0, 0,
+ 0, 334, 0, 0, 0, 0, 339, 340
+};
+
+static const yytype_int16 yycheck[] =
+{
+ 0, 387, 0, 572, 507, 406, 498, 0, 486, 0,
+ 411, 0, 627, 439, 406, 444, 547, 552, 741, 445,
+ 406, 395, 557, 574, 338, 411, 355, 418, 333, 334,
+ 361, 566, 563, 639, 350, 641, 903, 353, 644, 350,
+ 575, 533, 387, 910, 350, 431, 353, 350, 361, 358,
+ 358, 353, 361, 920, 361, 351, 387, 486, 387, 361,
+ 374, 435, 370, 354, 369, 370, 411, 358, 384, 495,
+ 496, 335, 336, 384, 552, 504, 505, 451, 384, 557,
+ 383, 384, 385, 386, 352, 563, 331, 332, 566, 351,
+ 358, 353, 478, 353, 645, 353, 384, 575, 360, 387,
+ 360, 351, 360, 606, 353, 608, 351, 536, 353, 545,
+ 354, 360, 357, 352, 358, 551, 594, 553, 351, 358,
+ 556, 352, 558, 552, 560, 561, 351, 358, 557, 565,
+ 745, 351, 355, 352, 563, 358, 352, 566, 361, 358,
+ 358, 354, 358, 361, 713, 358, 575, 639, 351, 641,
+ 384, 654, 644, 387, 545, 340, 341, 342, 343, 344,
+ 345, 346, 347, 348, 349, 594, 658, 363, 352, 365,
+ 561, 351, 778, 351, 358, 360, 413, 414, 415, 416,
+ 417, 418, 419, 352, 352, 352, 572, 352, 574, 358,
+ 358, 358, 352, 358, 352, 351, 570, 352, 358, 352,
+ 358, 924, 352, 358, 352, 358, 352, 352, 358, 352,
+ 358, 352, 358, 358, 783, 358, 352, 358, 352, 352,
+ 352, 352, 358, 352, 358, 358, 358, 358, 353, 358,
+ 384, 846, 352, 387, 663, 351, 637, 361, 358, 383,
+ 384, 385, 386, 352, 747, 637, 384, 384, 751, 387,
+ 387, 637, 858, 724, 725, 726, 727, 384, 384, 645,
+ 387, 387, 384, 384, 358, 387, 387, 802, 803, 384,
+ 384, 369, 387, 387, 809, 810, 384, 769, 770, 387,
+ 358, 387, 708, 361, 815, 356, 778, 358, 717, 718,
+ 719, 720, 721, 722, 723, 724, 725, 726, 727, 728,
+ 729, 730, 731, 732, 733, 734, 735, 358, 914, 358,
+ 361, 358, 361, 387, 361, 930, 376, 377, 378, 387,
+ 366, 367, 368, 355, 802, 803, 387, 713, 329, 330,
+ 387, 809, 810, 358, 359, 358, 359, 815, 355, 817,
+ 353, 844, 720, 721, 847, 722, 723, 728, 729, 387,
+ 353, 387, 361, 352, 360, 360, 358, 361, 387, 387,
+ 352, 358, 358, 358, 358, 350, 858, 351, 358, 387,
+ 358, 358, 358, 802, 803, 358, 358, 352, 351, 360,
+ 809, 810, 353, 351, 887, 354, 815, 387, 817, 353,
+ 337, 339, 354, 371, 373, 395, 387, 783, 372, 356,
+ 351, 904, 361, 403, 395, 403, 406, 387, 900, 361,
+ 403, 411, 403, 411, 403, 406, 919, 351, 411, 351,
+ 411, 421, 914, 361, 351, 361, 359, 351, 351, 387,
+ 361, 431, 430, 361, 387, 435, 361, 352, 360, 358,
+ 431, 358, 358, 352, 435, 352, 847, 358, 354, 354,
+ 350, 451, 395, 350, 384, 356, 352, 351, 387, 361,
+ 451, 847, 355, 352, 399, 360, 356, 355, 355, 361,
+ 731, 730, 735, 577, 435, 732, 431, 733, 478, 734,
+ 333, 435, 822, 707, 849, 909, 887, 478, 920, 489,
+ 921, 849, 429, 887, 798, 637, 568, 637, 489, 403,
+ 800, 887, 637, 813, 803, 817, 807, 805, -1, -1,
+ -1, -1, -1, 810, -1, -1, -1, -1, -1, -1,
+ 815, -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, 354,
+ -1, -1, -1, 541, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 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, 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, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
+ 570, -1, 572, -1, 574, -1, -1, -1, -1, 570,
+ -1, 572, -1, 574, -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, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 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, 3, 4,
+ -1, -1, -1, -1, -1, -1, -1, 627, -1, -1,
+ -1, -1, -1, -1, -1, -1, 627, 637, -1, -1,
+ -1, -1, -1, -1, -1, 645, 637, -1, -1, -1,
+ -1, -1, -1, -1, 645, -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, 713, -1, -1, -1, -1, -1, -1,
+ -1, -1, 713, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 741, -1, -1, -1, 745, -1, -1, -1, -1,
+ 741, -1, -1, -1, 745, -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, 783, -1, -1, -1, -1, -1, -1,
+ -1, -1, 783, -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, 846, 847, -1, 849,
+ -1, 849, -1, -1, -1, 846, 847, -1, 849, -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, 887, -1, -1,
+ -1, -1, -1, -1, -1, -1, 887, -1, -1, -1,
+ -1, -1, -1, 903, -1, -1, -1, -1, -1, -1,
+ 910, -1, 903, -1, -1, -1, -1, -1, -1, 910,
+ 920, -1, -1, -1, 924, -1, -1, -1, -1, 920,
+ 930, -1, -1, 924, -1, -1, -1, 0, -1, 930,
+ 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, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 353, -1, -1, -1, -1, -1, -1, -1, 361, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 375, 376, 377, 378, 379, -1, -1, -1,
+ -1, -1, -1, -1, -1, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 410, 411, 412,
+ 413, 414, 415, -1, -1, -1, -1, -1, -1, -1,
+ -1, 424, -1, 426, 427, 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, 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, -1, -1, 331, 332, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 350, 351, -1, 353, -1, 355,
+ 356, -1, -1, -1, -1, 361, 362, 363, 364, 365,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 375,
+ 376, 377, 378, 379, -1, -1, -1, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 398, -1, 400, 401, 402, 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, 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, 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,
+ -1, -1, 331, 332, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 350, 351, -1, 353, -1, 355, 356, -1, -1,
+ -1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 375, 376, 377, 378,
+ 379, -1, -1, -1, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
+ -1, 400, 401, 402, 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, 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, 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, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, 353, -1, 355, -1, -1, -1, -1, -1, 361,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 375, 376, 377, 378, 379, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, 397, 398, -1, 400, 401,
+ 402, 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, 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, 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,
@@ -3709,21 +3262,204 @@ 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, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -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, 354,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, -1, -1, 331, 332, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
+ -1, -1, -1, -1, -1, 350, 351, -1, 353, -1,
+ 355, -1, -1, -1, -1, -1, 361, 362, 363, 364,
+ 365, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 375, 376, 377, 378, 379, -1, -1, -1, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, -1, 400, 401, 402, 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, 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, 3, 4, 5, 6, 7, 8, 9,
+ 455, 456, 457, 458, 459, 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, -1, -1, 331, 332, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 350, 351, -1, 353, -1, -1, -1, -1,
+ -1, -1, -1, 361, 362, 363, 364, 365, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 375, 376, 377,
+ 378, 379, -1, -1, -1, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
+ 398, -1, 400, 401, 402, 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, 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, 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, -1, -1,
+ 331, 332, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 350,
+ 351, -1, 353, -1, -1, -1, -1, -1, -1, -1,
+ 361, 362, 363, 364, 365, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 375, 376, 377, 378, 379, -1,
+ -1, -1, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 410,
+ 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, -1, 426, 427, 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, 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, -1, -1, 331, 332, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 350, 351, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 362, 363,
+ 364, 365, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 375, 376, 377, 378, -1, -1, -1, -1, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, -1, 426, 427, 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, 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, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 353, -1, -1, -1,
+ -1, -1, -1, -1, 361, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 375, 376,
+ 377, 378, 379, -1, -1, -1, -1, -1, -1, -1,
+ -1, 388, 389, 390, 391, 392, 393, 394, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 410, 411, 412, 413, 414, 415, -1,
+ -1, -1, -1, -1, -1, -1, -1, 424, -1, 426,
+ 427, 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, 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,
@@ -3754,27 +3490,73 @@ static const yytype_int16 yycheck[] =
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, -1, -1, -1,
- 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ -1, -1, 322, 323, 324, 325, 326, 327, 328, -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, 373, 374, 375, 376, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
- 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
- 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
- -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
+ -1, -1, -1, -1, -1, 375, 376, 377, 378, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 388, 389,
+ 390, 391, 392, 393, 394, 395, -1, -1, 398, -1,
+ 400, 401, -1, -1, 404, -1, -1, -1, -1, -1,
+ 410, 411, 412, 413, 414, 415, -1, -1, -1, -1,
+ -1, -1, -1, -1, 424, -1, 426, 427, 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, 4, 5,
+ 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
+ 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, -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, 361, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 375, 376, 377, 378, -1, -1, -1, -1,
+ -1, -1, -1, -1, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 410, 411, 412,
+ 413, 414, 415, -1, -1, -1, -1, -1, -1, -1,
+ -1, 424, -1, 426, 427, 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, 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, -1, -1, 63, 64, 65,
+ 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,
@@ -3800,105 +3582,247 @@ 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, -1, -1, -1, -1, -1, -1, 323, -1, -1,
- -1, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ 316, 317, 318, -1, -1, -1, 322, 323, 324, 325,
+ 326, 327, 328, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 353, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 375,
+ 376, 377, 378, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 388, 389, 390, 391, 392, 393, 394, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 410, 411, 412, 413, 414, 415,
+ -1, -1, -1, -1, -1, -1, -1, -1, 424, -1,
+ 426, 427, 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, 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,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 348, 349, -1, -1, -1, 353, 354, -1,
- -1, -1, -1, -1, 360, 361, 362, 363, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 381, 382, 383, 384, 385,
- 386, -1, -1, -1, -1, 391, 392, -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, -1, -1, -1, 414, 415,
- 416, 417, 418, 419, 420, 421, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 375, 376, 377, 378,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 388,
+ 389, 390, 391, 392, 393, 394, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 410, 411, 412, 413, 414, 415, -1, -1, -1,
+ -1, -1, -1, -1, -1, 424, -1, 426, 427, 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, 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, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 436, 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, 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, -1, -1, -1, -1, -1, -1,
- 323, -1, -1, -1, -1, -1, 329, 330, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- 353, 354, -1, -1, -1, -1, -1, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, -1, -1, -1, -1, 391, 392,
+ -1, -1, -1, -1, 356, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 375, 376, 377, 378, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 388, 389, 390, 391,
+ 392, 393, 394, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 410, 411,
+ 412, 413, 414, 415, -1, -1, -1, -1, -1, -1,
+ -1, -1, 424, -1, 426, 427, 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, 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, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 414, 415, 416, 417, 418, 419, 420, 421, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 436, 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, 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, -1, -1, -1,
- -1, -1, -1, 323, -1, -1, -1, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, -1, 352, -1, -1, -1, -1, -1, -1, -1,
- 360, 361, 362, 363, -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, -1,
- -1, 381, 382, 383, 384, 385, 386, -1, -1, -1,
- -1, 391, 392, -1, -1, -1, -1, -1, -1, -1,
+ 375, 376, 377, 378, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 388, 389, 390, 391, 392, 393, 394,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 414, 415, 416, 417, 418, 419,
- 420, 421, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 436, 4, 5, 6,
+ -1, -1, -1, -1, -1, 410, 411, 412, 413, 414,
+ 415, -1, -1, -1, -1, -1, -1, -1, -1, 424,
+ -1, 426, 427, 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, 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, -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, 375, 376, 377,
+ 378, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 388, 389, 390, 391, 392, 393, 394, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 410, 411, 412, 413, 414, 415, -1, -1,
+ -1, -1, -1, -1, -1, -1, 424, -1, 426, 427,
+ 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, 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, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, -1, 355, 356, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 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,
@@ -3915,7 +3839,7 @@ static const yytype_int16 yycheck[] =
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,
+ -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,
@@ -3930,192 +3854,280 @@ 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,
- -1, -1, -1, -1, -1, -1, 323, -1, -1, -1,
- -1, -1, 329, 330, -1, -1, -1, -1, -1, -1,
+ 317, 318, -1, -1, -1, -1, -1, -1, 325, -1,
+ -1, -1, -1, -1, 331, 332, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 348, 349, -1, -1, -1, 353, -1, -1, -1,
- -1, -1, -1, 360, 361, 362, 363, -1, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, 355, 356,
+ -1, -1, -1, -1, -1, 362, 363, 364, 365, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 381, 382, 383, 384, 385, 386,
- -1, -1, -1, -1, 391, 392, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 414, 415, 416,
- 417, 418, 419, 420, 421, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 436,
- 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, 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, -1, -1, -1, -1, -1, -1, 323,
- -1, -1, -1, -1, -1, 329, 330, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 348, 349, -1, -1, 352, -1,
- -1, -1, -1, -1, -1, -1, 360, 361, 362, 363,
+ -1, 438, 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, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, 354, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 381, 382, 383,
- 384, 385, 386, -1, -1, -1, -1, 391, 392, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 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, -1, -1, 331, 332, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 414, 415, 416, 417, 418, 419, 420, 421, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, 355, -1,
+ -1, -1, -1, -1, -1, 362, 363, 364, 365, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 436, 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, 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, -1, -1, -1, -1,
- -1, -1, 323, -1, -1, -1, -1, -1, 329, 330,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 348, 349, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
- 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 381, 382, 383, 384, 385, 386, -1, -1, -1, -1,
- 391, 392, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 438, 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, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, 354, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 414, 415, 416, 417, 418, 419, 420,
- 421, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 436, 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, 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, -1,
- -1, -1, -1, -1, -1, 323, -1, -1, -1, -1,
- -1, 329, 330, -1, -1, -1, -1, -1, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 348, 349, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 360, 361, 362, 363, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 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, -1, -1, 331, 332, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 381, 382, 383, 384, 385, 386, -1,
- -1, -1, -1, 391, 392, -1, -1, -1, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 414, 415, 416, 417,
- 418, 419, 420, 421, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 436, 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, 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, -1, -1, -1, -1, -1, -1, 323, -1,
- -1, -1, -1, -1, 329, 330, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 360, 361, 362, 363, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, -1, -1, -1, -1, 391, 392, -1, -1,
+ -1, 438, 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, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -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, 414,
- 415, 416, 417, 418, 419, 420, 421, -1, -1, -1,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 436, 4, 5, 6, 7, 8, 9, 10, 11,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 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, -1, -1, 331, 332, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 350, 351, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 362, 363, 364, 365, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 383, 384, 385, 386,
+ 387, 388, -1, -1, -1, -1, 393, 394, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, 423, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 438, 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,
@@ -4131,7 +4143,7 @@ static const yytype_int16 yycheck[] =
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,
+ 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,
@@ -4146,58 +4158,58 @@ static const yytype_int16 yycheck[] =
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, -1, -1, -1, -1, -1,
- -1, 323, -1, -1, -1, -1, -1, 329, 330, -1,
+ 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
+ -1, -1, -1, 325, -1, -1, -1, -1, -1, 331,
+ 332, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, 351,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 348, 349, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 360, 361,
- 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 381,
- 382, 383, 384, 385, 386, -1, -1, -1, -1, 391,
- 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 362, 363, 364, 365, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 414, 415, 416, 417, 418, 419, 420, 421,
+ -1, 383, 384, 385, 386, 387, 388, -1, -1, -1,
+ -1, 393, 394, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, 423, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 438, 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, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 436, 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, 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, -1, -1,
- -1, -1, -1, -1, 323, -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, -1, -1, -1, -1, 386, -1, -1,
- -1, -1, 391, 392
+ -1, 388, -1, -1, -1, -1, 393, 394
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -4236,142 +4248,142 @@ static const yytype_int16 yystos[] =
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, 351, 359, 373, 374, 375,
- 376, 377, 386, 387, 388, 389, 390, 391, 392, 408,
- 409, 410, 411, 412, 413, 422, 424, 425, 426, 427,
+ 322, 323, 324, 325, 326, 327, 328, 353, 361, 375,
+ 376, 377, 378, 379, 388, 389, 390, 391, 392, 393,
+ 394, 410, 411, 412, 413, 414, 415, 424, 426, 427,
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,
- 489, 490, 493, 494, 495, 496, 500, 501, 502, 503,
- 504, 505, 508, 509, 510, 511, 512, 514, 519, 520,
- 521, 562, 563, 564, 566, 573, 577, 578, 583, 586,
- 349, 349, 349, 349, 349, 349, 349, 349, 351, 520,
- 353, 385, 349, 349, 359, 385, 359, 565, 350, 356,
- 497, 498, 499, 509, 514, 356, 359, 385, 359, 385,
- 510, 514, 367, 516, 517, 0, 563, 494, 502, 509,
- 359, 493, 385, 569, 570, 587, 588, 382, 385, 569,
- 382, 569, 382, 569, 382, 569, 382, 569, 569, 587,
- 382, 569, 385, 567, 568, 514, 523, 353, 385, 409,
- 506, 507, 385, 513, 351, 359, 515, 353, 541, 566,
- 498, 497, 499, 385, 385, 349, 358, 515, 353, 356,
- 359, 492, 329, 330, 348, 349, 360, 361, 362, 363,
- 381, 382, 383, 384, 385, 414, 415, 416, 417, 418,
- 419, 420, 421, 459, 460, 461, 463, 464, 465, 466,
- 467, 468, 469, 470, 471, 512, 514, 518, 515, 350,
- 385, 359, 358, 356, 350, 356, 350, 356, 358, 356,
- 356, 356, 350, 356, 356, 356, 356, 356, 356, 356,
- 350, 356, 350, 356, 349, 352, 356, 359, 509, 514,
- 524, 525, 522, 358, 350, 356, 350, 356, 352, 470,
- 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
- 482, 483, 351, 359, 353, 354, 359, 393, 394, 395,
- 396, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 423, 470, 483, 485, 487, 489, 493, 512, 514,
- 530, 531, 532, 533, 534, 542, 543, 544, 545, 548,
- 549, 552, 553, 554, 561, 566, 515, 358, 515, 353,
- 485, 528, 358, 491, 385, 356, 359, 470, 470, 487,
- 329, 330, 351, 355, 350, 350, 356, 392, 485, 349,
- 470, 356, 368, 566, 348, 351, 382, 570, 587, 385,
- 588, 348, 381, 382, 383, 384, 574, 575, 382, 483,
- 488, 576, 382, 381, 382, 383, 384, 579, 580, 382,
- 488, 581, 382, 348, 582, 382, 587, 385, 488, 584,
- 585, 382, 488, 352, 568, 514, 385, 526, 527, 354,
- 525, 524, 488, 507, 385, 364, 365, 366, 361, 363,
- 327, 328, 331, 332, 367, 368, 333, 334, 371, 370,
- 369, 335, 337, 336, 372, 352, 352, 483, 354, 535,
- 349, 359, 359, 556, 349, 349, 359, 359, 487, 349,
- 487, 357, 359, 359, 359, 359, 338, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 358, 486, 356, 359,
- 354, 531, 545, 549, 554, 528, 358, 354, 528, 529,
- 528, 524, 385, 350, 462, 487, 385, 485, 470, 348,
- 382, 571, 572, 350, 358, 350, 356, 350, 356, 350,
- 356, 356, 350, 356, 350, 356, 350, 356, 356, 350,
- 356, 356, 350, 356, 350, 356, 350, 350, 526, 515,
- 356, 359, 354, 470, 470, 470, 472, 472, 473, 473,
- 474, 474, 474, 474, 475, 475, 476, 477, 478, 479,
- 480, 481, 484, 352, 542, 555, 531, 557, 487, 359,
- 487, 357, 485, 485, 528, 354, 356, 354, 352, 352,
- 356, 352, 356, 575, 574, 488, 576, 580, 579, 488,
- 581, 348, 582, 584, 585, 359, 527, 487, 536, 487,
- 502, 547, 393, 530, 543, 558, 350, 350, 354, 528,
- 348, 382, 350, 350, 350, 350, 350, 350, 357, 354,
- 385, 350, 349, 547, 559, 560, 538, 539, 540, 546,
- 550, 485, 358, 532, 537, 541, 487, 359, 350, 397,
- 534, 532, 353, 528, 350, 487, 537, 538, 542, 551,
- 359, 354
+ 458, 459, 491, 492, 495, 496, 497, 498, 502, 503,
+ 504, 505, 506, 507, 510, 511, 512, 513, 514, 516,
+ 521, 522, 523, 564, 565, 566, 568, 575, 579, 580,
+ 585, 588, 351, 351, 351, 351, 351, 351, 351, 351,
+ 353, 522, 355, 387, 351, 351, 361, 387, 361, 567,
+ 352, 358, 499, 500, 501, 511, 516, 358, 361, 387,
+ 361, 387, 512, 516, 369, 518, 519, 0, 565, 496,
+ 504, 511, 361, 495, 387, 571, 572, 589, 590, 384,
+ 387, 571, 384, 571, 384, 571, 384, 571, 384, 571,
+ 571, 589, 384, 571, 387, 569, 570, 516, 525, 355,
+ 387, 411, 508, 509, 387, 515, 353, 361, 517, 355,
+ 543, 568, 500, 499, 501, 387, 387, 351, 360, 517,
+ 355, 358, 361, 494, 331, 332, 350, 351, 362, 363,
+ 364, 365, 383, 384, 385, 386, 387, 416, 417, 418,
+ 419, 420, 421, 422, 423, 461, 462, 463, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 514, 516, 520,
+ 517, 352, 387, 361, 360, 358, 352, 358, 352, 358,
+ 360, 358, 358, 358, 352, 358, 358, 358, 358, 358,
+ 358, 358, 352, 358, 352, 358, 351, 354, 358, 361,
+ 511, 516, 526, 527, 524, 360, 352, 358, 352, 358,
+ 354, 472, 474, 475, 476, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 353, 361, 355, 356, 361, 395,
+ 396, 397, 398, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 425, 472, 485, 487, 489, 491, 495,
+ 514, 516, 532, 533, 534, 535, 536, 544, 545, 546,
+ 547, 550, 551, 554, 555, 556, 563, 568, 517, 360,
+ 517, 355, 487, 530, 360, 493, 387, 358, 361, 472,
+ 472, 489, 331, 332, 353, 357, 352, 352, 358, 394,
+ 487, 351, 472, 358, 370, 568, 350, 353, 384, 572,
+ 589, 387, 590, 350, 383, 384, 385, 386, 576, 577,
+ 384, 485, 490, 578, 384, 383, 384, 385, 386, 581,
+ 582, 384, 490, 583, 384, 350, 584, 384, 589, 387,
+ 490, 586, 587, 384, 490, 354, 570, 516, 387, 528,
+ 529, 356, 527, 526, 490, 509, 387, 366, 367, 368,
+ 363, 365, 329, 330, 333, 334, 369, 370, 335, 336,
+ 373, 372, 371, 337, 339, 338, 374, 354, 354, 485,
+ 356, 537, 351, 361, 361, 558, 351, 351, 361, 361,
+ 489, 351, 489, 359, 361, 361, 361, 361, 340, 341,
+ 342, 343, 344, 345, 346, 347, 348, 349, 360, 488,
+ 358, 361, 356, 533, 547, 551, 556, 530, 360, 356,
+ 530, 531, 530, 526, 387, 352, 464, 489, 387, 487,
+ 472, 350, 384, 573, 574, 352, 360, 352, 358, 352,
+ 358, 352, 358, 358, 352, 358, 352, 358, 352, 358,
+ 358, 352, 358, 358, 352, 358, 352, 358, 352, 352,
+ 528, 517, 358, 361, 356, 472, 472, 472, 474, 474,
+ 475, 475, 476, 476, 476, 476, 477, 477, 478, 479,
+ 480, 481, 482, 483, 486, 354, 544, 557, 533, 559,
+ 489, 361, 489, 359, 487, 487, 530, 356, 358, 356,
+ 354, 354, 358, 354, 358, 577, 576, 490, 578, 582,
+ 581, 490, 583, 350, 584, 586, 587, 361, 529, 489,
+ 538, 489, 504, 549, 395, 532, 545, 560, 352, 352,
+ 356, 530, 350, 384, 352, 352, 352, 352, 352, 352,
+ 359, 356, 387, 352, 351, 549, 561, 562, 540, 541,
+ 542, 548, 552, 487, 360, 534, 539, 543, 489, 361,
+ 352, 399, 536, 534, 355, 530, 352, 489, 539, 540,
+ 544, 553, 361, 356
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_int16 yyr1[] =
{
- 0, 458, 459, 460, 460, 460, 460, 460, 460, 460,
- 460, 460, 460, 460, 460, 460, 460, 460, 461, 461,
- 461, 461, 461, 461, 462, 463, 464, 465, 465, 466,
- 466, 467, 467, 468, 469, 469, 469, 470, 470, 470,
- 470, 471, 471, 471, 471, 472, 472, 472, 472, 473,
- 473, 473, 474, 474, 474, 475, 475, 475, 475, 475,
- 476, 476, 476, 477, 477, 478, 478, 479, 479, 480,
- 480, 481, 481, 482, 482, 483, 484, 483, 485, 485,
- 486, 486, 486, 486, 486, 486, 486, 486, 486, 486,
- 486, 487, 487, 488, 489, 489, 489, 489, 489, 489,
- 489, 489, 489, 489, 489, 491, 490, 492, 492, 493,
- 493, 493, 493, 494, 494, 495, 495, 496, 497, 497,
- 498, 498, 498, 498, 499, 500, 500, 500, 500, 500,
- 501, 501, 501, 501, 501, 502, 502, 503, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 505, 506,
- 506, 507, 507, 507, 508, 509, 509, 510, 510, 510,
- 510, 510, 510, 510, 510, 510, 510, 510, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 512, 513, 513, 514, 514, 515,
- 515, 515, 515, 516, 516, 517, 518, 518, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
- 519, 519, 519, 520, 520, 520, 522, 521, 523, 521,
- 524, 524, 525, 525, 526, 526, 527, 527, 528, 528,
- 528, 528, 529, 529, 530, 531, 531, 532, 532, 532,
- 532, 532, 532, 532, 532, 533, 534, 535, 536, 534,
- 537, 537, 539, 538, 540, 538, 541, 541, 542, 542,
- 543, 543, 544, 544, 545, 546, 546, 547, 547, 548,
- 548, 550, 549, 551, 551, 552, 552, 553, 553, 555,
- 554, 556, 554, 557, 554, 558, 558, 559, 559, 560,
- 560, 561, 561, 561, 561, 561, 561, 561, 561, 562,
- 562, 563, 563, 563, 565, 564, 566, 567, 567, 568,
- 568, 569, 569, 570, 570, 571, 571, 572, 572, 573,
- 573, 573, 573, 573, 573, 574, 574, 575, 575, 575,
- 575, 575, 576, 576, 577, 577, 578, 578, 578, 578,
- 578, 578, 578, 578, 579, 579, 580, 580, 580, 580,
- 581, 581, 582, 582, 583, 583, 583, 583, 584, 584,
- 585, 586, 586, 587, 587, 588, 588
+ 0, 460, 461, 462, 462, 462, 462, 462, 462, 462,
+ 462, 462, 462, 462, 462, 462, 462, 462, 463, 463,
+ 463, 463, 463, 463, 464, 465, 466, 467, 467, 468,
+ 468, 469, 469, 470, 471, 471, 471, 472, 472, 472,
+ 472, 473, 473, 473, 473, 474, 474, 474, 474, 475,
+ 475, 475, 476, 476, 476, 477, 477, 477, 477, 477,
+ 478, 478, 478, 479, 479, 480, 480, 481, 481, 482,
+ 482, 483, 483, 484, 484, 485, 486, 485, 487, 487,
+ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
+ 488, 489, 489, 490, 491, 491, 491, 491, 491, 491,
+ 491, 491, 491, 491, 491, 493, 492, 494, 494, 495,
+ 495, 495, 495, 496, 496, 497, 497, 498, 499, 499,
+ 500, 500, 500, 500, 501, 502, 502, 502, 502, 502,
+ 503, 503, 503, 503, 503, 504, 504, 505, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 507, 508,
+ 508, 509, 509, 509, 510, 511, 511, 512, 512, 512,
+ 512, 512, 512, 512, 512, 512, 512, 512, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 514, 515, 515, 516, 516,
+ 517, 517, 517, 517, 518, 518, 519, 520, 520, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 521, 522, 522, 522, 524, 523,
+ 525, 523, 526, 526, 527, 527, 528, 528, 529, 529,
+ 530, 530, 530, 530, 531, 531, 532, 533, 533, 534,
+ 534, 534, 534, 534, 534, 534, 534, 535, 536, 537,
+ 538, 536, 539, 539, 541, 540, 542, 540, 543, 543,
+ 544, 544, 545, 545, 546, 546, 547, 548, 548, 549,
+ 549, 550, 550, 552, 551, 553, 553, 554, 554, 555,
+ 555, 557, 556, 558, 556, 559, 556, 560, 560, 561,
+ 561, 562, 562, 563, 563, 563, 563, 563, 563, 563,
+ 563, 564, 564, 565, 565, 565, 567, 566, 568, 569,
+ 569, 570, 570, 571, 571, 572, 572, 573, 573, 574,
+ 574, 575, 575, 575, 575, 575, 575, 576, 576, 577,
+ 577, 577, 577, 577, 578, 578, 579, 579, 580, 580,
+ 580, 580, 580, 580, 580, 580, 581, 581, 582, 582,
+ 582, 582, 583, 583, 584, 584, 585, 585, 585, 585,
+ 586, 586, 587, 588, 588, 589, 589, 590, 590
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -4397,8 +4409,8 @@ static const yytype_int8 yyr2[] =
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, 4, 1, 1, 1, 3, 2, 3, 2,
- 3, 3, 4, 1, 0, 3, 1, 3, 1, 1,
+ 1, 1, 1, 4, 1, 1, 1, 3, 2, 3,
+ 2, 3, 3, 4, 1, 0, 3, 1, 3, 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,
@@ -4430,22 +4442,22 @@ static const yytype_int8 yyr2[] =
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, 0, 6, 0, 5,
- 1, 2, 3, 4, 1, 3, 1, 2, 1, 3,
- 4, 2, 1, 3, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 0, 0, 5,
- 1, 1, 0, 2, 0, 2, 2, 3, 1, 2,
- 1, 2, 1, 2, 5, 3, 1, 1, 4, 1,
- 2, 0, 8, 0, 1, 3, 2, 1, 2, 0,
- 6, 0, 8, 0, 7, 1, 1, 1, 0, 2,
- 3, 2, 2, 2, 3, 2, 2, 2, 2, 1,
- 2, 1, 1, 1, 0, 3, 5, 1, 3, 1,
- 4, 1, 3, 5, 5, 1, 3, 1, 3, 4,
- 6, 6, 8, 6, 8, 1, 3, 1, 1, 1,
- 1, 1, 1, 3, 4, 6, 4, 6, 6, 8,
- 6, 8, 6, 8, 1, 3, 1, 1, 1, 1,
- 1, 3, 1, 3, 6, 8, 4, 6, 1, 3,
- 1, 4, 6, 1, 3, 3, 3
+ 1, 1, 1, 1, 1, 1, 1, 1, 0, 6,
+ 0, 5, 1, 2, 3, 4, 1, 3, 1, 2,
+ 1, 3, 4, 2, 1, 3, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 2, 2, 0,
+ 0, 5, 1, 1, 0, 2, 0, 2, 2, 3,
+ 1, 2, 1, 2, 1, 2, 5, 3, 1, 1,
+ 4, 1, 2, 0, 8, 0, 1, 3, 2, 1,
+ 2, 0, 6, 0, 8, 0, 7, 1, 1, 1,
+ 0, 2, 3, 2, 2, 2, 3, 2, 2, 2,
+ 2, 1, 2, 1, 1, 1, 0, 3, 5, 1,
+ 3, 1, 4, 1, 3, 5, 5, 1, 3, 1,
+ 3, 4, 6, 6, 8, 6, 8, 1, 3, 1,
+ 1, 1, 1, 1, 1, 3, 4, 6, 4, 6,
+ 6, 8, 6, 8, 6, 8, 1, 3, 1, 1,
+ 1, 1, 1, 3, 1, 3, 6, 8, 4, 6,
+ 1, 3, 1, 4, 6, 1, 3, 3, 3
};
@@ -5191,260 +5203,260 @@ yyreduce:
switch (yyn)
{
case 2: /* variable_identifier: IDENTIFIER */
-#line 392 "MachineIndependent/glslang.y"
+#line 393 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
}
-#line 5199 "MachineIndependent/glslang_tab.cpp"
+#line 5211 "MachineIndependent/glslang_tab.cpp"
break;
case 3: /* primary_expression: variable_identifier */
-#line 398 "MachineIndependent/glslang.y"
+#line 399 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5207 "MachineIndependent/glslang_tab.cpp"
+#line 5219 "MachineIndependent/glslang_tab.cpp"
break;
case 4: /* primary_expression: LEFT_PAREN expression RIGHT_PAREN */
-#line 401 "MachineIndependent/glslang.y"
+#line 402 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
}
-#line 5217 "MachineIndependent/glslang_tab.cpp"
+#line 5229 "MachineIndependent/glslang_tab.cpp"
break;
case 5: /* primary_expression: FLOATCONSTANT */
-#line 406 "MachineIndependent/glslang.y"
+#line 407 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 5225 "MachineIndependent/glslang_tab.cpp"
+#line 5237 "MachineIndependent/glslang_tab.cpp"
break;
case 6: /* primary_expression: INTCONSTANT */
-#line 409 "MachineIndependent/glslang.y"
+#line 410 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 5233 "MachineIndependent/glslang_tab.cpp"
+#line 5245 "MachineIndependent/glslang_tab.cpp"
break;
case 7: /* primary_expression: UINTCONSTANT */
-#line 412 "MachineIndependent/glslang.y"
+#line 413 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 5242 "MachineIndependent/glslang_tab.cpp"
+#line 5254 "MachineIndependent/glslang_tab.cpp"
break;
case 8: /* primary_expression: BOOLCONSTANT */
-#line 416 "MachineIndependent/glslang.y"
+#line 417 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 5250 "MachineIndependent/glslang_tab.cpp"
+#line 5262 "MachineIndependent/glslang_tab.cpp"
break;
case 9: /* primary_expression: STRING_LITERAL */
-#line 420 "MachineIndependent/glslang.y"
+#line 421 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);
}
-#line 5258 "MachineIndependent/glslang_tab.cpp"
+#line 5270 "MachineIndependent/glslang_tab.cpp"
break;
case 10: /* primary_expression: INT32CONSTANT */
-#line 423 "MachineIndependent/glslang.y"
+#line 424 "MachineIndependent/glslang.y"
{
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 5267 "MachineIndependent/glslang_tab.cpp"
+#line 5279 "MachineIndependent/glslang_tab.cpp"
break;
case 11: /* primary_expression: UINT32CONSTANT */
-#line 427 "MachineIndependent/glslang.y"
+#line 428 "MachineIndependent/glslang.y"
{
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 5276 "MachineIndependent/glslang_tab.cpp"
+#line 5288 "MachineIndependent/glslang_tab.cpp"
break;
case 12: /* primary_expression: INT64CONSTANT */
-#line 431 "MachineIndependent/glslang.y"
+#line 432 "MachineIndependent/glslang.y"
{
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 5285 "MachineIndependent/glslang_tab.cpp"
+#line 5297 "MachineIndependent/glslang_tab.cpp"
break;
case 13: /* primary_expression: UINT64CONSTANT */
-#line 435 "MachineIndependent/glslang.y"
+#line 436 "MachineIndependent/glslang.y"
{
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 5294 "MachineIndependent/glslang_tab.cpp"
+#line 5306 "MachineIndependent/glslang_tab.cpp"
break;
case 14: /* primary_expression: INT16CONSTANT */
-#line 439 "MachineIndependent/glslang.y"
+#line 440 "MachineIndependent/glslang.y"
{
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 5303 "MachineIndependent/glslang_tab.cpp"
+#line 5315 "MachineIndependent/glslang_tab.cpp"
break;
case 15: /* primary_expression: UINT16CONSTANT */
-#line 443 "MachineIndependent/glslang.y"
+#line 444 "MachineIndependent/glslang.y"
{
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 5312 "MachineIndependent/glslang_tab.cpp"
+#line 5324 "MachineIndependent/glslang_tab.cpp"
break;
case 16: /* primary_expression: DOUBLECONSTANT */
-#line 447 "MachineIndependent/glslang.y"
+#line 448 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double literal");
if (! parseContext.symbolTable.atBuiltInLevel())
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 5323 "MachineIndependent/glslang_tab.cpp"
+#line 5335 "MachineIndependent/glslang_tab.cpp"
break;
case 17: /* primary_expression: FLOAT16CONSTANT */
-#line 453 "MachineIndependent/glslang.y"
+#line 454 "MachineIndependent/glslang.y"
{
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 5332 "MachineIndependent/glslang_tab.cpp"
+#line 5344 "MachineIndependent/glslang_tab.cpp"
break;
case 18: /* postfix_expression: primary_expression */
-#line 461 "MachineIndependent/glslang.y"
+#line 462 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5340 "MachineIndependent/glslang_tab.cpp"
+#line 5352 "MachineIndependent/glslang_tab.cpp"
break;
case 19: /* postfix_expression: postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET */
-#line 464 "MachineIndependent/glslang.y"
+#line 465 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
}
-#line 5348 "MachineIndependent/glslang_tab.cpp"
+#line 5360 "MachineIndependent/glslang_tab.cpp"
break;
case 20: /* postfix_expression: function_call */
-#line 467 "MachineIndependent/glslang.y"
+#line 468 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5356 "MachineIndependent/glslang_tab.cpp"
+#line 5368 "MachineIndependent/glslang_tab.cpp"
break;
case 21: /* postfix_expression: postfix_expression DOT IDENTIFIER */
-#line 470 "MachineIndependent/glslang.y"
+#line 471 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
}
-#line 5364 "MachineIndependent/glslang_tab.cpp"
+#line 5376 "MachineIndependent/glslang_tab.cpp"
break;
case 22: /* postfix_expression: postfix_expression INC_OP */
-#line 473 "MachineIndependent/glslang.y"
+#line 474 "MachineIndependent/glslang.y"
{
parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
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 5374 "MachineIndependent/glslang_tab.cpp"
+#line 5386 "MachineIndependent/glslang_tab.cpp"
break;
case 23: /* postfix_expression: postfix_expression DEC_OP */
-#line 478 "MachineIndependent/glslang.y"
+#line 479 "MachineIndependent/glslang.y"
{
parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
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 5384 "MachineIndependent/glslang_tab.cpp"
+#line 5396 "MachineIndependent/glslang_tab.cpp"
break;
case 24: /* integer_expression: expression */
-#line 486 "MachineIndependent/glslang.y"
+#line 487 "MachineIndependent/glslang.y"
{
parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 5393 "MachineIndependent/glslang_tab.cpp"
+#line 5405 "MachineIndependent/glslang_tab.cpp"
break;
case 25: /* function_call: function_call_or_method */
-#line 493 "MachineIndependent/glslang.y"
+#line 494 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
delete (yyvsp[0].interm).function;
}
-#line 5402 "MachineIndependent/glslang_tab.cpp"
+#line 5414 "MachineIndependent/glslang_tab.cpp"
break;
case 26: /* function_call_or_method: function_call_generic */
-#line 500 "MachineIndependent/glslang.y"
+#line 501 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 5410 "MachineIndependent/glslang_tab.cpp"
+#line 5422 "MachineIndependent/glslang_tab.cpp"
break;
case 27: /* function_call_generic: function_call_header_with_parameters RIGHT_PAREN */
-#line 506 "MachineIndependent/glslang.y"
+#line 507 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 5419 "MachineIndependent/glslang_tab.cpp"
+#line 5431 "MachineIndependent/glslang_tab.cpp"
break;
case 28: /* function_call_generic: function_call_header_no_parameters RIGHT_PAREN */
-#line 510 "MachineIndependent/glslang.y"
+#line 511 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 5428 "MachineIndependent/glslang_tab.cpp"
+#line 5440 "MachineIndependent/glslang_tab.cpp"
break;
case 29: /* function_call_header_no_parameters: function_call_header VOID */
-#line 517 "MachineIndependent/glslang.y"
+#line 518 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
}
-#line 5436 "MachineIndependent/glslang_tab.cpp"
+#line 5448 "MachineIndependent/glslang_tab.cpp"
break;
case 30: /* function_call_header_no_parameters: function_call_header */
-#line 520 "MachineIndependent/glslang.y"
+#line 521 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 5444 "MachineIndependent/glslang_tab.cpp"
+#line 5456 "MachineIndependent/glslang_tab.cpp"
break;
case 31: /* function_call_header_with_parameters: function_call_header assignment_expression */
-#line 526 "MachineIndependent/glslang.y"
+#line 527 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType };
param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -5452,11 +5464,11 @@ yyreduce:
(yyval.interm).function = (yyvsp[-1].interm).function;
(yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
}
-#line 5456 "MachineIndependent/glslang_tab.cpp"
+#line 5468 "MachineIndependent/glslang_tab.cpp"
break;
case 32: /* function_call_header_with_parameters: function_call_header_with_parameters COMMA assignment_expression */
-#line 533 "MachineIndependent/glslang.y"
+#line 534 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType };
param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -5464,29 +5476,29 @@ 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 5468 "MachineIndependent/glslang_tab.cpp"
+#line 5480 "MachineIndependent/glslang_tab.cpp"
break;
case 33: /* function_call_header: function_identifier LEFT_PAREN */
-#line 543 "MachineIndependent/glslang.y"
+#line 544 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-1].interm);
}
-#line 5476 "MachineIndependent/glslang_tab.cpp"
+#line 5488 "MachineIndependent/glslang_tab.cpp"
break;
case 34: /* function_identifier: type_specifier */
-#line 551 "MachineIndependent/glslang.y"
+#line 552 "MachineIndependent/glslang.y"
{
// Constructor
(yyval.interm).intermNode = 0;
(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
}
-#line 5486 "MachineIndependent/glslang_tab.cpp"
+#line 5498 "MachineIndependent/glslang_tab.cpp"
break;
case 35: /* function_identifier: postfix_expression */
-#line 556 "MachineIndependent/glslang.y"
+#line 557 "MachineIndependent/glslang.y"
{
//
// Should be a method or subroutine call, but we haven't recognized the arguments yet.
@@ -5514,50 +5526,50 @@ yyreduce:
(yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull);
}
}
-#line 5518 "MachineIndependent/glslang_tab.cpp"
+#line 5530 "MachineIndependent/glslang_tab.cpp"
break;
case 36: /* function_identifier: non_uniform_qualifier */
-#line 584 "MachineIndependent/glslang.y"
+#line 585 "MachineIndependent/glslang.y"
{
// Constructor
(yyval.interm).intermNode = 0;
(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
}
-#line 5528 "MachineIndependent/glslang_tab.cpp"
+#line 5540 "MachineIndependent/glslang_tab.cpp"
break;
case 37: /* unary_expression: postfix_expression */
-#line 593 "MachineIndependent/glslang.y"
+#line 594 "MachineIndependent/glslang.y"
{
parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
}
-#line 5539 "MachineIndependent/glslang_tab.cpp"
+#line 5551 "MachineIndependent/glslang_tab.cpp"
break;
case 38: /* unary_expression: INC_OP unary_expression */
-#line 599 "MachineIndependent/glslang.y"
+#line 600 "MachineIndependent/glslang.y"
{
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 5548 "MachineIndependent/glslang_tab.cpp"
+#line 5560 "MachineIndependent/glslang_tab.cpp"
break;
case 39: /* unary_expression: DEC_OP unary_expression */
-#line 603 "MachineIndependent/glslang.y"
+#line 604 "MachineIndependent/glslang.y"
{
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 5557 "MachineIndependent/glslang_tab.cpp"
+#line 5569 "MachineIndependent/glslang_tab.cpp"
break;
case 40: /* unary_expression: unary_operator unary_expression */
-#line 607 "MachineIndependent/glslang.y"
+#line 608 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm).op != EOpNull) {
char errorOp[2] = {0, 0};
@@ -5574,179 +5586,179 @@ yyreduce:
(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
}
}
-#line 5578 "MachineIndependent/glslang_tab.cpp"
+#line 5590 "MachineIndependent/glslang_tab.cpp"
break;
case 41: /* unary_operator: PLUS */
-#line 627 "MachineIndependent/glslang.y"
+#line 628 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
-#line 5584 "MachineIndependent/glslang_tab.cpp"
+#line 5596 "MachineIndependent/glslang_tab.cpp"
break;
case 42: /* unary_operator: DASH */
-#line 628 "MachineIndependent/glslang.y"
+#line 629 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
-#line 5590 "MachineIndependent/glslang_tab.cpp"
+#line 5602 "MachineIndependent/glslang_tab.cpp"
break;
case 43: /* unary_operator: BANG */
-#line 629 "MachineIndependent/glslang.y"
+#line 630 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
-#line 5596 "MachineIndependent/glslang_tab.cpp"
+#line 5608 "MachineIndependent/glslang_tab.cpp"
break;
case 44: /* unary_operator: TILDE */
-#line 630 "MachineIndependent/glslang.y"
+#line 631 "MachineIndependent/glslang.y"
{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
-#line 5603 "MachineIndependent/glslang_tab.cpp"
+#line 5615 "MachineIndependent/glslang_tab.cpp"
break;
case 45: /* multiplicative_expression: unary_expression */
-#line 636 "MachineIndependent/glslang.y"
+#line 637 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5609 "MachineIndependent/glslang_tab.cpp"
+#line 5621 "MachineIndependent/glslang_tab.cpp"
break;
case 46: /* multiplicative_expression: multiplicative_expression STAR unary_expression */
-#line 637 "MachineIndependent/glslang.y"
+#line 638 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5619 "MachineIndependent/glslang_tab.cpp"
+#line 5631 "MachineIndependent/glslang_tab.cpp"
break;
case 47: /* multiplicative_expression: multiplicative_expression SLASH unary_expression */
-#line 642 "MachineIndependent/glslang.y"
+#line 643 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5629 "MachineIndependent/glslang_tab.cpp"
+#line 5641 "MachineIndependent/glslang_tab.cpp"
break;
case 48: /* multiplicative_expression: multiplicative_expression PERCENT unary_expression */
-#line 647 "MachineIndependent/glslang.y"
+#line 648 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5640 "MachineIndependent/glslang_tab.cpp"
+#line 5652 "MachineIndependent/glslang_tab.cpp"
break;
case 49: /* additive_expression: multiplicative_expression */
-#line 656 "MachineIndependent/glslang.y"
+#line 657 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5646 "MachineIndependent/glslang_tab.cpp"
+#line 5658 "MachineIndependent/glslang_tab.cpp"
break;
case 50: /* additive_expression: additive_expression PLUS multiplicative_expression */
-#line 657 "MachineIndependent/glslang.y"
+#line 658 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5656 "MachineIndependent/glslang_tab.cpp"
+#line 5668 "MachineIndependent/glslang_tab.cpp"
break;
case 51: /* additive_expression: additive_expression DASH multiplicative_expression */
-#line 662 "MachineIndependent/glslang.y"
+#line 663 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5666 "MachineIndependent/glslang_tab.cpp"
+#line 5678 "MachineIndependent/glslang_tab.cpp"
break;
case 52: /* shift_expression: additive_expression */
-#line 670 "MachineIndependent/glslang.y"
+#line 671 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5672 "MachineIndependent/glslang_tab.cpp"
+#line 5684 "MachineIndependent/glslang_tab.cpp"
break;
case 53: /* shift_expression: shift_expression LEFT_OP additive_expression */
-#line 671 "MachineIndependent/glslang.y"
+#line 672 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5683 "MachineIndependent/glslang_tab.cpp"
+#line 5695 "MachineIndependent/glslang_tab.cpp"
break;
case 54: /* shift_expression: shift_expression RIGHT_OP additive_expression */
-#line 677 "MachineIndependent/glslang.y"
+#line 678 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5694 "MachineIndependent/glslang_tab.cpp"
+#line 5706 "MachineIndependent/glslang_tab.cpp"
break;
case 55: /* relational_expression: shift_expression */
-#line 686 "MachineIndependent/glslang.y"
+#line 687 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5700 "MachineIndependent/glslang_tab.cpp"
+#line 5712 "MachineIndependent/glslang_tab.cpp"
break;
case 56: /* relational_expression: relational_expression LEFT_ANGLE shift_expression */
-#line 687 "MachineIndependent/glslang.y"
+#line 688 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5710 "MachineIndependent/glslang_tab.cpp"
+#line 5722 "MachineIndependent/glslang_tab.cpp"
break;
case 57: /* relational_expression: relational_expression RIGHT_ANGLE shift_expression */
-#line 692 "MachineIndependent/glslang.y"
+#line 693 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5720 "MachineIndependent/glslang_tab.cpp"
+#line 5732 "MachineIndependent/glslang_tab.cpp"
break;
case 58: /* relational_expression: relational_expression LE_OP shift_expression */
-#line 697 "MachineIndependent/glslang.y"
+#line 698 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5730 "MachineIndependent/glslang_tab.cpp"
+#line 5742 "MachineIndependent/glslang_tab.cpp"
break;
case 59: /* relational_expression: relational_expression GE_OP shift_expression */
-#line 702 "MachineIndependent/glslang.y"
+#line 703 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5740 "MachineIndependent/glslang_tab.cpp"
+#line 5752 "MachineIndependent/glslang_tab.cpp"
break;
case 60: /* equality_expression: relational_expression */
-#line 710 "MachineIndependent/glslang.y"
+#line 711 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5746 "MachineIndependent/glslang_tab.cpp"
+#line 5758 "MachineIndependent/glslang_tab.cpp"
break;
case 61: /* equality_expression: equality_expression EQ_OP relational_expression */
-#line 711 "MachineIndependent/glslang.y"
+#line 712 "MachineIndependent/glslang.y"
{
parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
@@ -5756,11 +5768,11 @@ yyreduce:
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5760 "MachineIndependent/glslang_tab.cpp"
+#line 5772 "MachineIndependent/glslang_tab.cpp"
break;
case 62: /* equality_expression: equality_expression NE_OP relational_expression */
-#line 720 "MachineIndependent/glslang.y"
+#line 721 "MachineIndependent/glslang.y"
{
parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
@@ -5770,124 +5782,124 @@ yyreduce:
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5774 "MachineIndependent/glslang_tab.cpp"
+#line 5786 "MachineIndependent/glslang_tab.cpp"
break;
case 63: /* and_expression: equality_expression */
-#line 732 "MachineIndependent/glslang.y"
+#line 733 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5780 "MachineIndependent/glslang_tab.cpp"
+#line 5792 "MachineIndependent/glslang_tab.cpp"
break;
case 64: /* and_expression: and_expression AMPERSAND equality_expression */
-#line 733 "MachineIndependent/glslang.y"
+#line 734 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5791 "MachineIndependent/glslang_tab.cpp"
+#line 5803 "MachineIndependent/glslang_tab.cpp"
break;
case 65: /* exclusive_or_expression: and_expression */
-#line 742 "MachineIndependent/glslang.y"
+#line 743 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5797 "MachineIndependent/glslang_tab.cpp"
+#line 5809 "MachineIndependent/glslang_tab.cpp"
break;
case 66: /* exclusive_or_expression: exclusive_or_expression CARET and_expression */
-#line 743 "MachineIndependent/glslang.y"
+#line 744 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5808 "MachineIndependent/glslang_tab.cpp"
+#line 5820 "MachineIndependent/glslang_tab.cpp"
break;
case 67: /* inclusive_or_expression: exclusive_or_expression */
-#line 752 "MachineIndependent/glslang.y"
+#line 753 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5814 "MachineIndependent/glslang_tab.cpp"
+#line 5826 "MachineIndependent/glslang_tab.cpp"
break;
case 68: /* inclusive_or_expression: inclusive_or_expression VERTICAL_BAR exclusive_or_expression */
-#line 753 "MachineIndependent/glslang.y"
+#line 754 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 5825 "MachineIndependent/glslang_tab.cpp"
+#line 5837 "MachineIndependent/glslang_tab.cpp"
break;
case 69: /* logical_and_expression: inclusive_or_expression */
-#line 762 "MachineIndependent/glslang.y"
+#line 763 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5831 "MachineIndependent/glslang_tab.cpp"
+#line 5843 "MachineIndependent/glslang_tab.cpp"
break;
case 70: /* logical_and_expression: logical_and_expression AND_OP inclusive_or_expression */
-#line 763 "MachineIndependent/glslang.y"
+#line 764 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5841 "MachineIndependent/glslang_tab.cpp"
+#line 5853 "MachineIndependent/glslang_tab.cpp"
break;
case 71: /* logical_xor_expression: logical_and_expression */
-#line 771 "MachineIndependent/glslang.y"
+#line 772 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5847 "MachineIndependent/glslang_tab.cpp"
+#line 5859 "MachineIndependent/glslang_tab.cpp"
break;
case 72: /* logical_xor_expression: logical_xor_expression XOR_OP logical_and_expression */
-#line 772 "MachineIndependent/glslang.y"
+#line 773 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5857 "MachineIndependent/glslang_tab.cpp"
+#line 5869 "MachineIndependent/glslang_tab.cpp"
break;
case 73: /* logical_or_expression: logical_xor_expression */
-#line 780 "MachineIndependent/glslang.y"
+#line 781 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5863 "MachineIndependent/glslang_tab.cpp"
+#line 5875 "MachineIndependent/glslang_tab.cpp"
break;
case 74: /* logical_or_expression: logical_or_expression OR_OP logical_xor_expression */
-#line 781 "MachineIndependent/glslang.y"
+#line 782 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
if ((yyval.interm.intermTypedNode) == 0)
(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
}
-#line 5873 "MachineIndependent/glslang_tab.cpp"
+#line 5885 "MachineIndependent/glslang_tab.cpp"
break;
case 75: /* conditional_expression: logical_or_expression */
-#line 789 "MachineIndependent/glslang.y"
+#line 790 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5879 "MachineIndependent/glslang_tab.cpp"
+#line 5891 "MachineIndependent/glslang_tab.cpp"
break;
case 76: /* $@1: %empty */
-#line 790 "MachineIndependent/glslang.y"
+#line 791 "MachineIndependent/glslang.y"
{
++parseContext.controlFlowNestingLevel;
}
-#line 5887 "MachineIndependent/glslang_tab.cpp"
+#line 5899 "MachineIndependent/glslang_tab.cpp"
break;
case 77: /* conditional_expression: logical_or_expression QUESTION $@1 expression COLON assignment_expression */
-#line 793 "MachineIndependent/glslang.y"
+#line 794 "MachineIndependent/glslang.y"
{
--parseContext.controlFlowNestingLevel;
parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
@@ -5900,17 +5912,17 @@ yyreduce:
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
}
-#line 5904 "MachineIndependent/glslang_tab.cpp"
+#line 5916 "MachineIndependent/glslang_tab.cpp"
break;
case 78: /* assignment_expression: conditional_expression */
-#line 808 "MachineIndependent/glslang.y"
+#line 809 "MachineIndependent/glslang.y"
{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 5910 "MachineIndependent/glslang_tab.cpp"
+#line 5922 "MachineIndependent/glslang_tab.cpp"
break;
case 79: /* assignment_expression: unary_expression assignment_operator assignment_expression */
-#line 809 "MachineIndependent/glslang.y"
+#line 810 "MachineIndependent/glslang.y"
{
parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
@@ -5924,119 +5936,119 @@ yyreduce:
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
}
-#line 5928 "MachineIndependent/glslang_tab.cpp"
+#line 5940 "MachineIndependent/glslang_tab.cpp"
break;
case 80: /* assignment_operator: EQUAL */
-#line 825 "MachineIndependent/glslang.y"
+#line 826 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAssign;
}
-#line 5937 "MachineIndependent/glslang_tab.cpp"
+#line 5949 "MachineIndependent/glslang_tab.cpp"
break;
case 81: /* assignment_operator: MUL_ASSIGN */
-#line 829 "MachineIndependent/glslang.y"
+#line 830 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpMulAssign;
}
-#line 5946 "MachineIndependent/glslang_tab.cpp"
+#line 5958 "MachineIndependent/glslang_tab.cpp"
break;
case 82: /* assignment_operator: DIV_ASSIGN */
-#line 833 "MachineIndependent/glslang.y"
+#line 834 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpDivAssign;
}
-#line 5955 "MachineIndependent/glslang_tab.cpp"
+#line 5967 "MachineIndependent/glslang_tab.cpp"
break;
case 83: /* assignment_operator: MOD_ASSIGN */
-#line 837 "MachineIndependent/glslang.y"
+#line 838 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpModAssign;
}
-#line 5965 "MachineIndependent/glslang_tab.cpp"
+#line 5977 "MachineIndependent/glslang_tab.cpp"
break;
case 84: /* assignment_operator: ADD_ASSIGN */
-#line 842 "MachineIndependent/glslang.y"
+#line 843 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAddAssign;
}
-#line 5974 "MachineIndependent/glslang_tab.cpp"
+#line 5986 "MachineIndependent/glslang_tab.cpp"
break;
case 85: /* assignment_operator: SUB_ASSIGN */
-#line 846 "MachineIndependent/glslang.y"
+#line 847 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpSubAssign;
}
-#line 5983 "MachineIndependent/glslang_tab.cpp"
+#line 5995 "MachineIndependent/glslang_tab.cpp"
break;
case 86: /* assignment_operator: LEFT_ASSIGN */
-#line 850 "MachineIndependent/glslang.y"
+#line 851 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
}
-#line 5992 "MachineIndependent/glslang_tab.cpp"
+#line 6004 "MachineIndependent/glslang_tab.cpp"
break;
case 87: /* assignment_operator: RIGHT_ASSIGN */
-#line 854 "MachineIndependent/glslang.y"
+#line 855 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
}
-#line 6001 "MachineIndependent/glslang_tab.cpp"
+#line 6013 "MachineIndependent/glslang_tab.cpp"
break;
case 88: /* assignment_operator: AND_ASSIGN */
-#line 858 "MachineIndependent/glslang.y"
+#line 859 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
}
-#line 6010 "MachineIndependent/glslang_tab.cpp"
+#line 6022 "MachineIndependent/glslang_tab.cpp"
break;
case 89: /* assignment_operator: XOR_ASSIGN */
-#line 862 "MachineIndependent/glslang.y"
+#line 863 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
}
-#line 6019 "MachineIndependent/glslang_tab.cpp"
+#line 6031 "MachineIndependent/glslang_tab.cpp"
break;
case 90: /* assignment_operator: OR_ASSIGN */
-#line 866 "MachineIndependent/glslang.y"
+#line 867 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
}
-#line 6028 "MachineIndependent/glslang_tab.cpp"
+#line 6040 "MachineIndependent/glslang_tab.cpp"
break;
case 91: /* expression: assignment_expression */
-#line 873 "MachineIndependent/glslang.y"
+#line 874 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 6036 "MachineIndependent/glslang_tab.cpp"
+#line 6048 "MachineIndependent/glslang_tab.cpp"
break;
case 92: /* expression: expression COMMA assignment_expression */
-#line 876 "MachineIndependent/glslang.y"
+#line 877 "MachineIndependent/glslang.y"
{
parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
@@ -6045,30 +6057,30 @@ yyreduce:
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
}
-#line 6049 "MachineIndependent/glslang_tab.cpp"
+#line 6061 "MachineIndependent/glslang_tab.cpp"
break;
case 93: /* constant_expression: conditional_expression */
-#line 887 "MachineIndependent/glslang.y"
+#line 888 "MachineIndependent/glslang.y"
{
parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 6058 "MachineIndependent/glslang_tab.cpp"
+#line 6070 "MachineIndependent/glslang_tab.cpp"
break;
case 94: /* declaration: function_prototype SEMICOLON */
-#line 894 "MachineIndependent/glslang.y"
+#line 895 "MachineIndependent/glslang.y"
{
parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
(yyval.interm.intermNode) = 0;
// TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
}
-#line 6068 "MachineIndependent/glslang_tab.cpp"
+#line 6080 "MachineIndependent/glslang_tab.cpp"
break;
case 95: /* declaration: spirv_instruction_qualifier function_prototype SEMICOLON */
-#line 900 "MachineIndependent/glslang.y"
+#line 901 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[-1].interm).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V instruction qualifier");
(yyvsp[-1].interm).function->setSpirvInstruction(*(yyvsp[-2].interm.spirvInst)); // Attach SPIR-V intruction qualifier
@@ -6076,31 +6088,31 @@ yyreduce:
(yyval.interm.intermNode) = 0;
// TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
}
-#line 6080 "MachineIndependent/glslang_tab.cpp"
+#line 6092 "MachineIndependent/glslang_tab.cpp"
break;
case 96: /* declaration: spirv_execution_mode_qualifier SEMICOLON */
-#line 907 "MachineIndependent/glslang.y"
+#line 908 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "SPIR-V execution mode qualifier");
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V execution mode qualifier");
(yyval.interm.intermNode) = 0;
}
-#line 6090 "MachineIndependent/glslang_tab.cpp"
+#line 6102 "MachineIndependent/glslang_tab.cpp"
break;
case 97: /* declaration: init_declarator_list SEMICOLON */
-#line 913 "MachineIndependent/glslang.y"
+#line 914 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
(yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
}
-#line 6100 "MachineIndependent/glslang_tab.cpp"
+#line 6112 "MachineIndependent/glslang_tab.cpp"
break;
case 98: /* declaration: PRECISION precision_qualifier type_specifier SEMICOLON */
-#line 918 "MachineIndependent/glslang.y"
+#line 919 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
// lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope
@@ -6108,75 +6120,75 @@ yyreduce:
parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
(yyval.interm.intermNode) = 0;
}
-#line 6112 "MachineIndependent/glslang_tab.cpp"
+#line 6124 "MachineIndependent/glslang_tab.cpp"
break;
case 99: /* declaration: block_structure SEMICOLON */
-#line 925 "MachineIndependent/glslang.y"
+#line 926 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
(yyval.interm.intermNode) = 0;
}
-#line 6121 "MachineIndependent/glslang_tab.cpp"
+#line 6133 "MachineIndependent/glslang_tab.cpp"
break;
case 100: /* declaration: block_structure IDENTIFIER SEMICOLON */
-#line 929 "MachineIndependent/glslang.y"
+#line 930 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
(yyval.interm.intermNode) = 0;
}
-#line 6130 "MachineIndependent/glslang_tab.cpp"
+#line 6142 "MachineIndependent/glslang_tab.cpp"
break;
case 101: /* declaration: block_structure IDENTIFIER array_specifier SEMICOLON */
-#line 933 "MachineIndependent/glslang.y"
+#line 934 "MachineIndependent/glslang.y"
{
parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
(yyval.interm.intermNode) = 0;
}
-#line 6139 "MachineIndependent/glslang_tab.cpp"
+#line 6151 "MachineIndependent/glslang_tab.cpp"
break;
case 102: /* declaration: type_qualifier SEMICOLON */
-#line 937 "MachineIndependent/glslang.y"
+#line 938 "MachineIndependent/glslang.y"
{
parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
(yyval.interm.intermNode) = 0;
}
-#line 6149 "MachineIndependent/glslang_tab.cpp"
+#line 6161 "MachineIndependent/glslang_tab.cpp"
break;
case 103: /* declaration: type_qualifier IDENTIFIER SEMICOLON */
-#line 942 "MachineIndependent/glslang.y"
+#line 943 "MachineIndependent/glslang.y"
{
parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
(yyval.interm.intermNode) = 0;
}
-#line 6159 "MachineIndependent/glslang_tab.cpp"
+#line 6171 "MachineIndependent/glslang_tab.cpp"
break;
case 104: /* declaration: type_qualifier IDENTIFIER identifier_list SEMICOLON */
-#line 947 "MachineIndependent/glslang.y"
+#line 948 "MachineIndependent/glslang.y"
{
parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
(yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
(yyval.interm.intermNode) = 0;
}
-#line 6170 "MachineIndependent/glslang_tab.cpp"
+#line 6182 "MachineIndependent/glslang_tab.cpp"
break;
case 105: /* $@2: %empty */
-#line 956 "MachineIndependent/glslang.y"
+#line 957 "MachineIndependent/glslang.y"
{ parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 6176 "MachineIndependent/glslang_tab.cpp"
+#line 6188 "MachineIndependent/glslang_tab.cpp"
break;
case 106: /* block_structure: type_qualifier IDENTIFIER LEFT_BRACE $@2 struct_declaration_list RIGHT_BRACE */
-#line 956 "MachineIndependent/glslang.y"
+#line 957 "MachineIndependent/glslang.y"
{
--parseContext.blockNestingLevel;
parseContext.blockName = (yyvsp[-4].lex).string;
@@ -6186,60 +6198,60 @@ yyreduce:
(yyval.interm).loc = (yyvsp[-5].interm.type).loc;
(yyval.interm).typeList = (yyvsp[-1].interm.typeList);
}
-#line 6190 "MachineIndependent/glslang_tab.cpp"
+#line 6202 "MachineIndependent/glslang_tab.cpp"
break;
case 107: /* identifier_list: COMMA IDENTIFIER */
-#line 967 "MachineIndependent/glslang.y"
+#line 968 "MachineIndependent/glslang.y"
{
(yyval.interm.identifierList) = new TIdentifierList;
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 6199 "MachineIndependent/glslang_tab.cpp"
+#line 6211 "MachineIndependent/glslang_tab.cpp"
break;
case 108: /* identifier_list: identifier_list COMMA IDENTIFIER */
-#line 971 "MachineIndependent/glslang.y"
+#line 972 "MachineIndependent/glslang.y"
{
(yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 6208 "MachineIndependent/glslang_tab.cpp"
+#line 6220 "MachineIndependent/glslang_tab.cpp"
break;
case 109: /* function_prototype: function_declarator RIGHT_PAREN */
-#line 978 "MachineIndependent/glslang.y"
+#line 979 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-1].interm.function);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 6217 "MachineIndependent/glslang_tab.cpp"
+#line 6229 "MachineIndependent/glslang_tab.cpp"
break;
case 110: /* function_prototype: function_declarator RIGHT_PAREN attribute */
-#line 982 "MachineIndependent/glslang.y"
+#line 983 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-2].interm.function);
(yyval.interm).loc = (yyvsp[-1].lex).loc;
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 6228 "MachineIndependent/glslang_tab.cpp"
+#line 6240 "MachineIndependent/glslang_tab.cpp"
break;
case 111: /* function_prototype: attribute function_declarator RIGHT_PAREN */
-#line 988 "MachineIndependent/glslang.y"
+#line 989 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-1].interm.function);
(yyval.interm).loc = (yyvsp[0].lex).loc;
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 6239 "MachineIndependent/glslang_tab.cpp"
+#line 6251 "MachineIndependent/glslang_tab.cpp"
break;
case 112: /* function_prototype: attribute function_declarator RIGHT_PAREN attribute */
-#line 994 "MachineIndependent/glslang.y"
+#line 995 "MachineIndependent/glslang.y"
{
(yyval.interm).function = (yyvsp[-2].interm.function);
(yyval.interm).loc = (yyvsp[-1].lex).loc;
@@ -6247,27 +6259,27 @@ yyreduce:
parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[-3].interm.attributes));
parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes));
}
-#line 6251 "MachineIndependent/glslang_tab.cpp"
+#line 6263 "MachineIndependent/glslang_tab.cpp"
break;
case 113: /* function_declarator: function_header */
-#line 1004 "MachineIndependent/glslang.y"
+#line 1005 "MachineIndependent/glslang.y"
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 6259 "MachineIndependent/glslang_tab.cpp"
+#line 6271 "MachineIndependent/glslang_tab.cpp"
break;
case 114: /* function_declarator: function_header_with_parameters */
-#line 1007 "MachineIndependent/glslang.y"
+#line 1008 "MachineIndependent/glslang.y"
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 6267 "MachineIndependent/glslang_tab.cpp"
+#line 6279 "MachineIndependent/glslang_tab.cpp"
break;
case 115: /* function_header_with_parameters: function_header parameter_declaration */
-#line 1014 "MachineIndependent/glslang.y"
+#line 1015 "MachineIndependent/glslang.y"
{
// Add the parameter
(yyval.interm.function) = (yyvsp[-1].interm.function);
@@ -6276,11 +6288,11 @@ yyreduce:
else
delete (yyvsp[0].interm).param.type;
}
-#line 6280 "MachineIndependent/glslang_tab.cpp"
+#line 6292 "MachineIndependent/glslang_tab.cpp"
break;
case 116: /* function_header_with_parameters: function_header_with_parameters COMMA parameter_declaration */
-#line 1022 "MachineIndependent/glslang.y"
+#line 1023 "MachineIndependent/glslang.y"
{
//
// Only first parameter of one-parameter functions can be void
@@ -6298,11 +6310,11 @@ yyreduce:
(yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
}
}
-#line 6302 "MachineIndependent/glslang_tab.cpp"
+#line 6314 "MachineIndependent/glslang_tab.cpp"
break;
case 117: /* function_header: fully_specified_type IDENTIFIER LEFT_PAREN */
-#line 1042 "MachineIndependent/glslang.y"
+#line 1043 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
@@ -6322,11 +6334,11 @@ yyreduce:
function = new TFunction((yyvsp[-1].lex).string, type);
(yyval.interm.function) = function;
}
-#line 6326 "MachineIndependent/glslang_tab.cpp"
+#line 6338 "MachineIndependent/glslang_tab.cpp"
break;
case 118: /* parameter_declarator: type_specifier IDENTIFIER */
-#line 1065 "MachineIndependent/glslang.y"
+#line 1066 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -6342,11 +6354,11 @@ yyreduce:
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).param = param;
}
-#line 6346 "MachineIndependent/glslang_tab.cpp"
+#line 6358 "MachineIndependent/glslang_tab.cpp"
break;
case 119: /* parameter_declarator: type_specifier IDENTIFIER array_specifier */
-#line 1080 "MachineIndependent/glslang.y"
+#line 1081 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -6366,11 +6378,11 @@ yyreduce:
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).param = param;
}
-#line 6370 "MachineIndependent/glslang_tab.cpp"
+#line 6382 "MachineIndependent/glslang_tab.cpp"
break;
case 120: /* parameter_declaration: type_qualifier parameter_declarator */
-#line 1105 "MachineIndependent/glslang.y"
+#line 1106 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -6382,11 +6394,11 @@ yyreduce:
parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
}
-#line 6386 "MachineIndependent/glslang_tab.cpp"
+#line 6398 "MachineIndependent/glslang_tab.cpp"
break;
case 121: /* parameter_declaration: parameter_declarator */
-#line 1116 "MachineIndependent/glslang.y"
+#line 1117 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
@@ -6394,11 +6406,11 @@ 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 6398 "MachineIndependent/glslang_tab.cpp"
+#line 6410 "MachineIndependent/glslang_tab.cpp"
break;
case 122: /* parameter_declaration: type_qualifier parameter_type_specifier */
-#line 1126 "MachineIndependent/glslang.y"
+#line 1127 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -6409,11 +6421,11 @@ 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 6413 "MachineIndependent/glslang_tab.cpp"
+#line 6425 "MachineIndependent/glslang_tab.cpp"
break;
case 123: /* parameter_declaration: parameter_type_specifier */
-#line 1136 "MachineIndependent/glslang.y"
+#line 1137 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
@@ -6421,68 +6433,68 @@ 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 6425 "MachineIndependent/glslang_tab.cpp"
+#line 6437 "MachineIndependent/glslang_tab.cpp"
break;
case 124: /* parameter_type_specifier: type_specifier */
-#line 1146 "MachineIndependent/glslang.y"
+#line 1147 "MachineIndependent/glslang.y"
{
TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
(yyval.interm).param = param;
if ((yyvsp[0].interm.type).arraySizes)
parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
}
-#line 6436 "MachineIndependent/glslang_tab.cpp"
+#line 6448 "MachineIndependent/glslang_tab.cpp"
break;
case 125: /* init_declarator_list: single_declaration */
-#line 1155 "MachineIndependent/glslang.y"
+#line 1156 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 6444 "MachineIndependent/glslang_tab.cpp"
+#line 6456 "MachineIndependent/glslang_tab.cpp"
break;
case 126: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER */
-#line 1158 "MachineIndependent/glslang.y"
+#line 1159 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-2].interm);
parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
}
-#line 6453 "MachineIndependent/glslang_tab.cpp"
+#line 6465 "MachineIndependent/glslang_tab.cpp"
break;
case 127: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier */
-#line 1162 "MachineIndependent/glslang.y"
+#line 1163 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-3].interm);
parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
}
-#line 6462 "MachineIndependent/glslang_tab.cpp"
+#line 6474 "MachineIndependent/glslang_tab.cpp"
break;
case 128: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer */
-#line 1166 "MachineIndependent/glslang.y"
+#line 1167 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-5].interm).type;
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 6472 "MachineIndependent/glslang_tab.cpp"
+#line 6484 "MachineIndependent/glslang_tab.cpp"
break;
case 129: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER EQUAL initializer */
-#line 1171 "MachineIndependent/glslang.y"
+#line 1172 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-4].interm).type;
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 6482 "MachineIndependent/glslang_tab.cpp"
+#line 6494 "MachineIndependent/glslang_tab.cpp"
break;
case 130: /* single_declaration: fully_specified_type */
-#line 1179 "MachineIndependent/glslang.y"
+#line 1180 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[0].interm.type);
(yyval.interm).intermNode = 0;
@@ -6490,51 +6502,51 @@ yyreduce:
parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
}
-#line 6494 "MachineIndependent/glslang_tab.cpp"
+#line 6506 "MachineIndependent/glslang_tab.cpp"
break;
case 131: /* single_declaration: fully_specified_type IDENTIFIER */
-#line 1186 "MachineIndependent/glslang.y"
+#line 1187 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-1].interm.type);
(yyval.interm).intermNode = 0;
parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
}
-#line 6504 "MachineIndependent/glslang_tab.cpp"
+#line 6516 "MachineIndependent/glslang_tab.cpp"
break;
case 132: /* single_declaration: fully_specified_type IDENTIFIER array_specifier */
-#line 1191 "MachineIndependent/glslang.y"
+#line 1192 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-2].interm.type);
(yyval.interm).intermNode = 0;
parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
}
-#line 6514 "MachineIndependent/glslang_tab.cpp"
+#line 6526 "MachineIndependent/glslang_tab.cpp"
break;
case 133: /* single_declaration: fully_specified_type IDENTIFIER array_specifier EQUAL initializer */
-#line 1196 "MachineIndependent/glslang.y"
+#line 1197 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-4].interm.type);
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 6524 "MachineIndependent/glslang_tab.cpp"
+#line 6536 "MachineIndependent/glslang_tab.cpp"
break;
case 134: /* single_declaration: fully_specified_type IDENTIFIER EQUAL initializer */
-#line 1201 "MachineIndependent/glslang.y"
+#line 1202 "MachineIndependent/glslang.y"
{
(yyval.interm).type = (yyvsp[-3].interm.type);
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 6534 "MachineIndependent/glslang_tab.cpp"
+#line 6546 "MachineIndependent/glslang_tab.cpp"
break;
case 135: /* fully_specified_type: type_specifier */
-#line 1210 "MachineIndependent/glslang.y"
+#line 1211 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
@@ -6545,13 +6557,13 @@ yyreduce:
}
parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
}
-#line 6549 "MachineIndependent/glslang_tab.cpp"
+#line 6561 "MachineIndependent/glslang_tab.cpp"
break;
case 136: /* fully_specified_type: type_qualifier type_specifier */
-#line 1220 "MachineIndependent/glslang.y"
+#line 1221 "MachineIndependent/glslang.y"
{
- parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
+ parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, false, &(yyvsp[0].interm.type));
parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
if ((yyvsp[0].interm.type).arraySizes) {
@@ -6574,22 +6586,22 @@ yyreduce:
(parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
(yyval.interm.type).qualifier.smooth = true;
}
-#line 6578 "MachineIndependent/glslang_tab.cpp"
+#line 6590 "MachineIndependent/glslang_tab.cpp"
break;
case 137: /* invariant_qualifier: INVARIANT */
-#line 1247 "MachineIndependent/glslang.y"
+#line 1248 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.invariant = true;
}
-#line 6589 "MachineIndependent/glslang_tab.cpp"
+#line 6601 "MachineIndependent/glslang_tab.cpp"
break;
case 138: /* interpolation_qualifier: SMOOTH */
-#line 1256 "MachineIndependent/glslang.y"
+#line 1257 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
@@ -6597,11 +6609,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.smooth = true;
}
-#line 6601 "MachineIndependent/glslang_tab.cpp"
+#line 6613 "MachineIndependent/glslang_tab.cpp"
break;
case 139: /* interpolation_qualifier: FLAT */
-#line 1263 "MachineIndependent/glslang.y"
+#line 1264 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
@@ -6609,11 +6621,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.flat = true;
}
-#line 6613 "MachineIndependent/glslang_tab.cpp"
+#line 6625 "MachineIndependent/glslang_tab.cpp"
break;
case 140: /* interpolation_qualifier: NOPERSPECTIVE */
-#line 1271 "MachineIndependent/glslang.y"
+#line 1272 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective");
@@ -6621,11 +6633,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nopersp = true;
}
-#line 6625 "MachineIndependent/glslang_tab.cpp"
+#line 6637 "MachineIndependent/glslang_tab.cpp"
break;
case 141: /* interpolation_qualifier: EXPLICITINTERPAMD */
-#line 1278 "MachineIndependent/glslang.y"
+#line 1279 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
@@ -6633,11 +6645,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.explicitInterp = true;
}
-#line 6637 "MachineIndependent/glslang_tab.cpp"
+#line 6649 "MachineIndependent/glslang_tab.cpp"
break;
case 142: /* interpolation_qualifier: PERVERTEXNV */
-#line 1285 "MachineIndependent/glslang.y"
+#line 1286 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
@@ -6646,11 +6658,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.pervertexNV = true;
}
-#line 6650 "MachineIndependent/glslang_tab.cpp"
+#line 6662 "MachineIndependent/glslang_tab.cpp"
break;
case 143: /* interpolation_qualifier: PERVERTEXEXT */
-#line 1293 "MachineIndependent/glslang.y"
+#line 1294 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexEXT");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_EXT_fragment_shader_barycentric, "fragment shader barycentric");
@@ -6659,11 +6671,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.pervertexEXT = true;
}
-#line 6663 "MachineIndependent/glslang_tab.cpp"
+#line 6675 "MachineIndependent/glslang_tab.cpp"
break;
case 144: /* interpolation_qualifier: PERPRIMITIVENV */
-#line 1301 "MachineIndependent/glslang.y"
+#line 1302 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");
@@ -6674,11 +6686,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perPrimitiveNV = true;
}
-#line 6678 "MachineIndependent/glslang_tab.cpp"
+#line 6690 "MachineIndependent/glslang_tab.cpp"
break;
case 145: /* interpolation_qualifier: PERPRIMITIVEEXT */
-#line 1311 "MachineIndependent/glslang.y"
+#line 1312 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveEXT");
@@ -6689,11 +6701,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perPrimitiveNV = true;
}
-#line 6693 "MachineIndependent/glslang_tab.cpp"
+#line 6705 "MachineIndependent/glslang_tab.cpp"
break;
case 146: /* interpolation_qualifier: PERVIEWNV */
-#line 1321 "MachineIndependent/glslang.y"
+#line 1322 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");
@@ -6701,11 +6713,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perViewNV = true;
}
-#line 6705 "MachineIndependent/glslang_tab.cpp"
+#line 6717 "MachineIndependent/glslang_tab.cpp"
break;
case 147: /* interpolation_qualifier: PERTASKNV */
-#line 1328 "MachineIndependent/glslang.y"
+#line 1329 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");
@@ -6713,84 +6725,84 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.perTaskNV = true;
}
-#line 6717 "MachineIndependent/glslang_tab.cpp"
+#line 6729 "MachineIndependent/glslang_tab.cpp"
break;
case 148: /* layout_qualifier: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN */
-#line 1339 "MachineIndependent/glslang.y"
+#line 1340 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
}
-#line 6725 "MachineIndependent/glslang_tab.cpp"
+#line 6737 "MachineIndependent/glslang_tab.cpp"
break;
case 149: /* layout_qualifier_id_list: layout_qualifier_id */
-#line 1345 "MachineIndependent/glslang.y"
+#line 1346 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6733 "MachineIndependent/glslang_tab.cpp"
+#line 6745 "MachineIndependent/glslang_tab.cpp"
break;
case 150: /* layout_qualifier_id_list: layout_qualifier_id_list COMMA layout_qualifier_id */
-#line 1348 "MachineIndependent/glslang.y"
+#line 1349 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-2].interm.type);
(yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
}
-#line 6743 "MachineIndependent/glslang_tab.cpp"
+#line 6755 "MachineIndependent/glslang_tab.cpp"
break;
case 151: /* layout_qualifier_id: IDENTIFIER */
-#line 1355 "MachineIndependent/glslang.y"
+#line 1356 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
}
-#line 6752 "MachineIndependent/glslang_tab.cpp"
+#line 6764 "MachineIndependent/glslang_tab.cpp"
break;
case 152: /* layout_qualifier_id: IDENTIFIER EQUAL constant_expression */
-#line 1359 "MachineIndependent/glslang.y"
+#line 1360 "MachineIndependent/glslang.y"
{
(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 6761 "MachineIndependent/glslang_tab.cpp"
+#line 6773 "MachineIndependent/glslang_tab.cpp"
break;
case 153: /* layout_qualifier_id: SHARED */
-#line 1363 "MachineIndependent/glslang.y"
+#line 1364 "MachineIndependent/glslang.y"
{ // because "shared" is both an identifier and a keyword
(yyval.interm.type).init((yyvsp[0].lex).loc);
TString strShared("shared");
parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
}
-#line 6771 "MachineIndependent/glslang_tab.cpp"
+#line 6783 "MachineIndependent/glslang_tab.cpp"
break;
case 154: /* precise_qualifier: PRECISE */
-#line 1372 "MachineIndependent/glslang.y"
+#line 1373 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.noContraction = true;
}
-#line 6782 "MachineIndependent/glslang_tab.cpp"
+#line 6794 "MachineIndependent/glslang_tab.cpp"
break;
case 155: /* type_qualifier: single_type_qualifier */
-#line 1382 "MachineIndependent/glslang.y"
+#line 1383 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6790 "MachineIndependent/glslang_tab.cpp"
+#line 6802 "MachineIndependent/glslang_tab.cpp"
break;
case 156: /* type_qualifier: type_qualifier single_type_qualifier */
-#line 1385 "MachineIndependent/glslang.y"
+#line 1386 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
if ((yyval.interm.type).basicType == EbtVoid)
@@ -6799,151 +6811,151 @@ 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 6803 "MachineIndependent/glslang_tab.cpp"
+#line 6815 "MachineIndependent/glslang_tab.cpp"
break;
case 157: /* single_type_qualifier: storage_qualifier */
-#line 1396 "MachineIndependent/glslang.y"
+#line 1397 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6811 "MachineIndependent/glslang_tab.cpp"
+#line 6823 "MachineIndependent/glslang_tab.cpp"
break;
case 158: /* single_type_qualifier: layout_qualifier */
-#line 1399 "MachineIndependent/glslang.y"
+#line 1400 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6819 "MachineIndependent/glslang_tab.cpp"
+#line 6831 "MachineIndependent/glslang_tab.cpp"
break;
case 159: /* single_type_qualifier: precision_qualifier */
-#line 1402 "MachineIndependent/glslang.y"
+#line 1403 "MachineIndependent/glslang.y"
{
parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6828 "MachineIndependent/glslang_tab.cpp"
+#line 6840 "MachineIndependent/glslang_tab.cpp"
break;
case 160: /* single_type_qualifier: interpolation_qualifier */
-#line 1406 "MachineIndependent/glslang.y"
+#line 1407 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6837 "MachineIndependent/glslang_tab.cpp"
+#line 6849 "MachineIndependent/glslang_tab.cpp"
break;
case 161: /* single_type_qualifier: invariant_qualifier */
-#line 1410 "MachineIndependent/glslang.y"
+#line 1411 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6846 "MachineIndependent/glslang_tab.cpp"
+#line 6858 "MachineIndependent/glslang_tab.cpp"
break;
case 162: /* single_type_qualifier: precise_qualifier */
-#line 1415 "MachineIndependent/glslang.y"
+#line 1416 "MachineIndependent/glslang.y"
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6855 "MachineIndependent/glslang_tab.cpp"
+#line 6867 "MachineIndependent/glslang_tab.cpp"
break;
case 163: /* single_type_qualifier: non_uniform_qualifier */
-#line 1419 "MachineIndependent/glslang.y"
+#line 1420 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 6863 "MachineIndependent/glslang_tab.cpp"
+#line 6875 "MachineIndependent/glslang_tab.cpp"
break;
case 164: /* single_type_qualifier: spirv_storage_class_qualifier */
-#line 1422 "MachineIndependent/glslang.y"
+#line 1423 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].interm.type).loc, "spirv_storage_class");
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 6873 "MachineIndependent/glslang_tab.cpp"
+#line 6885 "MachineIndependent/glslang_tab.cpp"
break;
case 165: /* single_type_qualifier: spirv_decorate_qualifier */
-#line 1427 "MachineIndependent/glslang.y"
+#line 1428 "MachineIndependent/glslang.y"
{
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 6882 "MachineIndependent/glslang_tab.cpp"
+#line 6894 "MachineIndependent/glslang_tab.cpp"
break;
case 166: /* single_type_qualifier: SPIRV_BY_REFERENCE */
-#line 1431 "MachineIndependent/glslang.y"
+#line 1432 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "spirv_by_reference");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.setSpirvByReference();
}
-#line 6892 "MachineIndependent/glslang_tab.cpp"
+#line 6904 "MachineIndependent/glslang_tab.cpp"
break;
case 167: /* single_type_qualifier: SPIRV_LITERAL */
-#line 1436 "MachineIndependent/glslang.y"
+#line 1437 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "spirv_by_literal");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.setSpirvLiteral();
}
-#line 6902 "MachineIndependent/glslang_tab.cpp"
+#line 6914 "MachineIndependent/glslang_tab.cpp"
break;
case 168: /* storage_qualifier: CONST */
-#line 1445 "MachineIndependent/glslang.y"
+#line 1446 "MachineIndependent/glslang.y"
{
(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 6911 "MachineIndependent/glslang_tab.cpp"
+#line 6923 "MachineIndependent/glslang_tab.cpp"
break;
case 169: /* storage_qualifier: INOUT */
-#line 1449 "MachineIndependent/glslang.y"
+#line 1450 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqInOut;
}
-#line 6921 "MachineIndependent/glslang_tab.cpp"
+#line 6933 "MachineIndependent/glslang_tab.cpp"
break;
case 170: /* storage_qualifier: IN */
-#line 1454 "MachineIndependent/glslang.y"
+#line 1455 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "in");
(yyval.interm.type).init((yyvsp[0].lex).loc);
// whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
(yyval.interm.type).qualifier.storage = EvqIn;
}
-#line 6932 "MachineIndependent/glslang_tab.cpp"
+#line 6944 "MachineIndependent/glslang_tab.cpp"
break;
case 171: /* storage_qualifier: OUT */
-#line 1460 "MachineIndependent/glslang.y"
+#line 1461 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "out");
(yyval.interm.type).init((yyvsp[0].lex).loc);
// whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
(yyval.interm.type).qualifier.storage = EvqOut;
}
-#line 6943 "MachineIndependent/glslang_tab.cpp"
+#line 6955 "MachineIndependent/glslang_tab.cpp"
break;
case 172: /* storage_qualifier: CENTROID */
-#line 1466 "MachineIndependent/glslang.y"
+#line 1467 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
@@ -6951,21 +6963,21 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.centroid = true;
}
-#line 6955 "MachineIndependent/glslang_tab.cpp"
+#line 6967 "MachineIndependent/glslang_tab.cpp"
break;
case 173: /* storage_qualifier: UNIFORM */
-#line 1473 "MachineIndependent/glslang.y"
+#line 1474 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqUniform;
}
-#line 6965 "MachineIndependent/glslang_tab.cpp"
+#line 6977 "MachineIndependent/glslang_tab.cpp"
break;
case 174: /* storage_qualifier: SHARED */
-#line 1478 "MachineIndependent/glslang.y"
+#line 1479 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
@@ -6974,21 +6986,21 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqShared;
}
-#line 6978 "MachineIndependent/glslang_tab.cpp"
+#line 6990 "MachineIndependent/glslang_tab.cpp"
break;
case 175: /* storage_qualifier: BUFFER */
-#line 1486 "MachineIndependent/glslang.y"
+#line 1487 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqBuffer;
}
-#line 6988 "MachineIndependent/glslang_tab.cpp"
+#line 7000 "MachineIndependent/glslang_tab.cpp"
break;
case 176: /* storage_qualifier: ATTRIBUTE */
-#line 1492 "MachineIndependent/glslang.y"
+#line 1493 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
@@ -7001,11 +7013,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 7005 "MachineIndependent/glslang_tab.cpp"
+#line 7017 "MachineIndependent/glslang_tab.cpp"
break;
case 177: /* storage_qualifier: VARYING */
-#line 1504 "MachineIndependent/glslang.y"
+#line 1505 "MachineIndependent/glslang.y"
{
parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
@@ -7020,32 +7032,32 @@ yyreduce:
else
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 7024 "MachineIndependent/glslang_tab.cpp"
+#line 7036 "MachineIndependent/glslang_tab.cpp"
break;
case 178: /* storage_qualifier: PATCH */
-#line 1518 "MachineIndependent/glslang.y"
+#line 1519 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.patch = true;
}
-#line 7035 "MachineIndependent/glslang_tab.cpp"
+#line 7047 "MachineIndependent/glslang_tab.cpp"
break;
case 179: /* storage_qualifier: SAMPLE */
-#line 1524 "MachineIndependent/glslang.y"
+#line 1525 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.sample = true;
}
-#line 7045 "MachineIndependent/glslang_tab.cpp"
+#line 7057 "MachineIndependent/glslang_tab.cpp"
break;
case 180: /* storage_qualifier: HITATTRNV */
-#line 1529 "MachineIndependent/glslang.y"
+#line 1530 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -7054,11 +7066,24 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqHitAttr;
}
-#line 7058 "MachineIndependent/glslang_tab.cpp"
+#line 7070 "MachineIndependent/glslang_tab.cpp"
+ break;
+
+ case 181: /* storage_qualifier: HITOBJECTATTRNV */
+#line 1538 "MachineIndependent/glslang.y"
+ {
+ parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");
+ parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask
+ | EShLangMissMask), "hitObjectAttributeNV");
+ parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV");
+ (yyval.interm.type).init((yyvsp[0].lex).loc);
+ (yyval.interm.type).qualifier.storage = EvqHitObjectAttrNV;
+ }
+#line 7083 "MachineIndependent/glslang_tab.cpp"
break;
- case 181: /* storage_qualifier: HITATTREXT */
-#line 1537 "MachineIndependent/glslang.y"
+ case 182: /* storage_qualifier: HITATTREXT */
+#line 1546 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask
@@ -7067,11 +7092,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqHitAttr;
}
-#line 7071 "MachineIndependent/glslang_tab.cpp"
+#line 7096 "MachineIndependent/glslang_tab.cpp"
break;
- case 182: /* storage_qualifier: PAYLOADNV */
-#line 1545 "MachineIndependent/glslang.y"
+ case 183: /* storage_qualifier: PAYLOADNV */
+#line 1554 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |
@@ -7080,11 +7105,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayload;
}
-#line 7084 "MachineIndependent/glslang_tab.cpp"
+#line 7109 "MachineIndependent/glslang_tab.cpp"
break;
- case 183: /* storage_qualifier: PAYLOADEXT */
-#line 1553 "MachineIndependent/glslang.y"
+ case 184: /* storage_qualifier: PAYLOADEXT */
+#line 1562 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |
@@ -7093,11 +7118,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayload;
}
-#line 7097 "MachineIndependent/glslang_tab.cpp"
+#line 7122 "MachineIndependent/glslang_tab.cpp"
break;
- case 184: /* storage_qualifier: PAYLOADINNV */
-#line 1561 "MachineIndependent/glslang.y"
+ case 185: /* storage_qualifier: PAYLOADINNV */
+#line 1570 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |
@@ -7106,11 +7131,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayloadIn;
}
-#line 7110 "MachineIndependent/glslang_tab.cpp"
+#line 7135 "MachineIndependent/glslang_tab.cpp"
break;
- case 185: /* storage_qualifier: PAYLOADINEXT */
-#line 1569 "MachineIndependent/glslang.y"
+ case 186: /* storage_qualifier: PAYLOADINEXT */
+#line 1578 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |
@@ -7119,11 +7144,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqPayloadIn;
}
-#line 7123 "MachineIndependent/glslang_tab.cpp"
+#line 7148 "MachineIndependent/glslang_tab.cpp"
break;
- case 186: /* storage_qualifier: CALLDATANV */
-#line 1577 "MachineIndependent/glslang.y"
+ case 187: /* storage_qualifier: CALLDATANV */
+#line 1586 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |
@@ -7132,11 +7157,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableData;
}
-#line 7136 "MachineIndependent/glslang_tab.cpp"
+#line 7161 "MachineIndependent/glslang_tab.cpp"
break;
- case 187: /* storage_qualifier: CALLDATAEXT */
-#line 1585 "MachineIndependent/glslang.y"
+ case 188: /* storage_qualifier: CALLDATAEXT */
+#line 1594 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |
@@ -7145,11 +7170,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableData;
}
-#line 7149 "MachineIndependent/glslang_tab.cpp"
+#line 7174 "MachineIndependent/glslang_tab.cpp"
break;
- case 188: /* storage_qualifier: CALLDATAINNV */
-#line 1593 "MachineIndependent/glslang.y"
+ case 189: /* storage_qualifier: CALLDATAINNV */
+#line 1602 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV");
@@ -7157,11 +7182,11 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableDataIn;
}
-#line 7161 "MachineIndependent/glslang_tab.cpp"
+#line 7186 "MachineIndependent/glslang_tab.cpp"
break;
- case 189: /* storage_qualifier: CALLDATAINEXT */
-#line 1600 "MachineIndependent/glslang.y"
+ case 190: /* storage_qualifier: CALLDATAINEXT */
+#line 1609 "MachineIndependent/glslang.y"
{
parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInEXT");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInEXT");
@@ -7169,138 +7194,138 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqCallableDataIn;
}
-#line 7173 "MachineIndependent/glslang_tab.cpp"
+#line 7198 "MachineIndependent/glslang_tab.cpp"
break;
- case 190: /* storage_qualifier: COHERENT */
-#line 1607 "MachineIndependent/glslang.y"
+ case 191: /* storage_qualifier: COHERENT */
+#line 1616 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.coherent = true;
}
-#line 7182 "MachineIndependent/glslang_tab.cpp"
+#line 7207 "MachineIndependent/glslang_tab.cpp"
break;
- case 191: /* storage_qualifier: DEVICECOHERENT */
-#line 1611 "MachineIndependent/glslang.y"
+ case 192: /* storage_qualifier: DEVICECOHERENT */
+#line 1620 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
(yyval.interm.type).qualifier.devicecoherent = true;
}
-#line 7192 "MachineIndependent/glslang_tab.cpp"
+#line 7217 "MachineIndependent/glslang_tab.cpp"
break;
- case 192: /* storage_qualifier: QUEUEFAMILYCOHERENT */
-#line 1616 "MachineIndependent/glslang.y"
+ case 193: /* storage_qualifier: QUEUEFAMILYCOHERENT */
+#line 1625 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
(yyval.interm.type).qualifier.queuefamilycoherent = true;
}
-#line 7202 "MachineIndependent/glslang_tab.cpp"
+#line 7227 "MachineIndependent/glslang_tab.cpp"
break;
- case 193: /* storage_qualifier: WORKGROUPCOHERENT */
-#line 1621 "MachineIndependent/glslang.y"
+ case 194: /* storage_qualifier: WORKGROUPCOHERENT */
+#line 1630 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
(yyval.interm.type).qualifier.workgroupcoherent = true;
}
-#line 7212 "MachineIndependent/glslang_tab.cpp"
+#line 7237 "MachineIndependent/glslang_tab.cpp"
break;
- case 194: /* storage_qualifier: SUBGROUPCOHERENT */
-#line 1626 "MachineIndependent/glslang.y"
+ case 195: /* storage_qualifier: SUBGROUPCOHERENT */
+#line 1635 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
(yyval.interm.type).qualifier.subgroupcoherent = true;
}
-#line 7222 "MachineIndependent/glslang_tab.cpp"
+#line 7247 "MachineIndependent/glslang_tab.cpp"
break;
- case 195: /* storage_qualifier: NONPRIVATE */
-#line 1631 "MachineIndependent/glslang.y"
+ case 196: /* storage_qualifier: NONPRIVATE */
+#line 1640 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
(yyval.interm.type).qualifier.nonprivate = true;
}
-#line 7232 "MachineIndependent/glslang_tab.cpp"
+#line 7257 "MachineIndependent/glslang_tab.cpp"
break;
- case 196: /* storage_qualifier: SHADERCALLCOHERENT */
-#line 1636 "MachineIndependent/glslang.y"
+ case 197: /* storage_qualifier: SHADERCALLCOHERENT */
+#line 1645 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_ray_tracing, "shadercallcoherent");
(yyval.interm.type).qualifier.shadercallcoherent = true;
}
-#line 7242 "MachineIndependent/glslang_tab.cpp"
+#line 7267 "MachineIndependent/glslang_tab.cpp"
break;
- case 197: /* storage_qualifier: VOLATILE */
-#line 1641 "MachineIndependent/glslang.y"
+ case 198: /* storage_qualifier: VOLATILE */
+#line 1650 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.volatil = true;
}
-#line 7251 "MachineIndependent/glslang_tab.cpp"
+#line 7276 "MachineIndependent/glslang_tab.cpp"
break;
- case 198: /* storage_qualifier: RESTRICT */
-#line 1645 "MachineIndependent/glslang.y"
+ case 199: /* storage_qualifier: RESTRICT */
+#line 1654 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.restrict = true;
}
-#line 7260 "MachineIndependent/glslang_tab.cpp"
+#line 7285 "MachineIndependent/glslang_tab.cpp"
break;
- case 199: /* storage_qualifier: READONLY */
-#line 1649 "MachineIndependent/glslang.y"
+ case 200: /* storage_qualifier: READONLY */
+#line 1658 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.readonly = true;
}
-#line 7269 "MachineIndependent/glslang_tab.cpp"
+#line 7294 "MachineIndependent/glslang_tab.cpp"
break;
- case 200: /* storage_qualifier: WRITEONLY */
-#line 1653 "MachineIndependent/glslang.y"
+ case 201: /* storage_qualifier: WRITEONLY */
+#line 1662 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.writeonly = true;
}
-#line 7278 "MachineIndependent/glslang_tab.cpp"
+#line 7303 "MachineIndependent/glslang_tab.cpp"
break;
- case 201: /* storage_qualifier: SUBROUTINE */
-#line 1657 "MachineIndependent/glslang.y"
+ case 202: /* storage_qualifier: SUBROUTINE */
+#line 1666 "MachineIndependent/glslang.y"
{
parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
(yyval.interm.type).init((yyvsp[0].lex).loc);
}
-#line 7289 "MachineIndependent/glslang_tab.cpp"
+#line 7314 "MachineIndependent/glslang_tab.cpp"
break;
- case 202: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */
-#line 1663 "MachineIndependent/glslang.y"
+ case 203: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */
+#line 1672 "MachineIndependent/glslang.y"
{
parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
(yyval.interm.type).init((yyvsp[-3].lex).loc);
}
-#line 7300 "MachineIndependent/glslang_tab.cpp"
+#line 7325 "MachineIndependent/glslang_tab.cpp"
break;
- case 203: /* storage_qualifier: TASKPAYLOADWORKGROUPEXT */
-#line 1669 "MachineIndependent/glslang.y"
+ case 204: /* storage_qualifier: TASKPAYLOADWORKGROUPEXT */
+#line 1678 "MachineIndependent/glslang.y"
{
// No need for profile version or extension check. Shader stage already checks both.
parseContext.globalCheck((yyvsp[0].lex).loc, "taskPayloadSharedEXT");
@@ -7308,48 +7333,48 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqtaskPayloadSharedEXT;
}
-#line 7312 "MachineIndependent/glslang_tab.cpp"
+#line 7337 "MachineIndependent/glslang_tab.cpp"
break;
- case 204: /* non_uniform_qualifier: NONUNIFORM */
-#line 1681 "MachineIndependent/glslang.y"
+ case 205: /* non_uniform_qualifier: NONUNIFORM */
+#line 1690 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nonUniform = true;
}
-#line 7321 "MachineIndependent/glslang_tab.cpp"
+#line 7346 "MachineIndependent/glslang_tab.cpp"
break;
- case 205: /* type_name_list: IDENTIFIER */
-#line 1688 "MachineIndependent/glslang.y"
+ case 206: /* type_name_list: IDENTIFIER */
+#line 1697 "MachineIndependent/glslang.y"
{
// TODO
}
-#line 7329 "MachineIndependent/glslang_tab.cpp"
+#line 7354 "MachineIndependent/glslang_tab.cpp"
break;
- case 206: /* type_name_list: type_name_list COMMA IDENTIFIER */
-#line 1691 "MachineIndependent/glslang.y"
+ case 207: /* type_name_list: type_name_list COMMA IDENTIFIER */
+#line 1700 "MachineIndependent/glslang.y"
{
// TODO: 4.0 semantics: subroutines
// 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 7339 "MachineIndependent/glslang_tab.cpp"
+#line 7364 "MachineIndependent/glslang_tab.cpp"
break;
- case 207: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */
-#line 1700 "MachineIndependent/glslang.y"
+ case 208: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */
+#line 1709 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
(yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
(yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters);
}
-#line 7349 "MachineIndependent/glslang_tab.cpp"
+#line 7374 "MachineIndependent/glslang_tab.cpp"
break;
- case 208: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */
-#line 1705 "MachineIndependent/glslang.y"
+ case 209: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */
+#line 1714 "MachineIndependent/glslang.y"
{
parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
(yyval.interm.type) = (yyvsp[-2].interm.type);
@@ -7357,21 +7382,21 @@ yyreduce:
(yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters);
(yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
}
-#line 7361 "MachineIndependent/glslang_tab.cpp"
+#line 7386 "MachineIndependent/glslang_tab.cpp"
break;
- case 209: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */
-#line 1715 "MachineIndependent/glslang.y"
+ case 210: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */
+#line 1724 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
(yyval.interm).arraySizes->addInnerSize();
}
-#line 7371 "MachineIndependent/glslang_tab.cpp"
+#line 7396 "MachineIndependent/glslang_tab.cpp"
break;
- case 210: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */
-#line 1720 "MachineIndependent/glslang.y"
+ case 211: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */
+#line 1729 "MachineIndependent/glslang.y"
{
(yyval.interm).loc = (yyvsp[-2].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
@@ -7380,20 +7405,20 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 7384 "MachineIndependent/glslang_tab.cpp"
+#line 7409 "MachineIndependent/glslang_tab.cpp"
break;
- case 211: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */
-#line 1728 "MachineIndependent/glslang.y"
+ case 212: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */
+#line 1737 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-2].interm);
(yyval.interm).arraySizes->addInnerSize();
}
-#line 7393 "MachineIndependent/glslang_tab.cpp"
+#line 7418 "MachineIndependent/glslang_tab.cpp"
break;
- case 212: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */
-#line 1732 "MachineIndependent/glslang.y"
+ case 213: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */
+#line 1741 "MachineIndependent/glslang.y"
{
(yyval.interm) = (yyvsp[-3].interm);
@@ -7401,35 +7426,35 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 7405 "MachineIndependent/glslang_tab.cpp"
+#line 7430 "MachineIndependent/glslang_tab.cpp"
break;
- case 213: /* type_parameter_specifier_opt: type_parameter_specifier */
-#line 1742 "MachineIndependent/glslang.y"
+ case 214: /* type_parameter_specifier_opt: type_parameter_specifier */
+#line 1751 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters);
}
-#line 7413 "MachineIndependent/glslang_tab.cpp"
+#line 7438 "MachineIndependent/glslang_tab.cpp"
break;
- case 214: /* type_parameter_specifier_opt: %empty */
-#line 1745 "MachineIndependent/glslang.y"
+ case 215: /* type_parameter_specifier_opt: %empty */
+#line 1754 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = 0;
}
-#line 7421 "MachineIndependent/glslang_tab.cpp"
+#line 7446 "MachineIndependent/glslang_tab.cpp"
break;
- case 215: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */
-#line 1751 "MachineIndependent/glslang.y"
+ case 216: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */
+#line 1760 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters);
}
-#line 7429 "MachineIndependent/glslang_tab.cpp"
+#line 7454 "MachineIndependent/glslang_tab.cpp"
break;
- case 216: /* type_parameter_specifier_list: unary_expression */
-#line 1757 "MachineIndependent/glslang.y"
+ case 217: /* type_parameter_specifier_list: unary_expression */
+#line 1766 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = new TArraySizes;
@@ -7437,11 +7462,11 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
(yyval.interm.typeParameters)->addInnerSize(size);
}
-#line 7441 "MachineIndependent/glslang_tab.cpp"
+#line 7466 "MachineIndependent/glslang_tab.cpp"
break;
- case 217: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */
-#line 1764 "MachineIndependent/glslang.y"
+ case 218: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */
+#line 1773 "MachineIndependent/glslang.y"
{
(yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters);
@@ -7449,300 +7474,300 @@ yyreduce:
parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter");
(yyval.interm.typeParameters)->addInnerSize(size);
}
-#line 7453 "MachineIndependent/glslang_tab.cpp"
+#line 7478 "MachineIndependent/glslang_tab.cpp"
break;
- case 218: /* type_specifier_nonarray: VOID */
-#line 1774 "MachineIndependent/glslang.y"
+ case 219: /* type_specifier_nonarray: VOID */
+#line 1783 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtVoid;
}
-#line 7462 "MachineIndependent/glslang_tab.cpp"
+#line 7487 "MachineIndependent/glslang_tab.cpp"
break;
- case 219: /* type_specifier_nonarray: FLOAT */
-#line 1778 "MachineIndependent/glslang.y"
+ case 220: /* type_specifier_nonarray: FLOAT */
+#line 1787 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
}
-#line 7471 "MachineIndependent/glslang_tab.cpp"
+#line 7496 "MachineIndependent/glslang_tab.cpp"
break;
- case 220: /* type_specifier_nonarray: INT */
-#line 1782 "MachineIndependent/glslang.y"
+ case 221: /* type_specifier_nonarray: INT */
+#line 1791 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
}
-#line 7480 "MachineIndependent/glslang_tab.cpp"
+#line 7505 "MachineIndependent/glslang_tab.cpp"
break;
- case 221: /* type_specifier_nonarray: UINT */
-#line 1786 "MachineIndependent/glslang.y"
+ case 222: /* type_specifier_nonarray: UINT */
+#line 1795 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
}
-#line 7490 "MachineIndependent/glslang_tab.cpp"
+#line 7515 "MachineIndependent/glslang_tab.cpp"
break;
- case 222: /* type_specifier_nonarray: BOOL */
-#line 1791 "MachineIndependent/glslang.y"
+ case 223: /* type_specifier_nonarray: BOOL */
+#line 1800 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
}
-#line 7499 "MachineIndependent/glslang_tab.cpp"
+#line 7524 "MachineIndependent/glslang_tab.cpp"
break;
- case 223: /* type_specifier_nonarray: VEC2 */
-#line 1795 "MachineIndependent/glslang.y"
+ case 224: /* type_specifier_nonarray: VEC2 */
+#line 1804 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(2);
}
-#line 7509 "MachineIndependent/glslang_tab.cpp"
+#line 7534 "MachineIndependent/glslang_tab.cpp"
break;
- case 224: /* type_specifier_nonarray: VEC3 */
-#line 1800 "MachineIndependent/glslang.y"
+ case 225: /* type_specifier_nonarray: VEC3 */
+#line 1809 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(3);
}
-#line 7519 "MachineIndependent/glslang_tab.cpp"
+#line 7544 "MachineIndependent/glslang_tab.cpp"
break;
- case 225: /* type_specifier_nonarray: VEC4 */
-#line 1805 "MachineIndependent/glslang.y"
+ case 226: /* type_specifier_nonarray: VEC4 */
+#line 1814 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(4);
}
-#line 7529 "MachineIndependent/glslang_tab.cpp"
+#line 7554 "MachineIndependent/glslang_tab.cpp"
break;
- case 226: /* type_specifier_nonarray: BVEC2 */
-#line 1810 "MachineIndependent/glslang.y"
+ case 227: /* type_specifier_nonarray: BVEC2 */
+#line 1819 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(2);
}
-#line 7539 "MachineIndependent/glslang_tab.cpp"
+#line 7564 "MachineIndependent/glslang_tab.cpp"
break;
- case 227: /* type_specifier_nonarray: BVEC3 */
-#line 1815 "MachineIndependent/glslang.y"
+ case 228: /* type_specifier_nonarray: BVEC3 */
+#line 1824 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(3);
}
-#line 7549 "MachineIndependent/glslang_tab.cpp"
+#line 7574 "MachineIndependent/glslang_tab.cpp"
break;
- case 228: /* type_specifier_nonarray: BVEC4 */
-#line 1820 "MachineIndependent/glslang.y"
+ case 229: /* type_specifier_nonarray: BVEC4 */
+#line 1829 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(4);
}
-#line 7559 "MachineIndependent/glslang_tab.cpp"
+#line 7584 "MachineIndependent/glslang_tab.cpp"
break;
- case 229: /* type_specifier_nonarray: IVEC2 */
-#line 1825 "MachineIndependent/glslang.y"
+ case 230: /* type_specifier_nonarray: IVEC2 */
+#line 1834 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(2);
}
-#line 7569 "MachineIndependent/glslang_tab.cpp"
+#line 7594 "MachineIndependent/glslang_tab.cpp"
break;
- case 230: /* type_specifier_nonarray: IVEC3 */
-#line 1830 "MachineIndependent/glslang.y"
+ case 231: /* type_specifier_nonarray: IVEC3 */
+#line 1839 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(3);
}
-#line 7579 "MachineIndependent/glslang_tab.cpp"
+#line 7604 "MachineIndependent/glslang_tab.cpp"
break;
- case 231: /* type_specifier_nonarray: IVEC4 */
-#line 1835 "MachineIndependent/glslang.y"
+ case 232: /* type_specifier_nonarray: IVEC4 */
+#line 1844 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(4);
}
-#line 7589 "MachineIndependent/glslang_tab.cpp"
+#line 7614 "MachineIndependent/glslang_tab.cpp"
break;
- case 232: /* type_specifier_nonarray: UVEC2 */
-#line 1840 "MachineIndependent/glslang.y"
+ case 233: /* type_specifier_nonarray: UVEC2 */
+#line 1849 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(2);
}
-#line 7600 "MachineIndependent/glslang_tab.cpp"
+#line 7625 "MachineIndependent/glslang_tab.cpp"
break;
- case 233: /* type_specifier_nonarray: UVEC3 */
-#line 1846 "MachineIndependent/glslang.y"
+ case 234: /* type_specifier_nonarray: UVEC3 */
+#line 1855 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(3);
}
-#line 7611 "MachineIndependent/glslang_tab.cpp"
+#line 7636 "MachineIndependent/glslang_tab.cpp"
break;
- case 234: /* type_specifier_nonarray: UVEC4 */
-#line 1852 "MachineIndependent/glslang.y"
+ case 235: /* type_specifier_nonarray: UVEC4 */
+#line 1861 "MachineIndependent/glslang.y"
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(4);
}
-#line 7622 "MachineIndependent/glslang_tab.cpp"
+#line 7647 "MachineIndependent/glslang_tab.cpp"
break;
- case 235: /* type_specifier_nonarray: MAT2 */
-#line 1858 "MachineIndependent/glslang.y"
+ case 236: /* type_specifier_nonarray: MAT2 */
+#line 1867 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7632 "MachineIndependent/glslang_tab.cpp"
+#line 7657 "MachineIndependent/glslang_tab.cpp"
break;
- case 236: /* type_specifier_nonarray: MAT3 */
-#line 1863 "MachineIndependent/glslang.y"
+ case 237: /* type_specifier_nonarray: MAT3 */
+#line 1872 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7642 "MachineIndependent/glslang_tab.cpp"
+#line 7667 "MachineIndependent/glslang_tab.cpp"
break;
- case 237: /* type_specifier_nonarray: MAT4 */
-#line 1868 "MachineIndependent/glslang.y"
+ case 238: /* type_specifier_nonarray: MAT4 */
+#line 1877 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7652 "MachineIndependent/glslang_tab.cpp"
+#line 7677 "MachineIndependent/glslang_tab.cpp"
break;
- case 238: /* type_specifier_nonarray: MAT2X2 */
-#line 1873 "MachineIndependent/glslang.y"
+ case 239: /* type_specifier_nonarray: MAT2X2 */
+#line 1882 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7662 "MachineIndependent/glslang_tab.cpp"
+#line 7687 "MachineIndependent/glslang_tab.cpp"
break;
- case 239: /* type_specifier_nonarray: MAT2X3 */
-#line 1878 "MachineIndependent/glslang.y"
+ case 240: /* type_specifier_nonarray: MAT2X3 */
+#line 1887 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 7672 "MachineIndependent/glslang_tab.cpp"
+#line 7697 "MachineIndependent/glslang_tab.cpp"
break;
- case 240: /* type_specifier_nonarray: MAT2X4 */
-#line 1883 "MachineIndependent/glslang.y"
+ case 241: /* type_specifier_nonarray: MAT2X4 */
+#line 1892 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 7682 "MachineIndependent/glslang_tab.cpp"
+#line 7707 "MachineIndependent/glslang_tab.cpp"
break;
- case 241: /* type_specifier_nonarray: MAT3X2 */
-#line 1888 "MachineIndependent/glslang.y"
+ case 242: /* type_specifier_nonarray: MAT3X2 */
+#line 1897 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 7692 "MachineIndependent/glslang_tab.cpp"
+#line 7717 "MachineIndependent/glslang_tab.cpp"
break;
- case 242: /* type_specifier_nonarray: MAT3X3 */
-#line 1893 "MachineIndependent/glslang.y"
+ case 243: /* type_specifier_nonarray: MAT3X3 */
+#line 1902 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7702 "MachineIndependent/glslang_tab.cpp"
+#line 7727 "MachineIndependent/glslang_tab.cpp"
break;
- case 243: /* type_specifier_nonarray: MAT3X4 */
-#line 1898 "MachineIndependent/glslang.y"
+ case 244: /* type_specifier_nonarray: MAT3X4 */
+#line 1907 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 7712 "MachineIndependent/glslang_tab.cpp"
+#line 7737 "MachineIndependent/glslang_tab.cpp"
break;
- case 244: /* type_specifier_nonarray: MAT4X2 */
-#line 1903 "MachineIndependent/glslang.y"
+ case 245: /* type_specifier_nonarray: MAT4X2 */
+#line 1912 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 7722 "MachineIndependent/glslang_tab.cpp"
+#line 7747 "MachineIndependent/glslang_tab.cpp"
break;
- case 245: /* type_specifier_nonarray: MAT4X3 */
-#line 1908 "MachineIndependent/glslang.y"
+ case 246: /* type_specifier_nonarray: MAT4X3 */
+#line 1917 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 7732 "MachineIndependent/glslang_tab.cpp"
+#line 7757 "MachineIndependent/glslang_tab.cpp"
break;
- case 246: /* type_specifier_nonarray: MAT4X4 */
-#line 1913 "MachineIndependent/glslang.y"
+ case 247: /* type_specifier_nonarray: MAT4X4 */
+#line 1922 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7742 "MachineIndependent/glslang_tab.cpp"
+#line 7767 "MachineIndependent/glslang_tab.cpp"
break;
- case 247: /* type_specifier_nonarray: DOUBLE */
-#line 1919 "MachineIndependent/glslang.y"
+ case 248: /* type_specifier_nonarray: DOUBLE */
+#line 1928 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7750,121 +7775,121 @@ yyreduce:
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
}
-#line 7754 "MachineIndependent/glslang_tab.cpp"
+#line 7779 "MachineIndependent/glslang_tab.cpp"
break;
- case 248: /* type_specifier_nonarray: FLOAT16_T */
-#line 1926 "MachineIndependent/glslang.y"
+ case 249: /* type_specifier_nonarray: FLOAT16_T */
+#line 1935 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
}
-#line 7764 "MachineIndependent/glslang_tab.cpp"
+#line 7789 "MachineIndependent/glslang_tab.cpp"
break;
- case 249: /* type_specifier_nonarray: FLOAT32_T */
-#line 1931 "MachineIndependent/glslang.y"
+ case 250: /* type_specifier_nonarray: FLOAT32_T */
+#line 1940 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
}
-#line 7774 "MachineIndependent/glslang_tab.cpp"
+#line 7799 "MachineIndependent/glslang_tab.cpp"
break;
- case 250: /* type_specifier_nonarray: FLOAT64_T */
-#line 1936 "MachineIndependent/glslang.y"
+ case 251: /* type_specifier_nonarray: FLOAT64_T */
+#line 1945 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
}
-#line 7784 "MachineIndependent/glslang_tab.cpp"
+#line 7809 "MachineIndependent/glslang_tab.cpp"
break;
- case 251: /* type_specifier_nonarray: INT8_T */
-#line 1941 "MachineIndependent/glslang.y"
+ case 252: /* type_specifier_nonarray: INT8_T */
+#line 1950 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
}
-#line 7794 "MachineIndependent/glslang_tab.cpp"
+#line 7819 "MachineIndependent/glslang_tab.cpp"
break;
- case 252: /* type_specifier_nonarray: UINT8_T */
-#line 1946 "MachineIndependent/glslang.y"
+ case 253: /* type_specifier_nonarray: UINT8_T */
+#line 1955 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
}
-#line 7804 "MachineIndependent/glslang_tab.cpp"
+#line 7829 "MachineIndependent/glslang_tab.cpp"
break;
- case 253: /* type_specifier_nonarray: INT16_T */
-#line 1951 "MachineIndependent/glslang.y"
+ case 254: /* type_specifier_nonarray: INT16_T */
+#line 1960 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
}
-#line 7814 "MachineIndependent/glslang_tab.cpp"
+#line 7839 "MachineIndependent/glslang_tab.cpp"
break;
- case 254: /* type_specifier_nonarray: UINT16_T */
-#line 1956 "MachineIndependent/glslang.y"
+ case 255: /* type_specifier_nonarray: UINT16_T */
+#line 1965 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
}
-#line 7824 "MachineIndependent/glslang_tab.cpp"
+#line 7849 "MachineIndependent/glslang_tab.cpp"
break;
- case 255: /* type_specifier_nonarray: INT32_T */
-#line 1961 "MachineIndependent/glslang.y"
+ case 256: /* type_specifier_nonarray: INT32_T */
+#line 1970 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
}
-#line 7834 "MachineIndependent/glslang_tab.cpp"
+#line 7859 "MachineIndependent/glslang_tab.cpp"
break;
- case 256: /* type_specifier_nonarray: UINT32_T */
-#line 1966 "MachineIndependent/glslang.y"
+ case 257: /* type_specifier_nonarray: UINT32_T */
+#line 1975 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
}
-#line 7844 "MachineIndependent/glslang_tab.cpp"
+#line 7869 "MachineIndependent/glslang_tab.cpp"
break;
- case 257: /* type_specifier_nonarray: INT64_T */
-#line 1971 "MachineIndependent/glslang.y"
+ case 258: /* type_specifier_nonarray: INT64_T */
+#line 1980 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
}
-#line 7854 "MachineIndependent/glslang_tab.cpp"
+#line 7879 "MachineIndependent/glslang_tab.cpp"
break;
- case 258: /* type_specifier_nonarray: UINT64_T */
-#line 1976 "MachineIndependent/glslang.y"
+ case 259: /* type_specifier_nonarray: UINT64_T */
+#line 1985 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
}
-#line 7864 "MachineIndependent/glslang_tab.cpp"
+#line 7889 "MachineIndependent/glslang_tab.cpp"
break;
- case 259: /* type_specifier_nonarray: DVEC2 */
-#line 1981 "MachineIndependent/glslang.y"
+ case 260: /* type_specifier_nonarray: DVEC2 */
+#line 1990 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7873,11 +7898,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(2);
}
-#line 7877 "MachineIndependent/glslang_tab.cpp"
+#line 7902 "MachineIndependent/glslang_tab.cpp"
break;
- case 260: /* type_specifier_nonarray: DVEC3 */
-#line 1989 "MachineIndependent/glslang.y"
+ case 261: /* type_specifier_nonarray: DVEC3 */
+#line 1998 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7886,11 +7911,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(3);
}
-#line 7890 "MachineIndependent/glslang_tab.cpp"
+#line 7915 "MachineIndependent/glslang_tab.cpp"
break;
- case 261: /* type_specifier_nonarray: DVEC4 */
-#line 1997 "MachineIndependent/glslang.y"
+ case 262: /* type_specifier_nonarray: DVEC4 */
+#line 2006 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -7899,374 +7924,374 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(4);
}
-#line 7903 "MachineIndependent/glslang_tab.cpp"
+#line 7928 "MachineIndependent/glslang_tab.cpp"
break;
- case 262: /* type_specifier_nonarray: F16VEC2 */
-#line 2005 "MachineIndependent/glslang.y"
+ case 263: /* type_specifier_nonarray: F16VEC2 */
+#line 2014 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(2);
}
-#line 7914 "MachineIndependent/glslang_tab.cpp"
+#line 7939 "MachineIndependent/glslang_tab.cpp"
break;
- case 263: /* type_specifier_nonarray: F16VEC3 */
-#line 2011 "MachineIndependent/glslang.y"
+ case 264: /* type_specifier_nonarray: F16VEC3 */
+#line 2020 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(3);
}
-#line 7925 "MachineIndependent/glslang_tab.cpp"
+#line 7950 "MachineIndependent/glslang_tab.cpp"
break;
- case 264: /* type_specifier_nonarray: F16VEC4 */
-#line 2017 "MachineIndependent/glslang.y"
+ case 265: /* type_specifier_nonarray: F16VEC4 */
+#line 2026 "MachineIndependent/glslang.y"
{
parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(4);
}
-#line 7936 "MachineIndependent/glslang_tab.cpp"
+#line 7961 "MachineIndependent/glslang_tab.cpp"
break;
- case 265: /* type_specifier_nonarray: F32VEC2 */
-#line 2023 "MachineIndependent/glslang.y"
+ case 266: /* type_specifier_nonarray: F32VEC2 */
+#line 2032 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(2);
}
-#line 7947 "MachineIndependent/glslang_tab.cpp"
+#line 7972 "MachineIndependent/glslang_tab.cpp"
break;
- case 266: /* type_specifier_nonarray: F32VEC3 */
-#line 2029 "MachineIndependent/glslang.y"
+ case 267: /* type_specifier_nonarray: F32VEC3 */
+#line 2038 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(3);
}
-#line 7958 "MachineIndependent/glslang_tab.cpp"
+#line 7983 "MachineIndependent/glslang_tab.cpp"
break;
- case 267: /* type_specifier_nonarray: F32VEC4 */
-#line 2035 "MachineIndependent/glslang.y"
+ case 268: /* type_specifier_nonarray: F32VEC4 */
+#line 2044 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(4);
}
-#line 7969 "MachineIndependent/glslang_tab.cpp"
+#line 7994 "MachineIndependent/glslang_tab.cpp"
break;
- case 268: /* type_specifier_nonarray: F64VEC2 */
-#line 2041 "MachineIndependent/glslang.y"
+ case 269: /* type_specifier_nonarray: F64VEC2 */
+#line 2050 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(2);
}
-#line 7980 "MachineIndependent/glslang_tab.cpp"
+#line 8005 "MachineIndependent/glslang_tab.cpp"
break;
- case 269: /* type_specifier_nonarray: F64VEC3 */
-#line 2047 "MachineIndependent/glslang.y"
+ case 270: /* type_specifier_nonarray: F64VEC3 */
+#line 2056 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(3);
}
-#line 7991 "MachineIndependent/glslang_tab.cpp"
+#line 8016 "MachineIndependent/glslang_tab.cpp"
break;
- case 270: /* type_specifier_nonarray: F64VEC4 */
-#line 2053 "MachineIndependent/glslang.y"
+ case 271: /* type_specifier_nonarray: F64VEC4 */
+#line 2062 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(4);
}
-#line 8002 "MachineIndependent/glslang_tab.cpp"
+#line 8027 "MachineIndependent/glslang_tab.cpp"
break;
- case 271: /* type_specifier_nonarray: I8VEC2 */
-#line 2059 "MachineIndependent/glslang.y"
+ case 272: /* type_specifier_nonarray: I8VEC2 */
+#line 2068 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
(yyval.interm.type).setVector(2);
}
-#line 8013 "MachineIndependent/glslang_tab.cpp"
+#line 8038 "MachineIndependent/glslang_tab.cpp"
break;
- case 272: /* type_specifier_nonarray: I8VEC3 */
-#line 2065 "MachineIndependent/glslang.y"
+ case 273: /* type_specifier_nonarray: I8VEC3 */
+#line 2074 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
(yyval.interm.type).setVector(3);
}
-#line 8024 "MachineIndependent/glslang_tab.cpp"
+#line 8049 "MachineIndependent/glslang_tab.cpp"
break;
- case 273: /* type_specifier_nonarray: I8VEC4 */
-#line 2071 "MachineIndependent/glslang.y"
+ case 274: /* type_specifier_nonarray: I8VEC4 */
+#line 2080 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
(yyval.interm.type).setVector(4);
}
-#line 8035 "MachineIndependent/glslang_tab.cpp"
+#line 8060 "MachineIndependent/glslang_tab.cpp"
break;
- case 274: /* type_specifier_nonarray: I16VEC2 */
-#line 2077 "MachineIndependent/glslang.y"
+ case 275: /* type_specifier_nonarray: I16VEC2 */
+#line 2086 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
(yyval.interm.type).setVector(2);
}
-#line 8046 "MachineIndependent/glslang_tab.cpp"
+#line 8071 "MachineIndependent/glslang_tab.cpp"
break;
- case 275: /* type_specifier_nonarray: I16VEC3 */
-#line 2083 "MachineIndependent/glslang.y"
+ case 276: /* type_specifier_nonarray: I16VEC3 */
+#line 2092 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
(yyval.interm.type).setVector(3);
}
-#line 8057 "MachineIndependent/glslang_tab.cpp"
+#line 8082 "MachineIndependent/glslang_tab.cpp"
break;
- case 276: /* type_specifier_nonarray: I16VEC4 */
-#line 2089 "MachineIndependent/glslang.y"
+ case 277: /* type_specifier_nonarray: I16VEC4 */
+#line 2098 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
(yyval.interm.type).setVector(4);
}
-#line 8068 "MachineIndependent/glslang_tab.cpp"
+#line 8093 "MachineIndependent/glslang_tab.cpp"
break;
- case 277: /* type_specifier_nonarray: I32VEC2 */
-#line 2095 "MachineIndependent/glslang.y"
+ case 278: /* type_specifier_nonarray: I32VEC2 */
+#line 2104 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(2);
}
-#line 8079 "MachineIndependent/glslang_tab.cpp"
+#line 8104 "MachineIndependent/glslang_tab.cpp"
break;
- case 278: /* type_specifier_nonarray: I32VEC3 */
-#line 2101 "MachineIndependent/glslang.y"
+ case 279: /* type_specifier_nonarray: I32VEC3 */
+#line 2110 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(3);
}
-#line 8090 "MachineIndependent/glslang_tab.cpp"
+#line 8115 "MachineIndependent/glslang_tab.cpp"
break;
- case 279: /* type_specifier_nonarray: I32VEC4 */
-#line 2107 "MachineIndependent/glslang.y"
+ case 280: /* type_specifier_nonarray: I32VEC4 */
+#line 2116 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(4);
}
-#line 8101 "MachineIndependent/glslang_tab.cpp"
+#line 8126 "MachineIndependent/glslang_tab.cpp"
break;
- case 280: /* type_specifier_nonarray: I64VEC2 */
-#line 2113 "MachineIndependent/glslang.y"
+ case 281: /* type_specifier_nonarray: I64VEC2 */
+#line 2122 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(2);
}
-#line 8112 "MachineIndependent/glslang_tab.cpp"
+#line 8137 "MachineIndependent/glslang_tab.cpp"
break;
- case 281: /* type_specifier_nonarray: I64VEC3 */
-#line 2119 "MachineIndependent/glslang.y"
+ case 282: /* type_specifier_nonarray: I64VEC3 */
+#line 2128 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(3);
}
-#line 8123 "MachineIndependent/glslang_tab.cpp"
+#line 8148 "MachineIndependent/glslang_tab.cpp"
break;
- case 282: /* type_specifier_nonarray: I64VEC4 */
-#line 2125 "MachineIndependent/glslang.y"
+ case 283: /* type_specifier_nonarray: I64VEC4 */
+#line 2134 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(4);
}
-#line 8134 "MachineIndependent/glslang_tab.cpp"
+#line 8159 "MachineIndependent/glslang_tab.cpp"
break;
- case 283: /* type_specifier_nonarray: U8VEC2 */
-#line 2131 "MachineIndependent/glslang.y"
+ case 284: /* type_specifier_nonarray: U8VEC2 */
+#line 2140 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(2);
}
-#line 8145 "MachineIndependent/glslang_tab.cpp"
+#line 8170 "MachineIndependent/glslang_tab.cpp"
break;
- case 284: /* type_specifier_nonarray: U8VEC3 */
-#line 2137 "MachineIndependent/glslang.y"
+ case 285: /* type_specifier_nonarray: U8VEC3 */
+#line 2146 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(3);
}
-#line 8156 "MachineIndependent/glslang_tab.cpp"
+#line 8181 "MachineIndependent/glslang_tab.cpp"
break;
- case 285: /* type_specifier_nonarray: U8VEC4 */
-#line 2143 "MachineIndependent/glslang.y"
+ case 286: /* type_specifier_nonarray: U8VEC4 */
+#line 2152 "MachineIndependent/glslang.y"
{
parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(4);
}
-#line 8167 "MachineIndependent/glslang_tab.cpp"
+#line 8192 "MachineIndependent/glslang_tab.cpp"
break;
- case 286: /* type_specifier_nonarray: U16VEC2 */
-#line 2149 "MachineIndependent/glslang.y"
+ case 287: /* type_specifier_nonarray: U16VEC2 */
+#line 2158 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(2);
}
-#line 8178 "MachineIndependent/glslang_tab.cpp"
+#line 8203 "MachineIndependent/glslang_tab.cpp"
break;
- case 287: /* type_specifier_nonarray: U16VEC3 */
-#line 2155 "MachineIndependent/glslang.y"
+ case 288: /* type_specifier_nonarray: U16VEC3 */
+#line 2164 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(3);
}
-#line 8189 "MachineIndependent/glslang_tab.cpp"
+#line 8214 "MachineIndependent/glslang_tab.cpp"
break;
- case 288: /* type_specifier_nonarray: U16VEC4 */
-#line 2161 "MachineIndependent/glslang.y"
+ case 289: /* type_specifier_nonarray: U16VEC4 */
+#line 2170 "MachineIndependent/glslang.y"
{
parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(4);
}
-#line 8200 "MachineIndependent/glslang_tab.cpp"
+#line 8225 "MachineIndependent/glslang_tab.cpp"
break;
- case 289: /* type_specifier_nonarray: U32VEC2 */
-#line 2167 "MachineIndependent/glslang.y"
+ case 290: /* type_specifier_nonarray: U32VEC2 */
+#line 2176 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(2);
}
-#line 8211 "MachineIndependent/glslang_tab.cpp"
+#line 8236 "MachineIndependent/glslang_tab.cpp"
break;
- case 290: /* type_specifier_nonarray: U32VEC3 */
-#line 2173 "MachineIndependent/glslang.y"
+ case 291: /* type_specifier_nonarray: U32VEC3 */
+#line 2182 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(3);
}
-#line 8222 "MachineIndependent/glslang_tab.cpp"
+#line 8247 "MachineIndependent/glslang_tab.cpp"
break;
- case 291: /* type_specifier_nonarray: U32VEC4 */
-#line 2179 "MachineIndependent/glslang.y"
+ case 292: /* type_specifier_nonarray: U32VEC4 */
+#line 2188 "MachineIndependent/glslang.y"
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(4);
}
-#line 8233 "MachineIndependent/glslang_tab.cpp"
+#line 8258 "MachineIndependent/glslang_tab.cpp"
break;
- case 292: /* type_specifier_nonarray: U64VEC2 */
-#line 2185 "MachineIndependent/glslang.y"
+ case 293: /* type_specifier_nonarray: U64VEC2 */
+#line 2194 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(2);
}
-#line 8244 "MachineIndependent/glslang_tab.cpp"
+#line 8269 "MachineIndependent/glslang_tab.cpp"
break;
- case 293: /* type_specifier_nonarray: U64VEC3 */
-#line 2191 "MachineIndependent/glslang.y"
+ case 294: /* type_specifier_nonarray: U64VEC3 */
+#line 2200 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(3);
}
-#line 8255 "MachineIndependent/glslang_tab.cpp"
+#line 8280 "MachineIndependent/glslang_tab.cpp"
break;
- case 294: /* type_specifier_nonarray: U64VEC4 */
-#line 2197 "MachineIndependent/glslang.y"
+ case 295: /* type_specifier_nonarray: U64VEC4 */
+#line 2206 "MachineIndependent/glslang.y"
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(4);
}
-#line 8266 "MachineIndependent/glslang_tab.cpp"
+#line 8291 "MachineIndependent/glslang_tab.cpp"
break;
- case 295: /* type_specifier_nonarray: DMAT2 */
-#line 2203 "MachineIndependent/glslang.y"
+ case 296: /* type_specifier_nonarray: DMAT2 */
+#line 2212 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8275,11 +8300,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8279 "MachineIndependent/glslang_tab.cpp"
+#line 8304 "MachineIndependent/glslang_tab.cpp"
break;
- case 296: /* type_specifier_nonarray: DMAT3 */
-#line 2211 "MachineIndependent/glslang.y"
+ case 297: /* type_specifier_nonarray: DMAT3 */
+#line 2220 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8288,11 +8313,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8292 "MachineIndependent/glslang_tab.cpp"
+#line 8317 "MachineIndependent/glslang_tab.cpp"
break;
- case 297: /* type_specifier_nonarray: DMAT4 */
-#line 2219 "MachineIndependent/glslang.y"
+ case 298: /* type_specifier_nonarray: DMAT4 */
+#line 2228 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8301,11 +8326,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8305 "MachineIndependent/glslang_tab.cpp"
+#line 8330 "MachineIndependent/glslang_tab.cpp"
break;
- case 298: /* type_specifier_nonarray: DMAT2X2 */
-#line 2227 "MachineIndependent/glslang.y"
+ case 299: /* type_specifier_nonarray: DMAT2X2 */
+#line 2236 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8314,11 +8339,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8318 "MachineIndependent/glslang_tab.cpp"
+#line 8343 "MachineIndependent/glslang_tab.cpp"
break;
- case 299: /* type_specifier_nonarray: DMAT2X3 */
-#line 2235 "MachineIndependent/glslang.y"
+ case 300: /* type_specifier_nonarray: DMAT2X3 */
+#line 2244 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8327,11 +8352,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8331 "MachineIndependent/glslang_tab.cpp"
+#line 8356 "MachineIndependent/glslang_tab.cpp"
break;
- case 300: /* type_specifier_nonarray: DMAT2X4 */
-#line 2243 "MachineIndependent/glslang.y"
+ case 301: /* type_specifier_nonarray: DMAT2X4 */
+#line 2252 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8340,11 +8365,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8344 "MachineIndependent/glslang_tab.cpp"
+#line 8369 "MachineIndependent/glslang_tab.cpp"
break;
- case 301: /* type_specifier_nonarray: DMAT3X2 */
-#line 2251 "MachineIndependent/glslang.y"
+ case 302: /* type_specifier_nonarray: DMAT3X2 */
+#line 2260 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8353,11 +8378,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8357 "MachineIndependent/glslang_tab.cpp"
+#line 8382 "MachineIndependent/glslang_tab.cpp"
break;
- case 302: /* type_specifier_nonarray: DMAT3X3 */
-#line 2259 "MachineIndependent/glslang.y"
+ case 303: /* type_specifier_nonarray: DMAT3X3 */
+#line 2268 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8366,11 +8391,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8370 "MachineIndependent/glslang_tab.cpp"
+#line 8395 "MachineIndependent/glslang_tab.cpp"
break;
- case 303: /* type_specifier_nonarray: DMAT3X4 */
-#line 2267 "MachineIndependent/glslang.y"
+ case 304: /* type_specifier_nonarray: DMAT3X4 */
+#line 2276 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8379,11 +8404,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8383 "MachineIndependent/glslang_tab.cpp"
+#line 8408 "MachineIndependent/glslang_tab.cpp"
break;
- case 304: /* type_specifier_nonarray: DMAT4X2 */
-#line 2275 "MachineIndependent/glslang.y"
+ case 305: /* type_specifier_nonarray: DMAT4X2 */
+#line 2284 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8392,11 +8417,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8396 "MachineIndependent/glslang_tab.cpp"
+#line 8421 "MachineIndependent/glslang_tab.cpp"
break;
- case 305: /* type_specifier_nonarray: DMAT4X3 */
-#line 2283 "MachineIndependent/glslang.y"
+ case 306: /* type_specifier_nonarray: DMAT4X3 */
+#line 2292 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8405,11 +8430,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8409 "MachineIndependent/glslang_tab.cpp"
+#line 8434 "MachineIndependent/glslang_tab.cpp"
break;
- case 306: /* type_specifier_nonarray: DMAT4X4 */
-#line 2291 "MachineIndependent/glslang.y"
+ case 307: /* type_specifier_nonarray: DMAT4X4 */
+#line 2300 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");
if (! parseContext.symbolTable.atBuiltInLevel())
@@ -8418,2228 +8443,2228 @@ yyreduce:
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8422 "MachineIndependent/glslang_tab.cpp"
+#line 8447 "MachineIndependent/glslang_tab.cpp"
break;
- case 307: /* type_specifier_nonarray: F16MAT2 */
-#line 2299 "MachineIndependent/glslang.y"
+ case 308: /* type_specifier_nonarray: F16MAT2 */
+#line 2308 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8433 "MachineIndependent/glslang_tab.cpp"
+#line 8458 "MachineIndependent/glslang_tab.cpp"
break;
- case 308: /* type_specifier_nonarray: F16MAT3 */
-#line 2305 "MachineIndependent/glslang.y"
+ case 309: /* type_specifier_nonarray: F16MAT3 */
+#line 2314 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8444 "MachineIndependent/glslang_tab.cpp"
+#line 8469 "MachineIndependent/glslang_tab.cpp"
break;
- case 309: /* type_specifier_nonarray: F16MAT4 */
-#line 2311 "MachineIndependent/glslang.y"
+ case 310: /* type_specifier_nonarray: F16MAT4 */
+#line 2320 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8455 "MachineIndependent/glslang_tab.cpp"
+#line 8480 "MachineIndependent/glslang_tab.cpp"
break;
- case 310: /* type_specifier_nonarray: F16MAT2X2 */
-#line 2317 "MachineIndependent/glslang.y"
+ case 311: /* type_specifier_nonarray: F16MAT2X2 */
+#line 2326 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8466 "MachineIndependent/glslang_tab.cpp"
+#line 8491 "MachineIndependent/glslang_tab.cpp"
break;
- case 311: /* type_specifier_nonarray: F16MAT2X3 */
-#line 2323 "MachineIndependent/glslang.y"
+ case 312: /* type_specifier_nonarray: F16MAT2X3 */
+#line 2332 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8477 "MachineIndependent/glslang_tab.cpp"
+#line 8502 "MachineIndependent/glslang_tab.cpp"
break;
- case 312: /* type_specifier_nonarray: F16MAT2X4 */
-#line 2329 "MachineIndependent/glslang.y"
+ case 313: /* type_specifier_nonarray: F16MAT2X4 */
+#line 2338 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8488 "MachineIndependent/glslang_tab.cpp"
+#line 8513 "MachineIndependent/glslang_tab.cpp"
break;
- case 313: /* type_specifier_nonarray: F16MAT3X2 */
-#line 2335 "MachineIndependent/glslang.y"
+ case 314: /* type_specifier_nonarray: F16MAT3X2 */
+#line 2344 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8499 "MachineIndependent/glslang_tab.cpp"
+#line 8524 "MachineIndependent/glslang_tab.cpp"
break;
- case 314: /* type_specifier_nonarray: F16MAT3X3 */
-#line 2341 "MachineIndependent/glslang.y"
+ case 315: /* type_specifier_nonarray: F16MAT3X3 */
+#line 2350 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8510 "MachineIndependent/glslang_tab.cpp"
+#line 8535 "MachineIndependent/glslang_tab.cpp"
break;
- case 315: /* type_specifier_nonarray: F16MAT3X4 */
-#line 2347 "MachineIndependent/glslang.y"
+ case 316: /* type_specifier_nonarray: F16MAT3X4 */
+#line 2356 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8521 "MachineIndependent/glslang_tab.cpp"
+#line 8546 "MachineIndependent/glslang_tab.cpp"
break;
- case 316: /* type_specifier_nonarray: F16MAT4X2 */
-#line 2353 "MachineIndependent/glslang.y"
+ case 317: /* type_specifier_nonarray: F16MAT4X2 */
+#line 2362 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8532 "MachineIndependent/glslang_tab.cpp"
+#line 8557 "MachineIndependent/glslang_tab.cpp"
break;
- case 317: /* type_specifier_nonarray: F16MAT4X3 */
-#line 2359 "MachineIndependent/glslang.y"
+ case 318: /* type_specifier_nonarray: F16MAT4X3 */
+#line 2368 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8543 "MachineIndependent/glslang_tab.cpp"
+#line 8568 "MachineIndependent/glslang_tab.cpp"
break;
- case 318: /* type_specifier_nonarray: F16MAT4X4 */
-#line 2365 "MachineIndependent/glslang.y"
+ case 319: /* type_specifier_nonarray: F16MAT4X4 */
+#line 2374 "MachineIndependent/glslang.y"
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8554 "MachineIndependent/glslang_tab.cpp"
+#line 8579 "MachineIndependent/glslang_tab.cpp"
break;
- case 319: /* type_specifier_nonarray: F32MAT2 */
-#line 2371 "MachineIndependent/glslang.y"
+ case 320: /* type_specifier_nonarray: F32MAT2 */
+#line 2380 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8565 "MachineIndependent/glslang_tab.cpp"
+#line 8590 "MachineIndependent/glslang_tab.cpp"
break;
- case 320: /* type_specifier_nonarray: F32MAT3 */
-#line 2377 "MachineIndependent/glslang.y"
+ case 321: /* type_specifier_nonarray: F32MAT3 */
+#line 2386 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8576 "MachineIndependent/glslang_tab.cpp"
+#line 8601 "MachineIndependent/glslang_tab.cpp"
break;
- case 321: /* type_specifier_nonarray: F32MAT4 */
-#line 2383 "MachineIndependent/glslang.y"
+ case 322: /* type_specifier_nonarray: F32MAT4 */
+#line 2392 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8587 "MachineIndependent/glslang_tab.cpp"
+#line 8612 "MachineIndependent/glslang_tab.cpp"
break;
- case 322: /* type_specifier_nonarray: F32MAT2X2 */
-#line 2389 "MachineIndependent/glslang.y"
+ case 323: /* type_specifier_nonarray: F32MAT2X2 */
+#line 2398 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8598 "MachineIndependent/glslang_tab.cpp"
+#line 8623 "MachineIndependent/glslang_tab.cpp"
break;
- case 323: /* type_specifier_nonarray: F32MAT2X3 */
-#line 2395 "MachineIndependent/glslang.y"
+ case 324: /* type_specifier_nonarray: F32MAT2X3 */
+#line 2404 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8609 "MachineIndependent/glslang_tab.cpp"
+#line 8634 "MachineIndependent/glslang_tab.cpp"
break;
- case 324: /* type_specifier_nonarray: F32MAT2X4 */
-#line 2401 "MachineIndependent/glslang.y"
+ case 325: /* type_specifier_nonarray: F32MAT2X4 */
+#line 2410 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8620 "MachineIndependent/glslang_tab.cpp"
+#line 8645 "MachineIndependent/glslang_tab.cpp"
break;
- case 325: /* type_specifier_nonarray: F32MAT3X2 */
-#line 2407 "MachineIndependent/glslang.y"
+ case 326: /* type_specifier_nonarray: F32MAT3X2 */
+#line 2416 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8631 "MachineIndependent/glslang_tab.cpp"
+#line 8656 "MachineIndependent/glslang_tab.cpp"
break;
- case 326: /* type_specifier_nonarray: F32MAT3X3 */
-#line 2413 "MachineIndependent/glslang.y"
+ case 327: /* type_specifier_nonarray: F32MAT3X3 */
+#line 2422 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8642 "MachineIndependent/glslang_tab.cpp"
+#line 8667 "MachineIndependent/glslang_tab.cpp"
break;
- case 327: /* type_specifier_nonarray: F32MAT3X4 */
-#line 2419 "MachineIndependent/glslang.y"
+ case 328: /* type_specifier_nonarray: F32MAT3X4 */
+#line 2428 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8653 "MachineIndependent/glslang_tab.cpp"
+#line 8678 "MachineIndependent/glslang_tab.cpp"
break;
- case 328: /* type_specifier_nonarray: F32MAT4X2 */
-#line 2425 "MachineIndependent/glslang.y"
+ case 329: /* type_specifier_nonarray: F32MAT4X2 */
+#line 2434 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8664 "MachineIndependent/glslang_tab.cpp"
+#line 8689 "MachineIndependent/glslang_tab.cpp"
break;
- case 329: /* type_specifier_nonarray: F32MAT4X3 */
-#line 2431 "MachineIndependent/glslang.y"
+ case 330: /* type_specifier_nonarray: F32MAT4X3 */
+#line 2440 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8675 "MachineIndependent/glslang_tab.cpp"
+#line 8700 "MachineIndependent/glslang_tab.cpp"
break;
- case 330: /* type_specifier_nonarray: F32MAT4X4 */
-#line 2437 "MachineIndependent/glslang.y"
+ case 331: /* type_specifier_nonarray: F32MAT4X4 */
+#line 2446 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8686 "MachineIndependent/glslang_tab.cpp"
+#line 8711 "MachineIndependent/glslang_tab.cpp"
break;
- case 331: /* type_specifier_nonarray: F64MAT2 */
-#line 2443 "MachineIndependent/glslang.y"
+ case 332: /* type_specifier_nonarray: F64MAT2 */
+#line 2452 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8697 "MachineIndependent/glslang_tab.cpp"
+#line 8722 "MachineIndependent/glslang_tab.cpp"
break;
- case 332: /* type_specifier_nonarray: F64MAT3 */
-#line 2449 "MachineIndependent/glslang.y"
+ case 333: /* type_specifier_nonarray: F64MAT3 */
+#line 2458 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8708 "MachineIndependent/glslang_tab.cpp"
+#line 8733 "MachineIndependent/glslang_tab.cpp"
break;
- case 333: /* type_specifier_nonarray: F64MAT4 */
-#line 2455 "MachineIndependent/glslang.y"
+ case 334: /* type_specifier_nonarray: F64MAT4 */
+#line 2464 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8719 "MachineIndependent/glslang_tab.cpp"
+#line 8744 "MachineIndependent/glslang_tab.cpp"
break;
- case 334: /* type_specifier_nonarray: F64MAT2X2 */
-#line 2461 "MachineIndependent/glslang.y"
+ case 335: /* type_specifier_nonarray: F64MAT2X2 */
+#line 2470 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 8730 "MachineIndependent/glslang_tab.cpp"
+#line 8755 "MachineIndependent/glslang_tab.cpp"
break;
- case 335: /* type_specifier_nonarray: F64MAT2X3 */
-#line 2467 "MachineIndependent/glslang.y"
+ case 336: /* type_specifier_nonarray: F64MAT2X3 */
+#line 2476 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 8741 "MachineIndependent/glslang_tab.cpp"
+#line 8766 "MachineIndependent/glslang_tab.cpp"
break;
- case 336: /* type_specifier_nonarray: F64MAT2X4 */
-#line 2473 "MachineIndependent/glslang.y"
+ case 337: /* type_specifier_nonarray: F64MAT2X4 */
+#line 2482 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 8752 "MachineIndependent/glslang_tab.cpp"
+#line 8777 "MachineIndependent/glslang_tab.cpp"
break;
- case 337: /* type_specifier_nonarray: F64MAT3X2 */
-#line 2479 "MachineIndependent/glslang.y"
+ case 338: /* type_specifier_nonarray: F64MAT3X2 */
+#line 2488 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 8763 "MachineIndependent/glslang_tab.cpp"
+#line 8788 "MachineIndependent/glslang_tab.cpp"
break;
- case 338: /* type_specifier_nonarray: F64MAT3X3 */
-#line 2485 "MachineIndependent/glslang.y"
+ case 339: /* type_specifier_nonarray: F64MAT3X3 */
+#line 2494 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 8774 "MachineIndependent/glslang_tab.cpp"
+#line 8799 "MachineIndependent/glslang_tab.cpp"
break;
- case 339: /* type_specifier_nonarray: F64MAT3X4 */
-#line 2491 "MachineIndependent/glslang.y"
+ case 340: /* type_specifier_nonarray: F64MAT3X4 */
+#line 2500 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 8785 "MachineIndependent/glslang_tab.cpp"
+#line 8810 "MachineIndependent/glslang_tab.cpp"
break;
- case 340: /* type_specifier_nonarray: F64MAT4X2 */
-#line 2497 "MachineIndependent/glslang.y"
+ case 341: /* type_specifier_nonarray: F64MAT4X2 */
+#line 2506 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 8796 "MachineIndependent/glslang_tab.cpp"
+#line 8821 "MachineIndependent/glslang_tab.cpp"
break;
- case 341: /* type_specifier_nonarray: F64MAT4X3 */
-#line 2503 "MachineIndependent/glslang.y"
+ case 342: /* type_specifier_nonarray: F64MAT4X3 */
+#line 2512 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 8807 "MachineIndependent/glslang_tab.cpp"
+#line 8832 "MachineIndependent/glslang_tab.cpp"
break;
- case 342: /* type_specifier_nonarray: F64MAT4X4 */
-#line 2509 "MachineIndependent/glslang.y"
+ case 343: /* type_specifier_nonarray: F64MAT4X4 */
+#line 2518 "MachineIndependent/glslang.y"
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 8818 "MachineIndependent/glslang_tab.cpp"
+#line 8843 "MachineIndependent/glslang_tab.cpp"
break;
- case 343: /* type_specifier_nonarray: ACCSTRUCTNV */
-#line 2515 "MachineIndependent/glslang.y"
+ case 344: /* type_specifier_nonarray: ACCSTRUCTNV */
+#line 2524 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAccStruct;
}
-#line 8827 "MachineIndependent/glslang_tab.cpp"
+#line 8852 "MachineIndependent/glslang_tab.cpp"
break;
- case 344: /* type_specifier_nonarray: ACCSTRUCTEXT */
-#line 2519 "MachineIndependent/glslang.y"
+ case 345: /* type_specifier_nonarray: ACCSTRUCTEXT */
+#line 2528 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAccStruct;
}
-#line 8836 "MachineIndependent/glslang_tab.cpp"
+#line 8861 "MachineIndependent/glslang_tab.cpp"
break;
- case 345: /* type_specifier_nonarray: RAYQUERYEXT */
-#line 2523 "MachineIndependent/glslang.y"
+ case 346: /* type_specifier_nonarray: RAYQUERYEXT */
+#line 2532 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtRayQuery;
}
-#line 8845 "MachineIndependent/glslang_tab.cpp"
+#line 8870 "MachineIndependent/glslang_tab.cpp"
break;
- case 346: /* type_specifier_nonarray: ATOMIC_UINT */
-#line 2527 "MachineIndependent/glslang.y"
+ case 347: /* type_specifier_nonarray: ATOMIC_UINT */
+#line 2536 "MachineIndependent/glslang.y"
{
parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAtomicUint;
}
-#line 8855 "MachineIndependent/glslang_tab.cpp"
+#line 8880 "MachineIndependent/glslang_tab.cpp"
break;
- case 347: /* type_specifier_nonarray: SAMPLER1D */
-#line 2532 "MachineIndependent/glslang.y"
+ case 348: /* type_specifier_nonarray: SAMPLER1D */
+#line 2541 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D);
}
-#line 8865 "MachineIndependent/glslang_tab.cpp"
+#line 8890 "MachineIndependent/glslang_tab.cpp"
break;
- case 348: /* type_specifier_nonarray: SAMPLER2D */
-#line 2538 "MachineIndependent/glslang.y"
+ case 349: /* type_specifier_nonarray: SAMPLER2D */
+#line 2547 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
}
-#line 8875 "MachineIndependent/glslang_tab.cpp"
+#line 8900 "MachineIndependent/glslang_tab.cpp"
break;
- case 349: /* type_specifier_nonarray: SAMPLER3D */
-#line 2543 "MachineIndependent/glslang.y"
+ case 350: /* type_specifier_nonarray: SAMPLER3D */
+#line 2552 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd3D);
}
-#line 8885 "MachineIndependent/glslang_tab.cpp"
+#line 8910 "MachineIndependent/glslang_tab.cpp"
break;
- case 350: /* type_specifier_nonarray: SAMPLERCUBE */
-#line 2548 "MachineIndependent/glslang.y"
+ case 351: /* type_specifier_nonarray: SAMPLERCUBE */
+#line 2557 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube);
}
-#line 8895 "MachineIndependent/glslang_tab.cpp"
+#line 8920 "MachineIndependent/glslang_tab.cpp"
break;
- case 351: /* type_specifier_nonarray: SAMPLER2DSHADOW */
-#line 2553 "MachineIndependent/glslang.y"
+ case 352: /* type_specifier_nonarray: SAMPLER2DSHADOW */
+#line 2562 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
}
-#line 8905 "MachineIndependent/glslang_tab.cpp"
+#line 8930 "MachineIndependent/glslang_tab.cpp"
break;
- case 352: /* type_specifier_nonarray: SAMPLERCUBESHADOW */
-#line 2558 "MachineIndependent/glslang.y"
+ case 353: /* type_specifier_nonarray: SAMPLERCUBESHADOW */
+#line 2567 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
}
-#line 8915 "MachineIndependent/glslang_tab.cpp"
+#line 8940 "MachineIndependent/glslang_tab.cpp"
break;
- case 353: /* type_specifier_nonarray: SAMPLER2DARRAY */
-#line 2563 "MachineIndependent/glslang.y"
+ case 354: /* type_specifier_nonarray: SAMPLER2DARRAY */
+#line 2572 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
}
-#line 8925 "MachineIndependent/glslang_tab.cpp"
+#line 8950 "MachineIndependent/glslang_tab.cpp"
break;
- case 354: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */
-#line 2568 "MachineIndependent/glslang.y"
+ case 355: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */
+#line 2577 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
}
-#line 8935 "MachineIndependent/glslang_tab.cpp"
+#line 8960 "MachineIndependent/glslang_tab.cpp"
break;
- case 355: /* type_specifier_nonarray: SAMPLER1DSHADOW */
-#line 2574 "MachineIndependent/glslang.y"
+ case 356: /* type_specifier_nonarray: SAMPLER1DSHADOW */
+#line 2583 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
}
-#line 8945 "MachineIndependent/glslang_tab.cpp"
+#line 8970 "MachineIndependent/glslang_tab.cpp"
break;
- case 356: /* type_specifier_nonarray: SAMPLER1DARRAY */
-#line 2579 "MachineIndependent/glslang.y"
+ case 357: /* type_specifier_nonarray: SAMPLER1DARRAY */
+#line 2588 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
}
-#line 8955 "MachineIndependent/glslang_tab.cpp"
+#line 8980 "MachineIndependent/glslang_tab.cpp"
break;
- case 357: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */
-#line 2584 "MachineIndependent/glslang.y"
+ case 358: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */
+#line 2593 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
}
-#line 8965 "MachineIndependent/glslang_tab.cpp"
+#line 8990 "MachineIndependent/glslang_tab.cpp"
break;
- case 358: /* type_specifier_nonarray: SAMPLERCUBEARRAY */
-#line 2589 "MachineIndependent/glslang.y"
+ case 359: /* type_specifier_nonarray: SAMPLERCUBEARRAY */
+#line 2598 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
}
-#line 8975 "MachineIndependent/glslang_tab.cpp"
+#line 9000 "MachineIndependent/glslang_tab.cpp"
break;
- case 359: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */
-#line 2594 "MachineIndependent/glslang.y"
+ case 360: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */
+#line 2603 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
}
-#line 8985 "MachineIndependent/glslang_tab.cpp"
+#line 9010 "MachineIndependent/glslang_tab.cpp"
break;
- case 360: /* type_specifier_nonarray: F16SAMPLER1D */
-#line 2599 "MachineIndependent/glslang.y"
+ case 361: /* type_specifier_nonarray: F16SAMPLER1D */
+#line 2608 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
}
-#line 8996 "MachineIndependent/glslang_tab.cpp"
+#line 9021 "MachineIndependent/glslang_tab.cpp"
break;
- case 361: /* type_specifier_nonarray: F16SAMPLER2D */
-#line 2605 "MachineIndependent/glslang.y"
+ case 362: /* type_specifier_nonarray: F16SAMPLER2D */
+#line 2614 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
}
-#line 9007 "MachineIndependent/glslang_tab.cpp"
+#line 9032 "MachineIndependent/glslang_tab.cpp"
break;
- case 362: /* type_specifier_nonarray: F16SAMPLER3D */
-#line 2611 "MachineIndependent/glslang.y"
+ case 363: /* type_specifier_nonarray: F16SAMPLER3D */
+#line 2620 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
}
-#line 9018 "MachineIndependent/glslang_tab.cpp"
+#line 9043 "MachineIndependent/glslang_tab.cpp"
break;
- case 363: /* type_specifier_nonarray: F16SAMPLERCUBE */
-#line 2617 "MachineIndependent/glslang.y"
+ case 364: /* type_specifier_nonarray: F16SAMPLERCUBE */
+#line 2626 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
}
-#line 9029 "MachineIndependent/glslang_tab.cpp"
+#line 9054 "MachineIndependent/glslang_tab.cpp"
break;
- case 364: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */
-#line 2623 "MachineIndependent/glslang.y"
+ case 365: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */
+#line 2632 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
}
-#line 9040 "MachineIndependent/glslang_tab.cpp"
+#line 9065 "MachineIndependent/glslang_tab.cpp"
break;
- case 365: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */
-#line 2629 "MachineIndependent/glslang.y"
+ case 366: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */
+#line 2638 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
}
-#line 9051 "MachineIndependent/glslang_tab.cpp"
+#line 9076 "MachineIndependent/glslang_tab.cpp"
break;
- case 366: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */
-#line 2635 "MachineIndependent/glslang.y"
+ case 367: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */
+#line 2644 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
}
-#line 9062 "MachineIndependent/glslang_tab.cpp"
+#line 9087 "MachineIndependent/glslang_tab.cpp"
break;
- case 367: /* type_specifier_nonarray: F16SAMPLER1DARRAY */
-#line 2641 "MachineIndependent/glslang.y"
+ case 368: /* type_specifier_nonarray: F16SAMPLER1DARRAY */
+#line 2650 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
}
-#line 9073 "MachineIndependent/glslang_tab.cpp"
+#line 9098 "MachineIndependent/glslang_tab.cpp"
break;
- case 368: /* type_specifier_nonarray: F16SAMPLER2DARRAY */
-#line 2647 "MachineIndependent/glslang.y"
+ case 369: /* type_specifier_nonarray: F16SAMPLER2DARRAY */
+#line 2656 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
}
-#line 9084 "MachineIndependent/glslang_tab.cpp"
+#line 9109 "MachineIndependent/glslang_tab.cpp"
break;
- case 369: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */
-#line 2653 "MachineIndependent/glslang.y"
+ case 370: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */
+#line 2662 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
}
-#line 9095 "MachineIndependent/glslang_tab.cpp"
+#line 9120 "MachineIndependent/glslang_tab.cpp"
break;
- case 370: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */
-#line 2659 "MachineIndependent/glslang.y"
+ case 371: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */
+#line 2668 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
}
-#line 9106 "MachineIndependent/glslang_tab.cpp"
+#line 9131 "MachineIndependent/glslang_tab.cpp"
break;
- case 371: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */
-#line 2665 "MachineIndependent/glslang.y"
+ case 372: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */
+#line 2674 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
}
-#line 9117 "MachineIndependent/glslang_tab.cpp"
+#line 9142 "MachineIndependent/glslang_tab.cpp"
break;
- case 372: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */
-#line 2671 "MachineIndependent/glslang.y"
+ case 373: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */
+#line 2680 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
}
-#line 9128 "MachineIndependent/glslang_tab.cpp"
+#line 9153 "MachineIndependent/glslang_tab.cpp"
break;
- case 373: /* type_specifier_nonarray: ISAMPLER1D */
-#line 2677 "MachineIndependent/glslang.y"
+ case 374: /* type_specifier_nonarray: ISAMPLER1D */
+#line 2686 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd1D);
}
-#line 9138 "MachineIndependent/glslang_tab.cpp"
+#line 9163 "MachineIndependent/glslang_tab.cpp"
break;
- case 374: /* type_specifier_nonarray: ISAMPLER2D */
-#line 2683 "MachineIndependent/glslang.y"
+ case 375: /* type_specifier_nonarray: ISAMPLER2D */
+#line 2692 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D);
}
-#line 9148 "MachineIndependent/glslang_tab.cpp"
+#line 9173 "MachineIndependent/glslang_tab.cpp"
break;
- case 375: /* type_specifier_nonarray: ISAMPLER3D */
-#line 2688 "MachineIndependent/glslang.y"
+ case 376: /* type_specifier_nonarray: ISAMPLER3D */
+#line 2697 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd3D);
}
-#line 9158 "MachineIndependent/glslang_tab.cpp"
+#line 9183 "MachineIndependent/glslang_tab.cpp"
break;
- case 376: /* type_specifier_nonarray: ISAMPLERCUBE */
-#line 2693 "MachineIndependent/glslang.y"
+ case 377: /* type_specifier_nonarray: ISAMPLERCUBE */
+#line 2702 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdCube);
}
-#line 9168 "MachineIndependent/glslang_tab.cpp"
+#line 9193 "MachineIndependent/glslang_tab.cpp"
break;
- case 377: /* type_specifier_nonarray: ISAMPLER2DARRAY */
-#line 2698 "MachineIndependent/glslang.y"
+ case 378: /* type_specifier_nonarray: ISAMPLER2DARRAY */
+#line 2707 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
}
-#line 9178 "MachineIndependent/glslang_tab.cpp"
+#line 9203 "MachineIndependent/glslang_tab.cpp"
break;
- case 378: /* type_specifier_nonarray: USAMPLER2D */
-#line 2703 "MachineIndependent/glslang.y"
+ case 379: /* type_specifier_nonarray: USAMPLER2D */
+#line 2712 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D);
}
-#line 9188 "MachineIndependent/glslang_tab.cpp"
+#line 9213 "MachineIndependent/glslang_tab.cpp"
break;
- case 379: /* type_specifier_nonarray: USAMPLER3D */
-#line 2708 "MachineIndependent/glslang.y"
+ case 380: /* type_specifier_nonarray: USAMPLER3D */
+#line 2717 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd3D);
}
-#line 9198 "MachineIndependent/glslang_tab.cpp"
+#line 9223 "MachineIndependent/glslang_tab.cpp"
break;
- case 380: /* type_specifier_nonarray: USAMPLERCUBE */
-#line 2713 "MachineIndependent/glslang.y"
+ case 381: /* type_specifier_nonarray: USAMPLERCUBE */
+#line 2722 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdCube);
}
-#line 9208 "MachineIndependent/glslang_tab.cpp"
+#line 9233 "MachineIndependent/glslang_tab.cpp"
break;
- case 381: /* type_specifier_nonarray: ISAMPLER1DARRAY */
-#line 2719 "MachineIndependent/glslang.y"
+ case 382: /* type_specifier_nonarray: ISAMPLER1DARRAY */
+#line 2728 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
}
-#line 9218 "MachineIndependent/glslang_tab.cpp"
+#line 9243 "MachineIndependent/glslang_tab.cpp"
break;
- case 382: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */
-#line 2724 "MachineIndependent/glslang.y"
+ case 383: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */
+#line 2733 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
}
-#line 9228 "MachineIndependent/glslang_tab.cpp"
+#line 9253 "MachineIndependent/glslang_tab.cpp"
break;
- case 383: /* type_specifier_nonarray: USAMPLER1D */
-#line 2729 "MachineIndependent/glslang.y"
+ case 384: /* type_specifier_nonarray: USAMPLER1D */
+#line 2738 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd1D);
}
-#line 9238 "MachineIndependent/glslang_tab.cpp"
+#line 9263 "MachineIndependent/glslang_tab.cpp"
break;
- case 384: /* type_specifier_nonarray: USAMPLER1DARRAY */
-#line 2734 "MachineIndependent/glslang.y"
+ case 385: /* type_specifier_nonarray: USAMPLER1DARRAY */
+#line 2743 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
}
-#line 9248 "MachineIndependent/glslang_tab.cpp"
+#line 9273 "MachineIndependent/glslang_tab.cpp"
break;
- case 385: /* type_specifier_nonarray: USAMPLERCUBEARRAY */
-#line 2739 "MachineIndependent/glslang.y"
+ case 386: /* type_specifier_nonarray: USAMPLERCUBEARRAY */
+#line 2748 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
}
-#line 9258 "MachineIndependent/glslang_tab.cpp"
+#line 9283 "MachineIndependent/glslang_tab.cpp"
break;
- case 386: /* type_specifier_nonarray: TEXTURECUBEARRAY */
-#line 2744 "MachineIndependent/glslang.y"
+ case 387: /* type_specifier_nonarray: TEXTURECUBEARRAY */
+#line 2753 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
}
-#line 9268 "MachineIndependent/glslang_tab.cpp"
+#line 9293 "MachineIndependent/glslang_tab.cpp"
break;
- case 387: /* type_specifier_nonarray: ITEXTURECUBEARRAY */
-#line 2749 "MachineIndependent/glslang.y"
+ case 388: /* type_specifier_nonarray: ITEXTURECUBEARRAY */
+#line 2758 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
}
-#line 9278 "MachineIndependent/glslang_tab.cpp"
+#line 9303 "MachineIndependent/glslang_tab.cpp"
break;
- case 388: /* type_specifier_nonarray: UTEXTURECUBEARRAY */
-#line 2754 "MachineIndependent/glslang.y"
+ case 389: /* type_specifier_nonarray: UTEXTURECUBEARRAY */
+#line 2763 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
}
-#line 9288 "MachineIndependent/glslang_tab.cpp"
+#line 9313 "MachineIndependent/glslang_tab.cpp"
break;
- case 389: /* type_specifier_nonarray: USAMPLER2DARRAY */
-#line 2760 "MachineIndependent/glslang.y"
+ case 390: /* type_specifier_nonarray: USAMPLER2DARRAY */
+#line 2769 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
}
-#line 9298 "MachineIndependent/glslang_tab.cpp"
+#line 9323 "MachineIndependent/glslang_tab.cpp"
break;
- case 390: /* type_specifier_nonarray: TEXTURE2D */
-#line 2765 "MachineIndependent/glslang.y"
+ case 391: /* type_specifier_nonarray: TEXTURE2D */
+#line 2774 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
}
-#line 9308 "MachineIndependent/glslang_tab.cpp"
+#line 9333 "MachineIndependent/glslang_tab.cpp"
break;
- case 391: /* type_specifier_nonarray: TEXTURE3D */
-#line 2770 "MachineIndependent/glslang.y"
+ case 392: /* type_specifier_nonarray: TEXTURE3D */
+#line 2779 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
}
-#line 9318 "MachineIndependent/glslang_tab.cpp"
+#line 9343 "MachineIndependent/glslang_tab.cpp"
break;
- case 392: /* type_specifier_nonarray: TEXTURE2DARRAY */
-#line 2775 "MachineIndependent/glslang.y"
+ case 393: /* type_specifier_nonarray: TEXTURE2DARRAY */
+#line 2784 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
}
-#line 9328 "MachineIndependent/glslang_tab.cpp"
+#line 9353 "MachineIndependent/glslang_tab.cpp"
break;
- case 393: /* type_specifier_nonarray: TEXTURECUBE */
-#line 2780 "MachineIndependent/glslang.y"
+ case 394: /* type_specifier_nonarray: TEXTURECUBE */
+#line 2789 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
}
-#line 9338 "MachineIndependent/glslang_tab.cpp"
+#line 9363 "MachineIndependent/glslang_tab.cpp"
break;
- case 394: /* type_specifier_nonarray: ITEXTURE2D */
-#line 2785 "MachineIndependent/glslang.y"
+ case 395: /* type_specifier_nonarray: ITEXTURE2D */
+#line 2794 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
}
-#line 9348 "MachineIndependent/glslang_tab.cpp"
+#line 9373 "MachineIndependent/glslang_tab.cpp"
break;
- case 395: /* type_specifier_nonarray: ITEXTURE3D */
-#line 2790 "MachineIndependent/glslang.y"
+ case 396: /* type_specifier_nonarray: ITEXTURE3D */
+#line 2799 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
}
-#line 9358 "MachineIndependent/glslang_tab.cpp"
+#line 9383 "MachineIndependent/glslang_tab.cpp"
break;
- case 396: /* type_specifier_nonarray: ITEXTURECUBE */
-#line 2795 "MachineIndependent/glslang.y"
+ case 397: /* type_specifier_nonarray: ITEXTURECUBE */
+#line 2804 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
}
-#line 9368 "MachineIndependent/glslang_tab.cpp"
+#line 9393 "MachineIndependent/glslang_tab.cpp"
break;
- case 397: /* type_specifier_nonarray: ITEXTURE2DARRAY */
-#line 2800 "MachineIndependent/glslang.y"
+ case 398: /* type_specifier_nonarray: ITEXTURE2DARRAY */
+#line 2809 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
}
-#line 9378 "MachineIndependent/glslang_tab.cpp"
+#line 9403 "MachineIndependent/glslang_tab.cpp"
break;
- case 398: /* type_specifier_nonarray: UTEXTURE2D */
-#line 2805 "MachineIndependent/glslang.y"
+ case 399: /* type_specifier_nonarray: UTEXTURE2D */
+#line 2814 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
}
-#line 9388 "MachineIndependent/glslang_tab.cpp"
+#line 9413 "MachineIndependent/glslang_tab.cpp"
break;
- case 399: /* type_specifier_nonarray: UTEXTURE3D */
-#line 2810 "MachineIndependent/glslang.y"
+ case 400: /* type_specifier_nonarray: UTEXTURE3D */
+#line 2819 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
}
-#line 9398 "MachineIndependent/glslang_tab.cpp"
+#line 9423 "MachineIndependent/glslang_tab.cpp"
break;
- case 400: /* type_specifier_nonarray: UTEXTURECUBE */
-#line 2815 "MachineIndependent/glslang.y"
+ case 401: /* type_specifier_nonarray: UTEXTURECUBE */
+#line 2824 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
}
-#line 9408 "MachineIndependent/glslang_tab.cpp"
+#line 9433 "MachineIndependent/glslang_tab.cpp"
break;
- case 401: /* type_specifier_nonarray: UTEXTURE2DARRAY */
-#line 2820 "MachineIndependent/glslang.y"
+ case 402: /* type_specifier_nonarray: UTEXTURE2DARRAY */
+#line 2829 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
}
-#line 9418 "MachineIndependent/glslang_tab.cpp"
+#line 9443 "MachineIndependent/glslang_tab.cpp"
break;
- case 402: /* type_specifier_nonarray: SAMPLER */
-#line 2825 "MachineIndependent/glslang.y"
+ case 403: /* type_specifier_nonarray: SAMPLER */
+#line 2834 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setPureSampler(false);
}
-#line 9428 "MachineIndependent/glslang_tab.cpp"
+#line 9453 "MachineIndependent/glslang_tab.cpp"
break;
- case 403: /* type_specifier_nonarray: SAMPLERSHADOW */
-#line 2830 "MachineIndependent/glslang.y"
+ case 404: /* type_specifier_nonarray: SAMPLERSHADOW */
+#line 2839 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setPureSampler(true);
}
-#line 9438 "MachineIndependent/glslang_tab.cpp"
+#line 9463 "MachineIndependent/glslang_tab.cpp"
break;
- case 404: /* type_specifier_nonarray: SAMPLER2DRECT */
-#line 2836 "MachineIndependent/glslang.y"
+ case 405: /* type_specifier_nonarray: SAMPLER2DRECT */
+#line 2845 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdRect);
}
-#line 9448 "MachineIndependent/glslang_tab.cpp"
+#line 9473 "MachineIndependent/glslang_tab.cpp"
break;
- case 405: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */
-#line 2841 "MachineIndependent/glslang.y"
+ case 406: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */
+#line 2850 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
}
-#line 9458 "MachineIndependent/glslang_tab.cpp"
+#line 9483 "MachineIndependent/glslang_tab.cpp"
break;
- case 406: /* type_specifier_nonarray: F16SAMPLER2DRECT */
-#line 2846 "MachineIndependent/glslang.y"
+ case 407: /* type_specifier_nonarray: F16SAMPLER2DRECT */
+#line 2855 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
}
-#line 9469 "MachineIndependent/glslang_tab.cpp"
+#line 9494 "MachineIndependent/glslang_tab.cpp"
break;
- case 407: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */
-#line 2852 "MachineIndependent/glslang.y"
+ case 408: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */
+#line 2861 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
}
-#line 9480 "MachineIndependent/glslang_tab.cpp"
+#line 9505 "MachineIndependent/glslang_tab.cpp"
break;
- case 408: /* type_specifier_nonarray: ISAMPLER2DRECT */
-#line 2858 "MachineIndependent/glslang.y"
+ case 409: /* type_specifier_nonarray: ISAMPLER2DRECT */
+#line 2867 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdRect);
}
-#line 9490 "MachineIndependent/glslang_tab.cpp"
+#line 9515 "MachineIndependent/glslang_tab.cpp"
break;
- case 409: /* type_specifier_nonarray: USAMPLER2DRECT */
-#line 2863 "MachineIndependent/glslang.y"
+ case 410: /* type_specifier_nonarray: USAMPLER2DRECT */
+#line 2872 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdRect);
}
-#line 9500 "MachineIndependent/glslang_tab.cpp"
+#line 9525 "MachineIndependent/glslang_tab.cpp"
break;
- case 410: /* type_specifier_nonarray: SAMPLERBUFFER */
-#line 2868 "MachineIndependent/glslang.y"
+ case 411: /* type_specifier_nonarray: SAMPLERBUFFER */
+#line 2877 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
}
-#line 9510 "MachineIndependent/glslang_tab.cpp"
+#line 9535 "MachineIndependent/glslang_tab.cpp"
break;
- case 411: /* type_specifier_nonarray: F16SAMPLERBUFFER */
-#line 2873 "MachineIndependent/glslang.y"
+ case 412: /* type_specifier_nonarray: F16SAMPLERBUFFER */
+#line 2882 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
}
-#line 9521 "MachineIndependent/glslang_tab.cpp"
+#line 9546 "MachineIndependent/glslang_tab.cpp"
break;
- case 412: /* type_specifier_nonarray: ISAMPLERBUFFER */
-#line 2879 "MachineIndependent/glslang.y"
+ case 413: /* type_specifier_nonarray: ISAMPLERBUFFER */
+#line 2888 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
}
-#line 9531 "MachineIndependent/glslang_tab.cpp"
+#line 9556 "MachineIndependent/glslang_tab.cpp"
break;
- case 413: /* type_specifier_nonarray: USAMPLERBUFFER */
-#line 2884 "MachineIndependent/glslang.y"
+ case 414: /* type_specifier_nonarray: USAMPLERBUFFER */
+#line 2893 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
}
-#line 9541 "MachineIndependent/glslang_tab.cpp"
+#line 9566 "MachineIndependent/glslang_tab.cpp"
break;
- case 414: /* type_specifier_nonarray: SAMPLER2DMS */
-#line 2889 "MachineIndependent/glslang.y"
+ case 415: /* type_specifier_nonarray: SAMPLER2DMS */
+#line 2898 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
}
-#line 9551 "MachineIndependent/glslang_tab.cpp"
+#line 9576 "MachineIndependent/glslang_tab.cpp"
break;
- case 415: /* type_specifier_nonarray: F16SAMPLER2DMS */
-#line 2894 "MachineIndependent/glslang.y"
+ case 416: /* type_specifier_nonarray: F16SAMPLER2DMS */
+#line 2903 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
}
-#line 9562 "MachineIndependent/glslang_tab.cpp"
+#line 9587 "MachineIndependent/glslang_tab.cpp"
break;
- case 416: /* type_specifier_nonarray: ISAMPLER2DMS */
-#line 2900 "MachineIndependent/glslang.y"
+ case 417: /* type_specifier_nonarray: ISAMPLER2DMS */
+#line 2909 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
}
-#line 9572 "MachineIndependent/glslang_tab.cpp"
+#line 9597 "MachineIndependent/glslang_tab.cpp"
break;
- case 417: /* type_specifier_nonarray: USAMPLER2DMS */
-#line 2905 "MachineIndependent/glslang.y"
+ case 418: /* type_specifier_nonarray: USAMPLER2DMS */
+#line 2914 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
}
-#line 9582 "MachineIndependent/glslang_tab.cpp"
+#line 9607 "MachineIndependent/glslang_tab.cpp"
break;
- case 418: /* type_specifier_nonarray: SAMPLER2DMSARRAY */
-#line 2910 "MachineIndependent/glslang.y"
+ case 419: /* type_specifier_nonarray: SAMPLER2DMSARRAY */
+#line 2919 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
}
-#line 9592 "MachineIndependent/glslang_tab.cpp"
+#line 9617 "MachineIndependent/glslang_tab.cpp"
break;
- case 419: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */
-#line 2915 "MachineIndependent/glslang.y"
+ case 420: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */
+#line 2924 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
}
-#line 9603 "MachineIndependent/glslang_tab.cpp"
+#line 9628 "MachineIndependent/glslang_tab.cpp"
break;
- case 420: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */
-#line 2921 "MachineIndependent/glslang.y"
+ case 421: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */
+#line 2930 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
}
-#line 9613 "MachineIndependent/glslang_tab.cpp"
+#line 9638 "MachineIndependent/glslang_tab.cpp"
break;
- case 421: /* type_specifier_nonarray: USAMPLER2DMSARRAY */
-#line 2926 "MachineIndependent/glslang.y"
+ case 422: /* type_specifier_nonarray: USAMPLER2DMSARRAY */
+#line 2935 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
}
-#line 9623 "MachineIndependent/glslang_tab.cpp"
+#line 9648 "MachineIndependent/glslang_tab.cpp"
break;
- case 422: /* type_specifier_nonarray: TEXTURE1D */
-#line 2931 "MachineIndependent/glslang.y"
+ case 423: /* type_specifier_nonarray: TEXTURE1D */
+#line 2940 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
}
-#line 9633 "MachineIndependent/glslang_tab.cpp"
+#line 9658 "MachineIndependent/glslang_tab.cpp"
break;
- case 423: /* type_specifier_nonarray: F16TEXTURE1D */
-#line 2936 "MachineIndependent/glslang.y"
+ case 424: /* type_specifier_nonarray: F16TEXTURE1D */
+#line 2945 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
}
-#line 9644 "MachineIndependent/glslang_tab.cpp"
+#line 9669 "MachineIndependent/glslang_tab.cpp"
break;
- case 424: /* type_specifier_nonarray: F16TEXTURE2D */
-#line 2942 "MachineIndependent/glslang.y"
+ case 425: /* type_specifier_nonarray: F16TEXTURE2D */
+#line 2951 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
}
-#line 9655 "MachineIndependent/glslang_tab.cpp"
+#line 9680 "MachineIndependent/glslang_tab.cpp"
break;
- case 425: /* type_specifier_nonarray: F16TEXTURE3D */
-#line 2948 "MachineIndependent/glslang.y"
+ case 426: /* type_specifier_nonarray: F16TEXTURE3D */
+#line 2957 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
}
-#line 9666 "MachineIndependent/glslang_tab.cpp"
+#line 9691 "MachineIndependent/glslang_tab.cpp"
break;
- case 426: /* type_specifier_nonarray: F16TEXTURECUBE */
-#line 2954 "MachineIndependent/glslang.y"
+ case 427: /* type_specifier_nonarray: F16TEXTURECUBE */
+#line 2963 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
}
-#line 9677 "MachineIndependent/glslang_tab.cpp"
+#line 9702 "MachineIndependent/glslang_tab.cpp"
break;
- case 427: /* type_specifier_nonarray: TEXTURE1DARRAY */
-#line 2960 "MachineIndependent/glslang.y"
+ case 428: /* type_specifier_nonarray: TEXTURE1DARRAY */
+#line 2969 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
}
-#line 9687 "MachineIndependent/glslang_tab.cpp"
+#line 9712 "MachineIndependent/glslang_tab.cpp"
break;
- case 428: /* type_specifier_nonarray: F16TEXTURE1DARRAY */
-#line 2965 "MachineIndependent/glslang.y"
+ case 429: /* type_specifier_nonarray: F16TEXTURE1DARRAY */
+#line 2974 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
}
-#line 9698 "MachineIndependent/glslang_tab.cpp"
+#line 9723 "MachineIndependent/glslang_tab.cpp"
break;
- case 429: /* type_specifier_nonarray: F16TEXTURE2DARRAY */
-#line 2971 "MachineIndependent/glslang.y"
+ case 430: /* type_specifier_nonarray: F16TEXTURE2DARRAY */
+#line 2980 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
}
-#line 9709 "MachineIndependent/glslang_tab.cpp"
+#line 9734 "MachineIndependent/glslang_tab.cpp"
break;
- case 430: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */
-#line 2977 "MachineIndependent/glslang.y"
+ case 431: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */
+#line 2986 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
}
-#line 9720 "MachineIndependent/glslang_tab.cpp"
+#line 9745 "MachineIndependent/glslang_tab.cpp"
break;
- case 431: /* type_specifier_nonarray: ITEXTURE1D */
-#line 2983 "MachineIndependent/glslang.y"
+ case 432: /* type_specifier_nonarray: ITEXTURE1D */
+#line 2992 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
}
-#line 9730 "MachineIndependent/glslang_tab.cpp"
+#line 9755 "MachineIndependent/glslang_tab.cpp"
break;
- case 432: /* type_specifier_nonarray: ITEXTURE1DARRAY */
-#line 2988 "MachineIndependent/glslang.y"
+ case 433: /* type_specifier_nonarray: ITEXTURE1DARRAY */
+#line 2997 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
}
-#line 9740 "MachineIndependent/glslang_tab.cpp"
+#line 9765 "MachineIndependent/glslang_tab.cpp"
break;
- case 433: /* type_specifier_nonarray: UTEXTURE1D */
-#line 2993 "MachineIndependent/glslang.y"
+ case 434: /* type_specifier_nonarray: UTEXTURE1D */
+#line 3002 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
}
-#line 9750 "MachineIndependent/glslang_tab.cpp"
+#line 9775 "MachineIndependent/glslang_tab.cpp"
break;
- case 434: /* type_specifier_nonarray: UTEXTURE1DARRAY */
-#line 2998 "MachineIndependent/glslang.y"
+ case 435: /* type_specifier_nonarray: UTEXTURE1DARRAY */
+#line 3007 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
}
-#line 9760 "MachineIndependent/glslang_tab.cpp"
+#line 9785 "MachineIndependent/glslang_tab.cpp"
break;
- case 435: /* type_specifier_nonarray: TEXTURE2DRECT */
-#line 3003 "MachineIndependent/glslang.y"
+ case 436: /* type_specifier_nonarray: TEXTURE2DRECT */
+#line 3012 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
}
-#line 9770 "MachineIndependent/glslang_tab.cpp"
+#line 9795 "MachineIndependent/glslang_tab.cpp"
break;
- case 436: /* type_specifier_nonarray: F16TEXTURE2DRECT */
-#line 3008 "MachineIndependent/glslang.y"
+ case 437: /* type_specifier_nonarray: F16TEXTURE2DRECT */
+#line 3017 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
}
-#line 9781 "MachineIndependent/glslang_tab.cpp"
+#line 9806 "MachineIndependent/glslang_tab.cpp"
break;
- case 437: /* type_specifier_nonarray: ITEXTURE2DRECT */
-#line 3014 "MachineIndependent/glslang.y"
+ case 438: /* type_specifier_nonarray: ITEXTURE2DRECT */
+#line 3023 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
}
-#line 9791 "MachineIndependent/glslang_tab.cpp"
+#line 9816 "MachineIndependent/glslang_tab.cpp"
break;
- case 438: /* type_specifier_nonarray: UTEXTURE2DRECT */
-#line 3019 "MachineIndependent/glslang.y"
+ case 439: /* type_specifier_nonarray: UTEXTURE2DRECT */
+#line 3028 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
}
-#line 9801 "MachineIndependent/glslang_tab.cpp"
+#line 9826 "MachineIndependent/glslang_tab.cpp"
break;
- case 439: /* type_specifier_nonarray: TEXTUREBUFFER */
-#line 3024 "MachineIndependent/glslang.y"
+ case 440: /* type_specifier_nonarray: TEXTUREBUFFER */
+#line 3033 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
}
-#line 9811 "MachineIndependent/glslang_tab.cpp"
+#line 9836 "MachineIndependent/glslang_tab.cpp"
break;
- case 440: /* type_specifier_nonarray: F16TEXTUREBUFFER */
-#line 3029 "MachineIndependent/glslang.y"
+ case 441: /* type_specifier_nonarray: F16TEXTUREBUFFER */
+#line 3038 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
}
-#line 9822 "MachineIndependent/glslang_tab.cpp"
+#line 9847 "MachineIndependent/glslang_tab.cpp"
break;
- case 441: /* type_specifier_nonarray: ITEXTUREBUFFER */
-#line 3035 "MachineIndependent/glslang.y"
+ case 442: /* type_specifier_nonarray: ITEXTUREBUFFER */
+#line 3044 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
}
-#line 9832 "MachineIndependent/glslang_tab.cpp"
+#line 9857 "MachineIndependent/glslang_tab.cpp"
break;
- case 442: /* type_specifier_nonarray: UTEXTUREBUFFER */
-#line 3040 "MachineIndependent/glslang.y"
+ case 443: /* type_specifier_nonarray: UTEXTUREBUFFER */
+#line 3049 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
}
-#line 9842 "MachineIndependent/glslang_tab.cpp"
+#line 9867 "MachineIndependent/glslang_tab.cpp"
break;
- case 443: /* type_specifier_nonarray: TEXTURE2DMS */
-#line 3045 "MachineIndependent/glslang.y"
+ case 444: /* type_specifier_nonarray: TEXTURE2DMS */
+#line 3054 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
}
-#line 9852 "MachineIndependent/glslang_tab.cpp"
+#line 9877 "MachineIndependent/glslang_tab.cpp"
break;
- case 444: /* type_specifier_nonarray: F16TEXTURE2DMS */
-#line 3050 "MachineIndependent/glslang.y"
+ case 445: /* type_specifier_nonarray: F16TEXTURE2DMS */
+#line 3059 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
}
-#line 9863 "MachineIndependent/glslang_tab.cpp"
+#line 9888 "MachineIndependent/glslang_tab.cpp"
break;
- case 445: /* type_specifier_nonarray: ITEXTURE2DMS */
-#line 3056 "MachineIndependent/glslang.y"
+ case 446: /* type_specifier_nonarray: ITEXTURE2DMS */
+#line 3065 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
}
-#line 9873 "MachineIndependent/glslang_tab.cpp"
+#line 9898 "MachineIndependent/glslang_tab.cpp"
break;
- case 446: /* type_specifier_nonarray: UTEXTURE2DMS */
-#line 3061 "MachineIndependent/glslang.y"
+ case 447: /* type_specifier_nonarray: UTEXTURE2DMS */
+#line 3070 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
}
-#line 9883 "MachineIndependent/glslang_tab.cpp"
+#line 9908 "MachineIndependent/glslang_tab.cpp"
break;
- case 447: /* type_specifier_nonarray: TEXTURE2DMSARRAY */
-#line 3066 "MachineIndependent/glslang.y"
+ case 448: /* type_specifier_nonarray: TEXTURE2DMSARRAY */
+#line 3075 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
}
-#line 9893 "MachineIndependent/glslang_tab.cpp"
+#line 9918 "MachineIndependent/glslang_tab.cpp"
break;
- case 448: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */
-#line 3071 "MachineIndependent/glslang.y"
+ case 449: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */
+#line 3080 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
}
-#line 9904 "MachineIndependent/glslang_tab.cpp"
+#line 9929 "MachineIndependent/glslang_tab.cpp"
break;
- case 449: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */
-#line 3077 "MachineIndependent/glslang.y"
+ case 450: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */
+#line 3086 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
}
-#line 9914 "MachineIndependent/glslang_tab.cpp"
+#line 9939 "MachineIndependent/glslang_tab.cpp"
break;
- case 450: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */
-#line 3082 "MachineIndependent/glslang.y"
+ case 451: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */
+#line 3091 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
}
-#line 9924 "MachineIndependent/glslang_tab.cpp"
+#line 9949 "MachineIndependent/glslang_tab.cpp"
break;
- case 451: /* type_specifier_nonarray: IMAGE1D */
-#line 3087 "MachineIndependent/glslang.y"
+ case 452: /* type_specifier_nonarray: IMAGE1D */
+#line 3096 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
}
-#line 9934 "MachineIndependent/glslang_tab.cpp"
+#line 9959 "MachineIndependent/glslang_tab.cpp"
break;
- case 452: /* type_specifier_nonarray: F16IMAGE1D */
-#line 3092 "MachineIndependent/glslang.y"
+ case 453: /* type_specifier_nonarray: F16IMAGE1D */
+#line 3101 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
}
-#line 9945 "MachineIndependent/glslang_tab.cpp"
+#line 9970 "MachineIndependent/glslang_tab.cpp"
break;
- case 453: /* type_specifier_nonarray: IIMAGE1D */
-#line 3098 "MachineIndependent/glslang.y"
+ case 454: /* type_specifier_nonarray: IIMAGE1D */
+#line 3107 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
}
-#line 9955 "MachineIndependent/glslang_tab.cpp"
+#line 9980 "MachineIndependent/glslang_tab.cpp"
break;
- case 454: /* type_specifier_nonarray: UIMAGE1D */
-#line 3103 "MachineIndependent/glslang.y"
+ case 455: /* type_specifier_nonarray: UIMAGE1D */
+#line 3112 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
}
-#line 9965 "MachineIndependent/glslang_tab.cpp"
+#line 9990 "MachineIndependent/glslang_tab.cpp"
break;
- case 455: /* type_specifier_nonarray: IMAGE2D */
-#line 3108 "MachineIndependent/glslang.y"
+ case 456: /* type_specifier_nonarray: IMAGE2D */
+#line 3117 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
}
-#line 9975 "MachineIndependent/glslang_tab.cpp"
+#line 10000 "MachineIndependent/glslang_tab.cpp"
break;
- case 456: /* type_specifier_nonarray: F16IMAGE2D */
-#line 3113 "MachineIndependent/glslang.y"
+ case 457: /* type_specifier_nonarray: F16IMAGE2D */
+#line 3122 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
}
-#line 9986 "MachineIndependent/glslang_tab.cpp"
+#line 10011 "MachineIndependent/glslang_tab.cpp"
break;
- case 457: /* type_specifier_nonarray: IIMAGE2D */
-#line 3119 "MachineIndependent/glslang.y"
+ case 458: /* type_specifier_nonarray: IIMAGE2D */
+#line 3128 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
}
-#line 9996 "MachineIndependent/glslang_tab.cpp"
+#line 10021 "MachineIndependent/glslang_tab.cpp"
break;
- case 458: /* type_specifier_nonarray: UIMAGE2D */
-#line 3124 "MachineIndependent/glslang.y"
+ case 459: /* type_specifier_nonarray: UIMAGE2D */
+#line 3133 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
}
-#line 10006 "MachineIndependent/glslang_tab.cpp"
+#line 10031 "MachineIndependent/glslang_tab.cpp"
break;
- case 459: /* type_specifier_nonarray: IMAGE3D */
-#line 3129 "MachineIndependent/glslang.y"
+ case 460: /* type_specifier_nonarray: IMAGE3D */
+#line 3138 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
}
-#line 10016 "MachineIndependent/glslang_tab.cpp"
+#line 10041 "MachineIndependent/glslang_tab.cpp"
break;
- case 460: /* type_specifier_nonarray: F16IMAGE3D */
-#line 3134 "MachineIndependent/glslang.y"
+ case 461: /* type_specifier_nonarray: F16IMAGE3D */
+#line 3143 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
}
-#line 10027 "MachineIndependent/glslang_tab.cpp"
+#line 10052 "MachineIndependent/glslang_tab.cpp"
break;
- case 461: /* type_specifier_nonarray: IIMAGE3D */
-#line 3140 "MachineIndependent/glslang.y"
+ case 462: /* type_specifier_nonarray: IIMAGE3D */
+#line 3149 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
}
-#line 10037 "MachineIndependent/glslang_tab.cpp"
+#line 10062 "MachineIndependent/glslang_tab.cpp"
break;
- case 462: /* type_specifier_nonarray: UIMAGE3D */
-#line 3145 "MachineIndependent/glslang.y"
+ case 463: /* type_specifier_nonarray: UIMAGE3D */
+#line 3154 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
}
-#line 10047 "MachineIndependent/glslang_tab.cpp"
+#line 10072 "MachineIndependent/glslang_tab.cpp"
break;
- case 463: /* type_specifier_nonarray: IMAGE2DRECT */
-#line 3150 "MachineIndependent/glslang.y"
+ case 464: /* type_specifier_nonarray: IMAGE2DRECT */
+#line 3159 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
}
-#line 10057 "MachineIndependent/glslang_tab.cpp"
+#line 10082 "MachineIndependent/glslang_tab.cpp"
break;
- case 464: /* type_specifier_nonarray: F16IMAGE2DRECT */
-#line 3155 "MachineIndependent/glslang.y"
+ case 465: /* type_specifier_nonarray: F16IMAGE2DRECT */
+#line 3164 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
}
-#line 10068 "MachineIndependent/glslang_tab.cpp"
+#line 10093 "MachineIndependent/glslang_tab.cpp"
break;
- case 465: /* type_specifier_nonarray: IIMAGE2DRECT */
-#line 3161 "MachineIndependent/glslang.y"
+ case 466: /* type_specifier_nonarray: IIMAGE2DRECT */
+#line 3170 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
}
-#line 10078 "MachineIndependent/glslang_tab.cpp"
+#line 10103 "MachineIndependent/glslang_tab.cpp"
break;
- case 466: /* type_specifier_nonarray: UIMAGE2DRECT */
-#line 3166 "MachineIndependent/glslang.y"
+ case 467: /* type_specifier_nonarray: UIMAGE2DRECT */
+#line 3175 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
}
-#line 10088 "MachineIndependent/glslang_tab.cpp"
+#line 10113 "MachineIndependent/glslang_tab.cpp"
break;
- case 467: /* type_specifier_nonarray: IMAGECUBE */
-#line 3171 "MachineIndependent/glslang.y"
+ case 468: /* type_specifier_nonarray: IMAGECUBE */
+#line 3180 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
}
-#line 10098 "MachineIndependent/glslang_tab.cpp"
+#line 10123 "MachineIndependent/glslang_tab.cpp"
break;
- case 468: /* type_specifier_nonarray: F16IMAGECUBE */
-#line 3176 "MachineIndependent/glslang.y"
+ case 469: /* type_specifier_nonarray: F16IMAGECUBE */
+#line 3185 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
}
-#line 10109 "MachineIndependent/glslang_tab.cpp"
+#line 10134 "MachineIndependent/glslang_tab.cpp"
break;
- case 469: /* type_specifier_nonarray: IIMAGECUBE */
-#line 3182 "MachineIndependent/glslang.y"
+ case 470: /* type_specifier_nonarray: IIMAGECUBE */
+#line 3191 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
}
-#line 10119 "MachineIndependent/glslang_tab.cpp"
+#line 10144 "MachineIndependent/glslang_tab.cpp"
break;
- case 470: /* type_specifier_nonarray: UIMAGECUBE */
-#line 3187 "MachineIndependent/glslang.y"
+ case 471: /* type_specifier_nonarray: UIMAGECUBE */
+#line 3196 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
}
-#line 10129 "MachineIndependent/glslang_tab.cpp"
+#line 10154 "MachineIndependent/glslang_tab.cpp"
break;
- case 471: /* type_specifier_nonarray: IMAGEBUFFER */
-#line 3192 "MachineIndependent/glslang.y"
+ case 472: /* type_specifier_nonarray: IMAGEBUFFER */
+#line 3201 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
}
-#line 10139 "MachineIndependent/glslang_tab.cpp"
+#line 10164 "MachineIndependent/glslang_tab.cpp"
break;
- case 472: /* type_specifier_nonarray: F16IMAGEBUFFER */
-#line 3197 "MachineIndependent/glslang.y"
+ case 473: /* type_specifier_nonarray: F16IMAGEBUFFER */
+#line 3206 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
}
-#line 10150 "MachineIndependent/glslang_tab.cpp"
+#line 10175 "MachineIndependent/glslang_tab.cpp"
break;
- case 473: /* type_specifier_nonarray: IIMAGEBUFFER */
-#line 3203 "MachineIndependent/glslang.y"
+ case 474: /* type_specifier_nonarray: IIMAGEBUFFER */
+#line 3212 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
}
-#line 10160 "MachineIndependent/glslang_tab.cpp"
+#line 10185 "MachineIndependent/glslang_tab.cpp"
break;
- case 474: /* type_specifier_nonarray: UIMAGEBUFFER */
-#line 3208 "MachineIndependent/glslang.y"
+ case 475: /* type_specifier_nonarray: UIMAGEBUFFER */
+#line 3217 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
}
-#line 10170 "MachineIndependent/glslang_tab.cpp"
+#line 10195 "MachineIndependent/glslang_tab.cpp"
break;
- case 475: /* type_specifier_nonarray: IMAGE1DARRAY */
-#line 3213 "MachineIndependent/glslang.y"
+ case 476: /* type_specifier_nonarray: IMAGE1DARRAY */
+#line 3222 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
}
-#line 10180 "MachineIndependent/glslang_tab.cpp"
+#line 10205 "MachineIndependent/glslang_tab.cpp"
break;
- case 476: /* type_specifier_nonarray: F16IMAGE1DARRAY */
-#line 3218 "MachineIndependent/glslang.y"
+ case 477: /* type_specifier_nonarray: F16IMAGE1DARRAY */
+#line 3227 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
}
-#line 10191 "MachineIndependent/glslang_tab.cpp"
+#line 10216 "MachineIndependent/glslang_tab.cpp"
break;
- case 477: /* type_specifier_nonarray: IIMAGE1DARRAY */
-#line 3224 "MachineIndependent/glslang.y"
+ case 478: /* type_specifier_nonarray: IIMAGE1DARRAY */
+#line 3233 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
}
-#line 10201 "MachineIndependent/glslang_tab.cpp"
+#line 10226 "MachineIndependent/glslang_tab.cpp"
break;
- case 478: /* type_specifier_nonarray: UIMAGE1DARRAY */
-#line 3229 "MachineIndependent/glslang.y"
+ case 479: /* type_specifier_nonarray: UIMAGE1DARRAY */
+#line 3238 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
}
-#line 10211 "MachineIndependent/glslang_tab.cpp"
+#line 10236 "MachineIndependent/glslang_tab.cpp"
break;
- case 479: /* type_specifier_nonarray: IMAGE2DARRAY */
-#line 3234 "MachineIndependent/glslang.y"
+ case 480: /* type_specifier_nonarray: IMAGE2DARRAY */
+#line 3243 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
}
-#line 10221 "MachineIndependent/glslang_tab.cpp"
+#line 10246 "MachineIndependent/glslang_tab.cpp"
break;
- case 480: /* type_specifier_nonarray: F16IMAGE2DARRAY */
-#line 3239 "MachineIndependent/glslang.y"
+ case 481: /* type_specifier_nonarray: F16IMAGE2DARRAY */
+#line 3248 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
}
-#line 10232 "MachineIndependent/glslang_tab.cpp"
+#line 10257 "MachineIndependent/glslang_tab.cpp"
break;
- case 481: /* type_specifier_nonarray: IIMAGE2DARRAY */
-#line 3245 "MachineIndependent/glslang.y"
+ case 482: /* type_specifier_nonarray: IIMAGE2DARRAY */
+#line 3254 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
}
-#line 10242 "MachineIndependent/glslang_tab.cpp"
+#line 10267 "MachineIndependent/glslang_tab.cpp"
break;
- case 482: /* type_specifier_nonarray: UIMAGE2DARRAY */
-#line 3250 "MachineIndependent/glslang.y"
+ case 483: /* type_specifier_nonarray: UIMAGE2DARRAY */
+#line 3259 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
}
-#line 10252 "MachineIndependent/glslang_tab.cpp"
+#line 10277 "MachineIndependent/glslang_tab.cpp"
break;
- case 483: /* type_specifier_nonarray: IMAGECUBEARRAY */
-#line 3255 "MachineIndependent/glslang.y"
+ case 484: /* type_specifier_nonarray: IMAGECUBEARRAY */
+#line 3264 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
}
-#line 10262 "MachineIndependent/glslang_tab.cpp"
+#line 10287 "MachineIndependent/glslang_tab.cpp"
break;
- case 484: /* type_specifier_nonarray: F16IMAGECUBEARRAY */
-#line 3260 "MachineIndependent/glslang.y"
+ case 485: /* type_specifier_nonarray: F16IMAGECUBEARRAY */
+#line 3269 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
}
-#line 10273 "MachineIndependent/glslang_tab.cpp"
+#line 10298 "MachineIndependent/glslang_tab.cpp"
break;
- case 485: /* type_specifier_nonarray: IIMAGECUBEARRAY */
-#line 3266 "MachineIndependent/glslang.y"
+ case 486: /* type_specifier_nonarray: IIMAGECUBEARRAY */
+#line 3275 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
}
-#line 10283 "MachineIndependent/glslang_tab.cpp"
+#line 10308 "MachineIndependent/glslang_tab.cpp"
break;
- case 486: /* type_specifier_nonarray: UIMAGECUBEARRAY */
-#line 3271 "MachineIndependent/glslang.y"
+ case 487: /* type_specifier_nonarray: UIMAGECUBEARRAY */
+#line 3280 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
}
-#line 10293 "MachineIndependent/glslang_tab.cpp"
+#line 10318 "MachineIndependent/glslang_tab.cpp"
break;
- case 487: /* type_specifier_nonarray: IMAGE2DMS */
-#line 3276 "MachineIndependent/glslang.y"
+ case 488: /* type_specifier_nonarray: IMAGE2DMS */
+#line 3285 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
}
-#line 10303 "MachineIndependent/glslang_tab.cpp"
+#line 10328 "MachineIndependent/glslang_tab.cpp"
break;
- case 488: /* type_specifier_nonarray: F16IMAGE2DMS */
-#line 3281 "MachineIndependent/glslang.y"
+ case 489: /* type_specifier_nonarray: F16IMAGE2DMS */
+#line 3290 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
}
-#line 10314 "MachineIndependent/glslang_tab.cpp"
+#line 10339 "MachineIndependent/glslang_tab.cpp"
break;
- case 489: /* type_specifier_nonarray: IIMAGE2DMS */
-#line 3287 "MachineIndependent/glslang.y"
+ case 490: /* type_specifier_nonarray: IIMAGE2DMS */
+#line 3296 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
}
-#line 10324 "MachineIndependent/glslang_tab.cpp"
+#line 10349 "MachineIndependent/glslang_tab.cpp"
break;
- case 490: /* type_specifier_nonarray: UIMAGE2DMS */
-#line 3292 "MachineIndependent/glslang.y"
+ case 491: /* type_specifier_nonarray: UIMAGE2DMS */
+#line 3301 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
}
-#line 10334 "MachineIndependent/glslang_tab.cpp"
+#line 10359 "MachineIndependent/glslang_tab.cpp"
break;
- case 491: /* type_specifier_nonarray: IMAGE2DMSARRAY */
-#line 3297 "MachineIndependent/glslang.y"
+ case 492: /* type_specifier_nonarray: IMAGE2DMSARRAY */
+#line 3306 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
}
-#line 10344 "MachineIndependent/glslang_tab.cpp"
+#line 10369 "MachineIndependent/glslang_tab.cpp"
break;
- case 492: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */
-#line 3302 "MachineIndependent/glslang.y"
+ case 493: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */
+#line 3311 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
}
-#line 10355 "MachineIndependent/glslang_tab.cpp"
+#line 10380 "MachineIndependent/glslang_tab.cpp"
break;
- case 493: /* type_specifier_nonarray: IIMAGE2DMSARRAY */
-#line 3308 "MachineIndependent/glslang.y"
+ case 494: /* type_specifier_nonarray: IIMAGE2DMSARRAY */
+#line 3317 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
}
-#line 10365 "MachineIndependent/glslang_tab.cpp"
+#line 10390 "MachineIndependent/glslang_tab.cpp"
break;
- case 494: /* type_specifier_nonarray: UIMAGE2DMSARRAY */
-#line 3313 "MachineIndependent/glslang.y"
+ case 495: /* type_specifier_nonarray: UIMAGE2DMSARRAY */
+#line 3322 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
}
-#line 10375 "MachineIndependent/glslang_tab.cpp"
+#line 10400 "MachineIndependent/glslang_tab.cpp"
break;
- case 495: /* type_specifier_nonarray: I64IMAGE1D */
-#line 3318 "MachineIndependent/glslang.y"
+ case 496: /* type_specifier_nonarray: I64IMAGE1D */
+#line 3327 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd1D);
}
-#line 10385 "MachineIndependent/glslang_tab.cpp"
+#line 10410 "MachineIndependent/glslang_tab.cpp"
break;
- case 496: /* type_specifier_nonarray: U64IMAGE1D */
-#line 3323 "MachineIndependent/glslang.y"
+ case 497: /* type_specifier_nonarray: U64IMAGE1D */
+#line 3332 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd1D);
}
-#line 10395 "MachineIndependent/glslang_tab.cpp"
+#line 10420 "MachineIndependent/glslang_tab.cpp"
break;
- case 497: /* type_specifier_nonarray: I64IMAGE2D */
-#line 3328 "MachineIndependent/glslang.y"
+ case 498: /* type_specifier_nonarray: I64IMAGE2D */
+#line 3337 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D);
}
-#line 10405 "MachineIndependent/glslang_tab.cpp"
+#line 10430 "MachineIndependent/glslang_tab.cpp"
break;
- case 498: /* type_specifier_nonarray: U64IMAGE2D */
-#line 3333 "MachineIndependent/glslang.y"
+ case 499: /* type_specifier_nonarray: U64IMAGE2D */
+#line 3342 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D);
}
-#line 10415 "MachineIndependent/glslang_tab.cpp"
+#line 10440 "MachineIndependent/glslang_tab.cpp"
break;
- case 499: /* type_specifier_nonarray: I64IMAGE3D */
-#line 3338 "MachineIndependent/glslang.y"
+ case 500: /* type_specifier_nonarray: I64IMAGE3D */
+#line 3347 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd3D);
}
-#line 10425 "MachineIndependent/glslang_tab.cpp"
+#line 10450 "MachineIndependent/glslang_tab.cpp"
break;
- case 500: /* type_specifier_nonarray: U64IMAGE3D */
-#line 3343 "MachineIndependent/glslang.y"
+ case 501: /* type_specifier_nonarray: U64IMAGE3D */
+#line 3352 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd3D);
}
-#line 10435 "MachineIndependent/glslang_tab.cpp"
+#line 10460 "MachineIndependent/glslang_tab.cpp"
break;
- case 501: /* type_specifier_nonarray: I64IMAGE2DRECT */
-#line 3348 "MachineIndependent/glslang.y"
+ case 502: /* type_specifier_nonarray: I64IMAGE2DRECT */
+#line 3357 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdRect);
}
-#line 10445 "MachineIndependent/glslang_tab.cpp"
+#line 10470 "MachineIndependent/glslang_tab.cpp"
break;
- case 502: /* type_specifier_nonarray: U64IMAGE2DRECT */
-#line 3353 "MachineIndependent/glslang.y"
+ case 503: /* type_specifier_nonarray: U64IMAGE2DRECT */
+#line 3362 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdRect);
}
-#line 10455 "MachineIndependent/glslang_tab.cpp"
+#line 10480 "MachineIndependent/glslang_tab.cpp"
break;
- case 503: /* type_specifier_nonarray: I64IMAGECUBE */
-#line 3358 "MachineIndependent/glslang.y"
+ case 504: /* type_specifier_nonarray: I64IMAGECUBE */
+#line 3367 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdCube);
}
-#line 10465 "MachineIndependent/glslang_tab.cpp"
+#line 10490 "MachineIndependent/glslang_tab.cpp"
break;
- case 504: /* type_specifier_nonarray: U64IMAGECUBE */
-#line 3363 "MachineIndependent/glslang.y"
+ case 505: /* type_specifier_nonarray: U64IMAGECUBE */
+#line 3372 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdCube);
}
-#line 10475 "MachineIndependent/glslang_tab.cpp"
+#line 10500 "MachineIndependent/glslang_tab.cpp"
break;
- case 505: /* type_specifier_nonarray: I64IMAGEBUFFER */
-#line 3368 "MachineIndependent/glslang.y"
+ case 506: /* type_specifier_nonarray: I64IMAGEBUFFER */
+#line 3377 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdBuffer);
}
-#line 10485 "MachineIndependent/glslang_tab.cpp"
+#line 10510 "MachineIndependent/glslang_tab.cpp"
break;
- case 506: /* type_specifier_nonarray: U64IMAGEBUFFER */
-#line 3373 "MachineIndependent/glslang.y"
+ case 507: /* type_specifier_nonarray: U64IMAGEBUFFER */
+#line 3382 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdBuffer);
}
-#line 10495 "MachineIndependent/glslang_tab.cpp"
+#line 10520 "MachineIndependent/glslang_tab.cpp"
break;
- case 507: /* type_specifier_nonarray: I64IMAGE1DARRAY */
-#line 3378 "MachineIndependent/glslang.y"
+ case 508: /* type_specifier_nonarray: I64IMAGE1DARRAY */
+#line 3387 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd1D, true);
}
-#line 10505 "MachineIndependent/glslang_tab.cpp"
+#line 10530 "MachineIndependent/glslang_tab.cpp"
break;
- case 508: /* type_specifier_nonarray: U64IMAGE1DARRAY */
-#line 3383 "MachineIndependent/glslang.y"
+ case 509: /* type_specifier_nonarray: U64IMAGE1DARRAY */
+#line 3392 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd1D, true);
}
-#line 10515 "MachineIndependent/glslang_tab.cpp"
+#line 10540 "MachineIndependent/glslang_tab.cpp"
break;
- case 509: /* type_specifier_nonarray: I64IMAGE2DARRAY */
-#line 3388 "MachineIndependent/glslang.y"
+ case 510: /* type_specifier_nonarray: I64IMAGE2DARRAY */
+#line 3397 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true);
}
-#line 10525 "MachineIndependent/glslang_tab.cpp"
+#line 10550 "MachineIndependent/glslang_tab.cpp"
break;
- case 510: /* type_specifier_nonarray: U64IMAGE2DARRAY */
-#line 3393 "MachineIndependent/glslang.y"
+ case 511: /* type_specifier_nonarray: U64IMAGE2DARRAY */
+#line 3402 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true);
}
-#line 10535 "MachineIndependent/glslang_tab.cpp"
+#line 10560 "MachineIndependent/glslang_tab.cpp"
break;
- case 511: /* type_specifier_nonarray: I64IMAGECUBEARRAY */
-#line 3398 "MachineIndependent/glslang.y"
+ case 512: /* type_specifier_nonarray: I64IMAGECUBEARRAY */
+#line 3407 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, EsdCube, true);
}
-#line 10545 "MachineIndependent/glslang_tab.cpp"
+#line 10570 "MachineIndependent/glslang_tab.cpp"
break;
- case 512: /* type_specifier_nonarray: U64IMAGECUBEARRAY */
-#line 3403 "MachineIndependent/glslang.y"
+ case 513: /* type_specifier_nonarray: U64IMAGECUBEARRAY */
+#line 3412 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, EsdCube, true);
}
-#line 10555 "MachineIndependent/glslang_tab.cpp"
+#line 10580 "MachineIndependent/glslang_tab.cpp"
break;
- case 513: /* type_specifier_nonarray: I64IMAGE2DMS */
-#line 3408 "MachineIndependent/glslang.y"
+ case 514: /* type_specifier_nonarray: I64IMAGE2DMS */
+#line 3417 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, false, false, true);
}
-#line 10565 "MachineIndependent/glslang_tab.cpp"
+#line 10590 "MachineIndependent/glslang_tab.cpp"
break;
- case 514: /* type_specifier_nonarray: U64IMAGE2DMS */
-#line 3413 "MachineIndependent/glslang.y"
+ case 515: /* type_specifier_nonarray: U64IMAGE2DMS */
+#line 3422 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, false, false, true);
}
-#line 10575 "MachineIndependent/glslang_tab.cpp"
+#line 10600 "MachineIndependent/glslang_tab.cpp"
break;
- case 515: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */
-#line 3418 "MachineIndependent/glslang.y"
+ case 516: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */
+#line 3427 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true, false, true);
}
-#line 10585 "MachineIndependent/glslang_tab.cpp"
+#line 10610 "MachineIndependent/glslang_tab.cpp"
break;
- case 516: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */
-#line 3423 "MachineIndependent/glslang.y"
+ case 517: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */
+#line 3432 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true, false, true);
}
-#line 10595 "MachineIndependent/glslang_tab.cpp"
+#line 10620 "MachineIndependent/glslang_tab.cpp"
break;
- case 517: /* type_specifier_nonarray: SAMPLEREXTERNALOES */
-#line 3428 "MachineIndependent/glslang.y"
+ case 518: /* type_specifier_nonarray: SAMPLEREXTERNALOES */
+#line 3437 "MachineIndependent/glslang.y"
{ // GL_OES_EGL_image_external
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
(yyval.interm.type).sampler.external = true;
}
-#line 10606 "MachineIndependent/glslang_tab.cpp"
+#line 10631 "MachineIndependent/glslang_tab.cpp"
break;
- case 518: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */
-#line 3434 "MachineIndependent/glslang.y"
+ case 519: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */
+#line 3443 "MachineIndependent/glslang.y"
{ // GL_EXT_YUV_target
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
(yyval.interm.type).sampler.yuv = true;
}
-#line 10617 "MachineIndependent/glslang_tab.cpp"
+#line 10642 "MachineIndependent/glslang_tab.cpp"
break;
- case 519: /* type_specifier_nonarray: SUBPASSINPUT */
-#line 3440 "MachineIndependent/glslang.y"
+ case 520: /* type_specifier_nonarray: SUBPASSINPUT */
+#line 3449 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat);
}
-#line 10628 "MachineIndependent/glslang_tab.cpp"
+#line 10653 "MachineIndependent/glslang_tab.cpp"
break;
- case 520: /* type_specifier_nonarray: SUBPASSINPUTMS */
-#line 3446 "MachineIndependent/glslang.y"
+ case 521: /* type_specifier_nonarray: SUBPASSINPUTMS */
+#line 3455 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat, true);
}
-#line 10639 "MachineIndependent/glslang_tab.cpp"
+#line 10664 "MachineIndependent/glslang_tab.cpp"
break;
- case 521: /* type_specifier_nonarray: F16SUBPASSINPUT */
-#line 3452 "MachineIndependent/glslang.y"
+ case 522: /* type_specifier_nonarray: F16SUBPASSINPUT */
+#line 3461 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
@@ -10647,11 +10672,11 @@ yyreduce:
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat16);
}
-#line 10651 "MachineIndependent/glslang_tab.cpp"
+#line 10676 "MachineIndependent/glslang_tab.cpp"
break;
- case 522: /* type_specifier_nonarray: F16SUBPASSINPUTMS */
-#line 3459 "MachineIndependent/glslang.y"
+ case 523: /* type_specifier_nonarray: F16SUBPASSINPUTMS */
+#line 3468 "MachineIndependent/glslang.y"
{
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
@@ -10659,107 +10684,116 @@ yyreduce:
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
}
-#line 10663 "MachineIndependent/glslang_tab.cpp"
+#line 10688 "MachineIndependent/glslang_tab.cpp"
break;
- case 523: /* type_specifier_nonarray: ISUBPASSINPUT */
-#line 3466 "MachineIndependent/glslang.y"
+ case 524: /* type_specifier_nonarray: ISUBPASSINPUT */
+#line 3475 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtInt);
}
-#line 10674 "MachineIndependent/glslang_tab.cpp"
+#line 10699 "MachineIndependent/glslang_tab.cpp"
break;
- case 524: /* type_specifier_nonarray: ISUBPASSINPUTMS */
-#line 3472 "MachineIndependent/glslang.y"
+ case 525: /* type_specifier_nonarray: ISUBPASSINPUTMS */
+#line 3481 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtInt, true);
}
-#line 10685 "MachineIndependent/glslang_tab.cpp"
+#line 10710 "MachineIndependent/glslang_tab.cpp"
break;
- case 525: /* type_specifier_nonarray: USUBPASSINPUT */
-#line 3478 "MachineIndependent/glslang.y"
+ case 526: /* type_specifier_nonarray: USUBPASSINPUT */
+#line 3487 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtUint);
}
-#line 10696 "MachineIndependent/glslang_tab.cpp"
+#line 10721 "MachineIndependent/glslang_tab.cpp"
break;
- case 526: /* type_specifier_nonarray: USUBPASSINPUTMS */
-#line 3484 "MachineIndependent/glslang.y"
+ case 527: /* type_specifier_nonarray: USUBPASSINPUTMS */
+#line 3493 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtUint, true);
}
-#line 10707 "MachineIndependent/glslang_tab.cpp"
+#line 10732 "MachineIndependent/glslang_tab.cpp"
break;
- case 527: /* type_specifier_nonarray: FCOOPMATNV */
-#line 3490 "MachineIndependent/glslang.y"
+ case 528: /* type_specifier_nonarray: FCOOPMATNV */
+#line 3499 "MachineIndependent/glslang.y"
{
parseContext.fcoopmatCheck((yyvsp[0].lex).loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).coopmat = true;
}
-#line 10718 "MachineIndependent/glslang_tab.cpp"
+#line 10743 "MachineIndependent/glslang_tab.cpp"
break;
- case 528: /* type_specifier_nonarray: ICOOPMATNV */
-#line 3496 "MachineIndependent/glslang.y"
+ case 529: /* type_specifier_nonarray: ICOOPMATNV */
+#line 3505 "MachineIndependent/glslang.y"
{
parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).coopmat = true;
}
-#line 10729 "MachineIndependent/glslang_tab.cpp"
+#line 10754 "MachineIndependent/glslang_tab.cpp"
break;
- case 529: /* type_specifier_nonarray: UCOOPMATNV */
-#line 3502 "MachineIndependent/glslang.y"
+ case 530: /* type_specifier_nonarray: UCOOPMATNV */
+#line 3511 "MachineIndependent/glslang.y"
{
parseContext.intcoopmatCheck((yyvsp[0].lex).loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).coopmat = true;
}
-#line 10740 "MachineIndependent/glslang_tab.cpp"
+#line 10765 "MachineIndependent/glslang_tab.cpp"
break;
- case 530: /* type_specifier_nonarray: spirv_type_specifier */
-#line 3508 "MachineIndependent/glslang.y"
+ case 531: /* type_specifier_nonarray: spirv_type_specifier */
+#line 3517 "MachineIndependent/glslang.y"
{
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 10749 "MachineIndependent/glslang_tab.cpp"
+#line 10774 "MachineIndependent/glslang_tab.cpp"
+ break;
+
+ case 532: /* type_specifier_nonarray: HITOBJECTNV */
+#line 3521 "MachineIndependent/glslang.y"
+ {
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtHitObjectNV;
+ }
+#line 10783 "MachineIndependent/glslang_tab.cpp"
break;
- case 531: /* type_specifier_nonarray: struct_specifier */
-#line 3513 "MachineIndependent/glslang.y"
+ case 533: /* type_specifier_nonarray: struct_specifier */
+#line 3526 "MachineIndependent/glslang.y"
{
(yyval.interm.type) = (yyvsp[0].interm.type);
(yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
}
-#line 10759 "MachineIndependent/glslang_tab.cpp"
+#line 10793 "MachineIndependent/glslang_tab.cpp"
break;
- case 532: /* type_specifier_nonarray: TYPE_NAME */
-#line 3518 "MachineIndependent/glslang.y"
+ case 534: /* type_specifier_nonarray: TYPE_NAME */
+#line 3531 "MachineIndependent/glslang.y"
{
//
// This is for user defined type names. The lexical phase looked up the
@@ -10773,47 +10807,47 @@ yyreduce:
} else
parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
}
-#line 10777 "MachineIndependent/glslang_tab.cpp"
+#line 10811 "MachineIndependent/glslang_tab.cpp"
break;
- case 533: /* precision_qualifier: HIGH_PRECISION */
-#line 3534 "MachineIndependent/glslang.y"
+ case 535: /* precision_qualifier: HIGH_PRECISION */
+#line 3547 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
}
-#line 10787 "MachineIndependent/glslang_tab.cpp"
+#line 10821 "MachineIndependent/glslang_tab.cpp"
break;
- case 534: /* precision_qualifier: MEDIUM_PRECISION */
-#line 3539 "MachineIndependent/glslang.y"
+ case 536: /* precision_qualifier: MEDIUM_PRECISION */
+#line 3552 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
}
-#line 10797 "MachineIndependent/glslang_tab.cpp"
+#line 10831 "MachineIndependent/glslang_tab.cpp"
break;
- case 535: /* precision_qualifier: LOW_PRECISION */
-#line 3544 "MachineIndependent/glslang.y"
+ case 537: /* precision_qualifier: LOW_PRECISION */
+#line 3557 "MachineIndependent/glslang.y"
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
}
-#line 10807 "MachineIndependent/glslang_tab.cpp"
+#line 10841 "MachineIndependent/glslang_tab.cpp"
break;
- case 536: /* $@3: %empty */
-#line 3552 "MachineIndependent/glslang.y"
+ case 538: /* $@3: %empty */
+#line 3565 "MachineIndependent/glslang.y"
{ parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 10813 "MachineIndependent/glslang_tab.cpp"
+#line 10847 "MachineIndependent/glslang_tab.cpp"
break;
- case 537: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */
-#line 3552 "MachineIndependent/glslang.y"
+ case 539: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */
+#line 3565 "MachineIndependent/glslang.y"
{
TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
@@ -10825,17 +10859,17 @@ yyreduce:
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 10829 "MachineIndependent/glslang_tab.cpp"
+#line 10863 "MachineIndependent/glslang_tab.cpp"
break;
- case 538: /* $@4: %empty */
-#line 3563 "MachineIndependent/glslang.y"
+ case 540: /* $@4: %empty */
+#line 3576 "MachineIndependent/glslang.y"
{ parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 10835 "MachineIndependent/glslang_tab.cpp"
+#line 10869 "MachineIndependent/glslang_tab.cpp"
break;
- case 539: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */
-#line 3563 "MachineIndependent/glslang.y"
+ case 541: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */
+#line 3576 "MachineIndependent/glslang.y"
{
TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
(yyval.interm.type).init((yyvsp[-4].lex).loc);
@@ -10843,19 +10877,19 @@ yyreduce:
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 10847 "MachineIndependent/glslang_tab.cpp"
+#line 10881 "MachineIndependent/glslang_tab.cpp"
break;
- case 540: /* struct_declaration_list: struct_declaration */
-#line 3573 "MachineIndependent/glslang.y"
+ case 542: /* struct_declaration_list: struct_declaration */
+#line 3586 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = (yyvsp[0].interm.typeList);
}
-#line 10855 "MachineIndependent/glslang_tab.cpp"
+#line 10889 "MachineIndependent/glslang_tab.cpp"
break;
- case 541: /* struct_declaration_list: struct_declaration_list struct_declaration */
-#line 3576 "MachineIndependent/glslang.y"
+ case 543: /* struct_declaration_list: struct_declaration_list struct_declaration */
+#line 3589 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
@@ -10866,11 +10900,11 @@ yyreduce:
(yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
}
}
-#line 10870 "MachineIndependent/glslang_tab.cpp"
+#line 10904 "MachineIndependent/glslang_tab.cpp"
break;
- case 542: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */
-#line 3589 "MachineIndependent/glslang.y"
+ case 544: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */
+#line 3602 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -10893,11 +10927,11 @@ yyreduce:
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 10897 "MachineIndependent/glslang_tab.cpp"
+#line 10931 "MachineIndependent/glslang_tab.cpp"
break;
- case 543: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */
-#line 3611 "MachineIndependent/glslang.y"
+ case 545: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */
+#line 3624 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -10922,38 +10956,38 @@ yyreduce:
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 10926 "MachineIndependent/glslang_tab.cpp"
+#line 10960 "MachineIndependent/glslang_tab.cpp"
break;
- case 544: /* struct_declarator_list: struct_declarator */
-#line 3638 "MachineIndependent/glslang.y"
+ case 546: /* struct_declarator_list: struct_declarator */
+#line 3651 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList) = new TTypeList;
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 10935 "MachineIndependent/glslang_tab.cpp"
+#line 10969 "MachineIndependent/glslang_tab.cpp"
break;
- case 545: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */
-#line 3642 "MachineIndependent/glslang.y"
+ case 547: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */
+#line 3655 "MachineIndependent/glslang.y"
{
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 10943 "MachineIndependent/glslang_tab.cpp"
+#line 10977 "MachineIndependent/glslang_tab.cpp"
break;
- case 546: /* struct_declarator: IDENTIFIER */
-#line 3648 "MachineIndependent/glslang.y"
+ case 548: /* struct_declarator: IDENTIFIER */
+#line 3661 "MachineIndependent/glslang.y"
{
(yyval.interm.typeLine).type = new TType(EbtVoid);
(yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
}
-#line 10953 "MachineIndependent/glslang_tab.cpp"
+#line 10987 "MachineIndependent/glslang_tab.cpp"
break;
- case 547: /* struct_declarator: IDENTIFIER array_specifier */
-#line 3653 "MachineIndependent/glslang.y"
+ case 549: /* struct_declarator: IDENTIFIER array_specifier */
+#line 3666 "MachineIndependent/glslang.y"
{
parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
@@ -10962,246 +10996,246 @@ yyreduce:
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
(yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
}
-#line 10966 "MachineIndependent/glslang_tab.cpp"
+#line 11000 "MachineIndependent/glslang_tab.cpp"
break;
- case 548: /* initializer: assignment_expression */
-#line 3664 "MachineIndependent/glslang.y"
+ case 550: /* initializer: assignment_expression */
+#line 3677 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 10974 "MachineIndependent/glslang_tab.cpp"
+#line 11008 "MachineIndependent/glslang_tab.cpp"
break;
- case 549: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */
-#line 3668 "MachineIndependent/glslang.y"
+ case 551: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */
+#line 3681 "MachineIndependent/glslang.y"
{
const char* initFeature = "{ } style initializers";
parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
}
-#line 10985 "MachineIndependent/glslang_tab.cpp"
+#line 11019 "MachineIndependent/glslang_tab.cpp"
break;
- case 550: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */
-#line 3674 "MachineIndependent/glslang.y"
+ case 552: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */
+#line 3687 "MachineIndependent/glslang.y"
{
const char* initFeature = "{ } style initializers";
parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 10996 "MachineIndependent/glslang_tab.cpp"
+#line 11030 "MachineIndependent/glslang_tab.cpp"
break;
- case 551: /* initializer: LEFT_BRACE RIGHT_BRACE */
-#line 3680 "MachineIndependent/glslang.y"
+ case 553: /* initializer: LEFT_BRACE RIGHT_BRACE */
+#line 3693 "MachineIndependent/glslang.y"
{
const char* initFeature = "empty { } initializer";
parseContext.profileRequires((yyvsp[-1].lex).loc, EEsProfile, 0, E_GL_EXT_null_initializer, initFeature);
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 11007 "MachineIndependent/glslang_tab.cpp"
+#line 11041 "MachineIndependent/glslang_tab.cpp"
break;
- case 552: /* initializer_list: initializer */
-#line 3691 "MachineIndependent/glslang.y"
+ case 554: /* initializer_list: initializer */
+#line 3704 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
}
-#line 11015 "MachineIndependent/glslang_tab.cpp"
+#line 11049 "MachineIndependent/glslang_tab.cpp"
break;
- case 553: /* initializer_list: initializer_list COMMA initializer */
-#line 3694 "MachineIndependent/glslang.y"
+ case 555: /* initializer_list: initializer_list COMMA initializer */
+#line 3707 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 11023 "MachineIndependent/glslang_tab.cpp"
+#line 11057 "MachineIndependent/glslang_tab.cpp"
break;
- case 554: /* declaration_statement: declaration */
-#line 3701 "MachineIndependent/glslang.y"
+ case 556: /* declaration_statement: declaration */
+#line 3714 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11029 "MachineIndependent/glslang_tab.cpp"
+#line 11063 "MachineIndependent/glslang_tab.cpp"
break;
- case 555: /* statement: compound_statement */
-#line 3705 "MachineIndependent/glslang.y"
+ case 557: /* statement: compound_statement */
+#line 3718 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11035 "MachineIndependent/glslang_tab.cpp"
+#line 11069 "MachineIndependent/glslang_tab.cpp"
break;
- case 556: /* statement: simple_statement */
-#line 3706 "MachineIndependent/glslang.y"
+ case 558: /* statement: simple_statement */
+#line 3719 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11041 "MachineIndependent/glslang_tab.cpp"
+#line 11075 "MachineIndependent/glslang_tab.cpp"
break;
- case 557: /* simple_statement: declaration_statement */
-#line 3712 "MachineIndependent/glslang.y"
+ case 559: /* simple_statement: declaration_statement */
+#line 3725 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11047 "MachineIndependent/glslang_tab.cpp"
+#line 11081 "MachineIndependent/glslang_tab.cpp"
break;
- case 558: /* simple_statement: expression_statement */
-#line 3713 "MachineIndependent/glslang.y"
+ case 560: /* simple_statement: expression_statement */
+#line 3726 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11053 "MachineIndependent/glslang_tab.cpp"
+#line 11087 "MachineIndependent/glslang_tab.cpp"
break;
- case 559: /* simple_statement: selection_statement */
-#line 3714 "MachineIndependent/glslang.y"
+ case 561: /* simple_statement: selection_statement */
+#line 3727 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11059 "MachineIndependent/glslang_tab.cpp"
+#line 11093 "MachineIndependent/glslang_tab.cpp"
break;
- case 560: /* simple_statement: switch_statement */
-#line 3715 "MachineIndependent/glslang.y"
+ case 562: /* simple_statement: switch_statement */
+#line 3728 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11065 "MachineIndependent/glslang_tab.cpp"
+#line 11099 "MachineIndependent/glslang_tab.cpp"
break;
- case 561: /* simple_statement: case_label */
-#line 3716 "MachineIndependent/glslang.y"
+ case 563: /* simple_statement: case_label */
+#line 3729 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11071 "MachineIndependent/glslang_tab.cpp"
+#line 11105 "MachineIndependent/glslang_tab.cpp"
break;
- case 562: /* simple_statement: iteration_statement */
-#line 3717 "MachineIndependent/glslang.y"
+ case 564: /* simple_statement: iteration_statement */
+#line 3730 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11077 "MachineIndependent/glslang_tab.cpp"
+#line 11111 "MachineIndependent/glslang_tab.cpp"
break;
- case 563: /* simple_statement: jump_statement */
-#line 3718 "MachineIndependent/glslang.y"
+ case 565: /* simple_statement: jump_statement */
+#line 3731 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11083 "MachineIndependent/glslang_tab.cpp"
+#line 11117 "MachineIndependent/glslang_tab.cpp"
break;
- case 564: /* simple_statement: demote_statement */
-#line 3720 "MachineIndependent/glslang.y"
+ case 566: /* simple_statement: demote_statement */
+#line 3733 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11089 "MachineIndependent/glslang_tab.cpp"
+#line 11123 "MachineIndependent/glslang_tab.cpp"
break;
- case 565: /* demote_statement: DEMOTE SEMICOLON */
-#line 3726 "MachineIndependent/glslang.y"
+ case 567: /* demote_statement: DEMOTE SEMICOLON */
+#line 3739 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "demote");
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 11099 "MachineIndependent/glslang_tab.cpp"
+#line 11133 "MachineIndependent/glslang_tab.cpp"
break;
- case 566: /* compound_statement: LEFT_BRACE RIGHT_BRACE */
-#line 3735 "MachineIndependent/glslang.y"
+ case 568: /* compound_statement: LEFT_BRACE RIGHT_BRACE */
+#line 3748 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = 0; }
-#line 11105 "MachineIndependent/glslang_tab.cpp"
+#line 11139 "MachineIndependent/glslang_tab.cpp"
break;
- case 567: /* $@5: %empty */
-#line 3736 "MachineIndependent/glslang.y"
+ case 569: /* $@5: %empty */
+#line 3749 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
}
-#line 11114 "MachineIndependent/glslang_tab.cpp"
+#line 11148 "MachineIndependent/glslang_tab.cpp"
break;
- case 568: /* $@6: %empty */
-#line 3740 "MachineIndependent/glslang.y"
+ case 570: /* $@6: %empty */
+#line 3753 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
}
-#line 11123 "MachineIndependent/glslang_tab.cpp"
+#line 11157 "MachineIndependent/glslang_tab.cpp"
break;
- case 569: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */
-#line 3744 "MachineIndependent/glslang.y"
+ case 571: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */
+#line 3757 "MachineIndependent/glslang.y"
{
if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
(yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
}
-#line 11133 "MachineIndependent/glslang_tab.cpp"
+#line 11167 "MachineIndependent/glslang_tab.cpp"
break;
- case 570: /* statement_no_new_scope: compound_statement_no_new_scope */
-#line 3752 "MachineIndependent/glslang.y"
+ case 572: /* statement_no_new_scope: compound_statement_no_new_scope */
+#line 3765 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11139 "MachineIndependent/glslang_tab.cpp"
+#line 11173 "MachineIndependent/glslang_tab.cpp"
break;
- case 571: /* statement_no_new_scope: simple_statement */
-#line 3753 "MachineIndependent/glslang.y"
+ case 573: /* statement_no_new_scope: simple_statement */
+#line 3766 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 11145 "MachineIndependent/glslang_tab.cpp"
+#line 11179 "MachineIndependent/glslang_tab.cpp"
break;
- case 572: /* $@7: %empty */
-#line 3757 "MachineIndependent/glslang.y"
+ case 574: /* $@7: %empty */
+#line 3770 "MachineIndependent/glslang.y"
{
++parseContext.controlFlowNestingLevel;
}
-#line 11153 "MachineIndependent/glslang_tab.cpp"
+#line 11187 "MachineIndependent/glslang_tab.cpp"
break;
- case 573: /* statement_scoped: $@7 compound_statement */
-#line 3760 "MachineIndependent/glslang.y"
+ case 575: /* statement_scoped: $@7 compound_statement */
+#line 3773 "MachineIndependent/glslang.y"
{
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11162 "MachineIndependent/glslang_tab.cpp"
+#line 11196 "MachineIndependent/glslang_tab.cpp"
break;
- case 574: /* $@8: %empty */
-#line 3764 "MachineIndependent/glslang.y"
+ case 576: /* $@8: %empty */
+#line 3777 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11172 "MachineIndependent/glslang_tab.cpp"
+#line 11206 "MachineIndependent/glslang_tab.cpp"
break;
- case 575: /* statement_scoped: $@8 simple_statement */
-#line 3769 "MachineIndependent/glslang.y"
+ case 577: /* statement_scoped: $@8 simple_statement */
+#line 3782 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11183 "MachineIndependent/glslang_tab.cpp"
+#line 11217 "MachineIndependent/glslang_tab.cpp"
break;
- case 576: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */
-#line 3778 "MachineIndependent/glslang.y"
+ case 578: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */
+#line 3791 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
}
-#line 11191 "MachineIndependent/glslang_tab.cpp"
+#line 11225 "MachineIndependent/glslang_tab.cpp"
break;
- case 577: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */
-#line 3781 "MachineIndependent/glslang.y"
+ case 579: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */
+#line 3794 "MachineIndependent/glslang.y"
{
if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
(yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
}
-#line 11201 "MachineIndependent/glslang_tab.cpp"
+#line 11235 "MachineIndependent/glslang_tab.cpp"
break;
- case 578: /* statement_list: statement */
-#line 3789 "MachineIndependent/glslang.y"
+ case 580: /* statement_list: statement */
+#line 3802 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
@@ -11210,11 +11244,11 @@ yyreduce:
(yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
}
}
-#line 11214 "MachineIndependent/glslang_tab.cpp"
+#line 11248 "MachineIndependent/glslang_tab.cpp"
break;
- case 579: /* statement_list: statement_list statement */
-#line 3797 "MachineIndependent/glslang.y"
+ case 581: /* statement_list: statement_list statement */
+#line 3810 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
(yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
@@ -11223,77 +11257,77 @@ yyreduce:
} else
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 11227 "MachineIndependent/glslang_tab.cpp"
+#line 11261 "MachineIndependent/glslang_tab.cpp"
break;
- case 580: /* expression_statement: SEMICOLON */
-#line 3808 "MachineIndependent/glslang.y"
+ case 582: /* expression_statement: SEMICOLON */
+#line 3821 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = 0; }
-#line 11233 "MachineIndependent/glslang_tab.cpp"
+#line 11267 "MachineIndependent/glslang_tab.cpp"
break;
- case 581: /* expression_statement: expression SEMICOLON */
-#line 3809 "MachineIndependent/glslang.y"
+ case 583: /* expression_statement: expression SEMICOLON */
+#line 3822 "MachineIndependent/glslang.y"
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 11239 "MachineIndependent/glslang_tab.cpp"
+#line 11273 "MachineIndependent/glslang_tab.cpp"
break;
- case 582: /* selection_statement: selection_statement_nonattributed */
-#line 3813 "MachineIndependent/glslang.y"
+ case 584: /* selection_statement: selection_statement_nonattributed */
+#line 3826 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11247 "MachineIndependent/glslang_tab.cpp"
+#line 11281 "MachineIndependent/glslang_tab.cpp"
break;
- case 583: /* selection_statement: attribute selection_statement_nonattributed */
-#line 3817 "MachineIndependent/glslang.y"
+ case 585: /* selection_statement: attribute selection_statement_nonattributed */
+#line 3830 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");
parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11257 "MachineIndependent/glslang_tab.cpp"
+#line 11291 "MachineIndependent/glslang_tab.cpp"
break;
- case 584: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */
-#line 3825 "MachineIndependent/glslang.y"
+ case 586: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */
+#line 3838 "MachineIndependent/glslang.y"
{
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 11266 "MachineIndependent/glslang_tab.cpp"
+#line 11300 "MachineIndependent/glslang_tab.cpp"
break;
- case 585: /* selection_rest_statement: statement_scoped ELSE statement_scoped */
-#line 3832 "MachineIndependent/glslang.y"
+ case 587: /* selection_rest_statement: statement_scoped ELSE statement_scoped */
+#line 3845 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
}
-#line 11275 "MachineIndependent/glslang_tab.cpp"
+#line 11309 "MachineIndependent/glslang_tab.cpp"
break;
- case 586: /* selection_rest_statement: statement_scoped */
-#line 3836 "MachineIndependent/glslang.y"
+ case 588: /* selection_rest_statement: statement_scoped */
+#line 3849 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 11284 "MachineIndependent/glslang_tab.cpp"
+#line 11318 "MachineIndependent/glslang_tab.cpp"
break;
- case 587: /* condition: expression */
-#line 3844 "MachineIndependent/glslang.y"
+ case 589: /* condition: expression */
+#line 3857 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
}
-#line 11293 "MachineIndependent/glslang_tab.cpp"
+#line 11327 "MachineIndependent/glslang_tab.cpp"
break;
- case 588: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */
-#line 3848 "MachineIndependent/glslang.y"
+ case 590: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */
+#line 3861 "MachineIndependent/glslang.y"
{
parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
@@ -11304,29 +11338,29 @@ yyreduce:
else
(yyval.interm.intermTypedNode) = 0;
}
-#line 11308 "MachineIndependent/glslang_tab.cpp"
+#line 11342 "MachineIndependent/glslang_tab.cpp"
break;
- case 589: /* switch_statement: switch_statement_nonattributed */
-#line 3861 "MachineIndependent/glslang.y"
+ case 591: /* switch_statement: switch_statement_nonattributed */
+#line 3874 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11316 "MachineIndependent/glslang_tab.cpp"
+#line 11350 "MachineIndependent/glslang_tab.cpp"
break;
- case 590: /* switch_statement: attribute switch_statement_nonattributed */
-#line 3865 "MachineIndependent/glslang.y"
+ case 592: /* switch_statement: attribute switch_statement_nonattributed */
+#line 3878 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");
parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11326 "MachineIndependent/glslang_tab.cpp"
+#line 11360 "MachineIndependent/glslang_tab.cpp"
break;
- case 591: /* $@9: %empty */
-#line 3873 "MachineIndependent/glslang.y"
+ case 593: /* $@9: %empty */
+#line 3886 "MachineIndependent/glslang.y"
{
// start new switch sequence on the switch stack
++parseContext.controlFlowNestingLevel;
@@ -11335,11 +11369,11 @@ yyreduce:
parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
parseContext.symbolTable.push();
}
-#line 11339 "MachineIndependent/glslang_tab.cpp"
+#line 11373 "MachineIndependent/glslang_tab.cpp"
break;
- case 592: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */
-#line 3881 "MachineIndependent/glslang.y"
+ case 594: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */
+#line 3894 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
delete parseContext.switchSequenceStack.back();
@@ -11349,27 +11383,27 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11353 "MachineIndependent/glslang_tab.cpp"
+#line 11387 "MachineIndependent/glslang_tab.cpp"
break;
- case 593: /* switch_statement_list: %empty */
-#line 3893 "MachineIndependent/glslang.y"
+ case 595: /* switch_statement_list: %empty */
+#line 3906 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
}
-#line 11361 "MachineIndependent/glslang_tab.cpp"
+#line 11395 "MachineIndependent/glslang_tab.cpp"
break;
- case 594: /* switch_statement_list: statement_list */
-#line 3896 "MachineIndependent/glslang.y"
+ case 596: /* switch_statement_list: statement_list */
+#line 3909 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11369 "MachineIndependent/glslang_tab.cpp"
+#line 11403 "MachineIndependent/glslang_tab.cpp"
break;
- case 595: /* case_label: CASE expression COLON */
-#line 3902 "MachineIndependent/glslang.y"
+ case 597: /* case_label: CASE expression COLON */
+#line 3915 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -11382,11 +11416,11 @@ yyreduce:
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
}
}
-#line 11386 "MachineIndependent/glslang_tab.cpp"
+#line 11420 "MachineIndependent/glslang_tab.cpp"
break;
- case 596: /* case_label: DEFAULT COLON */
-#line 3914 "MachineIndependent/glslang.y"
+ case 598: /* case_label: DEFAULT COLON */
+#line 3927 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -11396,29 +11430,29 @@ yyreduce:
else
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
}
-#line 11400 "MachineIndependent/glslang_tab.cpp"
+#line 11434 "MachineIndependent/glslang_tab.cpp"
break;
- case 597: /* iteration_statement: iteration_statement_nonattributed */
-#line 3926 "MachineIndependent/glslang.y"
+ case 599: /* iteration_statement: iteration_statement_nonattributed */
+#line 3939 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11408 "MachineIndependent/glslang_tab.cpp"
+#line 11442 "MachineIndependent/glslang_tab.cpp"
break;
- case 598: /* iteration_statement: attribute iteration_statement_nonattributed */
-#line 3930 "MachineIndependent/glslang.y"
+ case 600: /* iteration_statement: attribute iteration_statement_nonattributed */
+#line 3943 "MachineIndependent/glslang.y"
{
parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");
parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11418 "MachineIndependent/glslang_tab.cpp"
+#line 11452 "MachineIndependent/glslang_tab.cpp"
break;
- case 599: /* $@10: %empty */
-#line 3938 "MachineIndependent/glslang.y"
+ case 601: /* $@10: %empty */
+#line 3951 "MachineIndependent/glslang.y"
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -11427,11 +11461,11 @@ yyreduce:
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11431 "MachineIndependent/glslang_tab.cpp"
+#line 11465 "MachineIndependent/glslang_tab.cpp"
break;
- case 600: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */
-#line 3946 "MachineIndependent/glslang.y"
+ case 602: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */
+#line 3959 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
@@ -11439,22 +11473,22 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11443 "MachineIndependent/glslang_tab.cpp"
+#line 11477 "MachineIndependent/glslang_tab.cpp"
break;
- case 601: /* $@11: %empty */
-#line 3953 "MachineIndependent/glslang.y"
+ case 603: /* $@11: %empty */
+#line 3966 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11454 "MachineIndependent/glslang_tab.cpp"
+#line 11488 "MachineIndependent/glslang_tab.cpp"
break;
- case 602: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */
-#line 3959 "MachineIndependent/glslang.y"
+ case 604: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */
+#line 3972 "MachineIndependent/glslang.y"
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -11467,22 +11501,22 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11471 "MachineIndependent/glslang_tab.cpp"
+#line 11505 "MachineIndependent/glslang_tab.cpp"
break;
- case 603: /* $@12: %empty */
-#line 3971 "MachineIndependent/glslang.y"
+ case 605: /* $@12: %empty */
+#line 3984 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11482 "MachineIndependent/glslang_tab.cpp"
+#line 11516 "MachineIndependent/glslang_tab.cpp"
break;
- case 604: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */
-#line 3977 "MachineIndependent/glslang.y"
+ case 606: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */
+#line 3990 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -11495,81 +11529,81 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11499 "MachineIndependent/glslang_tab.cpp"
+#line 11533 "MachineIndependent/glslang_tab.cpp"
break;
- case 605: /* for_init_statement: expression_statement */
-#line 3992 "MachineIndependent/glslang.y"
+ case 607: /* for_init_statement: expression_statement */
+#line 4005 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11507 "MachineIndependent/glslang_tab.cpp"
+#line 11541 "MachineIndependent/glslang_tab.cpp"
break;
- case 606: /* for_init_statement: declaration_statement */
-#line 3995 "MachineIndependent/glslang.y"
+ case 608: /* for_init_statement: declaration_statement */
+#line 4008 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11515 "MachineIndependent/glslang_tab.cpp"
+#line 11549 "MachineIndependent/glslang_tab.cpp"
break;
- case 607: /* conditionopt: condition */
-#line 4001 "MachineIndependent/glslang.y"
+ case 609: /* conditionopt: condition */
+#line 4014 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 11523 "MachineIndependent/glslang_tab.cpp"
+#line 11557 "MachineIndependent/glslang_tab.cpp"
break;
- case 608: /* conditionopt: %empty */
-#line 4004 "MachineIndependent/glslang.y"
+ case 610: /* conditionopt: %empty */
+#line 4017 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = 0;
}
-#line 11531 "MachineIndependent/glslang_tab.cpp"
+#line 11565 "MachineIndependent/glslang_tab.cpp"
break;
- case 609: /* for_rest_statement: conditionopt SEMICOLON */
-#line 4010 "MachineIndependent/glslang.y"
+ case 611: /* for_rest_statement: conditionopt SEMICOLON */
+#line 4023 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 11540 "MachineIndependent/glslang_tab.cpp"
+#line 11574 "MachineIndependent/glslang_tab.cpp"
break;
- case 610: /* for_rest_statement: conditionopt SEMICOLON expression */
-#line 4014 "MachineIndependent/glslang.y"
+ case 612: /* for_rest_statement: conditionopt SEMICOLON expression */
+#line 4027 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
}
-#line 11549 "MachineIndependent/glslang_tab.cpp"
+#line 11583 "MachineIndependent/glslang_tab.cpp"
break;
- case 611: /* jump_statement: CONTINUE SEMICOLON */
-#line 4021 "MachineIndependent/glslang.y"
+ case 613: /* jump_statement: CONTINUE SEMICOLON */
+#line 4034 "MachineIndependent/glslang.y"
{
if (parseContext.loopNestingLevel <= 0)
parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
}
-#line 11559 "MachineIndependent/glslang_tab.cpp"
+#line 11593 "MachineIndependent/glslang_tab.cpp"
break;
- case 612: /* jump_statement: BREAK SEMICOLON */
-#line 4026 "MachineIndependent/glslang.y"
+ case 614: /* jump_statement: BREAK SEMICOLON */
+#line 4039 "MachineIndependent/glslang.y"
{
if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
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 11569 "MachineIndependent/glslang_tab.cpp"
+#line 11603 "MachineIndependent/glslang_tab.cpp"
break;
- case 613: /* jump_statement: RETURN SEMICOLON */
-#line 4031 "MachineIndependent/glslang.y"
+ case 615: /* jump_statement: RETURN SEMICOLON */
+#line 4044 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -11577,101 +11611,101 @@ yyreduce:
if (parseContext.inMain)
parseContext.postEntryPointReturn = true;
}
-#line 11581 "MachineIndependent/glslang_tab.cpp"
+#line 11615 "MachineIndependent/glslang_tab.cpp"
break;
- case 614: /* jump_statement: RETURN expression SEMICOLON */
-#line 4038 "MachineIndependent/glslang.y"
+ case 616: /* jump_statement: RETURN expression SEMICOLON */
+#line 4051 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
}
-#line 11589 "MachineIndependent/glslang_tab.cpp"
+#line 11623 "MachineIndependent/glslang_tab.cpp"
break;
- case 615: /* jump_statement: DISCARD SEMICOLON */
-#line 4041 "MachineIndependent/glslang.y"
+ case 617: /* jump_statement: DISCARD SEMICOLON */
+#line 4054 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
}
-#line 11598 "MachineIndependent/glslang_tab.cpp"
+#line 11632 "MachineIndependent/glslang_tab.cpp"
break;
- case 616: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */
-#line 4045 "MachineIndependent/glslang.y"
+ case 618: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */
+#line 4058 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc);
}
-#line 11607 "MachineIndependent/glslang_tab.cpp"
+#line 11641 "MachineIndependent/glslang_tab.cpp"
break;
- case 617: /* jump_statement: TERMINATE_RAY SEMICOLON */
-#line 4050 "MachineIndependent/glslang.y"
+ case 619: /* jump_statement: TERMINATE_RAY SEMICOLON */
+#line 4063 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc);
}
-#line 11616 "MachineIndependent/glslang_tab.cpp"
+#line 11650 "MachineIndependent/glslang_tab.cpp"
break;
- case 618: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */
-#line 4054 "MachineIndependent/glslang.y"
+ case 620: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */
+#line 4067 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc);
}
-#line 11625 "MachineIndependent/glslang_tab.cpp"
+#line 11659 "MachineIndependent/glslang_tab.cpp"
break;
- case 619: /* translation_unit: external_declaration */
-#line 4064 "MachineIndependent/glslang.y"
+ case 621: /* translation_unit: external_declaration */
+#line 4077 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
-#line 11634 "MachineIndependent/glslang_tab.cpp"
+#line 11668 "MachineIndependent/glslang_tab.cpp"
break;
- case 620: /* translation_unit: translation_unit external_declaration */
-#line 4068 "MachineIndependent/glslang.y"
+ case 622: /* translation_unit: translation_unit external_declaration */
+#line 4081 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermNode) != nullptr) {
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
}
-#line 11645 "MachineIndependent/glslang_tab.cpp"
+#line 11679 "MachineIndependent/glslang_tab.cpp"
break;
- case 621: /* external_declaration: function_definition */
-#line 4077 "MachineIndependent/glslang.y"
+ case 623: /* external_declaration: function_definition */
+#line 4090 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11653 "MachineIndependent/glslang_tab.cpp"
+#line 11687 "MachineIndependent/glslang_tab.cpp"
break;
- case 622: /* external_declaration: declaration */
-#line 4080 "MachineIndependent/glslang.y"
+ case 624: /* external_declaration: declaration */
+#line 4093 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11661 "MachineIndependent/glslang_tab.cpp"
+#line 11695 "MachineIndependent/glslang_tab.cpp"
break;
- case 623: /* external_declaration: SEMICOLON */
-#line 4084 "MachineIndependent/glslang.y"
+ case 625: /* external_declaration: SEMICOLON */
+#line 4097 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
(yyval.interm.intermNode) = nullptr;
}
-#line 11671 "MachineIndependent/glslang_tab.cpp"
+#line 11705 "MachineIndependent/glslang_tab.cpp"
break;
- case 624: /* $@13: %empty */
-#line 4093 "MachineIndependent/glslang.y"
+ case 626: /* $@13: %empty */
+#line 4106 "MachineIndependent/glslang.y"
{
(yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
(yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
@@ -11684,11 +11718,11 @@ yyreduce:
++parseContext.statementNestingLevel;
}
}
-#line 11688 "MachineIndependent/glslang_tab.cpp"
+#line 11722 "MachineIndependent/glslang_tab.cpp"
break;
- case 625: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */
-#line 4105 "MachineIndependent/glslang.y"
+ case 627: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */
+#line 4118 "MachineIndependent/glslang.y"
{
// May be best done as post process phase on intermediate code
if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -11715,228 +11749,228 @@ yyreduce:
--parseContext.statementNestingLevel;
}
}
-#line 11719 "MachineIndependent/glslang_tab.cpp"
+#line 11753 "MachineIndependent/glslang_tab.cpp"
break;
- case 626: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */
-#line 4135 "MachineIndependent/glslang.y"
+ case 628: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */
+#line 4148 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
}
-#line 11727 "MachineIndependent/glslang_tab.cpp"
+#line 11761 "MachineIndependent/glslang_tab.cpp"
break;
- case 627: /* attribute_list: single_attribute */
-#line 4140 "MachineIndependent/glslang.y"
+ case 629: /* attribute_list: single_attribute */
+#line 4153 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[0].interm.attributes);
}
-#line 11735 "MachineIndependent/glslang_tab.cpp"
+#line 11769 "MachineIndependent/glslang_tab.cpp"
break;
- case 628: /* attribute_list: attribute_list COMMA single_attribute */
-#line 4143 "MachineIndependent/glslang.y"
+ case 630: /* attribute_list: attribute_list COMMA single_attribute */
+#line 4156 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
}
-#line 11743 "MachineIndependent/glslang_tab.cpp"
+#line 11777 "MachineIndependent/glslang_tab.cpp"
break;
- case 629: /* single_attribute: IDENTIFIER */
-#line 4148 "MachineIndependent/glslang.y"
+ case 631: /* single_attribute: IDENTIFIER */
+#line 4161 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
}
-#line 11751 "MachineIndependent/glslang_tab.cpp"
+#line 11785 "MachineIndependent/glslang_tab.cpp"
break;
- case 630: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */
-#line 4151 "MachineIndependent/glslang.y"
+ case 632: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */
+#line 4164 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
}
-#line 11759 "MachineIndependent/glslang_tab.cpp"
+#line 11793 "MachineIndependent/glslang_tab.cpp"
break;
- case 631: /* spirv_requirements_list: spirv_requirements_parameter */
-#line 4158 "MachineIndependent/glslang.y"
+ case 633: /* spirv_requirements_list: spirv_requirements_parameter */
+#line 4171 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq);
}
-#line 11767 "MachineIndependent/glslang_tab.cpp"
+#line 11801 "MachineIndependent/glslang_tab.cpp"
break;
- case 632: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */
-#line 4161 "MachineIndependent/glslang.y"
+ case 634: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */
+#line 4174 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq));
}
-#line 11775 "MachineIndependent/glslang_tab.cpp"
+#line 11809 "MachineIndependent/glslang_tab.cpp"
break;
- case 633: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */
-#line 4166 "MachineIndependent/glslang.y"
+ case 635: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */
+#line 4179 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr);
}
-#line 11783 "MachineIndependent/glslang_tab.cpp"
+#line 11817 "MachineIndependent/glslang_tab.cpp"
break;
- case 634: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */
-#line 4169 "MachineIndependent/glslang.y"
+ case 636: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */
+#line 4182 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11791 "MachineIndependent/glslang_tab.cpp"
+#line 11825 "MachineIndependent/glslang_tab.cpp"
break;
- case 635: /* spirv_extension_list: STRING_LITERAL */
-#line 4174 "MachineIndependent/glslang.y"
+ case 637: /* spirv_extension_list: STRING_LITERAL */
+#line 4187 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 11799 "MachineIndependent/glslang_tab.cpp"
+#line 11833 "MachineIndependent/glslang_tab.cpp"
break;
- case 636: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */
-#line 4177 "MachineIndependent/glslang.y"
+ case 638: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */
+#line 4190 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 11807 "MachineIndependent/glslang_tab.cpp"
+#line 11841 "MachineIndependent/glslang_tab.cpp"
break;
- case 637: /* spirv_capability_list: INTCONSTANT */
-#line 4182 "MachineIndependent/glslang.y"
+ case 639: /* spirv_capability_list: INTCONSTANT */
+#line 4195 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));
}
-#line 11815 "MachineIndependent/glslang_tab.cpp"
+#line 11849 "MachineIndependent/glslang_tab.cpp"
break;
- case 638: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */
-#line 4185 "MachineIndependent/glslang.y"
+ case 640: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */
+#line 4198 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));
}
-#line 11823 "MachineIndependent/glslang_tab.cpp"
+#line 11857 "MachineIndependent/glslang_tab.cpp"
break;
- case 639: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4190 "MachineIndependent/glslang.y"
+ case 641: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
+#line 4203 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);
(yyval.interm.intermNode) = 0;
}
-#line 11832 "MachineIndependent/glslang_tab.cpp"
+#line 11866 "MachineIndependent/glslang_tab.cpp"
break;
- case 640: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4194 "MachineIndependent/glslang.y"
+ case 642: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
+#line 4207 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);
(yyval.interm.intermNode) = 0;
}
-#line 11842 "MachineIndependent/glslang_tab.cpp"
+#line 11876 "MachineIndependent/glslang_tab.cpp"
break;
- case 641: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
-#line 4199 "MachineIndependent/glslang.y"
+ case 643: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
+#line 4212 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11851 "MachineIndependent/glslang_tab.cpp"
+#line 11885 "MachineIndependent/glslang_tab.cpp"
break;
- case 642: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
-#line 4203 "MachineIndependent/glslang.y"
+ case 644: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
+#line 4216 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11861 "MachineIndependent/glslang_tab.cpp"
+#line 11895 "MachineIndependent/glslang_tab.cpp"
break;
- case 643: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
-#line 4208 "MachineIndependent/glslang.y"
+ case 645: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
+#line 4221 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11870 "MachineIndependent/glslang_tab.cpp"
+#line 11904 "MachineIndependent/glslang_tab.cpp"
break;
- case 644: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
-#line 4212 "MachineIndependent/glslang.y"
+ case 646: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
+#line 4225 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11880 "MachineIndependent/glslang_tab.cpp"
+#line 11914 "MachineIndependent/glslang_tab.cpp"
break;
- case 645: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */
-#line 4219 "MachineIndependent/glslang.y"
+ case 647: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */
+#line 4232 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
}
-#line 11888 "MachineIndependent/glslang_tab.cpp"
+#line 11922 "MachineIndependent/glslang_tab.cpp"
break;
- case 646: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */
-#line 4222 "MachineIndependent/glslang.y"
+ case 648: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */
+#line 4235 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 11896 "MachineIndependent/glslang_tab.cpp"
+#line 11930 "MachineIndependent/glslang_tab.cpp"
break;
- case 647: /* spirv_execution_mode_parameter: FLOATCONSTANT */
-#line 4227 "MachineIndependent/glslang.y"
+ case 649: /* spirv_execution_mode_parameter: FLOATCONSTANT */
+#line 4240 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 11904 "MachineIndependent/glslang_tab.cpp"
+#line 11938 "MachineIndependent/glslang_tab.cpp"
break;
- case 648: /* spirv_execution_mode_parameter: INTCONSTANT */
-#line 4230 "MachineIndependent/glslang.y"
+ case 650: /* spirv_execution_mode_parameter: INTCONSTANT */
+#line 4243 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 11912 "MachineIndependent/glslang_tab.cpp"
+#line 11946 "MachineIndependent/glslang_tab.cpp"
break;
- case 649: /* spirv_execution_mode_parameter: UINTCONSTANT */
-#line 4233 "MachineIndependent/glslang.y"
+ case 651: /* spirv_execution_mode_parameter: UINTCONSTANT */
+#line 4246 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 11920 "MachineIndependent/glslang_tab.cpp"
+#line 11954 "MachineIndependent/glslang_tab.cpp"
break;
- case 650: /* spirv_execution_mode_parameter: BOOLCONSTANT */
-#line 4236 "MachineIndependent/glslang.y"
+ case 652: /* spirv_execution_mode_parameter: BOOLCONSTANT */
+#line 4249 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 11928 "MachineIndependent/glslang_tab.cpp"
+#line 11962 "MachineIndependent/glslang_tab.cpp"
break;
- case 651: /* spirv_execution_mode_parameter: STRING_LITERAL */
-#line 4239 "MachineIndependent/glslang.y"
+ case 653: /* spirv_execution_mode_parameter: STRING_LITERAL */
+#line 4252 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);
}
-#line 11936 "MachineIndependent/glslang_tab.cpp"
+#line 11970 "MachineIndependent/glslang_tab.cpp"
break;
- case 652: /* spirv_execution_mode_id_parameter_list: constant_expression */
-#line 4244 "MachineIndependent/glslang.y"
+ case 654: /* spirv_execution_mode_id_parameter_list: constant_expression */
+#line 4257 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -11946,11 +11980,11 @@ 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 11950 "MachineIndependent/glslang_tab.cpp"
+#line 11984 "MachineIndependent/glslang_tab.cpp"
break;
- case 653: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */
-#line 4253 "MachineIndependent/glslang.y"
+ case 655: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */
+#line 4266 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -11960,156 +11994,156 @@ 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 11964 "MachineIndependent/glslang_tab.cpp"
+#line 11998 "MachineIndependent/glslang_tab.cpp"
break;
- case 654: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4264 "MachineIndependent/glslang.y"
+ case 656: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */
+#line 4277 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc);
(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;
(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;
}
-#line 11974 "MachineIndependent/glslang_tab.cpp"
+#line 12008 "MachineIndependent/glslang_tab.cpp"
break;
- case 655: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4269 "MachineIndependent/glslang.y"
+ case 657: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
+#line 4282 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;
(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;
}
-#line 11985 "MachineIndependent/glslang_tab.cpp"
+#line 12019 "MachineIndependent/glslang_tab.cpp"
break;
- case 656: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4277 "MachineIndependent/glslang.y"
+ case 658: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
+#line 4290 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);
}
-#line 11994 "MachineIndependent/glslang_tab.cpp"
+#line 12028 "MachineIndependent/glslang_tab.cpp"
break;
- case 657: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4281 "MachineIndependent/glslang.y"
+ case 659: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
+#line 4294 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);
}
-#line 12004 "MachineIndependent/glslang_tab.cpp"
+#line 12038 "MachineIndependent/glslang_tab.cpp"
break;
- case 658: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
-#line 4286 "MachineIndependent/glslang.y"
+ case 660: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
+#line 4299 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12013 "MachineIndependent/glslang_tab.cpp"
+#line 12047 "MachineIndependent/glslang_tab.cpp"
break;
- case 659: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
-#line 4290 "MachineIndependent/glslang.y"
+ case 661: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
+#line 4303 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12023 "MachineIndependent/glslang_tab.cpp"
+#line 12057 "MachineIndependent/glslang_tab.cpp"
break;
- case 660: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
-#line 4295 "MachineIndependent/glslang.y"
+ case 662: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
+#line 4308 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12032 "MachineIndependent/glslang_tab.cpp"
+#line 12066 "MachineIndependent/glslang_tab.cpp"
break;
- case 661: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
-#line 4299 "MachineIndependent/glslang.y"
+ case 663: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
+#line 4312 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12042 "MachineIndependent/glslang_tab.cpp"
+#line 12076 "MachineIndependent/glslang_tab.cpp"
break;
- case 662: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
-#line 4304 "MachineIndependent/glslang.y"
+ case 664: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
+#line 4317 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12051 "MachineIndependent/glslang_tab.cpp"
+#line 12085 "MachineIndependent/glslang_tab.cpp"
break;
- case 663: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
-#line 4308 "MachineIndependent/glslang.y"
+ case 665: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
+#line 4321 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12061 "MachineIndependent/glslang_tab.cpp"
+#line 12095 "MachineIndependent/glslang_tab.cpp"
break;
- case 664: /* spirv_decorate_parameter_list: spirv_decorate_parameter */
-#line 4315 "MachineIndependent/glslang.y"
+ case 666: /* spirv_decorate_parameter_list: spirv_decorate_parameter */
+#line 4328 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
}
-#line 12069 "MachineIndependent/glslang_tab.cpp"
+#line 12103 "MachineIndependent/glslang_tab.cpp"
break;
- case 665: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */
-#line 4318 "MachineIndependent/glslang.y"
+ case 667: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */
+#line 4331 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 12077 "MachineIndependent/glslang_tab.cpp"
+#line 12111 "MachineIndependent/glslang_tab.cpp"
break;
- case 666: /* spirv_decorate_parameter: FLOATCONSTANT */
-#line 4323 "MachineIndependent/glslang.y"
+ case 668: /* spirv_decorate_parameter: FLOATCONSTANT */
+#line 4336 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 12085 "MachineIndependent/glslang_tab.cpp"
+#line 12119 "MachineIndependent/glslang_tab.cpp"
break;
- case 667: /* spirv_decorate_parameter: INTCONSTANT */
-#line 4326 "MachineIndependent/glslang.y"
+ case 669: /* spirv_decorate_parameter: INTCONSTANT */
+#line 4339 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 12093 "MachineIndependent/glslang_tab.cpp"
+#line 12127 "MachineIndependent/glslang_tab.cpp"
break;
- case 668: /* spirv_decorate_parameter: UINTCONSTANT */
-#line 4329 "MachineIndependent/glslang.y"
+ case 670: /* spirv_decorate_parameter: UINTCONSTANT */
+#line 4342 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 12101 "MachineIndependent/glslang_tab.cpp"
+#line 12135 "MachineIndependent/glslang_tab.cpp"
break;
- case 669: /* spirv_decorate_parameter: BOOLCONSTANT */
-#line 4332 "MachineIndependent/glslang.y"
+ case 671: /* spirv_decorate_parameter: BOOLCONSTANT */
+#line 4345 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 12109 "MachineIndependent/glslang_tab.cpp"
+#line 12143 "MachineIndependent/glslang_tab.cpp"
break;
- case 670: /* spirv_decorate_id_parameter_list: constant_expression */
-#line 4337 "MachineIndependent/glslang.y"
+ case 672: /* spirv_decorate_id_parameter_list: constant_expression */
+#line 4350 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -12118,11 +12152,11 @@ 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 12122 "MachineIndependent/glslang_tab.cpp"
+#line 12156 "MachineIndependent/glslang_tab.cpp"
break;
- case 671: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA constant_expression */
-#line 4345 "MachineIndependent/glslang.y"
+ case 673: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA constant_expression */
+#line 4358 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -12131,139 +12165,139 @@ 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 12135 "MachineIndependent/glslang_tab.cpp"
+#line 12169 "MachineIndependent/glslang_tab.cpp"
break;
- case 672: /* spirv_decorate_string_parameter_list: STRING_LITERAL */
-#line 4355 "MachineIndependent/glslang.y"
+ case 674: /* spirv_decorate_string_parameter_list: STRING_LITERAL */
+#line 4368 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(
parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 12144 "MachineIndependent/glslang_tab.cpp"
+#line 12178 "MachineIndependent/glslang_tab.cpp"
break;
- case 673: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */
-#line 4359 "MachineIndependent/glslang.y"
+ case 675: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */
+#line 4372 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 12152 "MachineIndependent/glslang_tab.cpp"
+#line 12186 "MachineIndependent/glslang_tab.cpp"
break;
- case 674: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
-#line 4364 "MachineIndependent/glslang.y"
+ case 676: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
+#line 4377 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));
}
-#line 12161 "MachineIndependent/glslang_tab.cpp"
+#line 12195 "MachineIndependent/glslang_tab.cpp"
break;
- case 675: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
-#line 4368 "MachineIndependent/glslang.y"
+ case 677: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
+#line 4381 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));
}
-#line 12171 "MachineIndependent/glslang_tab.cpp"
+#line 12205 "MachineIndependent/glslang_tab.cpp"
break;
- case 676: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4373 "MachineIndependent/glslang.y"
+ case 678: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4386 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));
}
-#line 12180 "MachineIndependent/glslang_tab.cpp"
+#line 12214 "MachineIndependent/glslang_tab.cpp"
break;
- case 677: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4377 "MachineIndependent/glslang.y"
+ case 679: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4390 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));
}
-#line 12190 "MachineIndependent/glslang_tab.cpp"
+#line 12224 "MachineIndependent/glslang_tab.cpp"
break;
- case 678: /* spirv_type_parameter_list: spirv_type_parameter */
-#line 4384 "MachineIndependent/glslang.y"
+ case 680: /* spirv_type_parameter_list: spirv_type_parameter */
+#line 4397 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams);
}
-#line 12198 "MachineIndependent/glslang_tab.cpp"
+#line 12232 "MachineIndependent/glslang_tab.cpp"
break;
- case 679: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */
-#line 4387 "MachineIndependent/glslang.y"
+ case 681: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */
+#line 4400 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams));
}
-#line 12206 "MachineIndependent/glslang_tab.cpp"
+#line 12240 "MachineIndependent/glslang_tab.cpp"
break;
- case 680: /* spirv_type_parameter: constant_expression */
-#line 4392 "MachineIndependent/glslang.y"
+ case 682: /* spirv_type_parameter: constant_expression */
+#line 4405 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion());
}
-#line 12214 "MachineIndependent/glslang_tab.cpp"
+#line 12248 "MachineIndependent/glslang_tab.cpp"
break;
- case 681: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4397 "MachineIndependent/glslang.y"
+ case 683: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4410 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
-#line 12222 "MachineIndependent/glslang_tab.cpp"
+#line 12256 "MachineIndependent/glslang_tab.cpp"
break;
- case 682: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4400 "MachineIndependent/glslang.y"
+ case 684: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4413 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
-#line 12231 "MachineIndependent/glslang_tab.cpp"
+#line 12265 "MachineIndependent/glslang_tab.cpp"
break;
- case 683: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
-#line 4406 "MachineIndependent/glslang.y"
+ case 685: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
+#line 4419 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst);
}
-#line 12239 "MachineIndependent/glslang_tab.cpp"
+#line 12273 "MachineIndependent/glslang_tab.cpp"
break;
- case 684: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
-#line 4409 "MachineIndependent/glslang.y"
+ case 686: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
+#line 4422 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst));
}
-#line 12247 "MachineIndependent/glslang_tab.cpp"
+#line 12281 "MachineIndependent/glslang_tab.cpp"
break;
- case 685: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
-#line 4414 "MachineIndependent/glslang.y"
+ case 687: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
+#line 4427 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string);
}
-#line 12255 "MachineIndependent/glslang_tab.cpp"
+#line 12289 "MachineIndependent/glslang_tab.cpp"
break;
- case 686: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
-#line 4417 "MachineIndependent/glslang.y"
+ case 688: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
+#line 4430 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i);
}
-#line 12263 "MachineIndependent/glslang_tab.cpp"
+#line 12297 "MachineIndependent/glslang_tab.cpp"
break;
-#line 12267 "MachineIndependent/glslang_tab.cpp"
+#line 12301 "MachineIndependent/glslang_tab.cpp"
default: break;
}
@@ -12488,5 +12522,5 @@ yyreturn:
return yyresult;
}
-#line 4422 "MachineIndependent/glslang.y"
+#line 4435 "MachineIndependent/glslang.y"
diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h
index 18cef468..6d168d01 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp.h
+++ b/glslang/MachineIndependent/glslang_tab.cpp.h
@@ -217,298 +217,300 @@ extern int yydebug;
FCOOPMATNV = 418, /* FCOOPMATNV */
ICOOPMATNV = 419, /* ICOOPMATNV */
UCOOPMATNV = 420, /* UCOOPMATNV */
- SAMPLERCUBEARRAY = 421, /* SAMPLERCUBEARRAY */
- SAMPLERCUBEARRAYSHADOW = 422, /* SAMPLERCUBEARRAYSHADOW */
- ISAMPLERCUBEARRAY = 423, /* ISAMPLERCUBEARRAY */
- USAMPLERCUBEARRAY = 424, /* USAMPLERCUBEARRAY */
- SAMPLER1D = 425, /* SAMPLER1D */
- SAMPLER1DARRAY = 426, /* SAMPLER1DARRAY */
- SAMPLER1DARRAYSHADOW = 427, /* SAMPLER1DARRAYSHADOW */
- ISAMPLER1D = 428, /* ISAMPLER1D */
- SAMPLER1DSHADOW = 429, /* SAMPLER1DSHADOW */
- SAMPLER2DRECT = 430, /* SAMPLER2DRECT */
- SAMPLER2DRECTSHADOW = 431, /* SAMPLER2DRECTSHADOW */
- ISAMPLER2DRECT = 432, /* ISAMPLER2DRECT */
- USAMPLER2DRECT = 433, /* USAMPLER2DRECT */
- SAMPLERBUFFER = 434, /* SAMPLERBUFFER */
- ISAMPLERBUFFER = 435, /* ISAMPLERBUFFER */
- USAMPLERBUFFER = 436, /* USAMPLERBUFFER */
- SAMPLER2DMS = 437, /* SAMPLER2DMS */
- ISAMPLER2DMS = 438, /* ISAMPLER2DMS */
- USAMPLER2DMS = 439, /* USAMPLER2DMS */
- SAMPLER2DMSARRAY = 440, /* SAMPLER2DMSARRAY */
- ISAMPLER2DMSARRAY = 441, /* ISAMPLER2DMSARRAY */
- USAMPLER2DMSARRAY = 442, /* USAMPLER2DMSARRAY */
- SAMPLEREXTERNALOES = 443, /* SAMPLEREXTERNALOES */
- SAMPLEREXTERNAL2DY2YEXT = 444, /* SAMPLEREXTERNAL2DY2YEXT */
- ISAMPLER1DARRAY = 445, /* ISAMPLER1DARRAY */
- USAMPLER1D = 446, /* USAMPLER1D */
- USAMPLER1DARRAY = 447, /* USAMPLER1DARRAY */
- F16SAMPLER1D = 448, /* F16SAMPLER1D */
- F16SAMPLER2D = 449, /* F16SAMPLER2D */
- F16SAMPLER3D = 450, /* F16SAMPLER3D */
- F16SAMPLER2DRECT = 451, /* F16SAMPLER2DRECT */
- F16SAMPLERCUBE = 452, /* F16SAMPLERCUBE */
- F16SAMPLER1DARRAY = 453, /* F16SAMPLER1DARRAY */
- F16SAMPLER2DARRAY = 454, /* F16SAMPLER2DARRAY */
- F16SAMPLERCUBEARRAY = 455, /* F16SAMPLERCUBEARRAY */
- F16SAMPLERBUFFER = 456, /* F16SAMPLERBUFFER */
- F16SAMPLER2DMS = 457, /* F16SAMPLER2DMS */
- F16SAMPLER2DMSARRAY = 458, /* F16SAMPLER2DMSARRAY */
- F16SAMPLER1DSHADOW = 459, /* F16SAMPLER1DSHADOW */
- F16SAMPLER2DSHADOW = 460, /* F16SAMPLER2DSHADOW */
- F16SAMPLER1DARRAYSHADOW = 461, /* F16SAMPLER1DARRAYSHADOW */
- F16SAMPLER2DARRAYSHADOW = 462, /* F16SAMPLER2DARRAYSHADOW */
- F16SAMPLER2DRECTSHADOW = 463, /* F16SAMPLER2DRECTSHADOW */
- F16SAMPLERCUBESHADOW = 464, /* F16SAMPLERCUBESHADOW */
- F16SAMPLERCUBEARRAYSHADOW = 465, /* F16SAMPLERCUBEARRAYSHADOW */
- IMAGE1D = 466, /* IMAGE1D */
- IIMAGE1D = 467, /* IIMAGE1D */
- UIMAGE1D = 468, /* UIMAGE1D */
- IMAGE2D = 469, /* IMAGE2D */
- IIMAGE2D = 470, /* IIMAGE2D */
- UIMAGE2D = 471, /* UIMAGE2D */
- IMAGE3D = 472, /* IMAGE3D */
- IIMAGE3D = 473, /* IIMAGE3D */
- UIMAGE3D = 474, /* UIMAGE3D */
- IMAGE2DRECT = 475, /* IMAGE2DRECT */
- IIMAGE2DRECT = 476, /* IIMAGE2DRECT */
- UIMAGE2DRECT = 477, /* UIMAGE2DRECT */
- IMAGECUBE = 478, /* IMAGECUBE */
- IIMAGECUBE = 479, /* IIMAGECUBE */
- UIMAGECUBE = 480, /* UIMAGECUBE */
- IMAGEBUFFER = 481, /* IMAGEBUFFER */
- IIMAGEBUFFER = 482, /* IIMAGEBUFFER */
- UIMAGEBUFFER = 483, /* UIMAGEBUFFER */
- IMAGE1DARRAY = 484, /* IMAGE1DARRAY */
- IIMAGE1DARRAY = 485, /* IIMAGE1DARRAY */
- UIMAGE1DARRAY = 486, /* UIMAGE1DARRAY */
- IMAGE2DARRAY = 487, /* IMAGE2DARRAY */
- IIMAGE2DARRAY = 488, /* IIMAGE2DARRAY */
- UIMAGE2DARRAY = 489, /* UIMAGE2DARRAY */
- IMAGECUBEARRAY = 490, /* IMAGECUBEARRAY */
- IIMAGECUBEARRAY = 491, /* IIMAGECUBEARRAY */
- UIMAGECUBEARRAY = 492, /* UIMAGECUBEARRAY */
- IMAGE2DMS = 493, /* IMAGE2DMS */
- IIMAGE2DMS = 494, /* IIMAGE2DMS */
- UIMAGE2DMS = 495, /* UIMAGE2DMS */
- IMAGE2DMSARRAY = 496, /* IMAGE2DMSARRAY */
- IIMAGE2DMSARRAY = 497, /* IIMAGE2DMSARRAY */
- UIMAGE2DMSARRAY = 498, /* UIMAGE2DMSARRAY */
- F16IMAGE1D = 499, /* F16IMAGE1D */
- F16IMAGE2D = 500, /* F16IMAGE2D */
- F16IMAGE3D = 501, /* F16IMAGE3D */
- F16IMAGE2DRECT = 502, /* F16IMAGE2DRECT */
- F16IMAGECUBE = 503, /* F16IMAGECUBE */
- F16IMAGE1DARRAY = 504, /* F16IMAGE1DARRAY */
- F16IMAGE2DARRAY = 505, /* F16IMAGE2DARRAY */
- F16IMAGECUBEARRAY = 506, /* F16IMAGECUBEARRAY */
- F16IMAGEBUFFER = 507, /* F16IMAGEBUFFER */
- F16IMAGE2DMS = 508, /* F16IMAGE2DMS */
- F16IMAGE2DMSARRAY = 509, /* F16IMAGE2DMSARRAY */
- I64IMAGE1D = 510, /* I64IMAGE1D */
- U64IMAGE1D = 511, /* U64IMAGE1D */
- I64IMAGE2D = 512, /* I64IMAGE2D */
- U64IMAGE2D = 513, /* U64IMAGE2D */
- I64IMAGE3D = 514, /* I64IMAGE3D */
- U64IMAGE3D = 515, /* U64IMAGE3D */
- I64IMAGE2DRECT = 516, /* I64IMAGE2DRECT */
- U64IMAGE2DRECT = 517, /* U64IMAGE2DRECT */
- I64IMAGECUBE = 518, /* I64IMAGECUBE */
- U64IMAGECUBE = 519, /* U64IMAGECUBE */
- I64IMAGEBUFFER = 520, /* I64IMAGEBUFFER */
- U64IMAGEBUFFER = 521, /* U64IMAGEBUFFER */
- I64IMAGE1DARRAY = 522, /* I64IMAGE1DARRAY */
- U64IMAGE1DARRAY = 523, /* U64IMAGE1DARRAY */
- I64IMAGE2DARRAY = 524, /* I64IMAGE2DARRAY */
- U64IMAGE2DARRAY = 525, /* U64IMAGE2DARRAY */
- I64IMAGECUBEARRAY = 526, /* I64IMAGECUBEARRAY */
- U64IMAGECUBEARRAY = 527, /* U64IMAGECUBEARRAY */
- I64IMAGE2DMS = 528, /* I64IMAGE2DMS */
- U64IMAGE2DMS = 529, /* U64IMAGE2DMS */
- I64IMAGE2DMSARRAY = 530, /* I64IMAGE2DMSARRAY */
- U64IMAGE2DMSARRAY = 531, /* U64IMAGE2DMSARRAY */
- TEXTURECUBEARRAY = 532, /* TEXTURECUBEARRAY */
- ITEXTURECUBEARRAY = 533, /* ITEXTURECUBEARRAY */
- UTEXTURECUBEARRAY = 534, /* UTEXTURECUBEARRAY */
- TEXTURE1D = 535, /* TEXTURE1D */
- ITEXTURE1D = 536, /* ITEXTURE1D */
- UTEXTURE1D = 537, /* UTEXTURE1D */
- TEXTURE1DARRAY = 538, /* TEXTURE1DARRAY */
- ITEXTURE1DARRAY = 539, /* ITEXTURE1DARRAY */
- UTEXTURE1DARRAY = 540, /* UTEXTURE1DARRAY */
- TEXTURE2DRECT = 541, /* TEXTURE2DRECT */
- ITEXTURE2DRECT = 542, /* ITEXTURE2DRECT */
- UTEXTURE2DRECT = 543, /* UTEXTURE2DRECT */
- TEXTUREBUFFER = 544, /* TEXTUREBUFFER */
- ITEXTUREBUFFER = 545, /* ITEXTUREBUFFER */
- UTEXTUREBUFFER = 546, /* UTEXTUREBUFFER */
- TEXTURE2DMS = 547, /* TEXTURE2DMS */
- ITEXTURE2DMS = 548, /* ITEXTURE2DMS */
- UTEXTURE2DMS = 549, /* UTEXTURE2DMS */
- TEXTURE2DMSARRAY = 550, /* TEXTURE2DMSARRAY */
- ITEXTURE2DMSARRAY = 551, /* ITEXTURE2DMSARRAY */
- UTEXTURE2DMSARRAY = 552, /* UTEXTURE2DMSARRAY */
- F16TEXTURE1D = 553, /* F16TEXTURE1D */
- F16TEXTURE2D = 554, /* F16TEXTURE2D */
- F16TEXTURE3D = 555, /* F16TEXTURE3D */
- F16TEXTURE2DRECT = 556, /* F16TEXTURE2DRECT */
- F16TEXTURECUBE = 557, /* F16TEXTURECUBE */
- F16TEXTURE1DARRAY = 558, /* F16TEXTURE1DARRAY */
- F16TEXTURE2DARRAY = 559, /* F16TEXTURE2DARRAY */
- F16TEXTURECUBEARRAY = 560, /* F16TEXTURECUBEARRAY */
- F16TEXTUREBUFFER = 561, /* F16TEXTUREBUFFER */
- F16TEXTURE2DMS = 562, /* F16TEXTURE2DMS */
- F16TEXTURE2DMSARRAY = 563, /* F16TEXTURE2DMSARRAY */
- SUBPASSINPUT = 564, /* SUBPASSINPUT */
- SUBPASSINPUTMS = 565, /* SUBPASSINPUTMS */
- ISUBPASSINPUT = 566, /* ISUBPASSINPUT */
- ISUBPASSINPUTMS = 567, /* ISUBPASSINPUTMS */
- USUBPASSINPUT = 568, /* USUBPASSINPUT */
- USUBPASSINPUTMS = 569, /* USUBPASSINPUTMS */
- F16SUBPASSINPUT = 570, /* F16SUBPASSINPUT */
- F16SUBPASSINPUTMS = 571, /* F16SUBPASSINPUTMS */
- SPIRV_INSTRUCTION = 572, /* SPIRV_INSTRUCTION */
- SPIRV_EXECUTION_MODE = 573, /* SPIRV_EXECUTION_MODE */
- SPIRV_EXECUTION_MODE_ID = 574, /* SPIRV_EXECUTION_MODE_ID */
- SPIRV_DECORATE = 575, /* SPIRV_DECORATE */
- SPIRV_DECORATE_ID = 576, /* SPIRV_DECORATE_ID */
- SPIRV_DECORATE_STRING = 577, /* SPIRV_DECORATE_STRING */
- SPIRV_TYPE = 578, /* SPIRV_TYPE */
- SPIRV_STORAGE_CLASS = 579, /* SPIRV_STORAGE_CLASS */
- SPIRV_BY_REFERENCE = 580, /* SPIRV_BY_REFERENCE */
- SPIRV_LITERAL = 581, /* SPIRV_LITERAL */
- LEFT_OP = 582, /* LEFT_OP */
- RIGHT_OP = 583, /* RIGHT_OP */
- INC_OP = 584, /* INC_OP */
- DEC_OP = 585, /* DEC_OP */
- LE_OP = 586, /* LE_OP */
- GE_OP = 587, /* GE_OP */
- EQ_OP = 588, /* EQ_OP */
- NE_OP = 589, /* NE_OP */
- AND_OP = 590, /* AND_OP */
- OR_OP = 591, /* OR_OP */
- XOR_OP = 592, /* XOR_OP */
- MUL_ASSIGN = 593, /* MUL_ASSIGN */
- DIV_ASSIGN = 594, /* DIV_ASSIGN */
- ADD_ASSIGN = 595, /* ADD_ASSIGN */
- MOD_ASSIGN = 596, /* MOD_ASSIGN */
- LEFT_ASSIGN = 597, /* LEFT_ASSIGN */
- RIGHT_ASSIGN = 598, /* RIGHT_ASSIGN */
- AND_ASSIGN = 599, /* AND_ASSIGN */
- XOR_ASSIGN = 600, /* XOR_ASSIGN */
- OR_ASSIGN = 601, /* OR_ASSIGN */
- SUB_ASSIGN = 602, /* SUB_ASSIGN */
- STRING_LITERAL = 603, /* STRING_LITERAL */
- LEFT_PAREN = 604, /* LEFT_PAREN */
- RIGHT_PAREN = 605, /* RIGHT_PAREN */
- LEFT_BRACKET = 606, /* LEFT_BRACKET */
- RIGHT_BRACKET = 607, /* RIGHT_BRACKET */
- LEFT_BRACE = 608, /* LEFT_BRACE */
- RIGHT_BRACE = 609, /* RIGHT_BRACE */
- DOT = 610, /* DOT */
- COMMA = 611, /* COMMA */
- COLON = 612, /* COLON */
- EQUAL = 613, /* EQUAL */
- SEMICOLON = 614, /* SEMICOLON */
- BANG = 615, /* BANG */
- DASH = 616, /* DASH */
- TILDE = 617, /* TILDE */
- PLUS = 618, /* PLUS */
- STAR = 619, /* STAR */
- SLASH = 620, /* SLASH */
- PERCENT = 621, /* PERCENT */
- LEFT_ANGLE = 622, /* LEFT_ANGLE */
- RIGHT_ANGLE = 623, /* RIGHT_ANGLE */
- VERTICAL_BAR = 624, /* VERTICAL_BAR */
- CARET = 625, /* CARET */
- AMPERSAND = 626, /* AMPERSAND */
- QUESTION = 627, /* QUESTION */
- INVARIANT = 628, /* INVARIANT */
- HIGH_PRECISION = 629, /* HIGH_PRECISION */
- MEDIUM_PRECISION = 630, /* MEDIUM_PRECISION */
- LOW_PRECISION = 631, /* LOW_PRECISION */
- PRECISION = 632, /* PRECISION */
- PACKED = 633, /* PACKED */
- RESOURCE = 634, /* RESOURCE */
- SUPERP = 635, /* SUPERP */
- FLOATCONSTANT = 636, /* FLOATCONSTANT */
- INTCONSTANT = 637, /* INTCONSTANT */
- UINTCONSTANT = 638, /* UINTCONSTANT */
- BOOLCONSTANT = 639, /* BOOLCONSTANT */
- IDENTIFIER = 640, /* IDENTIFIER */
- TYPE_NAME = 641, /* TYPE_NAME */
- CENTROID = 642, /* CENTROID */
- IN = 643, /* IN */
- OUT = 644, /* OUT */
- INOUT = 645, /* INOUT */
- STRUCT = 646, /* STRUCT */
- VOID = 647, /* VOID */
- WHILE = 648, /* WHILE */
- BREAK = 649, /* BREAK */
- CONTINUE = 650, /* CONTINUE */
- DO = 651, /* DO */
- ELSE = 652, /* ELSE */
- FOR = 653, /* FOR */
- IF = 654, /* IF */
- DISCARD = 655, /* DISCARD */
- RETURN = 656, /* RETURN */
- SWITCH = 657, /* SWITCH */
- CASE = 658, /* CASE */
- DEFAULT = 659, /* DEFAULT */
- TERMINATE_INVOCATION = 660, /* TERMINATE_INVOCATION */
- TERMINATE_RAY = 661, /* TERMINATE_RAY */
- IGNORE_INTERSECTION = 662, /* IGNORE_INTERSECTION */
- UNIFORM = 663, /* UNIFORM */
- SHARED = 664, /* SHARED */
- BUFFER = 665, /* BUFFER */
- FLAT = 666, /* FLAT */
- SMOOTH = 667, /* SMOOTH */
- LAYOUT = 668, /* LAYOUT */
- DOUBLECONSTANT = 669, /* DOUBLECONSTANT */
- INT16CONSTANT = 670, /* INT16CONSTANT */
- UINT16CONSTANT = 671, /* UINT16CONSTANT */
- FLOAT16CONSTANT = 672, /* FLOAT16CONSTANT */
- INT32CONSTANT = 673, /* INT32CONSTANT */
- UINT32CONSTANT = 674, /* UINT32CONSTANT */
- INT64CONSTANT = 675, /* INT64CONSTANT */
- UINT64CONSTANT = 676, /* UINT64CONSTANT */
- SUBROUTINE = 677, /* SUBROUTINE */
- DEMOTE = 678, /* DEMOTE */
- PAYLOADNV = 679, /* PAYLOADNV */
- PAYLOADINNV = 680, /* PAYLOADINNV */
- HITATTRNV = 681, /* HITATTRNV */
- CALLDATANV = 682, /* CALLDATANV */
- CALLDATAINNV = 683, /* CALLDATAINNV */
- PAYLOADEXT = 684, /* PAYLOADEXT */
- PAYLOADINEXT = 685, /* PAYLOADINEXT */
- HITATTREXT = 686, /* HITATTREXT */
- CALLDATAEXT = 687, /* CALLDATAEXT */
- CALLDATAINEXT = 688, /* CALLDATAINEXT */
- PATCH = 689, /* PATCH */
- SAMPLE = 690, /* SAMPLE */
- NONUNIFORM = 691, /* NONUNIFORM */
- COHERENT = 692, /* COHERENT */
- VOLATILE = 693, /* VOLATILE */
- RESTRICT = 694, /* RESTRICT */
- READONLY = 695, /* READONLY */
- WRITEONLY = 696, /* WRITEONLY */
- DEVICECOHERENT = 697, /* DEVICECOHERENT */
- QUEUEFAMILYCOHERENT = 698, /* QUEUEFAMILYCOHERENT */
- WORKGROUPCOHERENT = 699, /* WORKGROUPCOHERENT */
- SUBGROUPCOHERENT = 700, /* SUBGROUPCOHERENT */
- NONPRIVATE = 701, /* NONPRIVATE */
- SHADERCALLCOHERENT = 702, /* SHADERCALLCOHERENT */
- NOPERSPECTIVE = 703, /* NOPERSPECTIVE */
- EXPLICITINTERPAMD = 704, /* EXPLICITINTERPAMD */
- PERVERTEXEXT = 705, /* PERVERTEXEXT */
- PERVERTEXNV = 706, /* PERVERTEXNV */
- PERPRIMITIVENV = 707, /* PERPRIMITIVENV */
- PERVIEWNV = 708, /* PERVIEWNV */
- PERTASKNV = 709, /* PERTASKNV */
- PERPRIMITIVEEXT = 710, /* PERPRIMITIVEEXT */
- TASKPAYLOADWORKGROUPEXT = 711, /* TASKPAYLOADWORKGROUPEXT */
- PRECISE = 712 /* PRECISE */
+ HITOBJECTNV = 421, /* HITOBJECTNV */
+ HITOBJECTATTRNV = 422, /* HITOBJECTATTRNV */
+ SAMPLERCUBEARRAY = 423, /* SAMPLERCUBEARRAY */
+ SAMPLERCUBEARRAYSHADOW = 424, /* SAMPLERCUBEARRAYSHADOW */
+ ISAMPLERCUBEARRAY = 425, /* ISAMPLERCUBEARRAY */
+ USAMPLERCUBEARRAY = 426, /* USAMPLERCUBEARRAY */
+ SAMPLER1D = 427, /* SAMPLER1D */
+ SAMPLER1DARRAY = 428, /* SAMPLER1DARRAY */
+ SAMPLER1DARRAYSHADOW = 429, /* SAMPLER1DARRAYSHADOW */
+ ISAMPLER1D = 430, /* ISAMPLER1D */
+ SAMPLER1DSHADOW = 431, /* SAMPLER1DSHADOW */
+ SAMPLER2DRECT = 432, /* SAMPLER2DRECT */
+ SAMPLER2DRECTSHADOW = 433, /* SAMPLER2DRECTSHADOW */
+ ISAMPLER2DRECT = 434, /* ISAMPLER2DRECT */
+ USAMPLER2DRECT = 435, /* USAMPLER2DRECT */
+ SAMPLERBUFFER = 436, /* SAMPLERBUFFER */
+ ISAMPLERBUFFER = 437, /* ISAMPLERBUFFER */
+ USAMPLERBUFFER = 438, /* USAMPLERBUFFER */
+ SAMPLER2DMS = 439, /* SAMPLER2DMS */
+ ISAMPLER2DMS = 440, /* ISAMPLER2DMS */
+ USAMPLER2DMS = 441, /* USAMPLER2DMS */
+ SAMPLER2DMSARRAY = 442, /* SAMPLER2DMSARRAY */
+ ISAMPLER2DMSARRAY = 443, /* ISAMPLER2DMSARRAY */
+ USAMPLER2DMSARRAY = 444, /* USAMPLER2DMSARRAY */
+ SAMPLEREXTERNALOES = 445, /* SAMPLEREXTERNALOES */
+ SAMPLEREXTERNAL2DY2YEXT = 446, /* SAMPLEREXTERNAL2DY2YEXT */
+ ISAMPLER1DARRAY = 447, /* ISAMPLER1DARRAY */
+ USAMPLER1D = 448, /* USAMPLER1D */
+ USAMPLER1DARRAY = 449, /* USAMPLER1DARRAY */
+ F16SAMPLER1D = 450, /* F16SAMPLER1D */
+ F16SAMPLER2D = 451, /* F16SAMPLER2D */
+ F16SAMPLER3D = 452, /* F16SAMPLER3D */
+ F16SAMPLER2DRECT = 453, /* F16SAMPLER2DRECT */
+ F16SAMPLERCUBE = 454, /* F16SAMPLERCUBE */
+ F16SAMPLER1DARRAY = 455, /* F16SAMPLER1DARRAY */
+ F16SAMPLER2DARRAY = 456, /* F16SAMPLER2DARRAY */
+ F16SAMPLERCUBEARRAY = 457, /* F16SAMPLERCUBEARRAY */
+ F16SAMPLERBUFFER = 458, /* F16SAMPLERBUFFER */
+ F16SAMPLER2DMS = 459, /* F16SAMPLER2DMS */
+ F16SAMPLER2DMSARRAY = 460, /* F16SAMPLER2DMSARRAY */
+ F16SAMPLER1DSHADOW = 461, /* F16SAMPLER1DSHADOW */
+ F16SAMPLER2DSHADOW = 462, /* F16SAMPLER2DSHADOW */
+ F16SAMPLER1DARRAYSHADOW = 463, /* F16SAMPLER1DARRAYSHADOW */
+ F16SAMPLER2DARRAYSHADOW = 464, /* F16SAMPLER2DARRAYSHADOW */
+ F16SAMPLER2DRECTSHADOW = 465, /* F16SAMPLER2DRECTSHADOW */
+ F16SAMPLERCUBESHADOW = 466, /* F16SAMPLERCUBESHADOW */
+ F16SAMPLERCUBEARRAYSHADOW = 467, /* F16SAMPLERCUBEARRAYSHADOW */
+ IMAGE1D = 468, /* IMAGE1D */
+ IIMAGE1D = 469, /* IIMAGE1D */
+ UIMAGE1D = 470, /* UIMAGE1D */
+ IMAGE2D = 471, /* IMAGE2D */
+ IIMAGE2D = 472, /* IIMAGE2D */
+ UIMAGE2D = 473, /* UIMAGE2D */
+ IMAGE3D = 474, /* IMAGE3D */
+ IIMAGE3D = 475, /* IIMAGE3D */
+ UIMAGE3D = 476, /* UIMAGE3D */
+ IMAGE2DRECT = 477, /* IMAGE2DRECT */
+ IIMAGE2DRECT = 478, /* IIMAGE2DRECT */
+ UIMAGE2DRECT = 479, /* UIMAGE2DRECT */
+ IMAGECUBE = 480, /* IMAGECUBE */
+ IIMAGECUBE = 481, /* IIMAGECUBE */
+ UIMAGECUBE = 482, /* UIMAGECUBE */
+ IMAGEBUFFER = 483, /* IMAGEBUFFER */
+ IIMAGEBUFFER = 484, /* IIMAGEBUFFER */
+ UIMAGEBUFFER = 485, /* UIMAGEBUFFER */
+ IMAGE1DARRAY = 486, /* IMAGE1DARRAY */
+ IIMAGE1DARRAY = 487, /* IIMAGE1DARRAY */
+ UIMAGE1DARRAY = 488, /* UIMAGE1DARRAY */
+ IMAGE2DARRAY = 489, /* IMAGE2DARRAY */
+ IIMAGE2DARRAY = 490, /* IIMAGE2DARRAY */
+ UIMAGE2DARRAY = 491, /* UIMAGE2DARRAY */
+ IMAGECUBEARRAY = 492, /* IMAGECUBEARRAY */
+ IIMAGECUBEARRAY = 493, /* IIMAGECUBEARRAY */
+ UIMAGECUBEARRAY = 494, /* UIMAGECUBEARRAY */
+ IMAGE2DMS = 495, /* IMAGE2DMS */
+ IIMAGE2DMS = 496, /* IIMAGE2DMS */
+ UIMAGE2DMS = 497, /* UIMAGE2DMS */
+ IMAGE2DMSARRAY = 498, /* IMAGE2DMSARRAY */
+ IIMAGE2DMSARRAY = 499, /* IIMAGE2DMSARRAY */
+ UIMAGE2DMSARRAY = 500, /* UIMAGE2DMSARRAY */
+ F16IMAGE1D = 501, /* F16IMAGE1D */
+ F16IMAGE2D = 502, /* F16IMAGE2D */
+ F16IMAGE3D = 503, /* F16IMAGE3D */
+ F16IMAGE2DRECT = 504, /* F16IMAGE2DRECT */
+ F16IMAGECUBE = 505, /* F16IMAGECUBE */
+ F16IMAGE1DARRAY = 506, /* F16IMAGE1DARRAY */
+ F16IMAGE2DARRAY = 507, /* F16IMAGE2DARRAY */
+ F16IMAGECUBEARRAY = 508, /* F16IMAGECUBEARRAY */
+ F16IMAGEBUFFER = 509, /* F16IMAGEBUFFER */
+ F16IMAGE2DMS = 510, /* F16IMAGE2DMS */
+ F16IMAGE2DMSARRAY = 511, /* F16IMAGE2DMSARRAY */
+ I64IMAGE1D = 512, /* I64IMAGE1D */
+ U64IMAGE1D = 513, /* U64IMAGE1D */
+ I64IMAGE2D = 514, /* I64IMAGE2D */
+ U64IMAGE2D = 515, /* U64IMAGE2D */
+ I64IMAGE3D = 516, /* I64IMAGE3D */
+ U64IMAGE3D = 517, /* U64IMAGE3D */
+ I64IMAGE2DRECT = 518, /* I64IMAGE2DRECT */
+ U64IMAGE2DRECT = 519, /* U64IMAGE2DRECT */
+ I64IMAGECUBE = 520, /* I64IMAGECUBE */
+ U64IMAGECUBE = 521, /* U64IMAGECUBE */
+ I64IMAGEBUFFER = 522, /* I64IMAGEBUFFER */
+ U64IMAGEBUFFER = 523, /* U64IMAGEBUFFER */
+ I64IMAGE1DARRAY = 524, /* I64IMAGE1DARRAY */
+ U64IMAGE1DARRAY = 525, /* U64IMAGE1DARRAY */
+ I64IMAGE2DARRAY = 526, /* I64IMAGE2DARRAY */
+ U64IMAGE2DARRAY = 527, /* U64IMAGE2DARRAY */
+ I64IMAGECUBEARRAY = 528, /* I64IMAGECUBEARRAY */
+ U64IMAGECUBEARRAY = 529, /* U64IMAGECUBEARRAY */
+ I64IMAGE2DMS = 530, /* I64IMAGE2DMS */
+ U64IMAGE2DMS = 531, /* U64IMAGE2DMS */
+ I64IMAGE2DMSARRAY = 532, /* I64IMAGE2DMSARRAY */
+ U64IMAGE2DMSARRAY = 533, /* U64IMAGE2DMSARRAY */
+ TEXTURECUBEARRAY = 534, /* TEXTURECUBEARRAY */
+ ITEXTURECUBEARRAY = 535, /* ITEXTURECUBEARRAY */
+ UTEXTURECUBEARRAY = 536, /* UTEXTURECUBEARRAY */
+ TEXTURE1D = 537, /* TEXTURE1D */
+ ITEXTURE1D = 538, /* ITEXTURE1D */
+ UTEXTURE1D = 539, /* UTEXTURE1D */
+ TEXTURE1DARRAY = 540, /* TEXTURE1DARRAY */
+ ITEXTURE1DARRAY = 541, /* ITEXTURE1DARRAY */
+ UTEXTURE1DARRAY = 542, /* UTEXTURE1DARRAY */
+ TEXTURE2DRECT = 543, /* TEXTURE2DRECT */
+ ITEXTURE2DRECT = 544, /* ITEXTURE2DRECT */
+ UTEXTURE2DRECT = 545, /* UTEXTURE2DRECT */
+ TEXTUREBUFFER = 546, /* TEXTUREBUFFER */
+ ITEXTUREBUFFER = 547, /* ITEXTUREBUFFER */
+ UTEXTUREBUFFER = 548, /* UTEXTUREBUFFER */
+ TEXTURE2DMS = 549, /* TEXTURE2DMS */
+ ITEXTURE2DMS = 550, /* ITEXTURE2DMS */
+ UTEXTURE2DMS = 551, /* UTEXTURE2DMS */
+ TEXTURE2DMSARRAY = 552, /* TEXTURE2DMSARRAY */
+ ITEXTURE2DMSARRAY = 553, /* ITEXTURE2DMSARRAY */
+ UTEXTURE2DMSARRAY = 554, /* UTEXTURE2DMSARRAY */
+ F16TEXTURE1D = 555, /* F16TEXTURE1D */
+ F16TEXTURE2D = 556, /* F16TEXTURE2D */
+ F16TEXTURE3D = 557, /* F16TEXTURE3D */
+ F16TEXTURE2DRECT = 558, /* F16TEXTURE2DRECT */
+ F16TEXTURECUBE = 559, /* F16TEXTURECUBE */
+ F16TEXTURE1DARRAY = 560, /* F16TEXTURE1DARRAY */
+ F16TEXTURE2DARRAY = 561, /* F16TEXTURE2DARRAY */
+ F16TEXTURECUBEARRAY = 562, /* F16TEXTURECUBEARRAY */
+ F16TEXTUREBUFFER = 563, /* F16TEXTUREBUFFER */
+ F16TEXTURE2DMS = 564, /* F16TEXTURE2DMS */
+ F16TEXTURE2DMSARRAY = 565, /* F16TEXTURE2DMSARRAY */
+ SUBPASSINPUT = 566, /* SUBPASSINPUT */
+ SUBPASSINPUTMS = 567, /* SUBPASSINPUTMS */
+ ISUBPASSINPUT = 568, /* ISUBPASSINPUT */
+ ISUBPASSINPUTMS = 569, /* ISUBPASSINPUTMS */
+ USUBPASSINPUT = 570, /* USUBPASSINPUT */
+ USUBPASSINPUTMS = 571, /* USUBPASSINPUTMS */
+ F16SUBPASSINPUT = 572, /* F16SUBPASSINPUT */
+ F16SUBPASSINPUTMS = 573, /* F16SUBPASSINPUTMS */
+ SPIRV_INSTRUCTION = 574, /* SPIRV_INSTRUCTION */
+ SPIRV_EXECUTION_MODE = 575, /* SPIRV_EXECUTION_MODE */
+ SPIRV_EXECUTION_MODE_ID = 576, /* SPIRV_EXECUTION_MODE_ID */
+ SPIRV_DECORATE = 577, /* SPIRV_DECORATE */
+ SPIRV_DECORATE_ID = 578, /* SPIRV_DECORATE_ID */
+ SPIRV_DECORATE_STRING = 579, /* SPIRV_DECORATE_STRING */
+ SPIRV_TYPE = 580, /* SPIRV_TYPE */
+ SPIRV_STORAGE_CLASS = 581, /* SPIRV_STORAGE_CLASS */
+ SPIRV_BY_REFERENCE = 582, /* SPIRV_BY_REFERENCE */
+ SPIRV_LITERAL = 583, /* SPIRV_LITERAL */
+ LEFT_OP = 584, /* LEFT_OP */
+ RIGHT_OP = 585, /* RIGHT_OP */
+ INC_OP = 586, /* INC_OP */
+ DEC_OP = 587, /* DEC_OP */
+ LE_OP = 588, /* LE_OP */
+ GE_OP = 589, /* GE_OP */
+ EQ_OP = 590, /* EQ_OP */
+ NE_OP = 591, /* NE_OP */
+ AND_OP = 592, /* AND_OP */
+ OR_OP = 593, /* OR_OP */
+ XOR_OP = 594, /* XOR_OP */
+ MUL_ASSIGN = 595, /* MUL_ASSIGN */
+ DIV_ASSIGN = 596, /* DIV_ASSIGN */
+ ADD_ASSIGN = 597, /* ADD_ASSIGN */
+ MOD_ASSIGN = 598, /* MOD_ASSIGN */
+ LEFT_ASSIGN = 599, /* LEFT_ASSIGN */
+ RIGHT_ASSIGN = 600, /* RIGHT_ASSIGN */
+ AND_ASSIGN = 601, /* AND_ASSIGN */
+ XOR_ASSIGN = 602, /* XOR_ASSIGN */
+ OR_ASSIGN = 603, /* OR_ASSIGN */
+ SUB_ASSIGN = 604, /* SUB_ASSIGN */
+ STRING_LITERAL = 605, /* STRING_LITERAL */
+ LEFT_PAREN = 606, /* LEFT_PAREN */
+ RIGHT_PAREN = 607, /* RIGHT_PAREN */
+ LEFT_BRACKET = 608, /* LEFT_BRACKET */
+ RIGHT_BRACKET = 609, /* RIGHT_BRACKET */
+ LEFT_BRACE = 610, /* LEFT_BRACE */
+ RIGHT_BRACE = 611, /* RIGHT_BRACE */
+ DOT = 612, /* DOT */
+ COMMA = 613, /* COMMA */
+ COLON = 614, /* COLON */
+ EQUAL = 615, /* EQUAL */
+ SEMICOLON = 616, /* SEMICOLON */
+ BANG = 617, /* BANG */
+ DASH = 618, /* DASH */
+ TILDE = 619, /* TILDE */
+ PLUS = 620, /* PLUS */
+ STAR = 621, /* STAR */
+ SLASH = 622, /* SLASH */
+ PERCENT = 623, /* PERCENT */
+ LEFT_ANGLE = 624, /* LEFT_ANGLE */
+ RIGHT_ANGLE = 625, /* RIGHT_ANGLE */
+ VERTICAL_BAR = 626, /* VERTICAL_BAR */
+ CARET = 627, /* CARET */
+ AMPERSAND = 628, /* AMPERSAND */
+ QUESTION = 629, /* QUESTION */
+ INVARIANT = 630, /* INVARIANT */
+ HIGH_PRECISION = 631, /* HIGH_PRECISION */
+ MEDIUM_PRECISION = 632, /* MEDIUM_PRECISION */
+ LOW_PRECISION = 633, /* LOW_PRECISION */
+ PRECISION = 634, /* PRECISION */
+ PACKED = 635, /* PACKED */
+ RESOURCE = 636, /* RESOURCE */
+ SUPERP = 637, /* SUPERP */
+ FLOATCONSTANT = 638, /* FLOATCONSTANT */
+ INTCONSTANT = 639, /* INTCONSTANT */
+ UINTCONSTANT = 640, /* UINTCONSTANT */
+ BOOLCONSTANT = 641, /* BOOLCONSTANT */
+ IDENTIFIER = 642, /* IDENTIFIER */
+ TYPE_NAME = 643, /* TYPE_NAME */
+ CENTROID = 644, /* CENTROID */
+ IN = 645, /* IN */
+ OUT = 646, /* OUT */
+ INOUT = 647, /* INOUT */
+ STRUCT = 648, /* STRUCT */
+ VOID = 649, /* VOID */
+ WHILE = 650, /* WHILE */
+ BREAK = 651, /* BREAK */
+ CONTINUE = 652, /* CONTINUE */
+ DO = 653, /* DO */
+ ELSE = 654, /* ELSE */
+ FOR = 655, /* FOR */
+ IF = 656, /* IF */
+ DISCARD = 657, /* DISCARD */
+ RETURN = 658, /* RETURN */
+ SWITCH = 659, /* SWITCH */
+ CASE = 660, /* CASE */
+ DEFAULT = 661, /* DEFAULT */
+ TERMINATE_INVOCATION = 662, /* TERMINATE_INVOCATION */
+ TERMINATE_RAY = 663, /* TERMINATE_RAY */
+ IGNORE_INTERSECTION = 664, /* IGNORE_INTERSECTION */
+ UNIFORM = 665, /* UNIFORM */
+ SHARED = 666, /* SHARED */
+ BUFFER = 667, /* BUFFER */
+ FLAT = 668, /* FLAT */
+ SMOOTH = 669, /* SMOOTH */
+ LAYOUT = 670, /* LAYOUT */
+ DOUBLECONSTANT = 671, /* DOUBLECONSTANT */
+ INT16CONSTANT = 672, /* INT16CONSTANT */
+ UINT16CONSTANT = 673, /* UINT16CONSTANT */
+ FLOAT16CONSTANT = 674, /* FLOAT16CONSTANT */
+ INT32CONSTANT = 675, /* INT32CONSTANT */
+ UINT32CONSTANT = 676, /* UINT32CONSTANT */
+ INT64CONSTANT = 677, /* INT64CONSTANT */
+ UINT64CONSTANT = 678, /* UINT64CONSTANT */
+ SUBROUTINE = 679, /* SUBROUTINE */
+ DEMOTE = 680, /* DEMOTE */
+ PAYLOADNV = 681, /* PAYLOADNV */
+ PAYLOADINNV = 682, /* PAYLOADINNV */
+ HITATTRNV = 683, /* HITATTRNV */
+ CALLDATANV = 684, /* CALLDATANV */
+ CALLDATAINNV = 685, /* CALLDATAINNV */
+ PAYLOADEXT = 686, /* PAYLOADEXT */
+ PAYLOADINEXT = 687, /* PAYLOADINEXT */
+ HITATTREXT = 688, /* HITATTREXT */
+ CALLDATAEXT = 689, /* CALLDATAEXT */
+ CALLDATAINEXT = 690, /* CALLDATAINEXT */
+ PATCH = 691, /* PATCH */
+ SAMPLE = 692, /* SAMPLE */
+ NONUNIFORM = 693, /* NONUNIFORM */
+ COHERENT = 694, /* COHERENT */
+ VOLATILE = 695, /* VOLATILE */
+ RESTRICT = 696, /* RESTRICT */
+ READONLY = 697, /* READONLY */
+ WRITEONLY = 698, /* WRITEONLY */
+ DEVICECOHERENT = 699, /* DEVICECOHERENT */
+ QUEUEFAMILYCOHERENT = 700, /* QUEUEFAMILYCOHERENT */
+ WORKGROUPCOHERENT = 701, /* WORKGROUPCOHERENT */
+ SUBGROUPCOHERENT = 702, /* SUBGROUPCOHERENT */
+ NONPRIVATE = 703, /* NONPRIVATE */
+ SHADERCALLCOHERENT = 704, /* SHADERCALLCOHERENT */
+ NOPERSPECTIVE = 705, /* NOPERSPECTIVE */
+ EXPLICITINTERPAMD = 706, /* EXPLICITINTERPAMD */
+ PERVERTEXEXT = 707, /* PERVERTEXEXT */
+ PERVERTEXNV = 708, /* PERVERTEXNV */
+ PERPRIMITIVENV = 709, /* PERPRIMITIVENV */
+ PERVIEWNV = 710, /* PERVIEWNV */
+ PERTASKNV = 711, /* PERTASKNV */
+ PERPRIMITIVEEXT = 712, /* PERPRIMITIVEEXT */
+ TASKPAYLOADWORKGROUPEXT = 713, /* TASKPAYLOADWORKGROUPEXT */
+ PRECISE = 714 /* PRECISE */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -556,7 +558,7 @@ union YYSTYPE
glslang::TArraySizes* typeParameters;
} interm;
-#line 560 "MachineIndependent/glslang_tab.cpp.h"
+#line 562 "MachineIndependent/glslang_tab.cpp.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index 98755612..91d5b954 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -36,7 +36,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#include "localintermediate.h"
#include "../Include/InfoSink.h"
@@ -1105,6 +1105,38 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node
case EOpIsHelperInvocation: out.debug << "IsHelperInvocation"; break;
case EOpDebugPrintf: out.debug << "Debug printf"; break;
+ case EOpHitObjectTraceRayNV: out.debug << "HitObjectTraceRayNV"; break;
+ case EOpHitObjectTraceRayMotionNV: out.debug << "HitObjectTraceRayMotionNV"; break;
+ case EOpHitObjectRecordHitNV: out.debug << "HitObjectRecordHitNV"; break;
+ case EOpHitObjectRecordHitMotionNV: out.debug << "HitObjectRecordHitMotionNV"; break;
+ case EOpHitObjectRecordHitWithIndexNV: out.debug << "HitObjectRecordHitWithIndexNV"; break;
+ case EOpHitObjectRecordHitWithIndexMotionNV: out.debug << "HitObjectRecordHitWithIndexMotionNV"; break;
+ case EOpHitObjectRecordMissNV: out.debug << "HitObjectRecordMissNV"; break;
+ case EOpHitObjectRecordMissMotionNV: out.debug << "HitObjectRecordMissMotionNV"; break;
+ case EOpHitObjectRecordEmptyNV: out.debug << "HitObjectRecordEmptyNV"; break;
+ case EOpHitObjectExecuteShaderNV: out.debug << "HitObjectExecuteShaderNV"; break;
+ case EOpHitObjectIsEmptyNV: out.debug << "HitObjectIsEmptyNV"; break;
+ case EOpHitObjectIsMissNV: out.debug << "HitObjectIsMissNV"; break;
+ case EOpHitObjectIsHitNV: out.debug << "HitObjectIsHitNV"; break;
+ case EOpHitObjectGetRayTMinNV: out.debug << "HitObjectGetRayTMinNV"; break;
+ case EOpHitObjectGetRayTMaxNV: out.debug << "HitObjectGetRayTMaxNV"; break;
+ case EOpHitObjectGetObjectRayOriginNV: out.debug << "HitObjectGetObjectRayOriginNV"; break;
+ case EOpHitObjectGetObjectRayDirectionNV: out.debug << "HitObjectGetObjectRayDirectionNV"; break;
+ case EOpHitObjectGetWorldRayOriginNV: out.debug << "HitObjectGetWorldRayOriginNV"; break;
+ case EOpHitObjectGetWorldRayDirectionNV: out.debug << "HitObjectGetWorldRayDirectionNV"; break;
+ case EOpHitObjectGetObjectToWorldNV: out.debug << "HitObjectGetObjectToWorldNV"; break;
+ case EOpHitObjectGetWorldToObjectNV: out.debug << "HitObjectGetWorldToObjectNV"; break;
+ case EOpHitObjectGetInstanceCustomIndexNV: out.debug<< "HitObjectGetInstanceCustomIndexNV"; break;
+ case EOpHitObjectGetInstanceIdNV: out.debug << "HitObjectGetInstaneIdNV"; break;
+ case EOpHitObjectGetGeometryIndexNV: out.debug << "HitObjectGetGeometryIndexNV"; break;
+ case EOpHitObjectGetPrimitiveIndexNV: out.debug << "HitObjectGetPrimitiveIndexNV"; break;
+ case EOpHitObjectGetHitKindNV: out.debug << "HitObjectGetHitKindNV"; break;
+ case EOpHitObjectGetAttributesNV: out.debug << "HitObjectGetAttributesNV"; break;
+ case EOpHitObjectGetCurrentTimeNV: out.debug << "HitObjectGetCurrentTimeNV"; break;
+ case EOpHitObjectGetShaderBindingTableRecordIndexNV: out.debug << "HitObjectGetShaderBindingTableRecordIndexNV"; break;
+ case EOpHitObjectGetShaderRecordBufferHandleNV: out.debug << "HitObjectReadShaderRecordBufferHandleNV"; break;
+ case EOpReorderThreadNV: out.debug << "ReorderThreadNV"; break;
+
#ifndef GLSLANG_WEB
case EOpSpirvInst: out.debug << "spirv_instruction"; break;
#endif
@@ -1552,7 +1584,7 @@ void TIntermediate::output(TInfoSink& infoSink, bool tree)
break;
}
- if (treeRoot == 0 || ! tree)
+ if (treeRoot == nullptr || ! tree)
return;
TOutputTraverser it(infoSink);
@@ -1563,4 +1595,4 @@ void TIntermediate::output(TInfoSink& infoSink, bool tree)
} // end namespace glslang
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
index 4250e92d..0ae281d9 100644
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#include "../Include/Common.h"
#include "../Include/InfoSink.h"
@@ -1710,4 +1710,4 @@ bool TGlslIoMapper::doMap(TIoMapResolver* resolver, TInfoSink& infoSink) {
} // end namespace glslang
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h
index ba7bc3bb..0003a74e 100644
--- a/glslang/MachineIndependent/iomapper.h
+++ b/glslang/MachineIndependent/iomapper.h
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#ifndef _IOMAPPER_INCLUDED
#define _IOMAPPER_INCLUDED
@@ -358,4 +358,4 @@ private:
#endif // _IOMAPPER_INCLUDED
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index acc512fd..3a4cb567 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -89,7 +89,7 @@ void TIntermediate::warn(TInfoSink& infoSink, const char* message, EShLanguage u
//
void TIntermediate::merge(TInfoSink& infoSink, TIntermediate& unit)
{
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
mergeCallGraphs(infoSink, unit);
mergeModes(infoSink, unit);
mergeTrees(infoSink, unit);
@@ -161,7 +161,7 @@ void TIntermediate::mergeCallGraphs(TInfoSink& infoSink, TIntermediate& unit)
callGraph.insert(callGraph.end(), unit.callGraph.begin(), unit.callGraph.end());
}
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#define MERGE_MAX(member) member = std::max(member, unit.member)
#define MERGE_TRUE(member) if (unit.member) member = unit.member;
@@ -750,6 +750,21 @@ void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& lin
}
// Update implicit array sizes
+ if (symbol->getWritableType().isImplicitlySizedArray() && unitSymbol->getType().isImplicitlySizedArray()) {
+ if (unitSymbol->getType().getImplicitArraySize() > symbol->getType().getImplicitArraySize()){
+ symbol->getWritableType().updateImplicitArraySize(unitSymbol->getType().getImplicitArraySize());
+ }
+ }
+ else if (symbol->getWritableType().isImplicitlySizedArray() && unitSymbol->getType().isSizedArray()) {
+ if (symbol->getWritableType().getImplicitArraySize() > unitSymbol->getType().getOuterArraySize())
+ error(infoSink, "Implicit size of unsized array doesn't match same symbol among multiple shaders.");
+ }
+ else if (unitSymbol->getType().isImplicitlySizedArray() && symbol->getWritableType().isSizedArray()) {
+ if (unitSymbol->getType().getImplicitArraySize() > symbol->getWritableType().getOuterArraySize())
+ error(infoSink, "Implicit size of unsized array doesn't match same symbol among multiple shaders.");
+ }
+
+ // Update implicit array sizes
mergeImplicitArraySizes(symbol->getWritableType(), unitSymbol->getType());
// Check for consistent types/qualification/initializers etc.
@@ -759,6 +774,19 @@ void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& lin
else if (symbol->getQualifier().isPushConstant() && unitSymbol->getQualifier().isPushConstant() && getStage() == unitStage)
error(infoSink, "Only one push_constant block is allowed per stage");
}
+
+ // Check conflicts between preset primitives and sizes of I/O variables among multiple geometry shaders
+ if (language == EShLangGeometry && unitStage == EShLangGeometry)
+ {
+ TIntermSymbol* unitSymbol = unitLinkerObjects[unitLinkObj]->getAsSymbolNode();
+ if (unitSymbol->isArray() && unitSymbol->getQualifier().storage == EvqVaryingIn && unitSymbol->getQualifier().builtIn == EbvNone)
+ if ((unitSymbol->getArraySizes()->isImplicitlySized() &&
+ unitSymbol->getArraySizes()->getImplicitSize() != TQualifier::mapGeometryToSize(getInputPrimitive())) ||
+ (! unitSymbol->getArraySizes()->isImplicitlySized() &&
+ unitSymbol->getArraySizes()->getDimSize(0) != TQualifier::mapGeometryToSize(getInputPrimitive())))
+ error(infoSink, "Not all array sizes match across all geometry shaders in the program");
+ }
+
if (merge) {
linkerObjects.push_back(unitLinkerObjects[unitLinkObj]);
@@ -828,7 +856,7 @@ void TIntermediate::mergeImplicitArraySizes(TType& type, const TType& unitType)
//
void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& symbol, const TIntermSymbol& unitSymbol, EShLanguage unitStage)
{
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
bool crossStage = getStage() != unitStage;
bool writeTypeComparison = false;
bool errorReported = false;
@@ -863,7 +891,8 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy
else {
arraysMatch = symbol.getType().sameArrayness(unitSymbol.getType()) ||
(symbol.getType().isArray() && unitSymbol.getType().isArray() &&
- (symbol.getType().isUnsizedArray() || unitSymbol.getType().isUnsizedArray()));
+ (symbol.getType().isImplicitlySizedArray() || unitSymbol.getType().isImplicitlySizedArray() ||
+ symbol.getType().isUnsizedArray() || unitSymbol.getType().isUnsizedArray()));
}
int lpidx = -1;
@@ -1383,7 +1412,7 @@ void TIntermediate::checkCallGraphCycles(TInfoSink& infoSink)
TCall* newRoot;
do {
// See if we have unvisited parts of the graph.
- newRoot = 0;
+ newRoot = nullptr;
for (TGraph::iterator call = callGraph.begin(); call != callGraph.end(); ++call) {
if (! call->visited) {
newRoot = &(*call);
@@ -1517,7 +1546,10 @@ void TIntermediate::checkCallGraphBodies(TInfoSink& infoSink, bool keepUncalled)
if (! keepUncalled) {
for (int f = 0; f < (int)functionSequence.size(); ++f) {
if (! reachable[f])
+ {
+ resetTopLevelUncalledStatus(functionSequence[f]->getAsAggregate()->getName());
functionSequence[f] = nullptr;
+ }
}
functionSequence.erase(std::remove(functionSequence.begin(), functionSequence.end(), nullptr), functionSequence.end());
}
@@ -1611,6 +1643,8 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ
setRT = 0;
else if (qualifier.isAnyCallable())
setRT = 1;
+ else if (qualifier.isHitObjectAttrNV())
+ setRT = 2;
else
return -1;
@@ -1650,7 +1684,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ
// slot irrespective of type.
int collision = -1; // no collision
#ifndef GLSLANG_WEB
- if (qualifier.isAnyPayload() || qualifier.isAnyCallable()) {
+ if (qualifier.isAnyPayload() || qualifier.isAnyCallable() || qualifier.isHitObjectAttrNV()) {
TRange range(qualifier.layoutLocation, qualifier.layoutLocation);
collision = checkLocationRT(setRT, qualifier.layoutLocation);
if (collision < 0)
@@ -2012,6 +2046,15 @@ int TIntermediate::getBaseAlignmentScalar(const TType& type, int& size)
case EbtInt16:
case EbtUint16: size = 2; return 2;
case EbtReference: size = 8; return 8;
+ case EbtSampler:
+ {
+ if (type.isBindlessImage() || type.isBindlessTexture()) {
+ size = 8; return 8;
+ }
+ else {
+ size = 4; return 4;
+ }
+ }
default: size = 4; return 4;
}
}
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index e7a171cd..0c569976 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -225,6 +225,16 @@ enum ComputeDerivativeMode {
LayoutDerivativeGroupLinear, // derivative_group_linearNV
};
+//
+// Status type on AST level. Some uncalled status or functions would be reset in call graph.
+// Currently we will keep status set by explicitly declared layout or variable decl.
+//
+enum AstRefType {
+ AstRefTypeVar, // Status set by variable decl
+ AstRefTypeFunc, // Status set by function decl
+ AstRefTypeLayout, // Status set by layout decl
+};
+
class TIdMaps {
public:
TMap<TString, long long>& operator[](long long i) { return maps[i]; }
@@ -283,10 +293,8 @@ class TIntermediate {
public:
explicit TIntermediate(EShLanguage l, int v = 0, EProfile p = ENoProfile) :
language(l),
-#ifndef GLSLANG_ANGLE
profile(p), version(v),
-#endif
- treeRoot(0),
+ treeRoot(nullptr),
resources(TBuiltInResource{}),
numEntryPoints(0), numErrors(0), numPushConstants(0), recursive(false),
invertY(false),
@@ -358,15 +366,11 @@ public:
void setVersion(int v)
{
-#ifndef GLSLANG_ANGLE
version = v;
-#endif
}
void setProfile(EProfile p)
{
-#ifndef GLSLANG_ANGLE
profile = p;
-#endif
}
int getVersion() const { return version; }
@@ -750,6 +754,65 @@ public:
useVariablePointers = true;
processes.addProcess("use-variable-pointers");
}
+ // Set the global flag for bindless texture
+ void setBindlessTextureMode(const TString& currentCaller, AstRefType type)
+ {
+ // When type is not func, currentCaller should be "" (empty string)
+ bindlessTextureModeCaller[currentCaller] = type;
+ }
+
+ // Get the global flag for bindless texture
+ bool getBindlessTextureMode() const
+ {
+ return (bindlessTextureModeCaller.size() > 0);
+ }
+
+ // Set the global flag for bindless image
+ void setBindlessImageMode(const TString& currentCaller, AstRefType type)
+ {
+ // When type is not func, currentCaller should be "" (empty string)
+ bindlessImageModeCaller[currentCaller] = type;
+ }
+
+ // Get the global flag for bindless image
+ bool getBindlessImageMode() const
+ {
+ return (bindlessImageModeCaller.size() > 0);
+ }
+
+ // Get the global flag for bindless texture
+ bool resetTopLevelUncalledStatus(const TString& deadCaller)
+ {
+ // For reflection collection purpose, currently uniform layout setting and some
+ // flags introduced by variables (IO, global, etc,.) won't be reset here.
+ // Remove each global status (AST top level) introduced by uncalled functions.
+ // If a status is set by several functions, keep those which in call graph.
+ bool result = false;
+
+ // For two types of bindless mode flag, we would only reset which is set by an uncalled function.
+ // If one status flag's key in caller vec is empty, it should be come from a non-function setting.
+ if (!bindlessTextureModeCaller.empty()) {
+ auto caller = bindlessTextureModeCaller.find(deadCaller);
+ if (caller != bindlessTextureModeCaller.end() && bindlessTextureModeCaller[deadCaller] == AstRefTypeFunc) {
+ bindlessTextureModeCaller.erase(caller);
+ result = true;
+ }
+ }
+ if (!bindlessImageModeCaller.empty()) {
+ auto caller = bindlessImageModeCaller.find(deadCaller);
+ if (caller != bindlessImageModeCaller.end() && bindlessImageModeCaller[deadCaller] == AstRefTypeFunc) {
+ bindlessImageModeCaller.erase(caller);
+ result = true;
+ }
+ }
+ return result;
+ }
+
+ bool getBindlessMode() const
+ {
+ return getBindlessTextureMode() || getBindlessImageMode();
+ }
+
bool usingVariablePointers() const { return useVariablePointers; }
#ifdef ENABLE_HLSL
@@ -1101,13 +1164,8 @@ protected:
typedef std::list<TCall> TGraph;
TGraph callGraph;
-#ifdef GLSLANG_ANGLE
- const EProfile profile = ECoreProfile;
- const int version = 450;
-#else
EProfile profile; // source profile
int version; // source version
-#endif
SpvVersion spvVersion;
TIntermNode* treeRoot;
std::set<std::string> requestedExtensions; // cumulation of all enabled or required extensions; not connected to what subset of the shader used them
@@ -1199,7 +1257,8 @@ protected:
TSpirvRequirement* spirvRequirement;
TSpirvExecutionMode* spirvExecutionMode;
-
+ std::map<TString, AstRefType> bindlessTextureModeCaller;
+ std::map<TString, AstRefType> bindlessImageModeCaller;
std::unordered_map<std::string, int> uniformLocationOverrides;
int uniformLocationBase;
TNumericFeatures numericFeatures;
@@ -1209,8 +1268,9 @@ protected:
std::unordered_set<int> usedConstantId; // specialization constant ids used
std::vector<TOffsetRange> usedAtomics; // sets of bindings used by atomic counters
std::vector<TIoRange> usedIo[4]; // sets of used locations, one for each of in, out, uniform, and buffers
- std::vector<TRange> usedIoRT[2]; // sets of used location, one for rayPayload/rayPayloadIN and other
- // for callableData/callableDataIn
+ std::vector<TRange> usedIoRT[4]; // sets of used location, one for rayPayload/rayPayloadIN,
+ // one for callableData/callableDataIn, one for hitObjectAttributeNV and
+ // one for shaderrecordhitobjectNV
// set of names of statically read/written I/O that might need extra checking
std::set<TString> ioAccessed;
diff --git a/glslang/MachineIndependent/parseConst.cpp b/glslang/MachineIndependent/parseConst.cpp
index 6c182991..83509723 100644
--- a/glslang/MachineIndependent/parseConst.cpp
+++ b/glslang/MachineIndependent/parseConst.cpp
@@ -198,7 +198,7 @@ void TConstTraverser::visitConstantUnion(TIntermConstantUnion* node)
bool TIntermediate::parseConstTree(TIntermNode* root, TConstUnionArray unionArray, TOperator constructorType, const TType& t, bool singleConstantParam)
{
- if (root == 0)
+ if (root == nullptr)
return false;
TConstTraverser it(unionArray, singleConstantParam, constructorType, t);
diff --git a/glslang/MachineIndependent/parseVersions.h b/glslang/MachineIndependent/parseVersions.h
index 7248354e..c9f82d05 100644
--- a/glslang/MachineIndependent/parseVersions.h
+++ b/glslang/MachineIndependent/parseVersions.h
@@ -58,14 +58,14 @@ public:
const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink,
bool forwardCompatible, EShMessages messages)
:
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
forwardCompatible(forwardCompatible),
profile(profile),
#endif
infoSink(infoSink), version(version),
language(language),
spvVersion(spvVersion),
- intermediate(interm), messages(messages), numErrors(0), currentScanner(0) { }
+ intermediate(interm), messages(messages), numErrors(0), currentScanner(nullptr) { }
virtual ~TParseVersions() { }
void requireStage(const TSourceLoc&, EShLanguageMask, const char* featureDesc);
void requireStage(const TSourceLoc&, EShLanguage, const char* featureDesc);
@@ -117,13 +117,8 @@ public:
bool suppressWarnings() const { return true; }
bool isForwardCompatible() const { return false; }
#else
-#ifdef GLSLANG_ANGLE
- const bool forwardCompatible = true;
- const EProfile profile = ECoreProfile;
-#else
bool forwardCompatible; // true if errors are to be given for use of deprecated features
EProfile profile; // the declared profile in the shader (core by default)
-#endif
bool isEsProfile() const { return profile == EEsProfile; }
void requireProfile(const TSourceLoc& loc, int profileMask, const char* featureDesc);
void profileRequires(const TSourceLoc& loc, int profileMask, int minVersion, int numExtensions,
@@ -231,6 +226,7 @@ public:
protected:
TMap<TString, TExtensionBehavior> extensionBehavior; // for each extension string, what its current behavior is
TMap<TString, unsigned int> extensionMinSpv; // for each extension string, store minimum spirv required
+ TVector<TString> spvUnsupportedExt; // for extensions reserved for spv usage.
EShMessages messages; // errors/warnings/rule-sets
int numErrors; // number of compile-time errors encountered
TInputScanner* currentScanner;
diff --git a/glslang/MachineIndependent/preprocessor/PpContext.cpp b/glslang/MachineIndependent/preprocessor/PpContext.cpp
index 1363ce2b..70f51197 100644
--- a/glslang/MachineIndependent/preprocessor/PpContext.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpContext.cpp
@@ -85,7 +85,7 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace glslang {
TPpContext::TPpContext(TParseContextBase& pc, const std::string& rootFileName, TShader::Includer& inclr) :
- preamble(0), strings(0), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false),
+ preamble(nullptr), strings(nullptr), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false),
rootFileName(rootFileName),
currentSourceFile(rootFileName),
disableEscapeSequences(false)
diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
index 7ed58703..e17eeafd 100644
--- a/glslang/MachineIndependent/preprocessor/PpTokens.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
@@ -121,7 +121,7 @@ int TPpContext::TokenStream::getToken(TParseContextBase& parseContext, TPpToken
if (atom == '#') {
if (peekToken('#')) {
parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)");
- parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)");
+ parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, nullptr, "token pasting (##)");
currentPos++;
atom = PpAtomPaste;
}
diff --git a/glslang/MachineIndependent/propagateNoContraction.cpp b/glslang/MachineIndependent/propagateNoContraction.cpp
index 9def592b..a1aa5ea6 100644
--- a/glslang/MachineIndependent/propagateNoContraction.cpp
+++ b/glslang/MachineIndependent/propagateNoContraction.cpp
@@ -423,7 +423,7 @@ getSymbolToDefinitionMappingAndPreciseSymbolIDs(const glslang::TIntermediate& in
ReturnBranchNodeSet());
TIntermNode* root = intermediate.getTreeRoot();
- if (root == 0)
+ if (root == nullptr)
return result_tuple;
NodeMapping& symbol_definition_mapping = std::get<0>(result_tuple);
diff --git a/glslang/MachineIndependent/reflection.cpp b/glslang/MachineIndependent/reflection.cpp
index 9ea48c45..144f85bd 100644
--- a/glslang/MachineIndependent/reflection.cpp
+++ b/glslang/MachineIndependent/reflection.cpp
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#include "../Include/Common.h"
#include "reflection.h"
@@ -682,7 +682,7 @@ public:
}
// For a binary operation indexing into an aggregate, chase down the base of the aggregate.
- // Return 0 if the topology does not fit this situation.
+ // Return nullptr if the topology does not fit this situation.
TIntermSymbol* findBase(const TIntermBinary* node)
{
TIntermSymbol *base = node->getLeft()->getAsSymbolNode();
@@ -1271,4 +1271,4 @@ void TReflection::dump()
} // end namespace glslang
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h
index 5af4467c..bfd54526 100644
--- a/glslang/MachineIndependent/reflection.h
+++ b/glslang/MachineIndependent/reflection.h
@@ -33,7 +33,7 @@
// POSSIBILITY OF SUCH DAMAGE.
//
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
#ifndef _REFLECTION_INCLUDED
#define _REFLECTION_INCLUDED
@@ -220,4 +220,4 @@ protected:
#endif // _REFLECTION_INCLUDED
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt
index 16eb939b..7ed71fbf 100644
--- a/glslang/OSDependent/Unix/CMakeLists.txt
+++ b/glslang/OSDependent/Unix/CMakeLists.txt
@@ -60,7 +60,7 @@ if(ENABLE_GLSLANG_INSTALL AND NOT BUILD_SHARED_LIBS)
message(WARNING \"Using `OSDependentTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::OSDependent)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(OSDependent ALIAS glslang::OSDependent)
diff --git a/glslang/OSDependent/Unix/ossource.cpp b/glslang/OSDependent/Unix/ossource.cpp
index b98df934..9a31a9aa 100644
--- a/glslang/OSDependent/Unix/ossource.cpp
+++ b/glslang/OSDependent/Unix/ossource.cpp
@@ -76,7 +76,7 @@ OS_TLSIndex OS_AllocTLSIndex()
//
// Create global pool key.
//
- if ((pthread_key_create(&pPoolIndex, NULL)) != 0) {
+ if ((pthread_key_create(&pPoolIndex, nullptr)) != 0) {
assert(0 && "OS_AllocTLSIndex(): Unable to allocate Thread Local Storage");
return OS_INVALID_TLS_INDEX;
}
diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt
index 6048bb87..67976da8 100644
--- a/glslang/OSDependent/Windows/CMakeLists.txt
+++ b/glslang/OSDependent/Windows/CMakeLists.txt
@@ -55,7 +55,7 @@ if(ENABLE_GLSLANG_INSTALL)
message(WARNING \"Using `OSDependentTargets.cmake` is deprecated: use `find_package(glslang)` to find glslang CMake targets.\")
if (NOT TARGET glslang::OSDependent)
- include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/glslang-targets.cmake\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/../../${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/glslang-targets.cmake\")
endif()
add_library(OSDependent ALIAS glslang::OSDependent)
diff --git a/glslang/OSDependent/Windows/ossource.cpp b/glslang/OSDependent/Windows/ossource.cpp
index 870840c5..fa372a2c 100644
--- a/glslang/OSDependent/Windows/ossource.cpp
+++ b/glslang/OSDependent/Windows/ossource.cpp
@@ -113,7 +113,7 @@ HANDLE GlobalLock;
void InitGlobalLock()
{
- GlobalLock = CreateMutex(0, false, 0);
+ GlobalLock = CreateMutex(nullptr, false, nullptr);
}
void GetGlobalLock()
@@ -128,7 +128,7 @@ void ReleaseGlobalLock()
unsigned int __stdcall EnterGenericThread (void* entry)
{
- return ((TThreadEntrypoint)entry)(0);
+ return ((TThreadEntrypoint)entry)(nullptr);
}
//#define DUMP_COUNTERS
diff --git a/glslang/OSDependent/osinclude.h b/glslang/OSDependent/osinclude.h
index fcfeff2c..7eaa1134 100644
--- a/glslang/OSDependent/osinclude.h
+++ b/glslang/OSDependent/osinclude.h
@@ -41,7 +41,7 @@ namespace glslang {
// Thread Local Storage Operations
//
typedef void* OS_TLSIndex;
-#define OS_INVALID_TLS_INDEX ((void*)0)
+#define OS_INVALID_TLS_INDEX nullptr
OS_TLSIndex OS_AllocTLSIndex();
bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue);
diff --git a/glslang/Public/ResourceLimits.h b/glslang/Public/ResourceLimits.h
new file mode 100644
index 00000000..f70be817
--- /dev/null
+++ b/glslang/Public/ResourceLimits.h
@@ -0,0 +1,57 @@
+//
+// Copyright (C) 2016 Google, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//
+// Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+//
+// Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef _STAND_ALONE_RESOURCE_LIMITS_INCLUDED_
+#define _STAND_ALONE_RESOURCE_LIMITS_INCLUDED_
+
+#include <string>
+
+#include "../Include/ResourceLimits.h"
+
+// Return pointer to user-writable Resource to pass through API in
+// future-proof way.
+extern TBuiltInResource* GetResources();
+
+// These are the default resources for TBuiltInResources, used for both
+// - parsing this string for the case where the user didn't supply one,
+// - dumping out a template for user construction of a config file.
+extern const TBuiltInResource* GetDefaultResources();
+
+// Returns the DefaultTBuiltInResource as a human-readable string.
+std::string GetDefaultTBuiltInResourceString();
+
+// Decodes the resource limits from |config| to |resources|.
+void DecodeResourceLimits(TBuiltInResource* resources, char* config);
+
+#endif // _STAND_ALONE_RESOURCE_LIMITS_INCLUDED_
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index 78dd323a..90a5302a 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -728,7 +728,7 @@ private:
TShader& operator=(TShader&);
};
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
//
// A reflection database and its interface, consistent with the OpenGL API reflection queries.
@@ -846,7 +846,7 @@ public:
virtual void addStage(EShLanguage stage, TIntermediate& stageIntermediate) = 0;
};
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
// Make one TProgram per set of shaders that will get linked together. Add all
// the shaders that are to be linked together. After calling shader.parse()
@@ -867,7 +867,7 @@ public:
TIntermediate* getIntermediate(EShLanguage stage) const { return intermediate[stage]; }
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
// Reflection Interface
@@ -961,7 +961,7 @@ public:
// If resolver is not provided it uses the previous approach
// and respects auto assignment and offsets.
GLSLANG_EXPORT bool mapIO(TIoMapResolver* pResolver = nullptr, TIoMapper* pIoMapper = nullptr);
-#endif // !GLSLANG_WEB && !GLSLANG_ANGLE
+#endif // !GLSLANG_WEB
protected:
GLSLANG_EXPORT bool linkStage(EShLanguage, EShMessages);
@@ -972,7 +972,7 @@ protected:
TIntermediate* intermediate[EShLangCount];
bool newedIntermediate[EShLangCount]; // track which intermediate were "new" versus reusing a singleton unit in a stage
TInfoSink* infoSink;
-#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
+#if !defined(GLSLANG_WEB)
TReflection* reflection;
#endif
bool linked;
diff --git a/glslang/Public/resource_limits_c.h b/glslang/Public/resource_limits_c.h
new file mode 100644
index 00000000..05aa8eb0
--- /dev/null
+++ b/glslang/Public/resource_limits_c.h
@@ -0,0 +1,57 @@
+/**
+BSD 2-Clause License
+
+Copyright (c) 2020, Travis Fort
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+**/
+
+#ifndef _STAND_ALONE_RESOURCE_LIMITS_C_INCLUDED_
+#define _STAND_ALONE_RESOURCE_LIMITS_C_INCLUDED_
+
+#include "../Include/glslang_c_interface.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Returns a struct that can be use to create custom resource values.
+glslang_resource_t* glslang_resource(void);
+
+// These are the default resources for TBuiltInResources, used for both
+// - parsing this string for the case where the user didn't supply one,
+// - dumping out a template for user construction of a config file.
+const glslang_resource_t* glslang_default_resource(void);
+
+// Returns the DefaultTBuiltInResource as a human-readable string.
+// NOTE: User is responsible for freeing this string.
+const char* glslang_default_resource_string();
+
+// Decodes the resource limits from |config| to |resources|.
+void glslang_decode_resource_limits(glslang_resource_t* resources, char* config);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // _STAND_ALONE_RESOURCE_LIMITS_C_INCLUDED_