Remove unnecessary semi-colons and add warning about them
These are causing integration issues with Chromium down stream since
it is more strict about these.
diff --git a/BUILD.gn b/BUILD.gn
index 55f21ad..b2878af 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -168,6 +168,7 @@
"-Wno-unused-variable",
"-Wno-missing-field-initializers",
"-Wno-newline-eof",
+ "-Wextra-semi",
]
}
if (is_win && !is_clang) {
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c2adeb0..60ccd02 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -90,12 +90,12 @@
if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
- -Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -fno-exceptions)
+ -Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -fno-exceptions -Wextra-semi)
add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over.
add_compile_options(-fno-rtti)
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
- -Wunused-parameter -Wunused-value -Wunused-variable)
+ -Wunused-parameter -Wunused-value -Wunused-variable -Wextra-semi)
add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over.
add_compile_options(-fno-rtti)
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC")
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 2d50074..f4e0fdb 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -100,11 +100,11 @@
spv::Decoration precision;
#ifdef GLSLANG_WEB
- void addNoContraction(spv::Builder&, spv::Id) const { };
- void addNonUniform(spv::Builder&, spv::Id) const { };
+ void addNoContraction(spv::Builder&, spv::Id) const { }
+ void addNonUniform(spv::Builder&, spv::Id) const { }
#else
- void addNoContraction(spv::Builder& builder, spv::Id t) { builder.addDecoration(t, noContraction); };
- void addNonUniform(spv::Builder& builder, spv::Id t) { builder.addDecoration(t, nonUniform); };
+ void addNoContraction(spv::Builder& builder, spv::Id t) { builder.addDecoration(t, noContraction); }
+ void addNonUniform(spv::Builder& builder, spv::Id t) { builder.addDecoration(t, nonUniform); }
protected:
spv::Decoration noContraction;
spv::Decoration nonUniform;
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index 59ead22..ef933b4 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -135,8 +135,8 @@
bool isYuv() const { return yuv; }
#endif
void setCombined(bool c) { combined = c; }
- void setBasicType(TBasicType t) { type = t; };
- TBasicType getBasicType() const { return type; };
+ void setBasicType(TBasicType t) { type = t; }
+ TBasicType getBasicType() const { return type; }
bool isShadow() const { return shadow; }
bool isArrayed() const { return arrayed; }
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 5cee05e..39363f1 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -283,7 +283,7 @@
const TString* entryPoint = nullptr);
virtual ~TParseContext();
- bool obeyPrecisionQualifiers() const { return precisionManager.respectingPrecisionQualifiers(); };
+ bool obeyPrecisionQualifiers() const { return precisionManager.respectingPrecisionQualifiers(); }
void setPrecisionDefaults();
void setLimits(const TBuiltInResource&) override;
diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h
index 01afc5a..684e88d 100644
--- a/glslang/MachineIndependent/iomapper.h
+++ b/glslang/MachineIndependent/iomapper.h
@@ -114,7 +114,7 @@
bool doAutoLocationMapping() const;
TSlotSet::iterator findSlot(int set, int slot);
bool checkEmpty(int set, int slot);
- bool validateInOut(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; };
+ bool validateInOut(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; }
int reserveSlot(int set, int slot, int size = 1);
int getFreeSlot(int set, int base, int size = 1);
int resolveSet(EShLanguage /*stage*/, TVarEntryInfo& ent) override;
@@ -125,7 +125,7 @@
void addStage(EShLanguage stage) override {
if (stage < EShLangCount)
stageMask[stage] = true;
- };
+ }
uint32_t computeTypeLocationSize(const TType& type, EShLanguage stage);
TSlotSetMap slots;
@@ -191,7 +191,7 @@
typedef std::map<TString, int> TVarSlotMap; // <resourceName, location/binding>
typedef std::map<int, TVarSlotMap> TSlotMap; // <resourceKey, TVarSlotMap>
TDefaultGlslIoResolver(const TIntermediate& intermediate);
- bool validateBinding(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; };
+ bool validateBinding(EShLanguage /*stage*/, TVarEntryInfo& /*ent*/) override { return true; }
TResourceType getResourceType(const glslang::TType& type) override;
int resolveInOutLocation(EShLanguage stage, TVarEntryInfo& ent) override;
int resolveUniformLocation(EShLanguage /*stage*/, TVarEntryInfo& ent) override;
@@ -209,7 +209,7 @@
int buildStorageKey(EShLanguage stage, TStorageQualifier type) {
assert(static_cast<uint32_t>(stage) <= 0x0000ffff && static_cast<uint32_t>(type) <= 0x0000ffff);
return (stage << 16) | type;
- };
+ }
protected:
// Use for mark pre stage, to get more interface symbol information.
@@ -242,7 +242,7 @@
const_cast<TString&>(first) = _Right.first;
second = _Right.second;
return (*this);
- };
+ }
};
typedef std::vector<TVarLivePair> TVarLiveVector;
@@ -253,7 +253,7 @@
virtual ~TIoMapper() {}
// grow the reflection stage by stage
bool virtual addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*);
- bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; };
+ bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; }
};
// I/O mapper for OpenGL
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index 9782475..4cc6c2f 100755
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -487,7 +487,7 @@
environment.target.version = version;
}
- void getStrings(const char* const* &s, int& n) { s = strings; n = numStrings; };
+ void getStrings(const char* const* &s, int& n) { s = strings; n = numStrings; }
#ifdef ENABLE_HLSL
void setEnvTargetHlslFunctionality1() { environment.target.hlslFunctionality1 = true; }
@@ -775,7 +775,7 @@
TProgram();
virtual ~TProgram();
void addShader(TShader* shader) { stages[shader->stage].push_back(shader); }
- std::list<TShader*>& getShaders(EShLanguage stage) { return stages[stage]; };
+ std::list<TShader*>& getShaders(EShLanguage stage) { return stages[stage]; }
// Link Validation interface
bool link(EShMessages);
const char* getInfoLog();