[PATCH] x86: Make stringop_algs::stringop_strategy ctor constexpr [PR100246]
Jakub Jelinek
jakub@redhat.com
Fri Nov 5 09:58:31 GMT 2021
On Thu, Nov 04, 2021 at 01:45:38PM +0100, Jakub Jelinek via Gcc-patches wrote:
> On Thu, Nov 04, 2021 at 12:39:34PM +0000, Iain Sandoe wrote:
> > Bootstrap succeeded with Apple clang-503.0.40 (Xcode 5.1.1) on macOS 10.8
> > which is the earliest version I expect to work (previous xcode impl. have more
> > C++11 incompatibilities). So OK from a Darwin PoV.
> >
> > The other reported toolchain with the issue was GCC-4.9.2 as discussed on
> > IRC - this also seems OK.
>
> > > Especially because 11.x is not going to have the dyninit optimization for
> > > sure, it would be nice to do this on the 11 branch too.
Bootstrapped/regtested on x86_64-linux and i686-linux successfully too, with
sligtly different formatting, as I think in our coding style constexpr
should go on the previous line and the ctor didn't have space before (.
Ok for trunk and 11.3?
2021-11-05 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/100246
* config/i386/i386.h
(stringop_algs::stringop_strategy::stringop_strategy): Make the ctor
constexpr.
--- gcc/config/i386/i386.h.jj 2021-09-28 23:18:35.282563395 +0200
+++ gcc/config/i386/i386.h 2021-11-04 10:48:47.165086806 +0100
@@ -78,8 +78,9 @@ struct stringop_algs
this issue. Since this header is used by code compiled with the C
compiler we must guard the addition. */
#ifdef __cplusplus
- stringop_strategy(int _max = -1, enum stringop_alg _alg = libcall,
- int _noalign = false)
+ constexpr
+ stringop_strategy (int _max = -1, enum stringop_alg _alg = libcall,
+ int _noalign = false)
: max (_max), alg (_alg), noalign (_noalign) {}
#endif
const int max;
Jakub
More information about the Gcc-patches
mailing list