--- Begin Message ---
Ok, I blew some dust off a macbook and saw a similar behavior as the one you
reported: Even though __cplusplus gets printed as 199711, I can compile code
using C++20 features. After some more research, I am under the impression that
this macro is not as reliable as I thought it was, as different compiler
vendors seem to have differing levels of adherence to its specification.
I am now also under the impression that reliably checking for whether one can
use certain C++20 features like atomic_flag::test or not would be quite a
hassle with all the different compilers and operating systems. Too much of a
hassle for such a little quality of live improvement, so I concede at this
point. Sorry to everyone compiling live555 on older systems and stumping over
it not compiling out of the box (because this is really something that happens,
and not due to some "bug on my side". I tested on Ubunutu 20.04, where C++ is
only supported up to version 17). Again, if anyone stumbles upon this thread
through google after having this problem: Compile with NO_STD_LIB.
Thanks for your patience and have a nice day.
----- Original Message -----
From: "Ross Finlayson" <finlay...@live555.com>
To: "LIVE555 Streaming Media, development & use" <live-de...@us.live555.com>
Sent: Monday, August 28, 2023 11:05:36 AM
Subject: Re: [Live-devel] Building with C++ version less than 20
> On Aug 27, 2023, at 7:55 PM, Jörg Dommaschk via live-devel
> <live-de...@us.live555.com> wrote:
>
> However, I am still not sure you are checking the version in the right way.
> Because what you posted looks like you redefine the macro somewhere in your
> code.
No, the code doesn’t redefine “__cplusplus” anywhere. In each of the two
systems (FreeBSD and Mac OS X) that I tested, the compiler is telling me the
value of “__cplusplus” (201402L and 199711L, respectively), and it’s telling me
where it’s *defined* (not ‘redefined’) - in something called "<built-in>”.
> The __cplusplus macro just informs you about what the compiler uses.
And that’s what I’m reporting.
> If you really want to convince me, don't redefine it anywhere, just print it.
Again, that’s what I’m doing.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
--- End Message ---
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel