https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107187

            Bug ID: 107187
           Summary: [feature request] Add `trivial_abi` attribute
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nikolasklauser at berlin dot de
  Target Milestone: ---

This attribute is implemented by clang. It changes the calling convention of
non-trivial class types to be trivial for the purpose of calls (with some
caveats). libc++ has used it in the unstable ABI for some time now, and we'd
like to use it for new types in the stable ABI too, since it can improve
performance dramatically. I'm sure libstdc++ (and other libraries) will find it
useful too.

See https://quuxplusone.github.io/blog/2018/05/02/trivial-abi-101/ for a more
detailed explanation of it's benefits and drawbacks and
https://clang.llvm.org/docs/AttributeReference.html#trivial-abi for the clang
documentation.

Reply via email to