[PATCH] D106394: [clang][pp] adds '#pragma include_instead'

David Blaikie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 26 14:23:33 PDT 2021


dblaikie added a comment.

Just a thought (nothing to hold up this patch/suggest a revert/suggest any immediate action), but:

> The problem with extending this to non-system headers is that you need a way to tell which headers are allowed to include the detail headers and which ones are not.

What if the analysis was done on the entire #include path from the current primary source file - rather than from the immediate include location? Then the requirement could be "This header must be directly or indirectly included from one of the headers listed in include_instead, otherwise there will be a warning" - could that generalize to other use cases/not only system headers?

(not entirely sure how this'd interact with modules, though - but perhaps that could be handled a bit differently, by having private modular headers that can only be included from within a module, not by clients of a module)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106394/new/

https://reviews.llvm.org/D106394



More information about the cfe-commits mailing list