[all-commits] [llvm/llvm-project] 9b7763: Reland "[CUDA][HIP] Fix overloading resolution in ...

Yaxun (Sam) Liu via All-commits all-commits at lists.llvm.org
Thu Sep 7 20:18:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9b7763821aedc282059309c640f69a735b4f5760
      https://github.com/llvm/llvm-project/commit/9b7763821aedc282059309c640f69a735b4f5760
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2023-09-07 (Thu, 07 Sep 2023)

  Changed paths:
    M .gitignore
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/CodeGenCUDA/global-initializers.cu
    M clang/test/SemaCUDA/amdgpu-windows-vectorcall.cu
    M clang/test/SemaCUDA/function-overload.cu
    R clang/test/SemaCUDA/global-initializers-host.cu
    A clang/test/SemaCUDA/global-initializers.cu
    A clang/test/SemaCUDA/windows-calling-conv.cu

  Log Message:
  -----------
  Reland "[CUDA][HIP] Fix overloading resolution in global var init" (#65606)

https://reviews.llvm.org/D158247 caused regressions for HIP on Windows
and was reverted.

A reduced test case is:

```
typedef void (__stdcall* funcTy)();
void invoke(funcTy f);

static void __stdcall callee() noexcept {
}

void foo() {
   invoke(callee);
}
```

It is due to clang missing handling host/device attributes for calling
convention at a few places

This patch fixes that.




More information about the All-commits mailing list