[all-commits] [llvm/llvm-project] ee5bb0: Fix Objective-C++ Sret of non-trivial data types o...

Hugo Melder via All-commits all-commits at lists.llvm.org
Mon Apr 29 15:47:10 PDT 2024


  Branch: refs/heads/release/18.x
  Home:   https://github.com/llvm/llvm-project
  Commit: ee5bb0c956679f43da48b914800846d57a6380d2
      https://github.com/llvm/llvm-project/commit/ee5bb0c956679f43da48b914800846d57a6380d2
  Author: Hugo Melder <service at hugomelder.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGenObjCXX/msabi-stret-arm64.mm

  Log Message:
  -----------
  Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671)

Linked to https://github.com/gnustep/libobjc2/pull/289.

More information can be found in issue: #88273.

My solution involves creating a new message-send function for this
calling convention when targeting MSVC. Additional information is
available in the libobjc2 pull request.

I am unsure whether we should check for a runtime version where
objc_msgSend_stret2_np is guaranteed to be present or leave it as is,
considering it remains a critical bug. What are your thoughts about this
@davidchisnall?

(cherry picked from commit 3dcd2cca7777b338d87deb1ca506df1376123667)



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list