[llvm] [LangRef] Add a description of the semantics of call signatures. (PR #136189)
Eli Friedman via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 17 17:59:50 PDT 2025
efriedma-quic wrote:
The first paragraph defines the semantics of a signature mismatch. It has nothing to do with opaque pointers; the type of the function pointer isn't mentioned at all. And it's how it always worked.
The second paragraph isn't defining anything at all; it's just noting an edge case. It's a natural consequence of the callee of a call being a function pointer, all function pointers having the same type, and constants being interchangeable with other values. Opaque pointers changed the type of function pointers; the other rules have always existed. These are rules we could potentially change, but any change to in-memory semantics would have deep consequences across the whole codebase.
https://github.com/llvm/llvm-project/pull/136189
More information about the llvm-commits
mailing list