[PATCH] D142167: [clang][modules] Disallow importing private framework in the implementation

Jan Svoboda via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 19 17:03:02 PST 2023


jansvoboda11 created this revision.
jansvoboda11 added a reviewer: benlangmuir.
Herald added subscribers: ChuanqiXu, ributzka.
Herald added a project: All.
jansvoboda11 requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Whenever we are compiling implementation of a framework (with the `-fmodule-name=FW` option), we never translate `#import <FW/Header.h>` to an import, regardless of whether "Header.h" belongs to "FW" or "FW_Private". For the same reasons, we also disallow `@import FW`. However, we still allow `@import FW_Private`. This patch disallows that a well, to be consistent with the rest of the rules.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D142167

Files:
  clang/include/clang/Basic/Module.h
  clang/lib/Basic/Module.cpp
  clang/lib/Lex/PPDirectives.cpp
  clang/lib/Sema/SemaModule.cpp
  clang/test/Modules/implementation-of-module-private.m

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142167.490689.patch
Type: text/x-patch
Size: 6375 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230120/817c7407/attachment-0001.bin>


More information about the cfe-commits mailing list