* [00/32] C++ 20 Modules @ 2020-11-03 21:12 Nathan Sidwell 2020-11-04 3:14 ` Hans-Peter Nilsson ` (6 more replies) 0 siblings, 7 replies; 18+ messages in thread From: Nathan Sidwell @ 2020-11-03 21:12 UTC (permalink / raw) To: GCC Patches, Jason Merrill, Richard Biener Here is the implementation of C++20 modules that I have been developing on the devel/c++-modules branch over the last few years. It is not a complete implementation. The major missing pieces are: 1) Private Module Fragment The syntax is recognized and a sorry emitted 2) textually parsing a duplicate global module definition when a definition has already been read from a header-unit. (the converse is supported) 3) Complete type (in)visibility when provided in implementation partitions that are imported into the primary interface. Users will see the type as complete. 4) Internal linkage reachability rules from exported entities. We're likely to accept ill-formed programs. This will not cause us to reject well-formed programs. It is some 25K new lines of code (plus testsuite). There are about 48 FIXMEs, nearly all in module.cc and the remaining in name-lookup.c. Of these 12 are QOI comments. The remaining 36 probably fall into the following categories: 1/3 are repeating a FIXME mentioned elsewhere 1/3 are already resolved, or have become irrelevant 1/3 are defects (an above missing feature, a QOI issue, or something else). I believe there is time in stage 1 to address the most significant ones. I have bootstrapped and tested on: x86_64-linux aarch64-linux powerpc8le-linux powerpc8-aix Iain Sandoe has been regularly bootstrapping on x86_64-darwin. Joseph Myers graciously built for i686-mingw host. We eventually ran into compilation errors in the analyzer, as it seemed unprepared for an IL32P64 host. I have attempted to break the patches apart into coherent pieces. But they are somewhat interconnected. 01-langhooks.diff New langhooks 02-cpp-line-maps.diff line-map pieces 03-cpp-callbacks.diff Preprocessor callbacks 04-cpp-lexer.diff There are new lexing requirements 05-cpp-files.diff ... and file reading functionality 06-cpp-macro.diff ... and macro expansion rules 07-cpp-main.diff Main file reading 08-cpp-mkdeps.diff Dependency generation 09-core-diag.diff Core diagnostics 10-core-config.diff Autoconf 11-core-parmtime.diff parameters and time instrumentation 12-core-doc.diff User documentation 13-family-options.diff New options 14-family-keywords.diff New keyword 15-c++-lexer.diff New C++ lexing 16-c++-infra.diff C++ infrastructure interfaces 17-c++-infra-constexpr.diff new constexpr interfacing 18-c++-infra-template.diff new template interfacing 19-global-trees.diff Global tree ordering 20-c++-dynctor.diff Dynamic constructor generation 21-core-rawbits.diff Some core node bits 22-c++-otherbits.diff Miscellaneous C++ changes 23-libcody.diff Libcody 24-c++-mapper.diff Module Mapper 25-c++-modules.diff The Modules file 26-c++-name-lookup.diff Name lookup changes 27-c++-parser.diff Parser changes 28-c++-langhooks.diff Lang hooks implementation 29-c++-make.diff Makefile changes 30-test-harness.diff Testharness changes 31-testsuite.diff The testsuite 32-aix-fixincl.diff AIX fixinclude Nearly all of this is within gcc/cp and libcpp/ directories. There are a few changes to gcc/ and more changes in gcc/c-family/ It is likely that this patchset will cause breakages, for that I apologize (please try the modules branch and report early). My understanding is that a Global Maintainer's approval is needed for such a large patchset. It's be good to get this in as early in stage 3 as possible (if stage 1 expires). Definitely the most important event of today :) But don't forget to vote. nathan -- Nathan Sidwell ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell @ 2020-11-04 3:14 ` Hans-Peter Nilsson 2020-11-04 12:30 ` Nathan Sidwell 2020-11-04 19:24 ` [10/32] config Nathan Sidwell ` (5 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Hans-Peter Nilsson @ 2020-11-04 3:14 UTC (permalink / raw) To: Nathan Sidwell; +Cc: GCC Patches, Jason Merrill, Richard Biener On Tue, 3 Nov 2020, Nathan Sidwell wrote: > Here is the implementation of C++20 modules that I have been developing on the > devel/c++-modules branch over the last few years. Ow. > I have bootstrapped and tested on: > x86_64-linux > aarch64-linux > powerpc8le-linux > powerpc8-aix > > Iain Sandoe has been regularly bootstrapping on x86_64-darwin. Joseph Myers > graciously built for i686-mingw host. We eventually ran into compilation > errors in the analyzer, as it seemed unprepared for an IL32P64 host. (So not actually tested there.) Are any of the powerpc targets you tested ILP32, such that the patchset is completely tested for such a target? brgds, H-P ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-04 3:14 ` Hans-Peter Nilsson @ 2020-11-04 12:30 ` Nathan Sidwell 2020-11-04 13:50 ` Nathan Sidwell 0 siblings, 1 reply; 18+ messages in thread From: Nathan Sidwell @ 2020-11-04 12:30 UTC (permalink / raw) To: Hans-Peter Nilsson; +Cc: GCC Patches, Jason Merrill, Richard Biener On 11/3/20 10:14 PM, Hans-Peter Nilsson wrote: > On Tue, 3 Nov 2020, Nathan Sidwell wrote: >> I have bootstrapped and tested on: >> x86_64-linux >> aarch64-linux >> powerpc8le-linux >> powerpc8-aix >> >> Iain Sandoe has been regularly bootstrapping on x86_64-darwin. Joseph Myers >> graciously built for i686-mingw host. We eventually ran into compilation >> errors in the analyzer, as it seemed unprepared for an IL32P64 host. > > (So not actually tested there.) > > Are any of the powerpc targets you tested ILP32, such that the > patchset is completely tested for such a target? No. I tried building on one of the compile farm mips machines but it ran out of memory compiling some of the generated expanders (or something). rechecking the compile-farm page, I see gcc45 is a 686 machine, I'll try that. nathan -- Nathan Sidwell ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-04 12:30 ` Nathan Sidwell @ 2020-11-04 13:50 ` Nathan Sidwell 2020-11-04 14:15 ` Jason Merrill 0 siblings, 1 reply; 18+ messages in thread From: Nathan Sidwell @ 2020-11-04 13:50 UTC (permalink / raw) To: Hans-Peter Nilsson; +Cc: GCC Patches, Jason Merrill, Richard Biener [-- Attachment #1: Type: text/plain, Size: 1071 bytes --] On 11/4/20 7:30 AM, Nathan Sidwell wrote: > rechecking the compile-farm page, I see gcc45 is a 686 machine, I'll try > that. yeah, that didn't work. There's compilation errors in ../../../src/gcc/config/i386/x86-tune-costs.h about missing initializers. and then ... In file included from /usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:34:0, from /usr/lib/gcc/i586-linux-gnu/4.9/include/x86intrin.h:31, from /usr/include/i386-linux-gnu/c++/4.9/bits/opt_random.h:33, from /usr/include/c++/4.9/random:50, from /usr/include/c++/4.9/bits/stl_algo.h:66, from /usr/include/c++/4.9/algorithm:62, from ../../../src/gcc/cp/mapper-resolver.cc:26: ./mm_malloc.h:42:12: error: attempt to use poisoned "malloc" return malloc (__size); ^ Makefile:1127: recipe for target 'cp/mapper-resolver.o' failed it's a little unfortunate we can't use the standard library :( I'll see what I can do about avoiding algorithm. nathan -- Nathan Sidwell [-- Attachment #2: make.log --] [-- Type: text/x-log, Size: 107955 bytes --] make[2]: Entering directory '/home/nathan/egcs/modules/obj/i686/gcc' g++ -std=gnu++11 -fno-PIE -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../src/gcc -I../../../src/gcc/. -I../../../src/gcc/../include -I../../../src/gcc/../libcpp/include -I../../../src/gcc/../libcody -I/home/nathan/egcs/modules/obj/i686/./gmp -I/home/nathan/egcs/modules/src/gmp -I/home/nathan/egcs/modules/obj/i686/./mpfr/src -I/home/nathan/egcs/modules/src/mpfr/src -I/home/nathan/egcs/modules/src/mpc/src -I../../../src/gcc/../libdecnumber -I../../../src/gcc/../libdecnumber/bid -I../libdecnumber -I../../../src/gcc/../libbacktrace -I/home/nathan/egcs/modules/obj/i686/./isl/include -I/home/nathan/egcs/modules/src/isl/include -o i386-options.o -MT i386-options.o -MMD -MP -MF ./.deps/i386-options.TPo ../../../src/gcc/config/i386/i386-options.c In file included from ../../../src/gcc/config/i386/i386-options.c:94:0: ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {rep_prefix_1_byte, {{-1, rep_prefix_1_byte, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:32:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {rep_prefix_1_byte, {{-1, rep_prefix_1_byte, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:35:56: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:143:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:146:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:251:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:254:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:361:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:364:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:577:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:582:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:686:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:689:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:793:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:796:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:906:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:909:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1019:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1024:70: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {8192, rep_prefix_8_byte, false}, {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1024:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1024:70: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1024:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1024:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1139:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1144:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1144:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1144:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1144:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1144:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1267:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1272:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1272:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1272:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1272:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1272:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1393:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1403:29: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1403:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1403:29: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1403:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1403:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1545:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1555:29: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1555:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1555:29: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1555:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1555:29: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1695:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1703:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1703:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1703:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1703:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1703:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1814:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1819:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1819:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1819:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1819:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1819:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1924:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1929:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:1929:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1929:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:1929:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:1929:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2032:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' DUMMY_STRINGOP_ALGS}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2036:22: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {100000, unrolled_loop, false}, {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2142:68: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {8192, rep_prefix_8_byte, false}, {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2254:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {8192, rep_prefix_8_byte, false}, {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2364:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {8192, rep_prefix_8_byte, false}, {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2474:70: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2588:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2593:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2704:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2711:36: error: uninitialized const member 'stringop_algs::stringop_strategy::max' {-1, libcall, false}}}}; ^ ../../../src/gcc/config/i386/x86-tune-costs.h:2711:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::max' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2711:36: error: uninitialized const member 'stringop_algs::stringop_strategy::alg' ../../../src/gcc/config/i386/x86-tune-costs.h:2711:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::alg' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/x86-tune-costs.h:2711:36: warning: missing initializer for member 'stringop_algs::stringop_strategy::noalign' [-Wmissing-field-initializers] ../../../src/gcc/config/i386/t-i386:49: recipe for target 'i386-options.o' failed make[2]: *** [i386-options.o] Error 1 g++ -std=gnu++11 -fno-PIE -c -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -Icp -I../../../src/gcc -I../../../src/gcc/cp -I../../../src/gcc/../include -I../../../src/gcc/../libcpp/include -I../../../src/gcc/../libcody -I/home/nathan/egcs/modules/obj/i686/./gmp -I/home/nathan/egcs/modules/src/gmp -I/home/nathan/egcs/modules/obj/i686/./mpfr/src -I/home/nathan/egcs/modules/src/mpfr/src -I/home/nathan/egcs/modules/src/mpc/src -I../../../src/gcc/../libdecnumber -I../../../src/gcc/../libdecnumber/bid -I../libdecnumber -I../../../src/gcc/../libbacktrace -I/home/nathan/egcs/modules/obj/i686/./isl/include -I/home/nathan/egcs/modules/src/isl/include -o cp/mapper-resolver.o -MT cp/mapper-resolver.o -MMD -MP -MF cp/.deps/mapper-resolver.TPo ../../../src/gcc/cp/mapper-resolver.cc In file included from /usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:34:0, from /usr/lib/gcc/i586-linux-gnu/4.9/include/x86intrin.h:31, from /usr/include/i386-linux-gnu/c++/4.9/bits/opt_random.h:33, from /usr/include/c++/4.9/random:50, from /usr/include/c++/4.9/bits/stl_algo.h:66, from /usr/include/c++/4.9/algorithm:62, from ../../../src/gcc/cp/mapper-resolver.cc:26: ./mm_malloc.h:42:12: error: attempt to use poisoned "malloc" return malloc (__size); ^ Makefile:1127: recipe for target 'cp/mapper-resolver.o' failed make[2]: *** [cp/mapper-resolver.o] Error 1 make[2]: Target 'all' not remade because of errors. make[2]: Leaving directory '/home/nathan/egcs/modules/obj/i686/gcc' Makefile:4430: recipe for target 'all-gcc' failed make[1]: *** [all-gcc] Error 2 make[1]: Target 'all-host' not remade because of errors. make[1]: Target 'all-target' not remade because of errors. make[1]: Leaving directory '/home/nathan/egcs/modules/obj/i686' Makefile:969: recipe for target 'all' failed make: *** [all] Error 2 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-04 13:50 ` Nathan Sidwell @ 2020-11-04 14:15 ` Jason Merrill 2020-11-04 15:06 ` Nathan Sidwell 0 siblings, 1 reply; 18+ messages in thread From: Jason Merrill @ 2020-11-04 14:15 UTC (permalink / raw) To: Nathan Sidwell; +Cc: Hans-Peter Nilsson, GCC Patches, Richard Biener On Wed, Nov 4, 2020 at 8:50 AM Nathan Sidwell <nathan@acm.org> wrote: > On 11/4/20 7:30 AM, Nathan Sidwell wrote: > > > rechecking the compile-farm page, I see gcc45 is a 686 machine, I'll try > > that. > > yeah, that didn't work. There's compilation errors in > ../../../src/gcc/config/i386/x86-tune-costs.h about missing > initializers. and then ... > > In file included from > /usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:34:0, > from > /usr/lib/gcc/i586-linux-gnu/4.9/include/x86intrin.h:31, > from > /usr/include/i386-linux-gnu/c++/4.9/bits/opt_random.h:33, > from /usr/include/c++/4.9/random:50, > from /usr/include/c++/4.9/bits/stl_algo.h:66, > from /usr/include/c++/4.9/algorithm:62, > from ../../../src/gcc/cp/mapper-resolver.cc:26: > ./mm_malloc.h:42:12: error: attempt to use poisoned "malloc" > return malloc (__size); > ^ > Makefile:1127: recipe for target 'cp/mapper-resolver.o' failed > > it's a little unfortunate we can't use the standard library :( I'll see > what I can do about avoiding algorithm. > We can; apparently the necessary incantation is to #define INCLUDE_ALGORITHM before #include "system.h" Jason ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-04 14:15 ` Jason Merrill @ 2020-11-04 15:06 ` Nathan Sidwell 0 siblings, 0 replies; 18+ messages in thread From: Nathan Sidwell @ 2020-11-04 15:06 UTC (permalink / raw) To: Jason Merrill; +Cc: Hans-Peter Nilsson, GCC Patches, Richard Biener On 11/4/20 9:15 AM, Jason Merrill wrote: > On Wed, Nov 4, 2020 at 8:50 AM Nathan Sidwell <nathan@acm.org > <mailto:nathan@acm.org>> wrote: > > > We can; apparently the necessary incantation is to > > #define INCLUDE_ALGORITHM thanks that's fixed the build problem. And working around the i386 error I get a working toolchain. modules test all pass except a trivial one detecting va_list looks different. I must have messed the target check there. so i686-linux is now known good nathan -- Nathan Sidwell ^ permalink raw reply [flat|nested] 18+ messages in thread
* [10/32] config 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell 2020-11-04 3:14 ` Hans-Peter Nilsson @ 2020-11-04 19:24 ` Nathan Sidwell 2020-11-06 17:56 ` Jeff Law 2020-11-05 7:08 ` [00/32] C++ 20 Modules Boris Kolpackov ` (4 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Nathan Sidwell @ 2020-11-04 19:24 UTC (permalink / raw) To: GCC Patches, Jason Merrill, Richard Biener [-- Attachment #1: Type: text/plain, Size: 303 bytes --] I managed to flub sending this yesterday. This is the gcc/configure.ac changes (rebuild configure and config.h.in after applying). Generally just checking for network-related functionality. If it's not available, those features of the module mapper will be unavailable. nathan -- Nathan Sidwell [-- Attachment #2: 10-core-config.diff --] [-- Type: text/x-patch, Size: 5553 bytes --] diff --git c/gcc/configure.ac w/gcc/configure.ac index 73034bb902b..168a3bc3625 100644 --- c/gcc/configure.ac +++ w/gcc/configure.ac @@ -1417,8 +1419,8 @@ define(gcc_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl putchar_unlocked putc_unlocked) AC_CHECK_FUNCS(times clock kill getrlimit setrlimit atoq \ popen sysconf strsignal getrusage nl_langinfo \ - gettimeofday mbstowcs wcswidth mmap setlocale \ - gcc_UNLOCKED_FUNCS madvise mallinfo mallinfo2) + gettimeofday mbstowcs wcswidth mmap memrchr posix_fallocate setlocale \ + gcc_UNLOCKED_FUNCS madvise mallinfo execv mallinfo2 fstatat) if test x$ac_cv_func_mbstowcs = xyes; then AC_CACHE_CHECK(whether mbstowcs works, gcc_cv_func_mbstowcs_works, @@ -1440,6 +1442,10 @@ fi AC_CHECK_TYPE(ssize_t, int) AC_CHECK_TYPE(caddr_t, char *) +AC_CHECK_TYPE(sighander_t, + AC_DEFINE(HAVE_SIGHANDLER_T, 1, + [Define if <sys/signal.h> defines sighandler_t]), + ,signal.h) GCC_AC_FUNC_MMAP_BLACKLIST @@ -1585,6 +1591,146 @@ if test $ac_cv_f_setlkw = yes; then [Define if F_SETLKW supported by fcntl.]) fi +# Check if O_CLOEXEC is defined by fcntl +AC_CACHE_CHECK(for O_CLOEXEC, ac_cv_o_cloexec, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <fcntl.h>]], [[ +return open ("/dev/null", O_RDONLY | O_CLOEXEC);]])], +[ac_cv_o_cloexec=yes],[ac_cv_o_cloexec=no])]) +if test $ac_cv_o_cloexec = yes; then + AC_DEFINE(HOST_HAS_O_CLOEXEC, 1, + [Define if O_CLOEXEC supported by fcntl.]) +fi + +# C++ Modules would like some networking features to provide the mapping +# server. You can still use modules without them though. +# The following network-related checks could probably do with some +# Windows and other non-linux defenses and checking. + +# Local socket connectivity wants AF_UNIX networking +# Check for AF_UNIX networking +AC_CACHE_CHECK(for AF_UNIX, ac_cv_af_unix, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <sys/types.h> +#include <sys/socket.h> +#include <sys/un.h> +#include <netinet/in.h>]],[[ +sockaddr_un un; +un.sun_family = AF_UNSPEC; +int fd = socket (AF_UNIX, SOCK_STREAM, 0); +connect (fd, (sockaddr *)&un, sizeof (un));]])], +[ac_cv_af_unix=yes], +[ac_cv_af_unix=no])]) +if test $ac_cv_af_unix = yes; then + AC_DEFINE(HAVE_AF_UNIX, 1, + [Define if AF_UNIX supported.]) +fi + +# Remote socket connectivity wants AF_INET6 networking +# Check for AF_INET6 networking +AC_CACHE_CHECK(for AF_INET6, ac_cv_af_inet6, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <netdb.h>]],[[ +sockaddr_in6 in6; +in6.sin6_family = AF_UNSPEC; +struct addrinfo *addrs = 0; +struct addrinfo hints; +hints.ai_flags = 0; +hints.ai_family = AF_INET6; +hints.ai_socktype = SOCK_STREAM; +hints.ai_protocol = 0; +hints.ai_canonname = 0; +hints.ai_addr = 0; +hints.ai_next = 0; +int e = getaddrinfo ("localhost", 0, &hints, &addrs); +const char *str = gai_strerror (e); +freeaddrinfo (addrs); +int fd = socket (AF_INET6, SOCK_STREAM, 0); +connect (fd, (sockaddr *)&in6, sizeof (in6));]])], +[ac_cv_af_inet6=yes], +[ac_cv_af_inet6=no])]) +if test $ac_cv_af_inet6 = yes; then + AC_DEFINE(HAVE_AF_INET6, 1, + [Define if AF_INET6 supported.]) +fi + +# Efficient server response wants epoll +# Check for epoll_create, epoll_ctl, epoll_pwait +AC_CACHE_CHECK(for epoll, ac_cv_epoll, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <sys/epoll.h>]],[[ +int fd = epoll_create (1); +epoll_event ev; +ev.events = EPOLLIN; +ev.data.fd = 0; +epoll_ctl (fd, EPOLL_CTL_ADD, 0, &ev); +epoll_pwait (fd, 0, 0, -1, 0);]])], +[ac_cv_epoll=yes], +[ac_cv_epoll=no])]) +if test $ac_cv_epoll = yes; then + AC_DEFINE(HAVE_EPOLL, 1, + [Define if epoll_create, epoll_ctl, epoll_pwait provided.]) +fi + +# If we can't use epoll, try pselect. +# Check for pselect +AC_CACHE_CHECK(for pselect, ac_cv_pselect, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <sys/select.h>]],[[ +pselect (0, 0, 0, 0, 0, 0);]])], +[ac_cv_pselect=yes], +[ac_cv_pselect=no])]) +if test $ac_cv_pselect = yes; then + AC_DEFINE(HAVE_PSELECT, 1, + [Define if pselect provided.]) +fi + +# And failing that, use good old select. +# If we can't even use this, the server is serialized. +# Check for select +AC_CACHE_CHECK(for select, ac_cv_select, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <sys/select.h>]],[[ +select (0, 0, 0, 0, 0);]])], +[ac_cv_select=yes], +[ac_cv_select=no])]) +if test $ac_cv_select = yes; then + AC_DEFINE(HAVE_SELECT, 1, + [Define if select provided.]) +fi + +# Avoid some fnctl calls by using accept4, when available. +# Check for accept4 +AC_CACHE_CHECK(for accept4, ac_cv_accept4, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <sys/socket.h>]],[[ +int err = accept4 (1, 0, 0, SOCK_NONBLOCK);]])], +[ac_cv_accept4=yes], +[ac_cv_accept4=no])]) +if test $ac_cv_accept4 = yes; then + AC_DEFINE(HAVE_ACCEPT4, 1, + [Define if accept4 provided.]) +fi + +# For better server messages, look for a way to stringize network addresses +# Check for inet_ntop +AC_CACHE_CHECK(for inet_ntop, ac_cv_inet_ntop, [ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <arpa/inet.h> +#include <netinet/in.h>]],[[ +sockaddr_in6 in6; +char buf[INET6_ADDRSTRLEN]; +const char *str = inet_ntop (AF_INET6, &in6, buf, sizeof (buf));]])], +[ac_cv_inet_ntop=yes], +[ac_cv_inet_ntop=no])]) +if test $ac_cv_inet_ntop = yes; then + AC_DEFINE(HAVE_INET_NTOP, 1, + [Define if inet_ntop provided.]) +fi + # Restore CFLAGS, CXXFLAGS from before the gcc_AC_NEED_DECLARATIONS tests. CFLAGS="$saved_CFLAGS" CXXFLAGS="$saved_CXXFLAGS" ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [10/32] config 2020-11-04 19:24 ` [10/32] config Nathan Sidwell @ 2020-11-06 17:56 ` Jeff Law 2020-11-06 18:47 ` Nathan Sidwell 0 siblings, 1 reply; 18+ messages in thread From: Jeff Law @ 2020-11-06 17:56 UTC (permalink / raw) To: Nathan Sidwell, GCC Patches, Jason Merrill, Richard Biener On 11/4/20 12:24 PM, Nathan Sidwell wrote: > I managed to flub sending this yesterday. > > This is the gcc/configure.ac changes (rebuild configure and > config.h.in after applying). Generally just checking for > network-related functionality. If it's not available, those features > of the module mapper will be unavailable. OK with a ChangeLog entry. jeff ps. Yes, I know this is out of order WRT the others in the series. It's not being threaded with the main patch series, so it stood out in my queue :-) ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [10/32] config 2020-11-06 17:56 ` Jeff Law @ 2020-11-06 18:47 ` Nathan Sidwell 0 siblings, 0 replies; 18+ messages in thread From: Nathan Sidwell @ 2020-11-06 18:47 UTC (permalink / raw) To: Jeff Law, GCC Patches, Jason Merrill, Richard Biener On 11/6/20 12:56 PM, Jeff Law wrote: > > On 11/4/20 12:24 PM, Nathan Sidwell wrote: >> I managed to flub sending this yesterday. >> >> This is the gcc/configure.ac changes (rebuild configure and >> config.h.in after applying). Generally just checking for >> network-related functionality. If it's not available, those features >> of the module mapper will be unavailable. > > OK with a ChangeLog entry. thanks. I should have mentioned the lack of changelogs on the patches. I will of course write them when committing, along with rationale that may have already been written in the emails nathan -- Nathan Sidwell ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell 2020-11-04 3:14 ` Hans-Peter Nilsson 2020-11-04 19:24 ` [10/32] config Nathan Sidwell @ 2020-11-05 7:08 ` Boris Kolpackov 2020-11-05 17:17 ` Nathan Sidwell 2020-11-05 13:33 ` Richard Biener ` (3 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Boris Kolpackov @ 2020-11-05 7:08 UTC (permalink / raw) To: gcc-patches Nathan Sidwell <nathan@acm.org> writes: > Here is the implementation of C++20 modules that I have been developing > on the devel/c++-modules branch over the last few years. Congrats on reaching this point. > It is not a complete implementation. The major missing pieces are: > > [...] Building C++20 modules requires non-trivial integration between the compiler and the build system. This patch set introduces a module mapper, a novel mechanism for such integration. Has it been tried by any non-toy build system and on any real project? If the answer is "no", then by shipping modules in GCC 11 are we making any likely changes in this area impossible or unnecessarily difficult? To give an example of such a likely change, currently the mapper has a notion of the central module repository directory that is used to resolve all the relative CMI (compiled module interface[1]) paths (even paths like ./foo.gcm). However, this model will not apply to all build systems. For example, in build2 (the build system I am involved with), there can be no such central place since a project can pull dependencies that are built in other places. Currently, the only way to disable this repository semantics is to use absolute CMI paths throughout. Also, FWIW, I've attempted such a build system integration with build2 back in 2019. While the overall idea of the module mapper worked well, I had to make substantial extensions in my own branch[2] of Nathan's c++-modules (also described in this[3] WG21 paper). AFAIK, these extensions haven't yet been considered for merging into c++-modules. [1] BTW, SG15 seems to have settled on the BMI (built module interface) term instead of CMI: https://github.com/cplusplus/modules-ecosystem-tr/blob/master/definitions.tex [2] https://github.com/boris-kolpackov/gcc-cxx-modules-ex The branch used to live on gcc.gnu.org/git but was dropped as part of the svn-to-git migration. [3] https://wg21.link/P1842 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-05 7:08 ` [00/32] C++ 20 Modules Boris Kolpackov @ 2020-11-05 17:17 ` Nathan Sidwell 2020-11-06 14:26 ` Boris Kolpackov 0 siblings, 1 reply; 18+ messages in thread From: Nathan Sidwell @ 2020-11-05 17:17 UTC (permalink / raw) To: gcc-patches On 11/5/20 2:08 AM, Boris Kolpackov wrote: > > To give an example of such a likely change, currently the mapper > has a notion of the central module repository directory that is > used to resolve all the relative CMI (compiled module interface[1]) > paths (even paths like ./foo.gcm). However, this model will not > apply to all build systems. For example, in build2 (the build > system I am involved with), there can be no such central place > since a project can pull dependencies that are built in other > places. Currently, the only way to disable this repository > semantics is to use absolute CMI paths throughout. The repo is providing a mechanism by which two processes can synchronize on a fixed location in the file system that is not /. You need such a capability as the file system is the bulk transfer mechanism. The alternatives are to always use absolute paths, or require the two ends of the communication to have the same working directory, or have one end of the communication to map file system locations into the other end's view. That'll probably require knowing some fixed point, which you have to figure out how synchronize, and we're back to defining more fixed points in the file system. The location of the repo is entirely under the mapper-server's control. Set it to / if you want. nathan -- Nathan Sidwell ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-05 17:17 ` Nathan Sidwell @ 2020-11-06 14:26 ` Boris Kolpackov 0 siblings, 0 replies; 18+ messages in thread From: Boris Kolpackov @ 2020-11-06 14:26 UTC (permalink / raw) To: gcc-patches Nathan Sidwell <nathan@acm.org> writes: > The repo is providing a mechanism by which two processes can synchronize > on a fixed location in the file system that is not /. You need such a > capability as the file system is the bulk transfer mechanism. > > The alternatives are to always use absolute paths, or require the two > ends of the communication to have the same working directory [...] Isn't the latter pretty much the norm for a build system that spawns the compiler? > The location of the repo is entirely under the mapper-server's control. > Set it to / if you want. Except that now all my relative paths are relative to / and not CWD. I find the current semantics heavily skewed towards the mapper operating outside the build system (like the builtin mapper) while I expect most non-toy/legacy build systems that wish to support C++ modules to have an integrated mapper (build2 certainly does it this way). I think there should at least be a way for the mapper to opt out of this repository functionality. Also, you mentioning synchronization reminded me of this part from Invoking GCC/C++ Modules: > When creating an output CMI any missing directory components are > created in a manner that is safe for concurrent builds creating > multiple, different, CMIs within a common subdirectory tree. > > CMI contents are written to a temporary file, which is then atomically > renamed. Observers will either see old contents (if there is an > existing file), or complete new contents. They will not observe the CMI > during its creation. This works atomically on POSIX but not on Windows. Also, from experience, on Windows creating a temporary file and then renaming it often causes more problems than creating it in the final destination from the outset. That's because on Windows you cannot (re)move a file that is open by another process. And there are various processes on Windows (anti-virus/ malware, indexers, IDEs, etc) that routinely scan the filesystem. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell ` (2 preceding siblings ...) 2020-11-05 7:08 ` [00/32] C++ 20 Modules Boris Kolpackov @ 2020-11-05 13:33 ` Richard Biener 2020-11-05 15:25 ` Nathan Sidwell 2020-11-05 14:30 ` David Malcolm ` (2 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Richard Biener @ 2020-11-05 13:33 UTC (permalink / raw) To: Nathan Sidwell; +Cc: GCC Patches, Jason Merrill On Tue, Nov 3, 2020 at 10:12 PM Nathan Sidwell <nathan@acm.org> wrote: > > Here is the implementation of C++20 modules that I have been developing > on the devel/c++-modules branch over the last few years. > > It is not a complete implementation. The major missing pieces are: > > 1) Private Module Fragment > The syntax is recognized and a sorry emitted > > 2) textually parsing a duplicate global module definition when a > definition has already been read from a header-unit. (the converse is > supported) > > 3) Complete type (in)visibility when provided in implementation > partitions that are imported into the primary interface. Users will see > the type as complete. > > 4) Internal linkage reachability rules from exported entities. We're > likely to accept ill-formed programs. This will not cause us to reject > well-formed programs. > > It is some 25K new lines of code (plus testsuite). There are about 48 > FIXMEs, nearly all in module.cc and the remaining in name-lookup.c. Of > these 12 are QOI comments. The remaining 36 probably fall into the > following categories: > 1/3 are repeating a FIXME mentioned elsewhere > 1/3 are already resolved, or have become irrelevant > 1/3 are defects (an above missing feature, a QOI issue, or something else). > > I believe there is time in stage 1 to address the most significant ones. > > I have bootstrapped and tested on: > x86_64-linux > aarch64-linux > powerpc8le-linux > powerpc8-aix > > Iain Sandoe has been regularly bootstrapping on x86_64-darwin. Joseph > Myers graciously built for i686-mingw host. We eventually ran into > compilation errors in the analyzer, as it seemed unprepared for an > IL32P64 host. > > I have attempted to break the patches apart into coherent pieces. But > they are somewhat interconnected. > > 01-langhooks.diff New langhooks > 02-cpp-line-maps.diff line-map pieces > 03-cpp-callbacks.diff Preprocessor callbacks > 04-cpp-lexer.diff There are new lexing requirements > 05-cpp-files.diff ... and file reading functionality > 06-cpp-macro.diff ... and macro expansion rules > 07-cpp-main.diff Main file reading > 08-cpp-mkdeps.diff Dependency generation > 09-core-diag.diff Core diagnostics > 10-core-config.diff Autoconf > 11-core-parmtime.diff parameters and time instrumentation > 12-core-doc.diff User documentation > 13-family-options.diff New options > 14-family-keywords.diff New keyword > 15-c++-lexer.diff New C++ lexing > 16-c++-infra.diff C++ infrastructure interfaces > 17-c++-infra-constexpr.diff new constexpr interfacing > 18-c++-infra-template.diff new template interfacing > 19-global-trees.diff Global tree ordering > 20-c++-dynctor.diff Dynamic constructor generation > 21-core-rawbits.diff Some core node bits > 22-c++-otherbits.diff Miscellaneous C++ changes > 23-libcody.diff Libcody > 24-c++-mapper.diff Module Mapper > 25-c++-modules.diff The Modules file > 26-c++-name-lookup.diff Name lookup changes > 27-c++-parser.diff Parser changes > 28-c++-langhooks.diff Lang hooks implementation > 29-c++-make.diff Makefile changes > 30-test-harness.diff Testharness changes > 31-testsuite.diff The testsuite > 32-aix-fixincl.diff AIX fixinclude > > Nearly all of this is within gcc/cp and libcpp/ directories. There are > a few changes to gcc/ and more changes in gcc/c-family/ It is likely > that this patchset will cause breakages, for that I apologize (please > try the modules branch and report early). > > My understanding is that a Global Maintainer's approval is needed for > such a large patchset. It's be good to get this in as early in stage 3 > as possible (if stage 1 expires). From a RM perspective this is OK if merging doesn't drag itself too far along. Expect build & install fallout from the more weird hosts & targets we have though. Moving the module mapper to a more easily (build-)testable location and to a place where host dependences can be more easily fixed & customized than in a bootstrapped directory would be nice. Thus, I think the module mapper should be in the toplevel somehow and independently buildable. Richard. > Definitely the most important event of today :) But don't forget to vote. > > nathan > > -- > Nathan Sidwell ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-05 13:33 ` Richard Biener @ 2020-11-05 15:25 ` Nathan Sidwell 2020-11-05 18:45 ` Richard Biener 0 siblings, 1 reply; 18+ messages in thread From: Nathan Sidwell @ 2020-11-05 15:25 UTC (permalink / raw) To: Richard Biener; +Cc: GCC Patches, Jason Merrill On 11/5/20 8:33 AM, Richard Biener wrote: > Moving the module mapper to a more easily (build-)testable location > and to a place where host dependences can be more easily fixed > & customized than in a bootstrapped directory would be nice. Thus, > I think the module mapper should be in the toplevel somehow > and independently buildable. Ok, that makes sense. It is where it is, because originally it was much more tightly coupled with cc1plus. The mapper-server and cc1plus do share some (maybe just one?) obj files. The in-process resolving and the server's default have the same functionality. For bootstrap cc1plus needs them, so I guess they should remain in gcc/cp/? The alternative would be to put them in new mapper-server dir and have it provide somekind of library that cc1plus could link with. However that'll probably mess up bootstrap. Having a --with-module-mapper configure option seems sensible. nathan -- Nathan Sidwell ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-05 15:25 ` Nathan Sidwell @ 2020-11-05 18:45 ` Richard Biener 0 siblings, 0 replies; 18+ messages in thread From: Richard Biener @ 2020-11-05 18:45 UTC (permalink / raw) To: Nathan Sidwell; +Cc: GCC Patches, Jason Merrill On November 5, 2020 4:25:23 PM GMT+01:00, Nathan Sidwell <nathan@acm.org> wrote: >On 11/5/20 8:33 AM, Richard Biener wrote: > >> Moving the module mapper to a more easily (build-)testable location >> and to a place where host dependences can be more easily fixed >> & customized than in a bootstrapped directory would be nice. Thus, >> I think the module mapper should be in the toplevel somehow >> and independently buildable. > >Ok, that makes sense. It is where it is, because originally it was >much >more tightly coupled with cc1plus. > >The mapper-server and cc1plus do share some (maybe just one?) obj >files. >The in-process resolving and the server's default have the same >functionality. > >For bootstrap cc1plus needs them, so I guess they should remain in >gcc/cp/? The alternative would be to put them in new mapper-server dir Guess some file you can include from the mapper dir (and thus build it twice) would work? I'm not suggesting another static library, if the maybe libiberty if the thing is remotely generic. >and have it provide somekind of library that cc1plus could link with. >However that'll probably mess up bootstrap. > >Having a --with-module-mapper configure option seems sensible. > >nathan ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell ` (3 preceding siblings ...) 2020-11-05 13:33 ` Richard Biener @ 2020-11-05 14:30 ` David Malcolm 2020-11-13 21:55 ` Mike Stump 2020-11-16 8:50 ` Boris Kolpackov 6 siblings, 0 replies; 18+ messages in thread From: David Malcolm @ 2020-11-05 14:30 UTC (permalink / raw) To: Nathan Sidwell, GCC Patches, Jason Merrill, Richard Biener; +Cc: Joseph Myers On Tue, 2020-11-03 at 16:12 -0500, Nathan Sidwell wrote: [...] [CCing Joseph] > I have bootstrapped and tested on: > x86_64-linux > aarch64-linux > powerpc8le-linux > powerpc8-aix > > Iain Sandoe has been regularly bootstrapping on x86_64- > darwin. Joseph > Myers graciously built for i686-mingw host. We eventually ran into > compilation errors in the analyzer, as it seemed unprepared for an > IL32P64 host. Sorry about the issues with the analyzer with IL32P64 hosts. I pushed Markus Böck's fix for PR 96608 to master on 2020-10-27 as 942086bf73ee2ba6cfd7fdacc552940048437a6e. Is anyone still seeing build issues with the analyzer? (and is there a machine in the compile farm I can test them out on?). Dave ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell ` (4 preceding siblings ...) 2020-11-05 14:30 ` David Malcolm @ 2020-11-13 21:55 ` Mike Stump 2020-11-16 8:50 ` Boris Kolpackov 6 siblings, 0 replies; 18+ messages in thread From: Mike Stump @ 2020-11-13 21:55 UTC (permalink / raw) To: Nathan Sidwell; +Cc: GCC Patches, Jason Merrill, Richard Biener On Nov 3, 2020, at 1:12 PM, Nathan Sidwell <nathan@acm.org> wrote: > > Here is the implementation of C++20 modules that I have been developing on the devel/c++-modules branch over the last few years. I was just recently wondering about this. Congratulations. > It is some 25K new lines of code (plus testsuite). > Definitely the most important event of today :) I agree. > don't forget to vote. I vote yes; although, I didn't know we had switched to voting patches in.\f\f :-) ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [00/32] C++ 20 Modules 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell ` (5 preceding siblings ...) 2020-11-13 21:55 ` Mike Stump @ 2020-11-16 8:50 ` Boris Kolpackov 6 siblings, 0 replies; 18+ messages in thread From: Boris Kolpackov @ 2020-11-16 8:50 UTC (permalink / raw) To: gcc-patches Nathan Sidwell <nathan@acm.org> writes: > It is not a complete implementation. The major missing pieces are: [...] Would now be a good time to start reporting bugs in bugzilla so that things don't fall through the cracks? Is so, would it make sense to add the "c++ modules" component to bugzilla? ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2020-11-16 8:50 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-11-03 21:12 [00/32] C++ 20 Modules Nathan Sidwell 2020-11-04 3:14 ` Hans-Peter Nilsson 2020-11-04 12:30 ` Nathan Sidwell 2020-11-04 13:50 ` Nathan Sidwell 2020-11-04 14:15 ` Jason Merrill 2020-11-04 15:06 ` Nathan Sidwell 2020-11-04 19:24 ` [10/32] config Nathan Sidwell 2020-11-06 17:56 ` Jeff Law 2020-11-06 18:47 ` Nathan Sidwell 2020-11-05 7:08 ` [00/32] C++ 20 Modules Boris Kolpackov 2020-11-05 17:17 ` Nathan Sidwell 2020-11-06 14:26 ` Boris Kolpackov 2020-11-05 13:33 ` Richard Biener 2020-11-05 15:25 ` Nathan Sidwell 2020-11-05 18:45 ` Richard Biener 2020-11-05 14:30 ` David Malcolm 2020-11-13 21:55 ` Mike Stump 2020-11-16 8:50 ` Boris Kolpackov
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).