[PATCH] D104505: [HIP] Defer operator overloading errors
Artem Belevich via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 22 15:09:47 PDT 2021
tra added a comment.
In D104505#2833943 <https://reviews.llvm.org/D104505#2833943>, @yaxunl wrote:
> We don't defer such diags by default. We only defer them under option -fgpu-defer-diags, which users have to specify explicitly.
Thank you for pointing this out. I've missed that all the tests were run with the flag -- it was hidden in the diff.
While I can't say I'm happy about deferring unambiguous diags, that train is gone. Making -fgpu-defer-diags work more consistently is an improvement.
So, fine. Let's proceed discussing the changes in the patch.
================
Comment at: clang/test/SemaCUDA/deferred-oeverload.cu:55
callee3(); // dev-error {{no matching function for call to 'callee3'}}
callee4(); // com-error {{no matching function for call to 'callee4'}}
+ S s;
----------------
If we're allowing to postpone an invalid call of a host function, shouldn't we also allow postponing other errors?
E.g. should we postpone the error on an attempt to call `callee4()` ?
Similarly, if we were to call a `undeclared_func()` here, should the error also be postponed?
TBH, I don't quite understand now how to tell what is and isn't supposed to be deferred with `-fgpu-defer-diags`.
Is there a clear criteria what should and should not be deferred?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104505/new/
https://reviews.llvm.org/D104505
More information about the cfe-commits
mailing list