CXX-Modules: import std does still not work on Linux with clang++

/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(357):  if(xCXX STREQUAL xCXX AND EXISTS /root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CXX-DetectStdlib.h AND ( xClang STREQUAL xClang AND xGNU STREQUAL xGNU ) OR ( xClang STREQUAL xGNU ) )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(363):  execute_process(COMMAND /root/llvm/bin/clang++  -U_FORTIFY_SOURCE;-D_FORTIFY_SOURCE=3;-fstack-protector-strong;-fcf-protection=full;-fstack-clash-protection;-Wall;-Wextra;-Wpedantic;-Wconversion;-Wsign-conversion;-Wcast-qual;-Wformat=2;-Wno-undef;-Werror=float-equal;-Wshadow;-Wcast-align;-Wunused;-Wnull-dereference;-Wdouble-promotion;-Wimplicit-fallthrough;-Wextra-semi;-Woverloaded-virtual;-Wnon-virtual-dtor;-Wold-style-cast -E -x c++-header /root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CXX-DetectStdlib.h -o - OUTPUT_VARIABLE _lang_stdlib_out ERROR_VARIABLE _lang_stdlib_err RESULT_VARIABLE _lang_stdlib_res ERROR_STRIP_TRAILING_WHITESPACE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(375):  if(_lang_stdlib_res EQUAL 0 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(376):  string(REGEX REPLACE .*CMAKE-STDLIB-DETECT: (.+)
.* \1 CMAKE_CXX_STANDARD_LIBRARY # 1 "/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CXX-DetectStdlib.h"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 480 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CXX-DetectStdlib.h" 2
# 1 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/version" 1 3
# 34 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/version" 3


# 1 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/version.h" 1 3
# 48 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/version.h" 3

# 1 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 1 3
# 34 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
# 308 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
namespace std
{
  typedef long unsigned int size_t;
  typedef long int ptrdiff_t;


  typedef decltype(nullptr) nullptr_t;


#pragma GCC visibility push(default)


  extern "C++" __attribute__ ((__noreturn__, __always_inline__))
  inline void __terminate() noexcept
  {
    void terminate() noexcept __attribute__ ((__noreturn__,__cold__));
    terminate();
  }
#pragma GCC visibility pop
}
# 341 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
namespace std
{
  inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
}
namespace __gnu_cxx
{
  inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
}
# 534 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
namespace std
{
#pragma GCC visibility push(default)




  __attribute__((__always_inline__))
  constexpr inline bool
  __is_constant_evaluated() noexcept
  {





    return __builtin_is_constant_evaluated();



  }
#pragma GCC visibility pop
}
# 573 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
namespace std
{
#pragma GCC visibility push(default)

  extern "C++" __attribute__ ((__noreturn__))
  void
  __glibcxx_assert_fail
    (const char* __file, int __line, const char* __function,
     const char* __condition)
  noexcept;
#pragma GCC visibility pop
}
# 601 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
namespace std
{
  __attribute__((__always_inline__,__visibility__("default")))
  inline void
  __glibcxx_assert_fail()
  { }
}
# 680 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
# 1 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/os_defines.h" 1 3
# 39 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/os_defines.h" 3
# 1 "/usr/include/features.h" 1 3 4
# 394 "/usr/include/features.h" 3 4
# 1 "/usr/include/features-time64.h" 1 3 4
# 20 "/usr/include/features-time64.h" 3 4
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
# 21 "/usr/include/features-time64.h" 2 3 4
# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4
# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4
# 22 "/usr/include/features-time64.h" 2 3 4
# 395 "/usr/include/features.h" 2 3 4
# 480 "/usr/include/features.h" 3 4
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 481 "/usr/include/features.h" 2 3 4
# 502 "/usr/include/features.h" 3 4
# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4
# 576 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
# 577 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4
# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4
# 578 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4
# 503 "/usr/include/features.h" 2 3 4
# 526 "/usr/include/features.h" 3 4
# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4
# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4
# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4
# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4
# 527 "/usr/include/features.h" 2 3 4
# 40 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/os_defines.h" 2 3
# 681 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 2 3


# 1 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/cpu_defines.h" 1 3
# 684 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 2 3
# 887 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 3
# 1 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/pstl/pstl_config.h" 1 3
# 888 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/c++config.h" 2 3
# 50 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/version.h" 2 3
# 37 "/usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/version" 2 3
# 2 "/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CXX-DetectStdlib.h" 2




CMAKE-STDLIB-DETECT: libstdc++
 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(381):  if(CMAKE_CXX_COMPILER_ID )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(382):  if(CMAKE_CXX_COMPILER_VERSION )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(383):  set(_version  20.1.6 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(387):  if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID AND xClang STREQUAL xIAR )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(389):  else()
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(390):  set(_archid  )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(392):  if(CMAKE_CXX_HOST_COMPILER_ID )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(397):  else()
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(398):  set(_hostcc  )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(400):  message(STATUS The CXX compiler identification is  Clang 20.1.6 )
-- The CXX compiler identification is Clang 20.1.6
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(402):  unset(_hostcc )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(403):  unset(_archid )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(404):  unset(_version )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(405):  unset(_variant )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(410):  if(lang STREQUAL Fortran AND CMAKE_CXX_COMPILER_ID STREQUAL XL )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(414):  set(CMAKE_CXX_COMPILER_ID Clang PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(415):  set(CMAKE_CXX_PLATFORM_ID Linux PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(416):  set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(417):  set(MSVC_CXX_ARCHITECTURE_ID  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(419):  set(CMAKE_CXX_XCODE_ARCHS  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(420):  set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(421):  set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT GNU PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(422):  set(CMAKE_CXX_COMPILER_VERSION 20.1.6 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(423):  set(CMAKE_CXX_COMPILER_VERSION_INTERNAL  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(424):  set(CMAKE_CXX_COMPILER_WRAPPER  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(425):  set(CMAKE_CXX_SIMULATE_ID  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(426):  set(CMAKE_CXX_SIMULATE_VERSION  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(427):  set(CMAKE_CXX_HOST_COMPILER_ID  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(428):  set(CMAKE_CXX_HOST_COMPILER_VERSION  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(429):  set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT 17 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(430):  set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT ON PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(431):  set(CMAKE_CXX_COMPILER_PRODUCED_OUTPUT  PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(432):  set(CMAKE_CXX_COMPILER_PRODUCED_FILES a.out PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(433):  set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR /root/llvm/lib/clang/20 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(434):  set(CMAKE_CXX_STANDARD_LIBRARY libstdc++ PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake(435):  set(CMAKE_CXX_COMPILER_APPLE_SYSROOT  PARENT_SCOPE )
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /root/llvm/bin/clang++ - skipped
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(5):  function(cmake_determine_compiler_support lang )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(7):  if(xCXX STREQUAL xC AND COMMAND cmake_record_c_compile_features )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(57):  elseif(xCXX STREQUAL xCXX AND COMMAND cmake_record_cxx_compile_features )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(58):  message(CHECK_START Detecting CXX compile features )
-- Detecting CXX compile features
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(60):  set(CMAKE_CXX98_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(61):  set(CMAKE_CXX11_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(62):  set(CMAKE_CXX14_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(63):  set(CMAKE_CXX17_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(64):  set(CMAKE_CXX20_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(65):  set(CMAKE_CXX23_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(66):  set(CMAKE_CXX26_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(68):  include(/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Internal/FeatureTesting.cmake )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(70):  cmake_record_cxx_compile_features()
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(72):  if(NOT _result EQUAL 0 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(77):  if(CMAKE_CXX23_COMPILE_FEATURES AND CMAKE_CXX26_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(78):  list(REMOVE_ITEM CMAKE_CXX26_COMPILE_FEATURES cxx_std_23 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(80):  if(CMAKE_CXX20_COMPILE_FEATURES AND CMAKE_CXX23_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(81):  list(REMOVE_ITEM CMAKE_CXX23_COMPILE_FEATURES cxx_std_20 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(83):  if(CMAKE_CXX17_COMPILE_FEATURES AND CMAKE_CXX20_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(84):  list(REMOVE_ITEM CMAKE_CXX20_COMPILE_FEATURES cxx_std_17 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(86):  if(CMAKE_CXX14_COMPILE_FEATURES AND CMAKE_CXX17_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(87):  list(REMOVE_ITEM CMAKE_CXX17_COMPILE_FEATURES cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(89):  if(CMAKE_CXX11_COMPILE_FEATURES AND CMAKE_CXX14_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(90):  list(REMOVE_ITEM CMAKE_CXX14_COMPILE_FEATURES cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(92):  if(CMAKE_CXX98_COMPILE_FEATURES AND CMAKE_CXX11_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(93):  list(REMOVE_ITEM CMAKE_CXX11_COMPILE_FEATURES cxx_std_98;cxx_template_template_parameters )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(96):  if(NOT CMAKE_CXX_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(97):  set(CMAKE_CXX_COMPILE_FEATURES cxx_std_98;cxx_template_template_parameters cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates cxx_std_17 cxx_std_20 cxx_std_23 cxx_std_26 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(109):  set(CMAKE_CXX_IMPORT_STD  )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(110):  foreach(_cmake_import_std_version IN ITEMS 23 26 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(111):  if(CMAKE_CXX23_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(112):  set(_cmake_cxx_import_std  )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(113):  cmake_create_cxx_import_std(23 _cmake_cxx_import_std )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(1):  function(_cmake_cxx_import_std std variable )
CMake Warning (dev) at /root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/CMakeCommonCompilerMacros.cmake:248 (cmake_language):
  CMake's support for `import std;` in C++23 and newer is experimental.  It
  is meant only for experimentation and feedback to CMake developers.
Call Stack (most recent call first):
  /root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake:113 (cmake_create_cxx_import_std)
  /root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:83 (CMAKE_DETERMINE_COMPILER_SUPPORT)
  CMakeLists.txt:5 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(2):  if(CMAKE_CXX_STANDARD_LIBRARY STREQUAL libc++ )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(4):  elseif(CMAKE_CXX_STANDARD_LIBRARY STREQUAL libstdc++ )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(5):  set(_clang_modules_json_impl libstdc++ )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(13):  execute_process(COMMAND /root/llvm/bin/clang++  -print-file-name=libstdc++.modules.json OUTPUT_VARIABLE _clang_libcxx_modules_json_file ERROR_VARIABLE _clang_libcxx_modules_json_file_err RESULT_VARIABLE _clang_libcxx_modules_json_file_res OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(23):  if(_clang_libcxx_modules_json_file_res )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(31):  if(NOT EXISTS libstdc++.modules.json )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(32):  set(target_definition set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "`libstdc++.modules.json` resource does not exist")
 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(35):  return()
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(114):  if(_cmake_cxx_import_std )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(115):  string(APPEND CMAKE_CXX_IMPORT_STD ### Imported target for C++23 standard library
 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(116):  string(APPEND CMAKE_CXX_IMPORT_STD if (NOT TARGET "__CMAKE::CXX23")
set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "`libstdc++.modules.json` resource does not exist")
endif ()
if (TARGET "__CMAKE::CXX23")
  list(APPEND CMAKE_CXX_COMPILER_IMPORT_STD "23")
endif ()


 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(111):  if(CMAKE_CXX26_COMPILE_FEATURES )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(112):  set(_cmake_cxx_import_std  )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(113):  cmake_create_cxx_import_std(26 _cmake_cxx_import_std )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(1):  function(_cmake_cxx_import_std std variable )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(2):  if(CMAKE_CXX_STANDARD_LIBRARY STREQUAL libc++ )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(4):  elseif(CMAKE_CXX_STANDARD_LIBRARY STREQUAL libstdc++ )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(5):  set(_clang_modules_json_impl libstdc++ )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(13):  execute_process(COMMAND /root/llvm/bin/clang++  -print-file-name=libstdc++.modules.json OUTPUT_VARIABLE _clang_libcxx_modules_json_file ERROR_VARIABLE _clang_libcxx_modules_json_file_err RESULT_VARIABLE _clang_libcxx_modules_json_file_res OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(23):  if(_clang_libcxx_modules_json_file_res )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(31):  if(NOT EXISTS libstdc++.modules.json )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(32):  set(target_definition set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "`libstdc++.modules.json` resource does not exist")
 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/Compiler/Clang-CXX-CXXImportStd.cmake(35):  return()
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(114):  if(_cmake_cxx_import_std )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(115):  string(APPEND CMAKE_CXX_IMPORT_STD ### Imported target for C++26 standard library
 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(116):  string(APPEND CMAKE_CXX_IMPORT_STD if (NOT TARGET "__CMAKE::CXX26")
set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "`libstdc++.modules.json` resource does not exist")
endif ()
if (TARGET "__CMAKE::CXX26")
  list(APPEND CMAKE_CXX_COMPILER_IMPORT_STD "26")
endif ()


 )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(121):  set(CMAKE_CXX_COMPILE_FEATURES cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(122):  set(CMAKE_CXX98_COMPILE_FEATURES cxx_std_98;cxx_template_template_parameters PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(123):  set(CMAKE_CXX11_COMPILE_FEATURES cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(124):  set(CMAKE_CXX14_COMPILE_FEATURES cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(125):  set(CMAKE_CXX17_COMPILE_FEATURES cxx_std_17 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(126):  set(CMAKE_CXX20_COMPILE_FEATURES cxx_std_20 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(127):  set(CMAKE_CXX23_COMPILE_FEATURES cxx_std_23 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(128):  set(CMAKE_CXX26_COMPILE_FEATURES cxx_std_26 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(129):  set(CMAKE_CXX_IMPORT_STD ### Imported target for C++23 standard library
if (NOT TARGET "__CMAKE::CXX23")
set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "`libstdc++.modules.json` resource does not exist")
endif ()
if (TARGET "__CMAKE::CXX23")
  list(APPEND CMAKE_CXX_COMPILER_IMPORT_STD "23")
endif ()


### Imported target for C++26 standard library
if (NOT TARGET "__CMAKE::CXX26")
set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "`libstdc++.modules.json` resource does not exist")
endif ()
if (TARGET "__CMAKE::CXX26")
  list(APPEND CMAKE_CXX_COMPILER_IMPORT_STD "26")
endif ()


 PARENT_SCOPE )
/root/cmake/cmake-4.0.4-linux-x86_64/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake(131):  message(CHECK_PASS done )
-- Detecting CXX compile features - done
-- CMAKE_CXX_COMPILER_IMPORT_STD=
-- ALGO_USE_MODULES=ON
-- CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES=/usr/include/c++/14;/usr/include/x86_64-linux-gnu/c++/14;/usr/include/c++/14/backward;/root/llvm/lib/clang/20/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include
CMake Error at CMakeLists.txt:52 (message):
  Missing support for CMAKE_CXX_MODULE_STD!


-- Configuring incomplete, errors occurred!
make: *** [GNUmakefile:30: all] Error 1
root ➜ /home/builder/workdir (feature/import-std-in-cmake-3-30) $

I can’t understand why libstdc++ is searched?

I have tried it with every available cmake version 4.x and llvm version 20, 21, and 22!

root ➜ /home/builder/workdir (feature/import-std-in-cmake-3-30) $ /root/llvm/bin/clang++  -print-file-name=libc++.modules.json
/root/llvm/bin/../lib/x86_64-unknown-linux-gnu/libc++.modules.json

root ➜ /home/builder/workdir (feature/import-std-in-cmake-3-30) $ cat /root/llvm/bin/../lib/x86_64-unknown-linux-gnu/libc++.modules.json
{
  "version": 1,
  "revision": 1,
  "modules": [
    {
      "logical-name": "std",
      "source-path": "../../share/libc++/v1/std.cppm",
      "is-std-library": true,
      "local-arguments": {
        "system-include-directories": [
          "../../share/libc++/v1"
        ]
      }
    },
    {
      "logical-name": "std.compat",
      "source-path": "../../share/libc++/v1/std.compat.cppm",
      "is-std-library": true,
      "local-arguments": {
        "system-include-directories": [
          "../../share/libc++/v1"
        ]
      }
    }
  ]
}
root ➜ /home/builder/workdir (feature/import-std-in-cmake-3-30) $ 

… and I can compile the libc++.modules.json contents:

root ➜ /home/builder/workdir (feature/use_cxx_module_std) $ ninja -C build/dev clean 
ninja: Entering directory `build/dev'
[1/1] Cleaning all built files...
Cleaning... 20 files.
root ➜ /home/builder/workdir (feature/use_cxx_module_std) $ ninja -C build/dev stdc++ -v
ninja: Entering directory `build/dev'
[1/6] "/usr/bin/clang-scan-deps-20" -format=p1689 -- /usr/lib/llvm-20/bin/clang++ -D_LIBCPP_HAS_NO_LOCALIZATION  -O3 -DNDEBUG -std=gnu++26 -fexperimental-library -stdlib=libc++ -Wno-reserved-module-identifier -x c++ /usr/lib/llvm-20/share/libc++/v1/std.compat.cppm -c -o module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o -resource-dir "/usr/lib/llvm-20/lib/clang/20" -MT module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o.ddi -MD -MF module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o.ddi.d > module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o.ddi.tmp && mv module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o.ddi.tmp module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o.ddi
[2/6] "/usr/bin/clang-scan-deps-20" -format=p1689 -- /usr/lib/llvm-20/bin/clang++ -D_LIBCPP_HAS_NO_LOCALIZATION  -O3 -DNDEBUG -std=gnu++26 -fexperimental-library -stdlib=libc++ -Wno-reserved-module-identifier -x c++ /usr/lib/llvm-20/share/libc++/v1/std.cppm -c -o module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o -resource-dir "/usr/lib/llvm-20/lib/clang/20" -MT module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o.ddi -MD -MF module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o.ddi.d > module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o.ddi.tmp && mv module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o.ddi.tmp module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o.ddi
[3/6] /root/cmake/cmake-4.0.4-linux-x86_64/bin/cmake -E cmake_ninja_dyndep --tdi=module/tests/CMakeFiles/stdc++.dir/CXXDependInfo.json --lang=CXX --modmapfmt=clang --dd=module/tests/CMakeFiles/stdc++.dir/CXX.dd @module/tests/CMakeFiles/stdc++.dir/CXX.dd.rsp
[4/6] /usr/bin/ccache /usr/lib/llvm-20/bin/clang++ -D_LIBCPP_HAS_NO_LOCALIZATION  -O3 -DNDEBUG -std=gnu++26 -fexperimental-library -stdlib=libc++ -Wno-reserved-module-identifier -MD -MT module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o -MF module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o.d @module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o.modmap -o module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o -c /usr/lib/llvm-20/share/libc++/v1/std.cppm
[5/6] /usr/bin/ccache /usr/lib/llvm-20/bin/clang++ -D_LIBCPP_HAS_NO_LOCALIZATION  -O3 -DNDEBUG -std=gnu++26 -fexperimental-library -stdlib=libc++ -Wno-reserved-module-identifier -MD -MT module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o -MF module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o.d @module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o.modmap -o module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o -c /usr/lib/llvm-20/share/libc++/v1/std.compat.cppm
[6/6] : && /root/cmake/cmake-4.0.4-linux-x86_64/bin/cmake -E rm -f module/tests/libstdc++.a && /usr/lib/llvm-20/bin/llvm-ar qc module/tests/libstdc++.a  module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.cppm.o module/tests/CMakeFiles/stdc++.dir/usr/lib/llvm-20/share/libc++/v1/std.compat.cppm.o && /usr/lib/llvm-20/bin/llvm-ranlib module/tests/libstdc++.a && :
root ➜ /home/builder/workdir (feature/use_cxx_module_std) $ uname -a
Linux fe5675bfd498 6.10.14-linuxkit #1 SMP PREEMPT_DYNAMIC Tue Oct 14 07:34:37 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
root ➜ /home/builder/workdir (feature/use_cxx_module_std) $ cat /etc/issue
Ubuntu 24.04.2 LTS \n \l

root ➜ /home/builder/workdir (feature/use_cxx_module_std) $ 

Update: it is still a problem under ubuntu:24.04 and clang++-23 installed

root@240450b65960:/home/builder/workdir# clang++-23 -print-file-name=libc++.modules.json
/lib/x86_64-linux-gnu/libc++.modules.json

root@240450b65960:/home/builder/workdir# which clang++
/usr/bin/clang++

root@240450b65960:/home/builder/workdir# clang++ --version
Ubuntu clang version 23.0.0 (++20260707081847+70646dd3eda3-1~exp1~20260707082012.1709)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-23/bin

root@240450b65960:/home/builder/workdir# cat /lib/x86_64-linux-gnu/libc++.modules.json
{
  "version": 1,
  "revision": 1,
  "modules": [
    {
      "logical-name": "std",
      "source-path": "../share/libc++/v1/std.cppm",
      "is-std-library": true,
      "local-arguments": {
        "system-include-directories": [
          "../share/libc++/v1"
        ]
      }
    },
    {
      "logical-name": "std.compat",
      "source-path": "../share/libc++/v1/std.compat.cppm",
      "is-std-library": true,
      "local-arguments": {
        "system-include-directories": [
          "../share/libc++/v1"
        ]
      }
    }
  ]
}
root@240450b65960:/home/builder/workdir# 

root@240450b65960:/home/builder/workdir# find /usr -name '*.cppm'
/usr/lib/llvm-23/share/libc++/v1/std.compat.cppm
/usr/lib/llvm-23/share/libc++/v1/std.cppm

##################################

find /usr/lib/llvm-23 -name 'libc*.json'
/usr/lib/llvm-23/lib/libc++.modules.json

-- FMT_USE_MODULES==ON
-- CMAKE_CXX_MODULE_STD=ON
-- CMAKE_CXX_COMPILER_IMPORT_STD=23;26
-- Module tests to be built: module-test
-- Configuring done (13.4s)
CMake Error:
  Cannot find source file:

    /lib/share/libc++/v1/std.compat.cppm


CMake Error in CMakeLists.txt:
  No SOURCES given to target: @cmake_cxx_std


CMake Generate step failed.  Build files cannot be regenerated correctly.
gmake: *** [GNUmakefile:90: .init] Error 1

There exists a workaround while building a docker image:

Fix broken libc++ module metadata path from apt.llvm.org Ubuntu package

RUN sed -i \
    's#\.\./share/libc++#/usr/lib/llvm-'${LLVM_VERSION}'/share/libc++#' \
    /lib/x86_64-linux-gnu/libc++.modules.json

here is my used Dockerfile:

# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright © 2025      GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
#                       Matthias Kretz <m.kretz@gsi.de>

FROM ghcr.io/mattkretz/cplusplus-ci/gcc14

ENV DEBIAN_FRONTEND=noninteractive

ENV LLVM_VERSION=23

# NOTE: pipx ensurepath -> appends /root/.local/bin to the PATH environment variable.
ENV PATH="/root/.local/bin:${PATH}"

RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|apt-key add - && \
    add-apt-repository "deb http://apt.llvm.org/noble/ llvm-toolchain-noble main" && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
    bash bash-completion vim tree less symlinks direnv \
    build-essential curl git wget libssl-dev \
    doxygen graphviz python3-pip python-is-python3 pipx \
    zip ccache \
    clang-${LLVM_VERSION} \
    clang-tidy-${LLVM_VERSION} \
    clang-format-${LLVM_VERSION} \
    libc++-${LLVM_VERSION}-dev \
    libc++abi-${LLVM_VERSION}-dev && \
    apt-get install -y --no-install-recommends libclang-rt-${LLVM_VERSION}-dev && \
    update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} ${LLVM_VERSION}0 \
                        --slave /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} && \
    update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-${LLVM_VERSION} ${LLVM_VERSION}0 && \
    update-alternatives --install /usr/bin/run-clang-tidy run-clang-tidy /usr/bin/run-clang-tidy-${LLVM_VERSION} ${LLVM_VERSION}0 && \
    update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-${LLVM_VERSION} ${LLVM_VERSION}0 && \
    apt-get clean

# QUICKFIX: ajust the broken relative paths inside libc++.modules.json
RUN sed -i \
    's#\.\./share/libc++#/usr/lib/llvm-'${LLVM_VERSION}'/share/libc++#' \
    /lib/x86_64-linux-gnu/libc++.modules.json

RUN pipx install cmake && \
    pipx install --include-deps cmake-format && \
    pipx install codespell && \
    pipx install conan && \
    pipx install gcovr && \
    pipx install gersemi && \
    pipx install ninja && \
    pipx install pre-commit && \
    pipx install uv

WORKDIR /home/builder/workdir
``

And this is my build environment needed:

ifeq (${hostSystemName},Linux)
  # clang++ -print-file-name=libc++.modules.json
  # /lib/x86_64-linux-gnu/libc++.modules.json
  # /usr/lib/llvm-23/lib/libc++.modules.json -> ../../x86_64-linux-gnu/libc++.modules.json
  # /usr/lib/llvm-23/share/libc++/v1/std.compat.cppm
  # /usr/lib/llvm-23/share/libc++/v1/std.cppm
  # possible other QUICKFIX: /lib/share -> /usr/lib/llvm-23/share
  STDLIB:=libc++
  export LLVM_DIR:=/usr/lib/llvm-23
  export PATH:=${LLVM_DIR}/bin:${PATH}
  export CXX:=clang++-23
  export CXXFLAGS:=-stdlib=$(STDLIB)
  export LDFLAGS:=-L$(LLVM_DIR)/lib/c++ # XXX -lc++abi
  export CMAKE_CXX_STDLIB_MODULES_JSON:=$(shell clang++-23 -print-file-name=libc++.modules.json)
  # export CMAKE_CXX_STDLIB_MODULES_JSON:=${LLVM_DIR}/lib/c++/$(STDLIB).modules.json
endif

CMAKE_CXX_STDLIB_MODULES_JSON combined with a custom std.modules.json is the intended mechanism to fix a compiler or stdlib package which contains a bogus module manifest.

CMake can’t force packagers to accurately record the location of the std module.

Thanks, for clang++ it works, but for g++-16 I see this:

sed -i \
    's#\.\./include/c++#/opt/gcc-16/include/c++#' \
    /opt/gcc-16/lib64/libstdc++.modules.json

CXX=g++-16 cmake --preset ci-Linux -D CMAKE_CXX_STDLIB_MODULES_JSON=/opt/gcc-16/lib64/libstdc++.modules.json --log-level=VERBOSE --fresh
Preset CMake variables:

  CMAKE_BUILD_TYPE="Release"
  CMAKE_CXX_EXTENSIONS:BOOL="FALSE"
  CMAKE_CXX_FLAGS_DEBUG="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -fcf-protection=full -fstack-clash-protection -Wall -Wextra -Wpedantic -Wno-conversion -Wno-sign-conversion -Wcast-qual -Wformat=2 -Wundef -Wno-float-equal -Wshadow -Wcast-align -Wunused -Wnull-dereference -Wdouble-promotion -Wno-implicit-fallthrough -Wextra-semi -Woverloaded-virtual -Wnon-virtual-dtor -Wno-old-style-cast"
  CMAKE_CXX_SCAN_FOR_MODULES:BOOL="TRUE"
  CMAKE_CXX_STANDARD="23"
  CMAKE_CXX_STANDARD_REQUIRED:BOOL="TRUE"
  CMAKE_EXE_LINKER_FLAGS_DEBUG="-Wl,--allow-shlib-undefined,--as-needed,-z,noexecstack,-z,relro,-z,now"
  CMAKE_EXPORT_COMPILE_COMMANDS:BOOL="TRUE"
  CMAKE_INSTALL_PREFIX:PATH="/home/builder/workdir/stagedir"
  CMAKE_MESSAGE_LOG_LEVEL="VERBOSE"
  CMAKE_PREFIX_PATH:STRING="/home/builder/workdir/stagedir"
  CMAKE_SHARED_LINKER_FLAGS_DEBUG="-Wl,--allow-shlib-undefined,--as-needed,-z,noexecstack,-z,relro,-z,now"
  CMAKE_VERIFY_INTERFACE_HEADER_SETS:BOOL="TRUE"
  FMT_DEVELOPER_MODE:BOOL="TRUE"

-- The CXX compiler identification is GNU 17.0.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++-16 - skipped
-- Detecting CXX compile features
CMake Warning (experimental) at /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/share/cmake-4.4/Modules/Compiler/CMakeCommonCompilerMacros.cmake:226 (cmake_language):
  CMake's support for `import std;` in C++23 and newer is experimental.  It
  is meant only for experimentation and feedback to CMake developers.
Call Stack (most recent call first):
  /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/share/cmake-4.4/Modules/CMakeDetermineCompilerSupport.cmake:157 (cmake_cxx_find_modules_json)
  /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/share/cmake-4.4/Modules/CMakeTestCXXCompiler.cmake:81 (CMAKE_DETERMINE_COMPILER_SUPPORT)
  CMakeLists.txt:13 (project)
This warning is for project developers.  Use -Wno-author or -Wno-experimental
to suppress it.

-- Detecting CXX compile features - done
-- CMAKE_CXX_COMPILER_IMPORT_STD=23;26
-- CMAKE_CXX_SCAN_FOR_MODULES=TRUE
-- CMAKE_CXX_MODULE_STD=ON
-- CPPdefinitions=FMT_MODULE;FMT_IMPORT_STD
-- CPM: Adding package fmt@12.2.0 (12.2.0)
-- Populating fmt
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/builder/workdir/build/_deps/fmt-subbuild
[0/7] Performing update step for 'fmt-populate'
-- Already at requested tag: 12.2.0
[1/7] No patch step for 'fmt-populate'
[3/7] No configure step for 'fmt-populate'
[4/7] No build step for 'fmt-populate'
[5/7] No install step for 'fmt-populate'
[6/7] No test step for 'fmt-populate'
[7/7] Completed 'fmt-populate'
-- FMT_USE_MODULES=ON
-- CMAKE_CXX_MODULE_STD=ON
-- CMAKE_CXX_COMPILER_IMPORT_STD=23;26
-- Module tests to be built: module-test
-- Configuring done (0.6s)
-- Generating done (0.1s)

-- Build files have been written to: /home/builder/workdir/build
root@cd8acd0382d0:/home/builder/workdir# ninja -C build/
ninja: Entering directory `build/'
[0/2] Re-checking globbed directories...
[1/19] Scanning /opt/gcc-16/include/c++/17.0.0/bits/std.cc for CXX dependencies
FAILED: [code=1] CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.cc.o.ddi 
/usr/bin/g++-16   -O3 -DNDEBUG -std=c++23 -stdlib=libstdc++ -E -x c++ /opt/gcc-16/include/c++/17.0.0/bits/std.cc -MT CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.cc.o.ddi -MD -MF CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.cc.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.cc.o.ddi -fdeps-target=CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.cc.o -fdeps-format=p1689r5 -o CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.cc.o.ddi.i
g++-16: error: unrecognized command-line option '-stdlib=libstdc++'
[2/19] Scanning /opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc for CXX dependencies
FAILED: [code=1] CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc.o.ddi 
/usr/bin/g++-16   -O3 -DNDEBUG -std=c++23 -stdlib=libstdc++ -E -x c++ /opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc -MT CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc.o.ddi -MD -MF CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc.o.ddi -fdeps-target=CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc.o -fdeps-format=p1689r5 -o CMakeFiles/@cmake_cxx_std.dir/opt/gcc-16/include/c++/17.0.0/bits/std.compat.cc.o.ddi.i
g++-16: error: unrecognized command-line option '-stdlib=libstdc++'
[3/19] Scanning /home/builder/workdir/module/fmt.cppm for CXX dependencies
FAILED: [code=1] CMakeFiles/fmt.dir/module/fmt.cppm.o.ddi 
/usr/bin/g++-16 -DFMT_IMPORT_STD -DFMT_MODULE -I/home/builder/workdir/build/_deps/fmt-src/include -O3 -DNDEBUG -std=c++23 -stdlib=libstdc++ -E -x c++ /home/builder/workdir/module/fmt.cppm -MT CMakeFiles/fmt.dir/module/fmt.cppm.o.ddi -MD -MF CMakeFiles/fmt.dir/module/fmt.cppm.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/fmt.dir/module/fmt.cppm.o.ddi -fdeps-target=CMakeFiles/fmt.dir/module/fmt.cppm.o -fdeps-format=p1689r5 -o CMakeFiles/fmt.dir/module/fmt.cppm.o.ddi.i
g++-16: error: unrecognized command-line option '-stdlib=libstdc++'
[4/19] Scanning /home/builder/workdir/tests/header-only-test.cc for CXX dependencies
FAILED: [code=1] tests/CMakeFiles/header-only-test.dir/header-only-test.cc.o.ddi 
/usr/bin/g++-16 -DFMT_IMPORT_STD -DFMT_MODULE -I/home/builder/workdir/build/_deps/fmt-src/include -O3 -DNDEBUG -std=c++23 -stdlib=libstdc++ -E -x c++ /home/builder/workdir/tests/header-only-test.cc -MT tests/CMakeFiles/header-only-test.dir/header-only-test.cc.o.ddi -MD -MF tests/CMakeFiles/header-only-test.dir/header-only-test.cc.o.ddi.d -fmodules-ts -fdeps-file=tests/CMakeFiles/header-only-test.dir/header-only-test.cc.o.ddi -fdeps-target=tests/CMakeFiles/header-only-test.dir/header-only-test.cc.o -fdeps-format=p1689r5 -o tests/CMakeFiles/header-only-test.dir/header-only-test.cc.o.ddi.i
g++-16: error: unrecognized command-line option '-stdlib=libstdc++'
[5/19] Scanning /home/builder/workdir/module/tests/module-test.cc for CXX dependencies
FAILED: [code=1] module/tests/CMakeFiles/module_module-test.dir/module-test.cc.o.ddi 
/usr/bin/g++-16 -DFMT_IMPORT_STD -DFMT_MODULE -I/home/builder/workdir/build/_deps/fmt-src/include -O3 -DNDEBUG -std=c++23 -stdlib=libstdc++ -E -x c++ /home/builder/workdir/module/tests/module-test.cc -MT module/tests/CMakeFiles/module_module-test.dir/module-test.cc.o.ddi -MD -MF module/tests/CMakeFiles/module_module-test.dir/module-test.cc.o.ddi.d -fmodules-ts -fdeps-file=module/tests/CMakeFiles/module_module-test.dir/module-test.cc.o.ddi -fdeps-target=module/tests/CMakeFiles/module_module-test.dir/module-test.cc.o -fdeps-format=p1689r5 -o module/tests/CMakeFiles/module_module-test.dir/module-test.cc.o.ddi.i
g++-16: error: unrecognized command-line option '-stdlib=libstdc++'
ninja: build stopped: subcommand failed.
root@cd8acd0382d0:/home/builder/workdir# 

root@cd8acd0382d0:/home/builder/workdir# cmake --version && ninja --version && g++-16 --version
cmake version 4.4.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).
1.13.0.git.kitware.jobserver-pipe-1
g++-16 (GCC) 17.0.0 20260716 (experimental)
Copyright (C) 2026 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@cd8acd0382d0:/home/builder/workdir# 

Extremely odd that the GCC scanner is throwing an error on -stdlib=libstdc++. You can open an issue with an MRE but this smells like a compiler bug if the scanner really can’t handle the stdlib argument under some conditions.

not sure if the GCC was right build in docker?
what is the filename of the GCC scanner?

# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright © 2025      GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
#                       Matthias Kretz <m.kretz@gsi.de>

FROM ghcr.io/mattkretz/cplusplus-ci/gcc15

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get install -y --no-install-recommends \
    autoconf2.69 dwz lzma xz-utils libzstd-dev zlib1g-dev systemtap-sdt-dev \
    binutils:native gettext nvptx-tools amdgcn-tools-18 \
    texinfo sharutils procps netbase libisl-dev libmpc-dev libmpfr-dev libgmp-dev lib32z1-dev libx32z1-dev && \
    apt-get clean && \
    mkdir -p /root/gcc-16/obj && \
    cd /root/gcc-16 && \
    curl -L https://github.com/gcc-mirror/gcc/archive/master.tar.gz \
    | tar -xz --strip-components=1 && \
    mkdir /root/binutils && cd /root/binutils && \
    curl -L https://sourceware.org/pub/binutils/releases/binutils-2.45.tar.gz \
    | tar -xz --strip-components=1 && \
    cd /root/gcc-16 && \
    ln -s ../binutils/bfd ../binutils/gas ../binutils/binutils ../binutils/ld ../binutils/libctf \
       ../binutils/libsframe ../binutils/opcodes . && \
    cd /root/gcc-16/obj && \
    ../configure --enable-languages=c,c++,lto --prefix=/opt/gcc-16 --enable-checking=release --disable-bootstrap && \
    make BOOT_CFLAGS=-march=x86-64-v3 -j3 && \
    make -j3 install-strip && \
    update-alternatives --install /usr/bin/gcc-16 gcc-16 /opt/gcc-16/bin/gcc 160 --slave /usr/bin/g++-16 g++-16 /opt/gcc-16/bin/g++ && \
    update-alternatives --install /usr/bin/gcc gcc /opt/gcc-16/bin/gcc 160 --slave /usr/bin/g++ g++ /opt/gcc-16/bin/g++ && \
    cd /root && rm -rf gcc-16 && \
    apt-get purge --autoremove -y \
    libzstd-dev zlib1g-dev systemtap-sdt-dev \
    libisl-dev libmpc-dev libmpfr-dev libgmp-dev lib32z1-dev libx32z1-dev

# NOTE: pipx ensurepath -> appends /root/.local/bin to the PATH environment variable.
ENV PATH="/root/.local/bin:${PATH}"

RUN pipx install cmake && \
    pipx install --include-deps cmake-format && \
    pipx install codespell && \
    pipx install conan && \
    pipx install gcovr && \
    pipx install gersemi && \
    pipx install ninja && \
    pipx install pre-commit && \
    pipx install uv

RUN sed -i \
    's#\.\./include/c++#/opt/gcc-16/include/c++#' \
    /opt/gcc-16/lib64/libstdc++.modules.json

WORKDIR /home/builder/workdir

It was my fault; now it works with GCC too:

root@cd8acd0382d0:/home/builder/workdir# git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 32958a2..094e6d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,8 +64,10 @@ if(CMAKE_GENERATOR STREQUAL "Ninja" AND FMT_USE_MODULES)
         CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
         AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0
     )
-        add_compile_options(-stdlib=libstdc++)
-        add_link_options(-stdlib=libstdc++)
+        if(APPLE)
+            add_compile_options(-stdlib=libstdc++)
+            add_link_options(-stdlib=libstdc++)
+        endif()
     endif()
 
     # Tell CMake that we explicitly want `import std`.

For clarity, GCC doesn’t have a separate scanner binary. GCC and MSVC use the compiler as a scanner.

Do you mean a CMake issue?

If you think it’s something CMake is doing wrong, yes, I mean a CMake issue. If you can isolate it to “gcc isn’t accepting this combination of command line flags, which I think it should”; then it’s a GCC bug and goes to their tracker.

Done: cmake/cmake#27962