From 2f04f1843ca0ffca13b8b0d4dadd1f50dffb38b8 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Thu, 2 Feb 2012 18:42:48 +0000 Subject: Back out my heinous hack that tricked the module generation mechanism into using non-absolute system includes ()... ... and introduce another hack that is simultaneously more heineous and more effective. We whitelist Clang-supplied headers that augment or override system headers (such as float.h, stdarg.h, and tgmath.h). For these headers, Clang does not provide a module mapping. Instead, a system-supplied module map can refer to these headers in a system module, and Clang will look both in its own include directory and wherever the system-supplied module map suggests, then adds either or both headers. The end result is that Clang-supplied headers get merged into the system-supplied module for the C standard library. As a drive-by, fix up a few dependencies in the _Builtin_instrinsics module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149611 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Module.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib/Basic/Module.cpp') diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp index c5838fb65f..634884074e 100644 --- a/lib/Basic/Module.cpp +++ b/lib/Basic/Module.cpp @@ -32,6 +32,8 @@ Module::Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent, if (Parent) { if (!Parent->isAvailable()) IsAvailable = false; + if (Parent->IsSystem) + IsSystem = true; Parent->SubModuleIndex[Name] = Parent->SubModules.size(); Parent->SubModules.push_back(this); -- cgit v1.2.3-18-g5258