[clang] [clang] Handle trivial_abi attribute for Microsoft ABI. (PR #88857)

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 16 03:00:50 PDT 2024


================
@@ -63,6 +63,10 @@ ABI Changes in This Version
   MSVC uses a different mangling for these objects, compatibility is not affected.
   (#GH85423).
 
+- The attribute ``trivial_abi`` now works when targetting the Microsoft ABI. Marking
----------------
rnk wrote:

It's overly broad to say it "works", and I suggest narrowing the scope of the release note. For example, there is a [major known issue](https://github.com/llvm/llvm-project/issues/69394) with `__is_trivially_relocatable`, which I think means that `trivial_abi` won't work the way people want it to in containers. Maybe try:
> Records carrying the ``trivial_abi`` attribute are now returned directly in registers in more cases when using the Microsoft ABI. It is not possible to pass ``trivial_abi`` records between MSVC and Clang, so there is no ABI compatibility requirement. This is an ABI break with old versions of Clang. (#GH87993) 

https://github.com/llvm/llvm-project/pull/88857


More information about the cfe-commits mailing list