[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