clang/gcc: enable a bunch more warnings (#91)
* clang/gcc: enable -pedantic warnings
* suppress a GCC-specific warning in stb_image
* And some clang-specific warnings
* -Wconversion (clang) -Wold-style-cast (clang+gcc)
and fix a few warnings that show up with these (and a few more with
-Wconversion on gcc, even though that's not enabled by default)
* bunch more warnings
* fixes
* remove merge error
diff --git a/examples/Animometer.cpp b/examples/Animometer.cpp
index d770bdf..71c5ef8 100644
--- a/examples/Animometer.cpp
+++ b/examples/Animometer.cpp
@@ -130,7 +130,7 @@
size_t i = 0;
std::vector<nxt::CommandBuffer> commands(50);
- for (int j = 0; j < 50; j++) {
+ for (size_t j = 0; j < 50; j++) {
nxt::CommandBufferBuilder builder = device.CreateCommandBufferBuilder()
.BeginRenderPass(renderpass, framebuffer)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index addb21c..eda1db9 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -38,6 +38,9 @@
set_property(TARGET ${target} APPEND PROPERTY COMPILE_OPTIONS "/wd4456")
# declaration hides previous declaration -- for picojson
set_property(TARGET ${target} APPEND PROPERTY COMPILE_OPTIONS "/wd4706")
+ else()
+ # re-enable old style casts -- for GLM
+ set_property(TARGET ${target} APPEND PROPERTY COMPILE_OPTIONS "-Wno-old-style-cast")
endif()
endfunction()
diff --git a/examples/ComputeBoids.cpp b/examples/ComputeBoids.cpp
index cb8ab60..c21ff26 100644
--- a/examples/ComputeBoids.cpp
+++ b/examples/ComputeBoids.cpp
@@ -81,7 +81,7 @@
}
}
- for (int i = 0; i < 2; i++) {
+ for (size_t i = 0; i < 2; i++) {
particleBuffers[i] = device.CreateBufferBuilder()
.SetAllowedUsage(nxt::BufferUsageBit::TransferDst | nxt::BufferUsageBit::Vertex | nxt::BufferUsageBit::Storage)
.SetInitialUsage(nxt::BufferUsageBit::TransferDst)
@@ -261,7 +261,7 @@
void initCommandBuffers() {
static const uint32_t zeroOffsets[1] = {0};
- for (int i = 0; i < 2; ++i) {
+ for (size_t i = 0; i < 2; ++i) {
auto& bufferSrc = particleBuffers[i];
auto& bufferDst = particleBuffers[(i + 1) % 2];
commandBuffers[i] = device.CreateCommandBufferBuilder()
diff --git a/examples/HelloCompute.cpp b/examples/HelloCompute.cpp
index 91b4c04..1ee27e2 100644
--- a/examples/HelloCompute.cpp
+++ b/examples/HelloCompute.cpp
@@ -35,7 +35,7 @@
queue = device.CreateQueueBuilder().GetResult();
struct {uint32_t a; float b;} s;
- memset(&s, sizeof(s), 0);
+ memset(&s, 0, sizeof(s));
buffer = device.CreateBufferBuilder()
.SetAllowedUsage(nxt::BufferUsageBit::TransferDst | nxt::BufferUsageBit::Uniform | nxt::BufferUsageBit::Storage)
.SetInitialUsage(nxt::BufferUsageBit::TransferDst)
diff --git a/examples/HelloTriangle.cpp b/examples/HelloTriangle.cpp
index c5335b5..d98bfb8 100644
--- a/examples/HelloTriangle.cpp
+++ b/examples/HelloTriangle.cpp
@@ -63,7 +63,7 @@
// Initialize the texture with arbitrary data until we can load images
std::vector<uint8_t> data(4 * 1024 * 1024, 0);
for (size_t i = 0; i < data.size(); ++i) {
- data[i] = i % 253;
+ data[i] = static_cast<uint8_t>(i % 253);
}