[PATCH] Allow a module to require the absence of a feature

Richard Smith richard at metafoo.co.uk
Fri Oct 25 13:37:04 PDT 2013


Hi doug.gregor, djasper,

Allow a new syntax in a module requires-declaration:

  requires ! feature

The purpose of this is to allow (for instance) the module map for /usr/include to exclude <tgmath.h> and <complex.h> when building in C++ (these headers are instead provided by the C++ standard library in this case, and the glibc C <tgmath.h> header would otherwise try to include <complex.h>, resulting in a module cycle).

http://llvm-reviews.chandlerc.com/D2027

Files:
  test/Modules/Inputs/DependsOnModule.framework/Headers/not_objc.h
  test/Modules/Inputs/DependsOnModule.framework/Headers/not_cxx.h
  test/Modules/Inputs/DependsOnModule.framework/module.map
  test/Modules/requires.m
  test/Modules/requires.mm
  test/Index/index-module.m
  include/clang/Basic/DiagnosticFrontendKinds.td
  include/clang/Basic/Module.h
  docs/Modules.rst
  lib/Headers/module.map
  lib/Serialization/ASTWriter.cpp
  lib/Serialization/ASTReader.cpp
  lib/Frontend/CompilerInstance.cpp
  lib/Frontend/FrontendActions.cpp
  lib/Basic/Module.cpp
  lib/Lex/ModuleMap.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2027.1.patch
Type: text/x-patch
Size: 16845 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131025/3861420d/attachment.bin>


More information about the cfe-commits mailing list