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