RFR: 8299254: Support dealing with standard assert macro
Kim Barrett
kbarrett at openjdk.org
Thu Dec 22 23:13:37 UTC 2022
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
-------------
Commit messages:
- define NDEBUG in HotSpot release builds
- use vmassert_uninstall/reinstall in gtests
- utility for manipulating HotSpot assert macro
Changes: https://git.openjdk.org/jdk/pull/11770/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11770&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8299254
Stats: 122 lines in 8 files changed: 102 ins; 16 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/11770.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11770/head:pull/11770
PR: https://git.openjdk.org/jdk/pull/11770
More information about the build-dev
mailing list