https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104288
--- Comment #16 from Christian Prochaska <christian.procha...@genode-labs.com> --- (In reply to Andrew Pinski from comment #14) > > There was a deferencing of myself before: > Nova::Utcb &utcb = *(Nova::Utcb *)myself->utcb(); I see. The 'Thread::utcb()' function handles the null pointer case internally with a 'this == 0' check and a local '-fno-delete-null-pointer-checks' attribute: https://github.com/genodelabs/genode/blob/a84af9a9606450471b8038a35f9b55057efa0850/repos/base-nova/src/lib/base/stack.cc#L110 So, the elimination of the 'myself' null pointer check is basically a result of undefined behavior with the 'Thread::utcb()' function?