]> granicus.if.org Git - clang/commit
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)
commitb6cbe517237c3c223beb064d60d5b49e56d65c06
tree0eab28e6b330e8534f85b63ed8486be2354ecc5c
parent2c7739e3cbf1357c0ef8d894045a300331053565
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172437 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/clang/Basic/DiagnosticLexKinds.td
include/clang/Basic/Module.h
include/clang/Serialization/ASTBitCodes.h
lib/Basic/Module.cpp
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenModule.h
lib/Lex/ModuleMap.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp
test/Modules/Inputs/autolink-sub.h [new file with mode: 0644]
test/Modules/Inputs/autolink-sub2.h [new file with mode: 0644]
test/Modules/Inputs/autolink.h [new file with mode: 0644]
test/Modules/Inputs/module.map
test/Modules/autolink.m [new file with mode: 0644]