This an attempty to fix an issue introduced by https://reviews.llvm.org/D70662
Function-scope static initialization are guarded in C++, so we should probably not use it because it introduces a dependency on __cxa_guard* symbols.
In the context of clang, libasan is linked statically, and it currently needs to the odd situation where compiling C code with clang and asan requires -lstdc++.
I'm unsure of the portability requirements, providing a potential solution in this review.
clang-format: please reformat the code
10 diff lines are omitted. See full path.