|
Message-ID: <20190710084604.GJ21055@port70.net> Date: Wed, 10 Jul 2019 10:46:04 +0200 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: [PATCH] Define NULL as __null in C++ mode when using GCC or Clang. * Florian Weimer <fweimer@...hat.com> [2019-07-10 08:34:12 +0200]: > * Szabolcs Nagy: > > it is clear that 0L is a conforming definition for all > > conforming c++ compilers. > > > > it is less clear if __null is so in all compilers that > > define __GNUC__. > > Why wouldn't something like this be valid for current C++ versions? if you aim for current c++ only then you need even more ifdefs (#if __cplusplus > ..). > static inline constexpr decltype(nullptr) __null{}; > #define NULL __null > > I don't see a requirement that NULL must be an expression that can be > evaluated by the preprocessor. c++03 requires an integral const expr., integral const expr must be usable in #if. c++11 quietly changed that. in this case that works out though: undefined identifiers are 0 in #if, so #if __null works as expected. stringification is probably not a valid argument.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.