diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h index d35ae8f8..e71da208 100644 --- a/glslang/Include/intermediate.h +++ b/glslang/Include/intermediate.h @@ -566,7 +566,7 @@ protected: // in between (if any) consecutive case/defaults. So, a traversal need only deal with // 0 or 1 nodes per case/default statement. // -class TIntermSwitch : public TIntermAggregate { +class TIntermSwitch : public TIntermNode { public: TIntermSwitch(TIntermTyped* cond, TIntermAggregate* b) : condition(cond), body(b) { } virtual void traverse(TIntermTraverser*); diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 73784538..9b82ae62 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -1594,6 +1594,8 @@ void TParseContext::wrapupSwitchSubsequence(TIntermAggregate* statements, TInter } if (branchNode) switchSequence->push_back(branchNode); + + // TODO: semantics: verify no duplicated case values } //