Add Swift/C++ interoperability support
Integrating Swift into C++/Objective-C++ codebases is now supported as of Swift 5.9. This PR creates two new test cases and updates the Ninja and Xcode backends to take advantage of this.
Right now, the new test cases only handle calling C++/Objective-C++ functions from Swift. Calling Swift methods from C++/Objective-C++ is still being worked on.
I feel like C++ compiler args should be passed to Swift when this is active (or, if not all, at the very least C++ language version). Right now I have to manually add swift_args: ['-Xcc', '-std=c++23'] to the target for it to compile correctly.
edit: Done in #14296
Nope, this is a good start to get this working IMO.
I'm changing some of the behavior around the C++ interoperability in my follow-up #14261, and I also want to make it so you have to explicitly enable it like in SwiftPM, since enabling C++ interoperability is an ABI-incompatible change, but that sitll needs a bit more thought put into it.