Swift compatibility with Clang C API


(Ramakrishna Mallireddy) #1

Quoting from cfe-dev list message,

*" As some of you may have heard, Swift has gone open-source over at
swift.org <http://swift.org> <http://swift.org/>.
Swift makes heavy use of Clang for its (Objective-)C interoperability,
including loading Clang modules to map (Objective-)C APIs into Swift
via Swift’s “Clang importer” and using Clang’s CodeGen to handle C ABI
issues (record layout, calling conventions) and use C inline functions
directly from Swift [*].

As an out-of-tree language front-end dependent on Clang, we have a
clone of the llvm.org <http://llvm.org> <http://llvm.org/
<http://llvm.org/>> Clang repository over on GitHub at
github.com/apple/swift-clang <http://github.com/apple/swift-clang>
<http://github.com/apple/swift-clang
<http://github.com/apple/swift-clang>>. We merge regularly and try to
minimize our differences with llvm.org <http://llvm.org>
<http://llvm.org/>'s Clang—for more information on
how we’re handling this, see swift.org/contributing/#llvm-and-swift
<http://swift.org/contributing/#llvm-and-swift>
<http://swift.org/contributing/#llvm-and-swift
<http://swift.org/contributing/#llvm-and-swift>>. "*

Does swift maps its c++ internal apis to Clang C API, by this I mean
using swift & clang libs, can one use Clang C API for AST generation.
Or one has to write their own wrappers around swift c++ API's to use
it in swift code.

Thanks

Ramakrishna