CPP Interoperability
Welcome to the CPP Interoperability series! The point of this blog series is to walk through the different parts of the Swift Compiler which enable CPP Interoperability.
I am writing this blog series because I have learn't from my initial contributions that starting is daunting but completely doable with a helping hand. Someone to explain the different parts, the flow, etc.
For the purpose of this series I will assume you already have the Swift compiler setup and building. The series will focus less on building/running and more on walking through the code and explaining where things live, how tests are written/work, etc.
Hopefully by following this series you will be able to contribute to swift yourself! (at least to the cxx interop portion).
Enabling CXX Interop
Although I said I would not focus much on setup, one important note related to cxx interop today is that it is not enabled out-of-the-box. To enable cxx interop we must pass the -enable-experimental-cxx-interop
compiler flag to the compiler.
Where in the repo we will be focused
Lucky for us the CXX Interop part of the compiler is fairly isolated inside the swift/lib/ClangImporter
folder.
I will leave us here and pick up the next post on the flow!