[PATCH] D129748: [C++20] [Modules] Warn for the use of preferred_name in modules

Chuanqi Xu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 21 22:30:11 PDT 2022


ChuanqiXu added a comment.

In D129748#3668446 <https://reviews.llvm.org/D129748#3668446>, @erichkeane wrote:

> In D129748#3667932 <https://reviews.llvm.org/D129748#3667932>, @ChuanqiXu wrote:
>
>> @erichkeane @aaron.ballman @tahonermann I get another idea. We could tell the user honestly that we couldn't handle it (temporarily). We could still modularize the STL by a trick: https://github.com/ChuanqiXu9/stdmodules/blob/e81f4e9e74f96021f2e45c48f44da93e806c4524/Makefile#L3
>>
>> In this way, we don't need to worry about the dirty implementation pollutes the sources. (I think it is not bad to emit a warning to tell the user we couldn't do something (now).)
>
> Thats a heck of an "STL Trick".  The diagnostic itself needs some rewording, and I don't know if we do diagnostics for our implementation deficiencies.

I know there was an example. In clang14.x and before, when we write module partitions, the compiler would say "sorry, module partitions are not yet supported". We can find this in https://github.com/llvm/llvm-project/commit/69350e569dc47f871590243b5e46a68520640dcd.

> I still consider the 'disable the attribute' as perhaps the 'best idea' for now other than fixing the bug, but had suggested earlier doing it NOT at the SemaDeclAttr level, but to do it at the ASTWriter-when-in-modules level.

It looks better to workaround it in ASTWriter in Sema to me. I sent another revision D130331 <https://reviews.llvm.org/D130331> as an alternative since the current revision looks acceptable to me. I will be happy if either of them get accepted.


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

https://reviews.llvm.org/D129748



More information about the cfe-commits mailing list