jdoerfert marked 2 inline comments as done. jdoerfert added inline comments.
================ Comment at: clang/lib/Sema/SemaDecl.cpp:18345 if (LangOpts.OpenMPIsDevice) { + // In OpenMP device mode we will not emit host only functions, or functions + // we don't need due to their linkage. ---------------- JonChesterfield wrote: > What catches a static function whose address is taken? I don't know where but the existing logic in `GetGVALinkageForFunction` seems to handle this just fine. I marked the tests I introduced for such cases below. ================ Comment at: clang/lib/Sema/SemaDecl.cpp:18376 + + if (Final && LangOpts.OpenMP && !LangOpts.CUDA) + return FunctionEmissionStatus::Emitted; ---------------- JonChesterfield wrote: > Does LangOpts.HIP imply LandOpts.CUDA? I think it is intended to. I think > I've seen this pattern (is openmp and is not cuda) elsewhere, perhaps we're > missing a predicate. > I don't know. This is a reinterpretation of the conditional we had, which checked this in a different way but the intention is the same. There we also never looked for HIP, IIRC. ================ Comment at: clang/test/OpenMP/nvptx_unsupported_type_messages.cpp:164 +// expected-note@+1 {{called by 'external'}} void *p6 = reinterpret_cast<void*>(&ld_use4); } ---------------- Here we test static/inline function with taken address. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D95928/new/ https://reviews.llvm.org/D95928 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits