Implement parsing, AST, (de-)serialization, and placeholder global
authorDouglas Gregor <dgregor@apple.com>
Mon, 14 Jan 2013 17:21:00 +0000 (17:21 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 14 Jan 2013 17:21:00 +0000 (17:21 +0000)
commit6ddfca91e04e62089d685b31533b9a2d677d9a5e
treeb803eaa1d88091fd5b65134468b8e922c1deb773
parent3778f27b2302c69ce1d9d4af70aab60143fd5b54
Implement parsing, AST, (de-)serialization, and placeholder global
metadata for linking against the libraries/frameworks for imported
modules.

The module map language is extended with a new "link" directive that
specifies what library or framework to link against when a module is
imported, e.g.,

  link "clangAST"

or

  link framework "MyFramework"

Importing the corresponding module (or any of its submodules) will
eventually link against the named library/framework.

For now, I've added some placeholder global metadata that encodes the
imported libraries/frameworks, so that we can test that this
information gets through to the IR. The format of the data is still
under discussion.

llvm-svn: 172437
14 files changed:
clang/include/clang/Basic/DiagnosticLexKinds.td
clang/include/clang/Basic/Module.h
clang/include/clang/Serialization/ASTBitCodes.h
clang/lib/Basic/Module.cpp
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/CodeGen/CodeGenModule.h
clang/lib/Lex/ModuleMap.cpp
clang/lib/Serialization/ASTReader.cpp
clang/lib/Serialization/ASTWriter.cpp
clang/test/Modules/Inputs/autolink-sub.h [new file with mode: 0644]
clang/test/Modules/Inputs/autolink-sub2.h [new file with mode: 0644]
clang/test/Modules/Inputs/autolink.h [new file with mode: 0644]
clang/test/Modules/Inputs/module.map
clang/test/Modules/autolink.m [new file with mode: 0644]