[PATCH] D11403: [Modules] Add Darwin-specific compatibility module map parsing hacks
Ben Langmuir
blangmuir at apple.com
Tue Jul 21 20:21:09 PDT 2015
benlangmuir created this revision.
benlangmuir added reviewers: rsmith, silvas.
benlangmuir added a subscriber: cfe-commits.
benlangmuir set the repository for this revision to rL LLVM.
I ended up restricting the "requires excluded" hack to the specifically named modules after all. It turned out to only affect the two modules I had found: Darwin.C.excluded and Tcl.Private. I tested this back to OS X 10.8 and iOS 7.
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.
Repository:
rL LLVM
http://reviews.llvm.org/D11403
Files:
include/clang/Basic/Module.h
lib/Basic/Module.cpp
lib/Lex/ModuleMap.cpp
test/Modules/Inputs/System/usr/include/assert.h
test/Modules/Inputs/System/usr/include/module.map
test/Modules/Inputs/System/usr/include/tcl-private/header.h
test/Modules/darwin_specific_modulemap_hacks.m
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11403.30312.patch
Type: text/x-patch
Size: 7185 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150722/e0c0a04b/attachment.bin>
More information about the cfe-commits
mailing list