I’m compiling on linux with gcc. Projucer version 6.0.8. I use extra compiler flags
-Wall -Wextra -Werror
Now when compiling my project in Release configuration I get a bunch of warnings, here is an example:
Compiling include_juce_audio_plugin_client_Standalone.cpp
In file included from /home/frederik_siepe/JUCE/modules/juce_core/juce_core.h:222:0,
from /home/frederik_siepe/JUCE/modules/juce_graphics/juce_graphics.h:57,
from /home/frederik_siepe/JUCE/modules/juce_gui_basics/juce_gui_basics.h:56,
from /home/frederik_siepe/JUCE/modules/juce_gui_extra/juce_gui_extra.h:56,
from /home/frederik_siepe/JUCE/modules/juce_opengl/juce_opengl.h:58,
from /home/frederik_siepe/JUCE/modules/juce_opengl/juce_opengl.cpp:42,
from ../../JuceLibraryCode/include_juce_opengl.cpp:9:
/home/frederik_siepe/JUCE/modules/juce_core/maths/juce_MathsFunctions.h: In member function ‘void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext<SavedStateType>::endTransparencyLayer() [with SavedStateType = juce::RenderingHelpers::SoftwareRendererSavedState]’:
/home/frederik_siepe/JUCE/modules/juce_core/maths/juce_MathsFunctions.h:269:75: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
: valueToConstrain);
Now I am wondering: Did I miss something on my side? The parameter in question is templated, so I might have put in an incompatible type somewhere. However, everything seems to originate from JUCEs rendering code, as far as I cant tell.
Maybe these compiler settings are too strict for JUCE? I’d very much like to leave -Werror
enabled, but currently that’s not an option.