RFR: 8365231: Don't build gtest with /EHsc

Julian Waters jwaters at openjdk.org
Thu Aug 14 14:53:13 UTC 2025


On Mon, 11 Aug 2025 09:55:20 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> According to https://github.com/openjdk/jdk/pull/26661#issuecomment-3162014034, we should not build gtest with `/EHsc`. 
> 
> I can honestly say I don't fully understand the consequences of this change, but at least it passes building and testing on Oracle CI. And it does seem to make sense that we build the gtest version of libjvm as close as possible to the real version. For libgtest I just thought it was prudent to keep the flags in sync with how we build libjvm. This might not be the correct decision.
> 
> I have not tested how or if this affects the ability for gtest to handle bugs or crashes in the JVM, nor do I really have any idea about any such consequences. This PR is opened more to start a discussion than with the intention of just integrating this.

make/hotspot/lib/CompileGtest.gmk line 65:

> 63:         unused-result zero-as-null-pointer-constant, \
> 64:     DISABLED_WARNINGS_clang := format-nonliteral undef unused-result, \
> 65:     DISABLED_WARNINGS_microsoft := 4530, \

I don't think this is a good idea. This doesn't fully force disable exceptions like -fno-exceptions does with gcc and clang, it can result in unexpected behaviour that causes hard to track bugs that will be difficult to solve if someone who isn't familiar with HotSpot rules introduces exceptions in gtest code (And perhaps in other cases even when exceptions aren't used too).

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26721#discussion_r2276856013


More information about the build-dev mailing list