yaxunl added a comment.

In D95970#2540303 <https://reviews.llvm.org/D95970#2540303>, @tra wrote:

> What's going to happen if you do have an undefined reference that's *not* to 
> a `__managed__` variable?

By default HIP toolchain uses -fvisibility hidden 
-fapply-global-visibility-to-externs for device compilation. Undefined variable 
symbols have protected visibility. Undefined function symbols have hidden 
visibility. Since they are not allowed to be preempted, lld still emits error 
if they are undefined. `__managed__` variables have default visibility, 
therefore they are allowed to go through.

We can let HIP runtime emit an error if there are undefined symbols other than 
managed variables.


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

https://reviews.llvm.org/D95970

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

Reply via email to