]> granicus.if.org Git - clang/commit
[Modules] Add Darwin-specific compatibility module map parsing hacks
authorBen Langmuir <blangmuir@apple.com>
Thu, 13 Aug 2015 17:13:33 +0000 (17:13 +0000)
committerBen Langmuir <blangmuir@apple.com>
Thu, 13 Aug 2015 17:13:33 +0000 (17:13 +0000)
commit3476d7573690b664ca7346fbaf2b5cba90690fd1
treee8fa07b334d6f932e6e6fc20708d80d00cc64a31
parent013510776b8e65f11b65c67d1b181652c0d9221b
[Modules] Add Darwin-specific compatibility module map parsing hacks

This preserves backwards compatibility for two hacks in the Darwin
system module map files:

1. The use of 'requires excluded' to make headers non-modular, which
should really be mapped to 'textual' now that we have this feature.

2. Silently removes a bogus cplusplus requirement from IOKit.avc.

Once we start diagnosing missing requirements and headers on
auto-imports these would have broken compatibility with existing Darwin
SDKs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244912 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Module.h
lib/Basic/Module.cpp
lib/Lex/ModuleMap.cpp
test/Modules/Inputs/System/usr/include/assert.h [new file with mode: 0644]
test/Modules/Inputs/System/usr/include/module.map
test/Modules/Inputs/System/usr/include/tcl-private/header.h [new file with mode: 0644]
test/Modules/darwin_specific_modulemap_hacks.m [new file with mode: 0644]