llvm-project/clang/lib
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
..
ARCMigrate Add a hasExternalLinkage helper. No functionality change. 2013-03-07 02:00:27 +00:00
AST documentation comment parsing. Added couple of 2013-03-18 23:45:52 +00:00
ASTMatchers Implements memoization for ancestor matching. 2013-03-14 16:33:21 +00:00
Analysis Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
Basic <rdar://problem/10796651> Introduce configuration macros into module maps. 2013-03-20 00:22:05 +00:00
CodeGen Don't try to set attributes in alias, they have none. 2013-03-19 15:03:47 +00:00
Driver Go back to using the integrated assembler on windows ever when passed 2013-03-19 14:23:00 +00:00
Edit Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
Format Fix indentation for case: // comment. 2013-03-19 18:33:58 +00:00
Frontend <rdar://problem/10796651> Introduce configuration macros into module maps. 2013-03-20 00:22:05 +00:00
FrontendTool use early returns to simplify and de-nest 2013-01-06 07:49:41 +00:00
Headers PR15480: fixed second parameter types of vec_lde, vec_lvebx, vec_lvehx, and vec_lvewx according to AltiVec Programming Interface Manual 2013-03-10 16:25:43 +00:00
Lex <rdar://problem/10796651> Introduce configuration macros into module maps. 2013-03-20 00:22:05 +00:00
Parse Objective-C [qoi]: Provide improved parse diagnostics when 2013-03-19 20:27:40 +00:00
Rewrite Add some assertions to appease the static analyzer. 2013-03-15 21:41:35 +00:00
Sema Add a clarifying note when a return statement is rejected because 2013-03-19 07:04:25 +00:00
Serialization <rdar://problem/10796651> Introduce configuration macros into module maps. 2013-03-20 00:22:05 +00:00
StaticAnalyzer [analyzer] Do not believe lazy binding when symbolic region types do not match 2013-03-19 22:38:09 +00:00
Tooling ClangTool output cleanup 2013-03-15 20:14:01 +00:00
CMakeLists.txt Initial version of formatting library. 2012-12-03 18:12:45 +00:00
Makefile Dont use/link ARCMT, StaticAnalyzer and Rewriter to clang when the user 2012-12-13 16:09:42 +00:00