Currently, when Clang is trying to mangle a function that uses the Swift calling convention, it crashes in an llvm_unreachable statement. This blocks the Swift calling convention from being used on Windows.
Following discussion on the swift-dev mailing list and on a pull request for swift-clang, unblock support for the Swift calling convention on targets using Microsoft mangling by mangling the name as per the __cdecl calling convention.
Also in this PR, replace llvm_unreachable with an error diagnostic since this code path can be hit.
You still need the default label, right?