llvm-project/clang/lib/Frontend
Douglas Gregor 35b13ece23 <rdar://problem/10796651> Introduce configuration macros into module maps.
Configuration macros are macros that are intended to alter how a
module works, such that we need to build different module variants
for different values of these macros. A module can declare its
configuration macros, in which case we will complain if the definition
of a configation macro on the command line (or lack thereof) differs
from the current preprocessor state at the point where the module is
imported. This should eliminate some surprises when enabling modules,
because "#define CONFIG_MACRO ..." followed by "#include
<module/header.h>" would silently ignore the CONFIG_MACRO setting. At
least it will no longer be silent about it.

Configuration macros are eventually intended to help reduce the number
of module variants that need to be built. When the list of
configuration macros for a module is exhaustive, we only need to
consider the settings for those macros when building/finding the
module, which can help isolate modules for various project-specific -D
flags that should never affect how modules are build (but currently do).

llvm-svn: 177466
2013-03-20 00:22:05 +00:00
..
ASTConsumers.cpp Add streamed versions of getQualifiedNameAsString. 2013-02-23 13:53:57 +00:00
ASTMerge.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ASTUnit.cpp <rdar://problem/13363214> Eliminate race condition between module rebuild and the global module index. 2013-03-19 00:28:20 +00:00
CMakeLists.txt clang/lib: [CMake] Update tblgen'd dependencies. 2012-07-27 06:18:33 +00:00
CacheTokens.cpp Extend stat query APIs to explicitly specify if the query is for 2012-12-11 07:48:23 +00:00
ChainedDiagnosticConsumer.cpp Remove spurious mode marker from .cpp file. 2012-10-29 06:05:01 +00:00
ChainedIncludesSource.cpp <rdar://problem/13363214> Eliminate race condition between module rebuild and the global module index. 2013-03-19 00:28:20 +00:00
CompilerInstance.cpp <rdar://problem/10796651> Introduce configuration macros into module maps. 2013-03-20 00:22:05 +00:00
CompilerInvocation.cpp Remove -Wspellcheck and replace it with a diagnostic option. 2013-03-16 01:40:35 +00:00
CreateInvocationFromCommandLine.cpp Nuke SetUpBuildDumpLog. 2013-01-20 01:58:28 +00:00
DependencyFile.cpp For PPCallbacks::InclusionDirective() add a parameter for the module, whenever 2012-09-29 01:06:10 +00:00
DependencyGraph.cpp Remove useless 'llvm::' qualifier from names like StringRef and others that are 2013-01-12 19:30:44 +00:00
DiagnosticRenderer.cpp Remove useless 'llvm::' qualifier from names like StringRef and others that are 2013-01-12 19:30:44 +00:00
FrontendAction.cpp [frontend] Initialize the diagnostic client before loading an ast file. 2013-03-18 22:55:24 +00:00
FrontendActions.cpp [Modules] Resolve top-headers of modules lazily. 2013-03-13 21:13:43 +00:00
FrontendOptions.cpp remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports 2011-07-23 10:55:15 +00:00
HeaderIncludeGen.cpp Basic: import SmallString<> into clang namespace 2012-02-05 02:13:05 +00:00
InitHeaderSearch.cpp [Frontend] Factor AddUnmappedPath() out of AddPath() and simplify. 2013-01-30 01:06:03 +00:00
InitPreprocessor.cpp [frontend] Don't put a PCH/PTH filename into the set of includes in the preprocessor options; 2013-02-05 16:36:52 +00:00
LangStandards.cpp Remove unnecessary default cases in switches over enums. 2012-01-17 02:30:50 +00:00
LayoutOverrideSource.cpp Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h. 2013-02-08 22:30:41 +00:00
LogDiagnosticPrinter.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
MultiplexConsumer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
PrintPreprocessedOutput.cpp Preprocessor: don't keep comments under -traditional-cpp. 2013-03-05 23:54:55 +00:00
SerializedDiagnosticPrinter.cpp Teach serialized diagnostics about notes without locations. 2013-02-21 21:40:44 +00:00
TextDiagnostic.cpp Fix buffer underrun (invalid read) triggered during diagnostic rendering. The test would overflow when computing '0 - 1'. 2013-03-15 23:09:37 +00:00
TextDiagnosticBuffer.cpp Escape % in the TextDiagnosticBuffer so they aren't interpreted twice when fed into the diagnostic formatting machinery again. 2012-12-08 12:42:30 +00:00
TextDiagnosticPrinter.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
VerifyDiagnosticConsumer.cpp Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h. 2013-02-08 22:30:41 +00:00
Warnings.cpp Remove -Wspellcheck and replace it with a diagnostic option. 2013-03-16 01:40:35 +00:00