Putting a calling convention unsupported for the target is allowed, and silently changed to the C calling convention (get_llvm_cc in stage1).
I'm not sure why this is the behaviour. It seems like an ABI footgun, and it's easily worked around when actually intended.
Clang seems to ignore unsupported calling convention annotations, but emits a warning by default.
Putting a calling convention unsupported for the target is allowed, and silently changed to the C calling convention (get_llvm_cc in stage1).
I'm not sure why this is the behaviour. It seems like an ABI footgun, and it's easily worked around when actually intended.
Clang seems to ignore unsupported calling convention annotations, but emits a warning by default.