[PATCH] D146986: Downgrade reserved module identifier error into a warning

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 28 04:54:00 PDT 2023


aaron.ballman added a comment.

In D146986#4225275 <https://reviews.llvm.org/D146986#4225275>, @dblaikie wrote:

> Presumably adding an alias for `#pragma clang system_header` called `system_module` wouldn't be too hard? (though the pragma is also being removed from libc++ soon, I think, in favor of `-isystem` usage, so maybe that's a sign the pragma's not a great way to do)

It wouldn't be hard to add, but the modules group wanted to see if we can find some common feature that all the implementations implement instead of relying on different extensions for different compilers, IIUC. So that could be a pragma, or it could be an attribute attached to the module name, etc.

> Presumably the line marker issue would be less significant for a module? Since there's no complex line marking, inclusion, etc, going on - it's just where the actual .cppm file is located/how it's found? (though yeah, that might get weird for building .pcms - since you're going to name the source file directly on the command line, it's not going to be found via any isystem lookup, etc... )

The trouble is maintenance. Someone ran into a problem where they added code to the module and then diagnostics started showing up on the wrong lines because of the line marker.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146986



More information about the cfe-commits mailing list