Hi, Several older compilers fail to build modern GCC because of missing or incomplete C++11 support.
(although the PR mentions clang, specifically, this has also been reported for some GCC versions within the range that should be able to bootstrap GCC) There are several possible solutions proposed in the PR, this one seems the least invasive. The header is pulled into the gcov code that builds with C, so we have to make the CTOR conditional on C++. tested on Darwin12 with xcode-6, bootstrapped on x86_64-darwin and linux. OK for master / GCC-11? thanks Iain Signed-off-by: Iain Sandoe <i...@sandoe.co.uk> PR bootstrap/100246 - [11/12 Regression] GCC will not bootstrap with clang 3.4/3.5 [xcode 5/6, Darwin 12/13] PR bootstrap/100246 gcc/ChangeLog: * config/i386/i386.h (struct stringop_algs): Define a CTOR for this type. --- gcc/config/i386/i386.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 6e0340a4b60..84151156999 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; -- 2.24.1