Fix compilation warnings and re-enable werror=yes on Travis

Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.

Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.

Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).

GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.

Treat glslang headers are system headers to avoid raising warnings.

Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.

Fixes #36132.
This commit is contained in:
Rémi Verschelde
2020-02-18 14:57:11 +01:00
parent e866b4043c
commit 49fec646cb
15 changed files with 35 additions and 91 deletions

View File

@@ -537,58 +537,36 @@ Vector<SurfaceTool::Vertex> SurfaceTool::create_vertex_array_from_triangle_array
Vector<float> warr = p_arrays[VS::ARRAY_WEIGHTS];
int vc = varr.size();
if (vc == 0)
return ret;
int lformat = 0;
const Vector3 *rv;
int lformat = 0;
if (varr.size()) {
lformat |= VS::ARRAY_FORMAT_VERTEX;
rv = varr.ptr();
}
const Vector3 *rn;
if (narr.size()) {
lformat |= VS::ARRAY_FORMAT_NORMAL;
rn = narr.ptr();
}
const float *rt;
if (tarr.size()) {
lformat |= VS::ARRAY_FORMAT_TANGENT;
rt = tarr.ptr();
}
const Color *rc;
if (carr.size()) {
lformat |= VS::ARRAY_FORMAT_COLOR;
rc = carr.ptr();
}
const Vector2 *ruv;
if (uvarr.size()) {
lformat |= VS::ARRAY_FORMAT_TEX_UV;
ruv = uvarr.ptr();
}
const Vector2 *ruv2;
if (uv2arr.size()) {
lformat |= VS::ARRAY_FORMAT_TEX_UV2;
ruv2 = uv2arr.ptr();
}
const int *rb;
if (barr.size()) {
lformat |= VS::ARRAY_FORMAT_BONES;
rb = barr.ptr();
}
const float *rw;
if (warr.size()) {
lformat |= VS::ARRAY_FORMAT_WEIGHTS;
rw = warr.ptr();
}
for (int i = 0; i < vc; i++) {
Vertex v;
if (lformat & VS::ARRAY_FORMAT_VERTEX)
v.vertex = varr[i];
@@ -642,58 +620,36 @@ void SurfaceTool::_create_list_from_arrays(Array arr, List<Vertex> *r_vertex, Li
Vector<float> warr = arr[VS::ARRAY_WEIGHTS];
int vc = varr.size();
if (vc == 0)
return;
lformat = 0;
const Vector3 *rv;
lformat = 0;
if (varr.size()) {
lformat |= VS::ARRAY_FORMAT_VERTEX;
rv = varr.ptr();
}
const Vector3 *rn;
if (narr.size()) {
lformat |= VS::ARRAY_FORMAT_NORMAL;
rn = narr.ptr();
}
const float *rt;
if (tarr.size()) {
lformat |= VS::ARRAY_FORMAT_TANGENT;
rt = tarr.ptr();
}
const Color *rc;
if (carr.size()) {
lformat |= VS::ARRAY_FORMAT_COLOR;
rc = carr.ptr();
}
const Vector2 *ruv;
if (uvarr.size()) {
lformat |= VS::ARRAY_FORMAT_TEX_UV;
ruv = uvarr.ptr();
}
const Vector2 *ruv2;
if (uv2arr.size()) {
lformat |= VS::ARRAY_FORMAT_TEX_UV2;
ruv2 = uv2arr.ptr();
}
const int *rb;
if (barr.size()) {
lformat |= VS::ARRAY_FORMAT_BONES;
rb = barr.ptr();
}
const float *rw;
if (warr.size()) {
lformat |= VS::ARRAY_FORMAT_WEIGHTS;
rw = warr.ptr();
}
for (int i = 0; i < vc; i++) {
Vertex v;
if (lformat & VS::ARRAY_FORMAT_VERTEX)
v.vertex = varr[i];