diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2024-10-11 14:49:21 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2024-10-18 14:49:35 +0100 |
commit | 6ecf2b380da6129cd32edccdbc322dfd2884d490 (patch) | |
tree | 05f9c70e40e2d333fa66058aea83c5d3a2190ba1 /gcc/fortran/error.cc | |
parent | 5546be4c24cd1085c8e43b5635be56a9b591c626 (diff) | |
download | gcc-6ecf2b380da6129cd32edccdbc322dfd2884d490.zip gcc-6ecf2b380da6129cd32edccdbc322dfd2884d490.tar.gz gcc-6ecf2b380da6129cd32edccdbc322dfd2884d490.tar.bz2 |
libstdc++: Add always_inline to some one-liners in <bits/stl_algobase.h>
We implement std::copy, std::fill etc. as a series of calls to other
overloads which incrementally peel off layers of iterator wrappers. This
adds a high abstraction penalty for -O0 and potentially even -O1. Add
the always_inline attribute to several functions that are just a single
return statement (and maybe a static_assert, or some concept-checking
assertions which are disabled by default).
libstdc++-v3/ChangeLog:
* include/bits/stl_algobase.h (__copy_move_a1, __copy_move_a)
(__copy_move_backward_a1, __copy_move_backward_a, move_backward)
(__fill_a1, __fill_a, fill, __fill_n_a, fill_n, __equal_aux):
Add always_inline attribute to one-line forwarding functions.
Reviewed-by: Patrick Palka <ppalka@redhat.com>
Diffstat (limited to 'gcc/fortran/error.cc')
0 files changed, 0 insertions, 0 deletions