CI: Test building without C++ runtime on GCC/Clang.
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0364174..8edef47 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -288,6 +288,14 @@
echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp
g++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp
+ - name: Build example_null (without c++ runtime, Clang)
+ run: |
+ echo '#define IMGUI_IMPLEMENTATION' > example_single_file.cpp
+ echo '#define IMGUI_DISABLE_DEMO_WINDOWS' >> example_single_file.cpp
+ echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp
+ echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp
+ clang++ -I. -Wall -Wformat -nodefaultlibs -fno-rtti -fno-exceptions -fno-threadsafe-statics -lc -lm -o example_single_file example_single_file.cpp
+
- name: Build example_glfw_opengl2
run: make -C examples/example_glfw_opengl2
@@ -324,6 +332,13 @@
echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp
clang++ -I. -Wall -Wformat -o example_single_file example_single_file.cpp
+ - name: Build example_null (without c++ runtime)
+ run: |
+ echo '#define IMGUI_IMPLEMENTATION' > example_single_file.cpp
+ echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp
+ echo '#include "examples/example_null/main.cpp"' >> example_single_file.cpp
+ clang++ -I. -Wall -Wformat -nodefaultlibs -fno-rtti -fno-exceptions -fno-threadsafe-statics -lc -lm -o example_single_file example_single_file.cpp
+
- name: Build example_glfw_opengl2
run: make -C examples/example_glfw_opengl2
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 2ad7a08..da94c89 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -56,6 +56,9 @@
BeginMenu()/EndMenu() or BeginPopup/EndPopup(). (#3223, #1207) [@rokups]
- Drag and Drop: Fixed unintended fallback "..." tooltip display during drag operation when
drag source uses _SourceNoPreviewTooltip flags. (#3160) [@rokups]
+- CI: Added CI test to verify we're never accidentally dragging libstdc++ (on some compiler setups,
+ static constructors for non-pod data seems to drag in libstdc++ due to thread-safety concerns).
+ Fixed a static contructor which led to this dependency on some compiler setups (unclear which).
- Backends: Win32: Support for #define NOGDI, won't try to call GetDeviceCaps(). (#3137, #2327)
- Backends: Win32: Fix _WIN32_WINNT < 0x0600 (MinGW defaults to 0x502 == Windows 2003). (#3183)
- Backends: SDL: Report a zero display-size when window is minimized, consistent with other backends,
@@ -67,7 +70,7 @@
- Backends: Vulkan: Fixed edge case where render callbacks wouldn't be called if the ImDrawData
structure didn't have any vertices. (#2697) [@kudaba]
- Backends: OSX: Added workaround to avoid fast mouse clicks. (#3261, #1992, #2525) [@nburrus]
-- Examples: Apple: Fixed example_apple_metal and example_apple_opengl2 using imgui_impl_osx.mm
+- Examples: Apple: Fixed example_apple_metal and example_apple_opengl2 using imgui_impl_osx.mm
not forwarding right and center mouse clicks. (#3260) [@nburrus]