-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Closed
Closed
Copy link
Labels
clang:modulesC++20 modules and Clang Header ModulesC++20 modules and Clang Header Modules
Description
In testing module maps in Qt:
83: Test command: /opt/homebrew/bin/cmake "-E" "env" "bash" "-c" "clang -x objective-c++ -std=c++17 -fmodules -fcxx-modules -fmodules-cache-path="/tmp/test_clang_header_map" -fsyntax-only -ferror-limit=0 -Xclang -fdiagnostics-absolute-paths -fdiagnostics-show-note-include-stack -Wnon-modular-include-in-module -Wnon-modular-include-in-framework-module -Wincomplete-umbrella -Wquoted-include-in-framework-header -Watimport-in-framework-header -Wframework-include-private-from-public -Wincomplete-framework-module-declaration -Wincomplete-module -Werror -fcolor-diagnostics -F"/Users/torarne/build/qt/6.x-modules/install/lib" -I"/Users/torarne/build/qt/6.x-modules/install/include" <(echo '@import QtCore;')"
83: Working Directory: /Users/torarne/build/qt/6.x-modules/tests/cmake/build_dir/test_clang_header_modules
83: Test timeout computed to be: 1500
83: While building module 'QtCore' imported from /dev/fd/63:1:
83: In file included from <module-includes>:1:
83: In file included from /Users/torarne/build/qt/6.x-modules/install/lib/QtCore.framework/Versions/A/Headers/QAbstractAnimation:1:
83: In file included from /Users/torarne/build/qt/6.x-modules/install/lib/QtCore.framework/Versions/A/Headers/qabstractanimation.h:8:
83: In file included from /Users/torarne/build/qt/6.x-modules/install/lib/QtCore.framework/Versions/A/Headers/qobject.h:10:
83: In file included from /Users/torarne/build/qt/6.x-modules/install/lib/QtCore.framework/Versions/A/Headers/qobjectdefs.h:12:
83: In file included from /Users/torarne/build/qt/6.x-modules/install/lib/QtCore.framework/Versions/A/Headers/qnamespace.h:12:
83: In file included from /Users/torarne/build/qt/6.x-modules/install/lib/QtCore.framework/Versions/A/Headers/qglobal.h:60:
83: /Users/torarne/build/qt/6.x-modules/install/lib/QtCore.framework/Versions/A/Headers/qnumeric.h:33:14: error: include of non-modular header inside framework module 'QtCore': '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/17/include/stdckdint.h' [-Werror,-Wnon-modular-include-in-framework-module]
83: 33 | # include <stdckdint.h>
83: | ^
83: /dev/fd/63:1:9: fatal error: could not build module 'QtCore'
83: 1 | @import QtCore;
83: | ~~~~~~~^~~~~~
83: 2 errors generated.
The code in qnumeric.h:
#if __has_include(<stdckdint.h>)
// This was added by C23 and C++26, defining __STDC_VERSION_STDCKDINT_H__ when
// usable. Its provided functions are in the global namespace even in C++ (not
// std::) because they are sometimes macros.
# include <QtCore/qstdlibdetection.h>
# if defined(Q_CC_GNU_ONLY) && (defined(Q_STL_LIBCPP) || Q_CC_GNU_ONLY < 1500)
// broken - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121811
# elif defined(Q_OS_FREEBSD) && __FreeBSD_version <= 1500000
// broken - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290299
# else
# include <stdckdint.h>
# endif
#endif
Shouldn't the <stdckdint.h> include automatically build and use the std module?
Metadata
Metadata
Assignees
Labels
clang:modulesC++20 modules and Clang Header ModulesC++20 modules and Clang Header Modules