From 45eac1eaa8b12e6d87e4db640fe5dcc9cf3b9a8c Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 9 Jul 2026 09:31:39 +0200 Subject: [PATCH] :green_heart: fix build Signed-off-by: Niels Lohmann --- .../docs/api/macros/json_has_filesystem.md | 23 ++++++++++--------- .../mkdocs/docs/api/macros/json_has_ranges.md | 19 +++++++-------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/docs/mkdocs/docs/api/macros/json_has_filesystem.md b/docs/mkdocs/docs/api/macros/json_has_filesystem.md index a3b18caf1..68eb3089b 100644 --- a/docs/mkdocs/docs/api/macros/json_has_filesystem.md +++ b/docs/mkdocs/docs/api/macros/json_has_filesystem.md @@ -19,18 +19,19 @@ The default value is detected based on the preprocessor macros `#!cpp __cpp_lib_ `#!cpp __cpp_lib_experimental_filesystem`, `#!cpp __has_include()`, or `#!cpp __has_include()`. -## Known compiler/stdlib exclusions +!!! info "Known compiler/stdlib exclusions" -Even when the feature-test macro indicates filesystem support is available, the library disables it on the following broken toolchains: - -- **MinGW + GCC 8** — disabled entirely (broken `std::filesystem` implementation; [MinGW-w64 bug 737](https://sourceforge.net/p/mingw-w64/bugs/737/)) -- **GCC (non-Clang) < 8** — disabled (no filesystem support) -- **Clang < 7** — disabled (no filesystem support) -- **MSVC < 19.14** — disabled (no filesystem support) -- **iOS < 13** — disabled (no filesystem support) -- **macOS < Catalina (10.15)** — disabled (no filesystem support) - -If `JSON_HAS_FILESYSTEM` or `JSON_HAS_EXPERIMENTAL_FILESYSTEM` is `0` despite `__cpp_lib_filesystem` being defined, one of the exclusions above likely applies to your toolchain. + Even when the feature-test macro indicates filesystem support is available, the library disables it on the following broken toolchains: + + - **MinGW + GCC 8** — disabled entirely (broken `std::filesystem` implementation; [MinGW-w64 bug 737](https://sourceforge.net/p/mingw-w64/bugs/737/)) + - **GCC (non-Clang) < 8** — disabled (no filesystem support) + - **Clang < 7** — disabled (no filesystem support) + - **MSVC < 19.14** — disabled (no filesystem support) + - **iOS < 13** — disabled (no filesystem support) + - **macOS < Catalina (10.15)** — disabled (no filesystem support) + + If `JSON_HAS_FILESYSTEM` or `JSON_HAS_EXPERIMENTAL_FILESYSTEM` is `0` despite `__cpp_lib_filesystem` being defined, one + of the exclusions above likely applies to your toolchain. ## Notes diff --git a/docs/mkdocs/docs/api/macros/json_has_ranges.md b/docs/mkdocs/docs/api/macros/json_has_ranges.md index 4e1f166fe..287ba69eb 100644 --- a/docs/mkdocs/docs/api/macros/json_has_ranges.md +++ b/docs/mkdocs/docs/api/macros/json_has_ranges.md @@ -13,16 +13,17 @@ The default value is detected based on the preprocessor macro `#!cpp __cpp_lib_r When the macro is not defined, the library will define it to its default value. -## Known compiler/stdlib exclusions +!!! info "Known compiler/stdlib exclusions" -Even when the feature-test macro `__cpp_lib_ranges` indicates ranges support is available, the library disables it on the following incomplete or broken toolchains: - -- **GCC 11.1.0** — disabled (the shipped `` header has a syntax error; [issue #4440](https://github.com/nlohmann/json/issues/4440)) -- **libstdc++ < 11** — disabled (incomplete C++20 ranges support; [issue #4440](https://github.com/nlohmann/json/issues/4440)) -- **Clang < 16 with libstdc++** — disabled (incomplete ranges support; [issue #4440](https://github.com/nlohmann/json/issues/4440)) -- **libc++ < 160000** — disabled (incomplete C++20 ranges support; [issue #4440](https://github.com/nlohmann/json/issues/4440)) - -If `JSON_HAS_RANGES` is `0` despite `__cpp_lib_ranges` being defined, one of the exclusions above likely applies to your toolchain. + Even when the feature-test macro `__cpp_lib_ranges` indicates ranges support is available, the library disables it on + the following incomplete or broken toolchains: + + - **GCC 11.1.0** — disabled (the shipped `` header has a syntax error; [issue #4440](https://github.com/nlohmann/json/issues/4440)) + - **libstdc++ < 11** — disabled (incomplete C++20 ranges support; [issue #4440](https://github.com/nlohmann/json/issues/4440)) + - **Clang < 16 with libstdc++** — disabled (incomplete ranges support; [issue #4440](https://github.com/nlohmann/json/issues/4440)) + - **libc++ < 160000** — disabled (incomplete C++20 ranges support; [issue #4440](https://github.com/nlohmann/json/issues/4440)) + + If `JSON_HAS_RANGES` is `0` despite `__cpp_lib_ranges` being defined, one of the exclusions above likely applies to your toolchain. ## Examples