rjmccall added a comment.

In D56411#1365727 <https://reviews.llvm.org/D56411#1365727>, @yaxunl wrote:

> In D56411#1360010 <https://reviews.llvm.org/D56411#1360010>, @rjmccall wrote:
>
> > I think the diagnostic should come during instantiation when you find an 
> > evaluated use of a host function within a device function.
>
>
> It seems the body of function template is checked only during parsing of the 
> definition of the template itself. When a function
>  template is instantiated, the body of the instantiated function is not 
> checked again.


No, that's not correct.  However, it's checked somewhat differently, and it's 
possible that the existing diagnostic is not set up to fire along all common 
paths.  Try moving the diagnostic to `MarkFunctionReferenced`, and note that 
`OdrUse` will be `false` in all the unevaluated contexts.


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

https://reviews.llvm.org/D56411



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

Reply via email to