On Thu, Feb 9, 2023 at 2:31 PM Bruno Haible <[email protected]> wrote:
>
> On macOS 12.5 (machine: gcc104.fsffrance.org), the test-nullptr-c++.cc fails
> to compile:
One of the sharp edges you may be encountering is, LLVM was shipping a
C++03 compiler by default. You had to do something special to use
C++11 (-std=c++11). And this was in 2016 or 2018. I filed a couple of
bug reports about it.
Then you have Apple's version of Clang. They are probably C++03 for
compatibility reasons for Xcode developers. So even if LLVM moved to
C++11, Apple's Clang may stay at C++03.
> I don't know how to proceed here. C++ is such a waste of time!!
In the projects I work on, I use a library specific define. In
Gnulib's case, it would be GNULIB_NULLPTR. Then I have a feature test
to set GNULIB_NULLPTR to either nullptr or NULL. The strategy works
well for me.
#if defined(HAVE_CXX11_NULLPTR)
# define GNULIB_NULLPTR nullptr
#else
# define GNULIB_NULLPTR NULL
#endif
Most compilers will use nulltpr nowadays. But Clang may provide
unusual results due to LLVM and Apple pinning the compiler at C++03.
Jeff