MaskRay wrote: Alternative: `int main(void) { return (long)__builtin_thread_pointer(); }` gcc lto seems smart enough to optimize out `int main(void) { return (long)__builtin_thread_pointer() && 0; }` and not emit an error. https://github.com/llvm/llvm-project/pull/70968