Date: Fri, 27 Oct 2023 06:49:27 +0000 From: bugzilla-noreply@freebsd.org To: standards@FreeBSD.org Subject: [Bug 274706] The C++ header 'execution' is missing Message-ID: <bug-274706-99-Zll9mBdRzb@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-274706-99@https.bugs.freebsd.org/bugzilla/> References: <bug-274706-99@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D274706 --- Comment #4 from Mark Millard <marklmi26-fbsd@yahoo.com> --- (In reply to Mark Millard from comment #3) The file "execution" is not missing from 13.2-STABLE as of what I just chec= ked. It is in an expected sort of place: # uname -apKU FreeBSD generic 13.2-STABLE FreeBSD 13.2-STABLE stable/13-n256634-c4dfacd0b= 3c3 GENERIC arm64 aarch64 1302508 1302508 # find /usr/include -name '*execution*' -print /usr/include/c++/v1/execution The actual "problem" looks to be that other files are missing: # grep -r _LIBCPP_HAS_PARALLEL_ALGORITHMS /usr/include /usr/include/c++/v1/algorithm:#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) = && _LIBCPP_STD_VER >=3D 17 /usr/include/c++/v1/execution:#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) = && _LIBCPP_STD_VER >=3D 17 /usr/include/c++/v1/memory:#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >=3D 17 /usr/include/c++/v1/numeric:#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >=3D 17 /usr/include/c++/v1/__config_site:/* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS= */ and has /usr/include/c++/v1/__config_site with: #ifndef _LIBCPP___CONFIG_SITE #define _LIBCPP___CONFIG_SITE #define _LIBCPP_ABI_VERSION 1 #define _LIBCPP_ABI_NAMESPACE __1 /* #undef _LIBCPP_ABI_FORCE_ITANIUM */ /* #undef _LIBCPP_ABI_FORCE_MICROSOFT */ /* #undef _LIBCPP_HAS_NO_THREADS */ /* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */ /* #undef _LIBCPP_HAS_MUSL_LIBC */ /* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */ /* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */ /* #undef _LIBCPP_HAS_THREAD_API_WIN32 */ /* #undef _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL */ /* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */ #define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS /* #undef _LIBCPP_NO_VCRUNTIME */ /* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */ /* #undef _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY */ /* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */ /* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */ /* #undef _LIBCPP_HAS_NO_LOCALIZATION */ /* #undef _LIBCPP_HAS_NO_FSTREAM */ /* #undef _LIBCPP_HAS_NO_WIDE_CHARACTERS */ #define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0 /* #undef _LIBCPP_ENABLE_DEBUG_MODE */ . . . #endif // _LIBCPP___CONFIG_SITE so _LIBCPP_HAS_PARALLEL_ALGORITHMS is not defined by default. That in turn disables execution's content. (That source looks to predate the -fexperimental-library mechanism.) # c++ -std=3Dc++17 -D_LIBCPP_HAS_PARALLEL_ALGORITHMS execution_test.cpp=20 In file included from execution_test.cpp:1: In file included from /usr/include/c++/v1/mutex:192: In file included from /usr/include/c++/v1/__mutex_base:20: In file included from /usr/include/c++/v1/system_error:154: In file included from /usr/include/c++/v1/string:576: In file included from /usr/include/c++/v1/string_view:1025: /usr/include/c++/v1/algorithm:1909:12: fatal error: '__pstl_algorithm' file= not found # include <__pstl_algorithm> ^~~~~~~~~~~~~~~~~~ 1 error generated. # find /usr/include -name '*pstl*' -print #=20 But: # grep -r pstl /usr/include/c++/v1/ /usr/include/c++/v1/algorithm:# include <__pstl_algorithm> /usr/include/c++/v1/execution:# include <__pstl_execution> /usr/include/c++/v1/memory:# include <__pstl_memory> /usr/include/c++/v1/numeric:# include <__pstl_numeric> So it is the __pstl_* material that is missing, not execution itself. I've not checked, but it may be that the c++ language was updated to LLVM16 without updating libc++ to also be based on LLVM16's assoicated libc++ source. I will note that: # uname -apKU FreeBSD CA72-16Gp-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #120 main-n266130-d521abdff236-dirty: Tue Oct 24 18:26:23 PDT 2023=20=20=20=20 root@CA72-16Gp-ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm64= .aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1500002 1500002 has the same basic status: # find /usr/include -name '*pstl*' -print # # grep -r pstl /usr/include/c++/v1/ /usr/include/c++/v1/numeric:# include <__pstl_numeric> /usr/include/c++/v1/memory:# include <__pstl_memory> /usr/include/c++/v1/algorithm:# include <__pstl_algorithm> /usr/include/c++/v1/execution:# include <__pstl_execution> --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-274706-99-Zll9mBdRzb>