https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114357
--- Comment #5 from JF Bastien <jfb at chromium dot org> --- (In reply to Andrew Pinski from comment #4) > (In reply to JF Bastien from comment #3) > > The LLVM feature was added for XNU, because the kernel never runs its own > > global C++ destructors (but the compiler can't know this). It saved a > > non-trivial amount of code generation. > > Yes and that is broken .... Please substantiate your assertion with evidence. What, specifically, is broken and why? It's totally normal for kernels to not run destructors. It's totally normal for classes to have destructors and do work in them. It's totally normal to use these classes as globals and not need the destructor behavior in these global circumstances (yet need it when used on the stack or heap). It's totally normal for the compiler to not know this unless told. Look you can do what you want with a non-standard feature in GCC. You're just not being constructive (being destructive?) in this request. People have used this for good reasons in my opinion, and more people would want this standardized so I'll revive that standardization effort. If you have actual good reasons to be against I'd like to hear them. I haven't heard those reasons from you. But again, do what you want and feel free to ignore, I'm not going to engage further if you want to just close the bug as "won't fix".