https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100246
--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> --- yet another permutation: This one keeps the const-ness of the contents, but provides a CTOR. Note the we build some of the gcov stuff with a C compiler and therefore this has to be conditional on C++. diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 97d6f38..a417c93 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -73,6 +73,11 @@ struct stringop_algs { const enum stringop_alg unknown_size; const struct stringop_strategy { +#ifdef __cplusplus + stringop_strategy(int _max = -1, enum stringop_alg _alg = libcall, + int _noalign = false) + : max (_max), alg (_alg), noalign (_noalign) {} +#endif const int max; const enum stringop_alg alg; int noalign;