On Thu, Feb 9, 2023 at 2:31 PM Bruno Haible <br...@clisp.org> 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

Reply via email to