diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h index 1ec07541..f9f369a3 100755 --- a/SPIRV/SPVRemapper.h +++ b/SPIRV/SPVRemapper.h @@ -112,6 +112,7 @@ class spirvbin_t : public spirvbin_base_t { public: spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose) { } + virtual ~spirvbin_t() { } // remap on an existing binary in memory void remap(std::vector& spv, std::uint32_t opts = DO_EVERYTHING); diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp index 8de14629..a2b35318 100644 --- a/glslang/MachineIndependent/iomapper.cpp +++ b/glslang/MachineIndependent/iomapper.cpp @@ -168,8 +168,8 @@ public: struct TResolverAdaptor { TResolverAdaptor(EShLanguage s, TIoMapResolver& r, TInfoSink& i, bool& e) - : resolver(r) - , stage(s) + : stage(s) + , resolver(r) , infoSink(i) , error(e) { diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index b9ac7d16..24370029 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -139,22 +139,22 @@ class TVariable; class TIntermediate { public: explicit TIntermediate(EShLanguage l, int v = 0, EProfile p = ENoProfile) : - source(EShSourceNone), language(l), profile(p), version(v), treeRoot(0), + language(l), source(EShSourceNone), profile(p), version(v), treeRoot(0), numEntryPoints(0), numErrors(0), numPushConstants(0), recursive(false), invocations(TQualifier::layoutNotSet), vertices(TQualifier::layoutNotSet), inputPrimitive(ElgNone), outputPrimitive(ElgNone), pixelCenterInteger(false), originUpperLeft(false), vertexSpacing(EvsNone), vertexOrder(EvoNone), pointMode(false), earlyFragmentTests(false), depthLayout(EldNone), depthReplacing(false), blendEquations(0), - multiStream(false), xfbMode(false), + xfbMode(false), multiStream(false), +#ifdef NV_EXTENSIONS + layoutOverrideCoverage(false), + geoPassthroughEXT(false), +#endif shiftSamplerBinding(0), shiftTextureBinding(0), shiftImageBinding(0), shiftUboBinding(0), autoMapBindings(false), flattenUniformArrays(false), -#ifdef NV_EXTENSIONS - layoutOverrideCoverage(false), - geoPassthroughEXT(false), -#endif useUnknownFormat(false) { localSize[0] = 1; @@ -422,13 +422,6 @@ protected: EShSource source; // source language, known a bit later std::string entryPointName; std::string entryPointMangledName; - unsigned int shiftSamplerBinding; - unsigned int shiftTextureBinding; - unsigned int shiftImageBinding; - unsigned int shiftUboBinding; - bool autoMapBindings; - bool flattenUniformArrays; - bool useUnknownFormat; EProfile profile; int version; @@ -463,6 +456,14 @@ protected: bool geoPassthroughEXT; #endif + unsigned int shiftSamplerBinding; + unsigned int shiftTextureBinding; + unsigned int shiftImageBinding; + unsigned int shiftUboBinding; + bool autoMapBindings; + bool flattenUniformArrays; + bool useUnknownFormat; + typedef std::list TGraph; TGraph callGraph; diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h index f2de9962..a766d917 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.h +++ b/glslang/MachineIndependent/preprocessor/PpContext.h @@ -500,8 +500,8 @@ protected: TPpContext* pp) : tInput(pp), prologue_(prologue), - includedFile_(includedFile), epilogue_(epilogue), + includedFile_(includedFile), scanner(3, strings, lengths, names, 0, 0, true), prevScanner(nullptr), stringInput(pp, scanner) diff --git a/glslang/MachineIndependent/propagateNoContraction.cpp b/glslang/MachineIndependent/propagateNoContraction.cpp index caa6e200..bcf40f92 100644 --- a/glslang/MachineIndependent/propagateNoContraction.cpp +++ b/glslang/MachineIndependent/propagateNoContraction.cpp @@ -272,9 +272,9 @@ TSymbolDefinitionCollectingTraverser::TSymbolDefinitionCollectingTraverser( ObjectAccesschainSet* precise_objects, std::unordered_set* precise_return_nodes) : TIntermTraverser(true, false, false), symbol_definition_mapping_(*symbol_definition_mapping), - precise_objects_(*precise_objects), current_object_(), - accesschain_mapping_(*accesschain_mapping), current_function_definition_node_(nullptr), - precise_return_nodes_(*precise_return_nodes) {} + precise_objects_(*precise_objects), precise_return_nodes_(*precise_return_nodes), + current_object_(), accesschain_mapping_(*accesschain_mapping), + current_function_definition_node_(nullptr) {} // Visits a symbol node, set the current_object_ to the // current node symbol ID, and record a mapping from this node to the current @@ -616,9 +616,9 @@ class TNoContractionPropagator : public glslang::TIntermTraverser { public: TNoContractionPropagator(ObjectAccesschainSet* precise_objects, const AccessChainMapping& accesschain_mapping) - : TIntermTraverser(true, false, false), remained_accesschain_(), - precise_objects_(*precise_objects), accesschain_mapping_(accesschain_mapping), - added_precise_object_ids_() {} + : TIntermTraverser(true, false, false), + precise_objects_(*precise_objects), added_precise_object_ids_(), + remained_accesschain_(), accesschain_mapping_(accesschain_mapping) {} // Propagates 'precise' in the right nodes of a given assignment node with // access chain record from the assignee node to a 'precise' object it diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h index 6b4aeb92..bae131cf 100644 --- a/glslang/MachineIndependent/reflection.h +++ b/glslang/MachineIndependent/reflection.h @@ -56,8 +56,8 @@ class TReflectionTraverser; class TObjectReflection { public: TObjectReflection(const TString& pName, const TType& pType, int pOffset, int pGLDefineType, int pSize, int pIndex) : - name(pName), type(pType.clone()), - offset(pOffset), glDefineType(pGLDefineType), size(pSize), index(pIndex) { } + name(pName), offset(pOffset), + glDefineType(pGLDefineType), size(pSize), index(pIndex), type(pType.clone()) { } void dump() const { printf("%s: offset %d, type %x, size %d, index %d, binding %d\n", @@ -81,7 +81,7 @@ protected: return type->getQualifier().layoutBinding; } - TObjectReflection() : type(nullptr), offset(-1), glDefineType(-1), size(-1), index(-1) { } + TObjectReflection() : offset(-1), glDefineType(-1), size(-1), index(-1), type(nullptr) { } const TType* type; }; diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index a8bd5f07..fbb91cfc 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -58,14 +58,14 @@ HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& int TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), contextPragma(true, false), loopNestingLevel(0), annotationNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), + inEntryPoint(false), postEntryPointReturn(false), limits(resources.limits), - inEntryPoint(false), entryPointOutput(nullptr), - nextInLocation(0), nextOutLocation(0), - sourceEntryPointName(sourceEntryPointName), builtInIoIndex(nullptr), - builtInIoBase(nullptr) + builtInIoBase(nullptr), + nextInLocation(0), nextOutLocation(0), + sourceEntryPointName(sourceEntryPointName) { globalUniformDefaults.clear(); globalUniformDefaults.layoutMatrix = ElmRowMajor; diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h index f3d7b646..d56bd426 100755 --- a/hlsl/hlslParseHelper.h +++ b/hlsl/hlslParseHelper.h @@ -231,7 +231,7 @@ protected: // Type sanitization: return existing sanitized (temporary) type if there is one, else make new one. TType* sanitizeType(TType*); - void finish(); // post-processing + void finish() override; // post-processing // Current state of parsing struct TPragma contextPragma;