[PATCH] D70172: [CUDA][HIP] Fix assertion due to dtor check on windows
Yaxun Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 9 11:20:24 PST 2020
yaxunl added a comment.
In D70172#1812631 <https://reviews.llvm.org/D70172#1812631>, @rjmccall wrote:
> Most uses of the destructor do not use the delete operator, though, and therefore should not trigger the diagnostics in `f` to be emitted. And this really doesn't require a fully-realized use graph; you could very easily track the current use stack when making a later pass over the entities used.
The call graph is not for this specific situation. A call graph is needed because of the transitive nature of the deferred diagnostic message. That is, if any direct or indirect caller is emitted, the diagnostic msg needs to be emitted.
The deferred diagnostic msg is recorded when parsing a function body. At that time we do not know which function will directly or indirectly call it. How do we keep a use stack?
When we parsing other function bodies, we only know the direct callee. Since we do not know if this function indirectly calls the function with deferred diagnostics, we have to keep a record of all the caller/callee edges.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70172/new/
https://reviews.llvm.org/D70172
More information about the cfe-commits
mailing list