From 2896c2dd60831319f0c5e3a04d94cfa30e6ba5a1 Mon Sep 17 00:00:00 2001 From: maj00r Date: Thu, 10 Sep 2026 00:10:52 +0200 Subject: [PATCH] add the C library headers MSVC needs Unqualified uint8_t/size_t and friends were reaching 24 units through some other header on libstdc++; MSVC's STL does not do that, which broke gl/ubo.cppm (and made its UBS_PAD macro look like garbage). Also silences C5244, MSVC's counterpart to the clang warning about glm being included in the module purview, which is deliberate here. --- application/application.cpp | 1 + application/driveruipanels.cppm | 1 + application/editoruipanels.cpp | 1 + application/scenarioloaderuilayer.cpp | 2 ++ audio/audio.cpp | 1 + extras/piped_proc.cppm | 1 + gl/postfx.cpp | 1 + gl/shader.cpp | 1 + gl/shader.cppm | 1 + gl/ubo.cppm | 1 + input/zmq_input.cpp | 1 + input/zmq_input.cppm | 1 + launcher/scenery_list.cpp | 1 + launcher/textures_scanner.cpp | 1 + launcher/vehicle_picker.cpp | 1 + model/Texture.cppm | 1 + network/network.cppm | 1 + rendering/screenshot.cpp | 1 + scripting/PyInt.cpp | 2 ++ utilities/Float3d.cpp | 1 + utilities/Float3d.cppm | 1 + utilities/Globals.cpp | 1 + utilities/Globals.cppm | 1 + utilities/Timer.cpp | 1 + utilities/glm_module.cppm | 7 +++++++ utilities/headtrack.cpp | 1 + utilities/utilities.cpp | 1 + widgets/cameraview_extcam.cpp | 2 ++ widgets/cameraview_extcam.cppm | 1 + widgets/map.cpp | 1 + widgets/perfgraphs.cpp | 1 + widgets/perfgraphs.cppm | 1 + 32 files changed, 41 insertions(+) diff --git a/application/application.cpp b/application/application.cpp index 362d9416..f8e55f84 100644 --- a/application/application.cpp +++ b/application/application.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/application/driveruipanels.cppm b/application/driveruipanels.cppm index ffdcfe00..413375a0 100644 --- a/application/driveruipanels.cppm +++ b/application/driveruipanels.cppm @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/application/editoruipanels.cpp b/application/editoruipanels.cpp index 7b536d3a..0bfe5233 100644 --- a/application/editoruipanels.cpp +++ b/application/editoruipanels.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/application/scenarioloaderuilayer.cpp b/application/scenarioloaderuilayer.cpp index 0e74ba25..57d16e57 100644 --- a/application/scenarioloaderuilayer.cpp +++ b/application/scenarioloaderuilayer.cpp @@ -1,4 +1,6 @@ module; +#include +#include #include #include #include diff --git a/audio/audio.cpp b/audio/audio.cpp index 68274b3c..8ad89319 100644 --- a/audio/audio.cpp +++ b/audio/audio.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/extras/piped_proc.cppm b/extras/piped_proc.cppm index 546786d0..869ed492 100644 --- a/extras/piped_proc.cppm +++ b/extras/piped_proc.cppm @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ module; +#include #ifdef __unix__ #include #endif diff --git a/gl/postfx.cpp b/gl/postfx.cpp index 7cc0e7ba..38c667fb 100644 --- a/gl/postfx.cpp +++ b/gl/postfx.cpp @@ -1,4 +1,5 @@ module; +#include #include #include "glad/glad.h" #include diff --git a/gl/shader.cpp b/gl/shader.cpp index 44329278..f8b79bd8 100644 --- a/gl/shader.cpp +++ b/gl/shader.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/gl/shader.cppm b/gl/shader.cppm index 41d8ca69..86f26b5f 100644 --- a/gl/shader.cppm +++ b/gl/shader.cppm @@ -1,4 +1,5 @@ module; +#include #include #include "glad/glad.h" #include diff --git a/gl/ubo.cppm b/gl/ubo.cppm index 290165c0..3c1e2911 100644 --- a/gl/ubo.cppm +++ b/gl/ubo.cppm @@ -1,4 +1,5 @@ module; +#include #include #include "glad/glad.h" diff --git a/input/zmq_input.cpp b/input/zmq_input.cpp index ed026773..b50e71d3 100644 --- a/input/zmq_input.cpp +++ b/input/zmq_input.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/input/zmq_input.cppm b/input/zmq_input.cppm index 4632ce95..e3f94f09 100644 --- a/input/zmq_input.cppm +++ b/input/zmq_input.cppm @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/launcher/scenery_list.cpp b/launcher/scenery_list.cpp index 8561feee..d8b2cfe7 100644 --- a/launcher/scenery_list.cpp +++ b/launcher/scenery_list.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/launcher/textures_scanner.cpp b/launcher/textures_scanner.cpp index c52bf3c6..41cde3d5 100644 --- a/launcher/textures_scanner.cpp +++ b/launcher/textures_scanner.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/launcher/vehicle_picker.cpp b/launcher/vehicle_picker.cpp index c6d62e95..d488e2b6 100644 --- a/launcher/vehicle_picker.cpp +++ b/launcher/vehicle_picker.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/model/Texture.cppm b/model/Texture.cppm index 2bd1bb72..a186587d 100644 --- a/model/Texture.cppm +++ b/model/Texture.cppm @@ -7,6 +7,7 @@ obtain one at http://mozilla.org/MPL/2.0/. */ module; +#include #include #include #include diff --git a/network/network.cppm b/network/network.cppm index d0bac467..487f1ab1 100644 --- a/network/network.cppm +++ b/network/network.cppm @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/rendering/screenshot.cpp b/rendering/screenshot.cpp index 21df083e..3e7c34fa 100644 --- a/rendering/screenshot.cpp +++ b/rendering/screenshot.cpp @@ -1,4 +1,5 @@ module; +#include #include #include "utilities/Globals_macros.h" #include diff --git a/scripting/PyInt.cpp b/scripting/PyInt.cpp index c64c010b..68b153fc 100644 --- a/scripting/PyInt.cpp +++ b/scripting/PyInt.cpp @@ -1,4 +1,6 @@ module; +#include +#include #include #include #include diff --git a/utilities/Float3d.cpp b/utilities/Float3d.cpp index 04944a52..1227809e 100644 --- a/utilities/Float3d.cpp +++ b/utilities/Float3d.cpp @@ -1,4 +1,5 @@ module; +#include #include #include diff --git a/utilities/Float3d.cppm b/utilities/Float3d.cppm index 37220154..4c64f88e 100644 --- a/utilities/Float3d.cppm +++ b/utilities/Float3d.cppm @@ -9,6 +9,7 @@ http://mozilla.org/MPL/2.0/. //--------------------------------------------------------------------------- module; +#include #include #include #include diff --git a/utilities/Globals.cpp b/utilities/Globals.cpp index aa98379d..97d68ec7 100644 --- a/utilities/Globals.cpp +++ b/utilities/Globals.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/utilities/Globals.cppm b/utilities/Globals.cppm index 2ba479ab..4d5b9ef4 100644 --- a/utilities/Globals.cppm +++ b/utilities/Globals.cppm @@ -7,6 +7,7 @@ obtain one at http://mozilla.org/MPL/2.0/. */ module; +#include #include #include #include diff --git a/utilities/Timer.cpp b/utilities/Timer.cpp index 88bda2b0..3362f462 100644 --- a/utilities/Timer.cpp +++ b/utilities/Timer.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include "utilities/Globals_macros.h" diff --git a/utilities/glm_module.cppm b/utilities/glm_module.cppm index a8cfeb6f..fa8f0aa0 100644 --- a/utilities/glm_module.cppm +++ b/utilities/glm_module.cppm @@ -46,6 +46,10 @@ export module eu07.glm; #pragma clang diagnostic push #pragma clang diagnostic ignored "-Winclude-angled-in-module-purview" #endif +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 5244) +#endif export { #include #include @@ -71,6 +75,9 @@ export { #ifdef __clang__ #pragma clang diagnostic pop #endif +#ifdef _MSC_VER +#pragma warning(pop) +#endif export { // 12-byte vec3 that stays packed regardless of GLM_FORCE_DEFAULT_ALIGNED_GENTYPES. diff --git a/utilities/headtrack.cpp b/utilities/headtrack.cpp index e4555416..72e34184 100644 --- a/utilities/headtrack.cpp +++ b/utilities/headtrack.cpp @@ -1,4 +1,5 @@ module; +#include #include #include "utilities/Globals_macros.h" #include diff --git a/utilities/utilities.cpp b/utilities/utilities.cpp index 862ccc9b..ab4b7393 100644 --- a/utilities/utilities.cpp +++ b/utilities/utilities.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/widgets/cameraview_extcam.cpp b/widgets/cameraview_extcam.cpp index 422b6e67..edd36425 100644 --- a/widgets/cameraview_extcam.cpp +++ b/widgets/cameraview_extcam.cpp @@ -1,4 +1,6 @@ module; +#include +#include #include #include #include diff --git a/widgets/cameraview_extcam.cppm b/widgets/cameraview_extcam.cppm index 2946a770..f52113c3 100644 --- a/widgets/cameraview_extcam.cppm +++ b/widgets/cameraview_extcam.cppm @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ module; +#include #include #include #include diff --git a/widgets/map.cpp b/widgets/map.cpp index 94b85bb3..67bd5417 100644 --- a/widgets/map.cpp +++ b/widgets/map.cpp @@ -1,4 +1,5 @@ module; +#include #include #include "utilities/translation_macros.h" #include "glad/glad.h" diff --git a/widgets/perfgraphs.cpp b/widgets/perfgraphs.cpp index ec4c6055..bb267139 100644 --- a/widgets/perfgraphs.cpp +++ b/widgets/perfgraphs.cpp @@ -1,4 +1,5 @@ module; +#include #include #include #include diff --git a/widgets/perfgraphs.cppm b/widgets/perfgraphs.cppm index fca46456..cdd46685 100644 --- a/widgets/perfgraphs.cppm +++ b/widgets/perfgraphs.cppm @@ -1,4 +1,5 @@ module; +#include #include #include #include