public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/107187] New: [feature request] Add `trivial_abi` attribute
@ 2022-10-08 22:28 nikolasklauser at berlin dot de
  2022-10-08 22:34 ` [Bug c++/107187] " pinskia at gcc dot gnu.org
  2022-10-08 22:37 ` pinskia at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: nikolasklauser at berlin dot de @ 2022-10-08 22:28 UTC (permalink / raw)
  To: gcc-bugs

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug c++/107187] [feature request] Add `trivial_abi` attribute
  2022-10-08 22:28 [Bug c++/107187] New: [feature request] Add `trivial_abi` attribute nikolasklauser at berlin dot de
@ 2022-10-08 22:34 ` pinskia at gcc dot gnu.org
  2022-10-08 22:37 ` pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-10-08 22:34 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug c++/107187] [feature request] Add `trivial_abi` attribute
  2022-10-08 22:28 [Bug c++/107187] New: [feature request] Add `trivial_abi` attribute nikolasklauser at berlin dot de
  2022-10-08 22:34 ` [Bug c++/107187] " pinskia at gcc dot gnu.org
@ 2022-10-08 22:37 ` pinskia at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-10-08 22:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I think a better way of implementing an abi specific attribute is in the shared
c++ abi forum and then have it accepted there too.

Then it could be the shared abi namespace like other c++ abi features are done.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-10-08 22:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-08 22:28 [Bug c++/107187] New: [feature request] Add `trivial_abi` attribute nikolasklauser at berlin dot de
2022-10-08 22:34 ` [Bug c++/107187] " pinskia at gcc dot gnu.org
2022-10-08 22:37 ` pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).