RFR: 8299254: Support dealing with standard assert macro
David Holmes
dholmes at openjdk.org
Tue Jan 3 06:39:48 UTC 2023
On Thu, 22 Dec 2022 23:05:03 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
> Please review this change to provide and use mechanisms for dealing with uses
> of the standard assert macro (from <assert.h> or <cassert>) in 3rd party code
> that we use in HotSpot.
>
> We provide a pair of utility header files, to be included before and after a
> header that may use (and so include) the standard assert macro. These new
> headers provide a scope in which the HotSpot assert macro is not defined, and
> then reinstated after.
>
> We also define NDEBUG in release builds of HotSpot, so any uses of the
> standard assert macro in such 3rd party code will be disabled.
>
> Finally, we use the new utility headers in some gtests and in our gtest
> wrapper header (unittest.hpp), eliminating problems the gtest implementation
> and with some versions of some standard libraries that the tests use.
>
> Testing:
> mach5 tier1
Not pretty, but effective.
Do we need some text added to the hotspot style guide to describe this usage? Should we bracket all includes of system headers with these, or only those known to cause a problem?
Thanks.
-------------
Marked as reviewed by dholmes (Reviewer).
PR: https://git.openjdk.org/jdk/pull/11770
More information about the build-dev
mailing list