Ramble Ramble

Learning everyday

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!

Tagged with: