efriedma added a comment. Is there some reason we actually need to do this whole dance in C++? The whole point of "inline builtins" was to handle constructs in the glibc headers that involve implementations of libc functions that somehow end up recursively calling themselves instead of a real implementation. In C++, you can't get away with that sort of thing anyway: the compiler, in general, doesn't discard inline functions, so you can't guarantee that an external implementation will be used.
So if isInlineBuiltinDeclaration() simply returns false for C++ code, everything should just work, without messing with the linkage. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148723/new/ https://reviews.llvm.org/D148723 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits