https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112947
--- Comment #4 from resence at parsoma dot net ---
Or rather,
static int *nimErrorFlag(void) {
/* With this, no always-false warning */
/* printf("BAR1: %p\n", (void*)&nimInErrorMode__system_u4299); */
if (((&nimInErrorMode__system_u4299)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112947
--- Comment #3 from resence at parsoma dot net ---
It's not only the null pointer check per se though?
Re-add a stdio.h import for convenience, and it still vacillates whether or not
that address is NULL or not:
BAR2: 0x7f25d843173c
BAR3: 0x7f2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112947
Bug ID: 112947
Summary: Contradictory indications of extern __thread address
NULL or not with UBSAN
Product: gcc
Version: 13.2.0
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107769
Bug ID: 107769
Summary: -flto with -Os/-O2/-O3 emitted code with gcc 12.x
segfaults via mutated global in .rodata
Product: gcc
Version: 12.2.0
Status: UNCONFIRMED