Goodbye, and thanks for all the Bikesheds
Summary
The article argues that GCC and Clang do not preserve C++ language linkage information in function types, causing mismatches when linking C and C++ function pointers. It contends that the C++ standard should treat these as implementation-defined to avoid ABI-breaking changes, since changing behavior would affect mangled names and cross-language compatibility. The piece includes code examples and discusses the implications for compilation and the One Definition Rule.