On Tue, 1 Jun 2021 13:23:49 GMT, Erik Joelsson <er...@openjdk.org> wrote:

> I left a comment in the bug that you haven't answered.

Sorry, don't have write access to the bug. 

To answer your comment
> You seem to be mixing up -fno-delete-null-pointer-checks and 
> -fdelete-null-pointer-checks between the description text and the bug title. 
> Which one is it? 

I meant `-fno-delete-null-pointer-checks`, which is _not_ the default and which 
is why it needs to be specified explicitly. This piece is from the [clang 
command line 
reference](https://clang.llvm.org/docs/ClangCommandLineReference.html):

-fdelete-null-pointer-checks, -fno-delete-null-pointer-checks

Treat usage of null pointers as undefined behavior (default)

Without `-fno-delete-null-pointer-checks`, starting from clang 12 `this` 
pointer will be assumed to never be null, which it sometimes is in the JVM 
code. And we don't want this to be treated as undefined behavior because that 
would give the compiler too much freedom in transforming the code, quite 
possibly destroying the intent of the author of said code.

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

PR: https://git.openjdk.java.net/jdk/pull/4166

Reply via email to