Warning in include_juce_graphics_Sheenbidi.c

On Ubuntu 24.04 (and 22.04) i get Wmaybe-uninitialized warning:

g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0

JUCE 8 / develop branch

Compiling include_juce_graphics_Sheenbidi.c
In file included from /home/jojo/JUCE/modules/juce_graphics/unicode/sheenbidi/Source/SheenBidi.c:33,
                 from /home/jojo/JUCE/modules/juce_graphics/juce_graphics_Sheenbidi.c:50,
                 from ../../JuceLibraryCode/include_juce_graphics_Sheenbidi.c:8:
In function ‘InitializeRuns’,
    inlined from ‘SBLineCreate’ at /home/jojo/JUCE/modules/juce_graphics/unicode/sheenbidi/Source/SBLine.c:270:30,
    inlined from ‘SBParagraphCreateLine’ at /home/jojo/JUCE/modules/juce_graphics/unicode/sheenbidi/Source/SBParagraph.c:681:16:
/home/jojo/JUCE/modules/juce_graphics/unicode/sheenbidi/Source/SBLine.c:188:27: warning: ‘((const SBLevel *)pointer)[32]’ may be used uninitialized [-Wmaybe-uninitialized]
  188 |     (*runs).level = levels[0];
      |                     ~~~~~~^~~
  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_PROJUCER_VERSION=0x80006" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_spaghettis_base=1" "-DJUCE_MODULE_AVAILABLE_spaghettis_core=1" "-DJUCE_MODULE_AVAILABLE_spaghettis_data=1" "-DJUCE_MODULE_AVAILABLE_spaghettis_gui=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=0.9" "-DJUCE_APP_VERSION_HEX=0x900" $(shell $(PKG_CONFIG) --cflags $(shell ($(PKG_CONFIG) --exists webkit2gtk-4.1 && echo webkit2gtk-4.1) || echo webkit2gtk-4.0) freetype2 fontconfig libcurl gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I$(HOME)/JUCE/modules -I../../Modules $(CPPFLAGS)
  JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" "-DJucePlugin_Build_LV2=0"
  JUCE_TARGET_APP := Spaghettis

  JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 -Wall -Wextra -Wshadow -Wno-unused-parameter -ffast-math -fvisibility=hidden $(CFLAGS)
  JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++17 $(CXXFLAGS)
  JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell $(PKG_CONFIG) --libs freetype2 fontconfig libcurl) -fvisibility=hidden -rdynamic -lrt -ldl -lpthread -lm -lasound -ljack $(LDFLAGS)

Note that DemoRunner and Projucer compile fine (no warnings).

Probably same advice! :grin:

Is there a way to get juce_recommended_warning_flags in Projucer (i mean instead of manually decipher the CMake files)?

There’s “Add Recommended Compiler Warning Flags” in each exporter’s configuration settings.

1 Like

Oops… i did not noticed that. Thanks.

At the same time i get more than 2000 overzealous warnings now. I’ll keep mine. :grinning_face_with_smiling_eyes: