]> granicus.if.org Git - clang/commit
Add #pragma clang module build/endbuild pragmas for performing a module build
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 9 Jun 2017 19:22:32 +0000 (19:22 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 9 Jun 2017 19:22:32 +0000 (19:22 +0000)
commitae2de79ce245a2bac0c19e905a78ba7fa923820c
treec4843a9f27eba7cb915b356ae60f67eb8f4d8aff
parentce2bd42c852d229fa07ff64b85d0715cc7a24d33
Add #pragma clang module build/endbuild pragmas for performing a module build
as part of a compilation.

This is intended for two purposes:

1) Writing self-contained test cases for modules: we can now write a single
source file test that builds some number of module files on the side and
imports them.

2) Debugging / test case reduction. A single-source testcase is much more
amenable to reduction, compared to a VFS tarball or .pcm files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@305101 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/clang/Basic/DiagnosticLexKinds.td
include/clang/Frontend/ASTUnit.h
include/clang/Frontend/CompilerInstance.h
include/clang/Lex/ModuleLoader.h
include/clang/Lex/Preprocessor.h
lib/Frontend/ASTUnit.cpp
lib/Frontend/CompilerInstance.cpp
lib/Lex/Pragma.cpp
test/Modules/preprocess-build.cpp [new file with mode: 0644]
unittests/Basic/SourceManagerTest.cpp
unittests/Lex/LexerTest.cpp
unittests/Lex/PPCallbacksTest.cpp
unittests/Lex/PPConditionalDirectiveRecordTest.cpp