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

Reply via email to