Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Oct 2022 04:18:19 +0000
From:      bugzilla-noreply@freebsd.org
To:        standards@FreeBSD.org
Subject:   [Bug 266748] '#include <memory_resource>' isn't available despite it being required by c++17
Message-ID:  <bug-266748-99-5FqAYyfAnS@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-266748-99@https.bugs.freebsd.org/bugzilla/>
References:  <bug-266748-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=3D266748

--- Comment #7 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Mark Millard from comment #6)

Hmm. CMake/TestCxx17Library.cmake has this for when it
rejects the C++17 library support:

  elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
    message(
      "Compiler detected is clang++.\n  If not using libcxx, ensure a GCC
toolchain version equal or greater "
      "than 9.0 gets picked up. Check with 'clang++ -v'. Or use the
--gcc-toolchain compiler option "
      "(added to CMAKE_CXX_FLAGS) to point to a newer GCC installation."
    )

--gcc-toolchain is not something I was aware of. Its description from:

https://releases.llvm.org/15.0.0/tools/clang/docs/ClangCommandLineReference=
.html

is:

--gcc-toolchain=3D<arg>
Search for GCC installation in the specified directory on targets which
commonly use GCC. The directory usually contains
=E2=80=98lib{,32,64}/gcc{,-cross}/$triple=E2=80=99 and =E2=80=98include=E2=
=80=99. If specified, sysroot is
skipped for GCC detection. Note: executables (e.g. ld) used by the compiler=
 are
not overridden by the selected GCC installation

I wonder if getting that set up is an option via ports.


Correction to earlier note: The "If not using libcxx" suggests that libstdc=
++
might not be required for clang if/when libc++ is sufficient --but the above
indicates that libstdc++ would still be a possibility.

But, I also seem to remember that there is a C++ language change that creat=
es
a ABI change requirement that is pending for FreeBSD. Such could create
problems until things match up for clang++ vs. g++ .

--=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-266748-99-5FqAYyfAnS>