ldionne added a comment.

In D133425#3777598 <https://reviews.llvm.org/D133425#3777598>, @aaron.ballman 
wrote:

> In D133425#3775353 <https://reviews.llvm.org/D133425#3775353>, @ldionne wrote:
>
>> Wouldn't re-applying 
>> https://github.com/llvm/llvm-project/commit/fcd549a7d8284a8e7c763fee3da2206acd8cdc4f
>>  (which had been reverted IIUC) be a more precise fix for this problem? We'd 
>> suppress the warning, but only for classes that we know are OK to use with 
>> CTAD.
>
> Oh that would be a great solution to this! Do you recall why that change was 
> reverted?

I don't, but I can try to re-apply the patch and we'll know :-).

In D133425#3778433 <https://reviews.llvm.org/D133425#3778433>, @dblaikie wrote:

> So previously/currently-without-this-patch the diagnostic was suppressed if 
> the use of ctad was in a system header (suppression based on the 
> generic/builtin diagnostic suppression infrastructure) & now it'll suppress 
> if that happens, or if the template is defined in a system header.

One thing I don't understand in the current state of things is why the 
diagnostic fires at all inside system headers. I thought warnings in system 
headers were discarded? It this whole issue about system headers being added 
with `-I` instead of `-isystem`?

FWIW, my "objection" that we should not silence the warning when users try 
using CTAD with arbitrary types in `std::` remains -- I think it would be 
making a disservice to users to let them use CTAD with classes that have not 
been designed with that in mind. At the end of the day, I think I'm advocating 
for individual classes opting-out of the warning, while the patch as currently 
formulated forces all classes in system headers to be opted-out of the warning.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133425

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to