From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1499) id C1793385840D; Sun, 19 Dec 2021 01:19:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C1793385840D Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Gaius Mulley To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/modula-2] Merge branch 'master' into devel/modula-2. X-Act-Checkin: gcc X-Git-Author: Gaius Mulley X-Git-Refname: refs/heads/devel/modula-2 X-Git-Oldrev: fd948137c552cfc06a023d6808ae9b58408760d5 X-Git-Newrev: c9afa63c3b00e843a703ae959000133a12fc4fcd Message-Id: <20211219011904.C1793385840D@sourceware.org> Date: Sun, 19 Dec 2021 01:19:04 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Dec 2021 01:19:04 -0000 https://gcc.gnu.org/g:c9afa63c3b00e843a703ae959000133a12fc4fcd commit c9afa63c3b00e843a703ae959000133a12fc4fcd Merge: fd948137c55 ca8c0408bef Author: Gaius Mulley Date: Sun Dec 19 01:03:26 2021 +0000 Merge branch 'master' into devel/modula-2. Diff: ChangeLog | 65 + MAINTAINERS | 1 + Makefile.in | 63 +- Makefile.tpl | 63 +- config.sub | 81 +- config/ChangeLog | 15 + config/gcc-plugin.m4 | 5 + configure | 100 +- configure.ac | 65 + contrib/ChangeLog | 4 + contrib/analyze_brprob_spec.py | 1 + gcc/ChangeLog | 1200 ++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 - gcc/ada/ChangeLog | 6 + gcc/analyzer/ChangeLog | 4 + gcc/analyzer/engine.cc | 2 +- gcc/attribs.c | 44 +- gcc/attribs.h | 2 + gcc/builtins.c | 26 +- gcc/builtins.def | 1 + gcc/c-family/ChangeLog | 25 + gcc/c-family/c-opts.c | 6 +- gcc/c-family/c-pragma.c | 2 +- gcc/c-family/known-headers.cc | 2 +- gcc/c-family/name-hint.h | 12 +- gcc/c/ChangeLog | 25 + gcc/c/c-decl.c | 4 +- gcc/c/c-parser.c | 11 +- gcc/common.opt | 12 + gcc/config.gcc | 4 +- gcc/config/aarch64/aarch64-arches.def | 1 + gcc/config/aarch64/aarch64-builtins.c | 130 + gcc/config/aarch64/aarch64-c.c | 2 + gcc/config/aarch64/aarch64-option-extensions.def | 3 + gcc/config/aarch64/aarch64-simd.md | 47 + gcc/config/aarch64/aarch64-sve-builtins.cc | 2 +- gcc/config/aarch64/aarch64.c | 178 +- gcc/config/aarch64/aarch64.h | 33 +- gcc/config/aarch64/aarch64.md | 136 +- gcc/config/aarch64/aarch64.opt | 12 + gcc/config/aarch64/arm_acle.h | 37 + gcc/config/arm/types.md | 1 + gcc/config/darwin-driver.c | 14 +- gcc/config/darwin.h | 5 - gcc/config/gcn/mkoffload.c | 51 +- gcc/config/i386/i386-builtins.c | 6 +- gcc/config/i386/i386-expand.c | 118 +- gcc/config/i386/i386.c | 30 +- gcc/config/i386/i386.h | 22 +- gcc/config/i386/i386.md | 58 +- gcc/config/i386/predicates.md | 13 + gcc/config/i386/sse.md | 81 +- gcc/config/i386/t-vxworks | 7 - gcc/config/nvptx/nvptx-c.c | 8 +- gcc/config/nvptx/nvptx-modes.def | 2 + gcc/config/nvptx/nvptx-opts.h | 8 +- gcc/config/nvptx/nvptx.c | 43 +- gcc/config/nvptx/nvptx.h | 4 + gcc/config/nvptx/nvptx.md | 109 + gcc/config/nvptx/nvptx.opt | 12 + gcc/config/rs6000/constraints.md | 12 + gcc/config/rs6000/darwin.h | 8 +- gcc/config/rs6000/mma.md | 38 +- gcc/config/rs6000/predicates.md | 85 + gcc/config/rs6000/rs6000-builtin.def | 3350 ---- ...{rs6000-builtin-new.def => rs6000-builtins.def} | 63 +- gcc/config/rs6000/rs6000-c.c | 2765 +-- gcc/config/rs6000/rs6000-call.c | 17831 ++++--------------- gcc/config/rs6000/rs6000-gen-builtins.c | 128 +- gcc/config/rs6000/rs6000-internal.h | 2 +- gcc/config/rs6000/rs6000-overload.def | 2 +- gcc/config/rs6000/rs6000-protos.h | 35 +- gcc/config/rs6000/rs6000.c | 846 +- gcc/config/rs6000/rs6000.h | 58 - gcc/config/rs6000/rs6000.md | 149 +- gcc/config/rs6000/rs6000.opt | 12 + gcc/config/rs6000/t-rs6000 | 7 +- gcc/config/rs6000/t-vxworks | 6 +- gcc/config/rs6000/vsx.md | 14 + gcc/config/rs6000/vxworks.h | 15 +- gcc/config/t-vxworks | 9 +- gcc/config/vx-common.h | 7 +- gcc/config/vxworks.h | 170 +- gcc/config/vxworks/_yvals.h | 6 +- gcc/configure | 7 +- gcc/configure.ac | 2 +- gcc/cp/ChangeLog | 256 + gcc/cp/call.c | 39 +- gcc/cp/class.c | 145 +- gcc/cp/constraint.cc | 29 +- gcc/cp/coroutines.cc | 18 +- gcc/cp/cp-objcp-common.c | 1 + gcc/cp/cp-tree.def | 5 + gcc/cp/cp-tree.h | 70 +- gcc/cp/cxx-pretty-print.c | 4 +- gcc/cp/decl.c | 80 +- gcc/cp/decl2.c | 5 +- gcc/cp/error.c | 2 +- gcc/cp/friend.c | 26 +- gcc/cp/lex.c | 2 +- gcc/cp/method.c | 12 +- gcc/cp/module.cc | 2 + gcc/cp/name-lookup.c | 143 +- gcc/cp/name-lookup.h | 3 - gcc/cp/parser.c | 85 +- gcc/cp/pt.c | 93 +- gcc/cp/ptree.c | 6 + gcc/cp/semantics.c | 51 +- gcc/cp/tree.c | 12 +- gcc/cp/typeck.c | 115 +- gcc/cp/typeck2.c | 2 +- gcc/d/ChangeLog | 45 + gcc/d/Make-lang.in | 1 + gcc/d/d-attribs.cc | 6 +- gcc/d/d-codegen.cc | 6 +- gcc/d/d-compiler.cc | 4 +- gcc/d/d-lang.cc | 15 +- gcc/d/d-port.cc | 2 + gcc/d/d-target.cc | 30 +- gcc/d/decl.cc | 5 +- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/VERSION | 2 +- gcc/d/dmd/access.d | 2 +- gcc/d/dmd/aggregate.d | 14 +- gcc/d/dmd/aliasthis.d | 4 +- gcc/d/dmd/arrayop.d | 79 +- gcc/d/dmd/astenums.d | 4 +- gcc/d/dmd/attrib.d | 11 +- gcc/d/dmd/blockexit.d | 20 +- gcc/d/dmd/builtin.d | 2 - gcc/d/dmd/canthrow.d | 2 +- gcc/d/dmd/clone.d | 8 +- gcc/d/dmd/common/outbuffer.h | 2 +- gcc/d/dmd/cond.d | 2 +- gcc/d/dmd/constfold.d | 186 +- gcc/d/dmd/cparse.d | 81 +- gcc/d/dmd/cppmangle.d | 2 +- gcc/d/dmd/ctfeexpr.d | 405 +- gcc/d/dmd/dcast.d | 176 +- gcc/d/dmd/declaration.d | 40 +- gcc/d/dmd/declaration.h | 9 +- gcc/d/dmd/dinterpret.d | 636 +- gcc/d/dmd/dmangle.d | 4 +- gcc/d/dmd/dstruct.d | 18 +- gcc/d/dmd/dsymbol.d | 71 +- gcc/d/dmd/dsymbol.h | 1 + gcc/d/dmd/dsymbolsem.d | 63 +- gcc/d/dmd/dtemplate.d | 151 +- gcc/d/dmd/dtoh.d | 11 +- gcc/d/dmd/escape.d | 65 +- gcc/d/dmd/expression.d | 786 +- gcc/d/dmd/expression.h | 28 +- gcc/d/dmd/expressionsem.d | 879 +- gcc/d/dmd/foreachvar.d | 2 +- gcc/d/dmd/func.d | 9 +- gcc/d/dmd/globals.d | 2 +- gcc/d/dmd/hdrgen.d | 195 +- gcc/d/dmd/iasmgcc.d | 4 +- gcc/d/dmd/id.d | 3 + gcc/d/dmd/importc.d | 93 +- gcc/d/dmd/initsem.d | 69 +- gcc/d/dmd/lambdacomp.d | 5 +- gcc/d/dmd/lexer.d | 40 +- gcc/d/dmd/mtype.d | 16 +- gcc/d/dmd/nogc.d | 6 +- gcc/d/dmd/ob.d | 6 +- gcc/d/dmd/objc.d | 12 +- gcc/d/dmd/opover.d | 341 +- gcc/d/dmd/optimize.d | 1568 +- gcc/d/dmd/parse.d | 361 +- gcc/d/dmd/printast.d | 34 +- gcc/d/dmd/root/dcompat.h | 3 + gcc/d/dmd/root/file.d | 18 +- gcc/d/dmd/root/optional.d | 86 + gcc/d/dmd/root/optional.h | 42 + gcc/d/dmd/safe.d | 4 +- gcc/d/dmd/semantic2.d | 18 +- gcc/d/dmd/semantic3.d | 16 +- gcc/d/dmd/sideeffect.d | 84 +- gcc/d/dmd/statementsem.d | 985 +- gcc/d/dmd/staticcond.d | 51 +- gcc/d/dmd/target.d | 7 +- gcc/d/dmd/target.h | 5 +- gcc/d/dmd/templateparamsem.d | 6 +- gcc/d/dmd/tokens.d | 232 +- gcc/d/dmd/tokens.h | 602 +- gcc/d/dmd/traits.d | 41 +- gcc/d/dmd/typesem.d | 157 +- gcc/d/expr.cc | 259 +- gcc/d/gdc.texi | 11 +- gcc/d/intrinsics.cc | 2 +- gcc/d/lang.opt | 8 +- gcc/d/runtime.def | 7 - gcc/d/toir.cc | 3 +- gcc/d/types.cc | 2 +- gcc/doc/extend.texi | 20 +- gcc/doc/invoke.texi | 38 +- gcc/doc/md.texi | 8 + gcc/dwarf2cfi.c | 58 +- gcc/fortran/ChangeLog | 48 + gcc/fortran/check.c | 35 +- gcc/fortran/expr.c | 9 +- gcc/fortran/frontend-passes.c | 19 +- gcc/fortran/openmp.c | 81 +- gcc/fortran/resolve.c | 3 +- gcc/fortran/simplify.c | 10 + gcc/fortran/trans-openmp.c | 211 +- gcc/gcc.c | 25 +- gcc/gimple-fold.c | 11 +- gcc/gimple-ssa-warn-access.cc | 4 + gcc/ginclude/stddef.h | 9 + gcc/ipa-fnsummary.c | 2 +- gcc/ipa-inline.c | 72 +- gcc/ipa-modref-tree.c | 14 +- gcc/ipa-modref-tree.h | 28 +- gcc/ipa-modref.c | 191 +- gcc/ipa-profile.c | 12 - gcc/ipa-pure-const.c | 22 + gcc/ira-costs.c | 22 +- gcc/jit/ChangeLog | 87 + gcc/jit/docs/topics/compatibility.rst | 18 + gcc/jit/docs/topics/expressions.rst | 231 + gcc/jit/jit-builtins.c | 10 +- gcc/jit/jit-common.h | 9 + gcc/jit/jit-playback.c | 224 +- gcc/jit/jit-playback.h | 32 +- gcc/jit/jit-recording.c | 532 +- gcc/jit/jit-recording.h | 124 +- gcc/jit/libgccjit++.h | 90 + gcc/jit/libgccjit.c | 436 +- gcc/jit/libgccjit.h | 188 + gcc/jit/libgccjit.map | 17 + gcc/lto-wrapper.c | 7 +- gcc/machmode.h | 2 +- gcc/optc-save-gen.awk | 2 +- gcc/opts.c | 10 + gcc/params.opt | 8 + gcc/pointer-query.cc | 33 +- gcc/poly-int.h | 2 +- gcc/ree.c | 35 +- gcc/regrename.c | 5 + gcc/selftest-run-tests.c | 1 - gcc/selftest.h | 1 - gcc/symtab.c | 2 +- gcc/system.h | 8 +- gcc/testsuite/ChangeLog | 538 + gcc/testsuite/c-c++-common/Wno-attributes-6.c | 16 + gcc/testsuite/g++.dg/abi/macro0.C | 2 +- gcc/testsuite/g++.dg/abi/no_unique_address6.C | 23 + gcc/testsuite/g++.dg/abi/nsdmi-aggr1.C | 39 + gcc/testsuite/g++.dg/abi/nsdmi-aggr1a.C | 35 + gcc/testsuite/g++.dg/concepts/diagnostic18.C | 4 +- gcc/testsuite/g++.dg/coroutines/pr100127.C | 65 + gcc/testsuite/g++.dg/coroutines/pr100772-a.C | 77 + gcc/testsuite/g++.dg/coroutines/pr100772-b.C | 93 + gcc/testsuite/g++.dg/coroutines/pr96517.C | 29 + gcc/testsuite/g++.dg/cpp0x/noexcept71.C | 31 + gcc/testsuite/g++.dg/cpp1y/decltype-auto5.C | 35 + gcc/testsuite/g++.dg/cpp23/auto-fncast10.C | 18 + gcc/testsuite/g++.dg/cpp23/auto-fncast11.C | 19 + gcc/testsuite/g++.dg/diagnostic/redeclaration-2.C | 19 + .../g++.dg/ext/builtin-dynamic-object-size1.C | 5 + .../g++.dg/ext/builtin-dynamic-object-size2.C | 5 + gcc/testsuite/g++.dg/gomp/pr103704.C | 19 + gcc/testsuite/g++.dg/lookup/operator-3-ops.h | 53 + gcc/testsuite/g++.dg/lookup/operator-3.C | 56 +- gcc/testsuite/g++.dg/lookup/operator-3a.C | 61 + gcc/testsuite/g++.dg/lookup/operator-4.C | 74 + gcc/testsuite/g++.dg/lookup/operator-4a.C | 76 + gcc/testsuite/g++.dg/lookup/operator-5.C | 74 + gcc/testsuite/g++.dg/lookup/operator-5a.C | 76 + gcc/testsuite/g++.dg/lookup/operator-6.C | 59 + gcc/testsuite/g++.dg/lookup/operator-7.C | 27 + gcc/testsuite/g++.dg/lookup/operator-8.C | 34 + gcc/testsuite/g++.dg/template/redecl4.C | 2 +- gcc/testsuite/g++.dg/warn/Wmismatched-tags-9.C | 32 + gcc/testsuite/g++.dg/warn/Wstringop-overflow-8.C | 10 + .../g++.target/i386/avx512vl-pr100738-1.C | 8 + gcc/testsuite/g++.target/i386/pr103696.C | 25 + gcc/testsuite/gcc.c-torture/compile/pr103513.c | 8 + gcc/testsuite/gcc.c-torture/compile/pr103682.c | 3 + gcc/testsuite/gcc.dg/20021029-1.c | 1 + gcc/testsuite/gcc.dg/Warray-bounds-48.c | 1 + gcc/testsuite/gcc.dg/Warray-bounds-91.c | 145 + gcc/testsuite/gcc.dg/Warray-bounds-92.c | 149 + gcc/testsuite/gcc.dg/Wstringop-overflow-58.c | 22 +- gcc/testsuite/gcc.dg/Wstringop-overflow-59.c | 18 +- gcc/testsuite/gcc.dg/Wstringop-overflow-85.c | 153 + gcc/testsuite/gcc.dg/Wstringop-overflow-86.c | 63 + gcc/testsuite/gcc.dg/Wstringop-overflow-87.c | 147 + gcc/testsuite/gcc.dg/analyzer/data-model-1.c | 1 + gcc/testsuite/gcc.dg/builtin-dynamic-alloc-size.c | 7 + .../gcc.dg/builtin-dynamic-object-size-1.c | 6 + .../gcc.dg/builtin-dynamic-object-size-10.c | 9 + .../gcc.dg/builtin-dynamic-object-size-11.c | 7 + .../gcc.dg/builtin-dynamic-object-size-12.c | 5 + .../gcc.dg/builtin-dynamic-object-size-13.c | 5 + .../gcc.dg/builtin-dynamic-object-size-14.c | 5 + .../gcc.dg/builtin-dynamic-object-size-15.c | 5 + .../gcc.dg/builtin-dynamic-object-size-16.c | 6 + .../gcc.dg/builtin-dynamic-object-size-17.c | 7 + .../gcc.dg/builtin-dynamic-object-size-18.c | 8 + .../gcc.dg/builtin-dynamic-object-size-19.c | 104 + .../gcc.dg/builtin-dynamic-object-size-2.c | 6 + .../gcc.dg/builtin-dynamic-object-size-3.c | 6 + .../gcc.dg/builtin-dynamic-object-size-4.c | 6 + .../gcc.dg/builtin-dynamic-object-size-5.c | 7 + .../gcc.dg/builtin-dynamic-object-size-6.c | 5 + .../gcc.dg/builtin-dynamic-object-size-7.c | 5 + .../gcc.dg/builtin-dynamic-object-size-8.c | 5 + .../gcc.dg/builtin-dynamic-object-size-9.c | 5 + gcc/testsuite/gcc.dg/builtin-object-size-1.c | 30 + gcc/testsuite/gcc.dg/builtin-object-size-16.c | 2 + gcc/testsuite/gcc.dg/builtin-object-size-17.c | 2 + gcc/testsuite/gcc.dg/builtin-object-size-2.c | 30 + gcc/testsuite/gcc.dg/builtin-object-size-3.c | 31 + gcc/testsuite/gcc.dg/builtin-object-size-4.c | 30 + gcc/testsuite/gcc.dg/builtin-object-size-5.c | 25 + gcc/testsuite/gcc.dg/darwin-minversion-link.c | 3 +- gcc/testsuite/gcc.dg/ipa/pr103601.c | 35 + gcc/testsuite/gcc.dg/pr100843.c | 8 + gcc/testsuite/gcc.dg/pr103587.c | 7 + .../gcc.dg/tree-ssa/builtin-snprintf-warn-6.c | 47 + gcc/testsuite/gcc.dg/uninit-38.c | 2 +- gcc/testsuite/gcc.dg/uninit-pr98578.c | 2 +- gcc/testsuite/gcc.dg/vect/pr103744-1.c | 20 + gcc/testsuite/gcc.dg/vect/pr103744-2.c | 31 + gcc/testsuite/gcc.dg/warn-strnlen-no-nul.c | 43 +- gcc/testsuite/gcc.target/aarch64/acle/ls64_asm.c | 58 + .../gcc.target/aarch64/acle/ls64_ld64b-2.c | 15 + .../gcc.target/aarch64/acle/ls64_ld64b-3.c | 15 + gcc/testsuite/gcc.target/aarch64/acle/ls64_ld64b.c | 15 + .../gcc.target/aarch64/acle/ls64_ld_st_o0.c | 30 + .../gcc.target/aarch64/acle/ls64_st64b-2.c | 15 + gcc/testsuite/gcc.target/aarch64/acle/ls64_st64b.c | 15 + .../gcc.target/aarch64/acle/ls64_st64bv-2.c | 15 + .../gcc.target/aarch64/acle/ls64_st64bv-3.c | 15 + .../gcc.target/aarch64/acle/ls64_st64bv.c | 15 + .../gcc.target/aarch64/acle/ls64_st64bv0-2.c | 15 + .../gcc.target/aarch64/acle/ls64_st64bv0-3.c | 15 + .../gcc.target/aarch64/acle/ls64_st64bv0.c | 15 + gcc/testsuite/gcc.target/aarch64/mops_1.c | 57 + gcc/testsuite/gcc.target/aarch64/mops_2.c | 57 + gcc/testsuite/gcc.target/aarch64/mops_3.c | 85 + gcc/testsuite/gcc.target/aarch64/pr100518.c | 9 + gcc/testsuite/gcc.target/aarch64/pr103094.c | 22 + gcc/testsuite/gcc.target/aarch64/pr103350-1.c | 48 + gcc/testsuite/gcc.target/aarch64/pr103350-2.c | 53 + gcc/testsuite/gcc.target/aarch64/pr103523.c | 8 + gcc/testsuite/gcc.target/aarch64/pr103741.c | 26 + .../gcc.target/aarch64/pragma_cpp_predefs_2.c | 14 + gcc/testsuite/gcc.target/i386/avx2-psraq-1.c | 2 +- gcc/testsuite/gcc.target/i386/m128-check.h | 8 +- gcc/testsuite/gcc.target/i386/pr101796-1.c | 20 + gcc/testsuite/gcc.target/i386/pr102812.c | 1 - gcc/testsuite/gcc.target/i386/pr103611-1.c | 30 + gcc/testsuite/gcc.target/i386/pr103611-2.c | 43 + gcc/testsuite/gcc.target/i386/pr32803.c | 10 + gcc/testsuite/gcc.target/i386/pr99531.c | 7 + gcc/testsuite/gcc.target/i386/sse2-psraq-1.c | 2 +- gcc/testsuite/gcc.target/i386/sse4_2-check.h | 1 + gcc/testsuite/gcc.target/nvptx/float16-1.c | 53 + gcc/testsuite/gcc.target/nvptx/float16-2.c | 20 + gcc/testsuite/gcc.target/nvptx/tanh-1.c | 9 + gcc/testsuite/gcc.target/powerpc/darn-0.c | 2 +- gcc/testsuite/gcc.target/powerpc/darn-1.c | 5 +- gcc/testsuite/gcc.target/powerpc/darn-2.c | 5 +- gcc/testsuite/gcc.target/powerpc/darn-3.c | 2 +- .../gcc.target/powerpc/float128-constant.c | 160 + .../gcc.target/powerpc/fold-vec-insert-float-p9.c | 4 +- .../gcc.target/powerpc/mma-builtin-10-pair.c | 21 + .../gcc.target/powerpc/mma-builtin-10-quad.c | 23 + gcc/testsuite/gcc.target/powerpc/pr103515.c | 30 + .../gcc.target/powerpc/pr86731-fwrapv-longlong.c | 9 +- gcc/testsuite/gcc.target/powerpc/pr97142.c | 2 +- gcc/testsuite/gcc.target/powerpc/pragma-optimize.c | 1 + .../gcc.target/powerpc/vec-splat-constant-df.c | 60 + .../gcc.target/powerpc/vec-splat-constant-sf.c | 60 + .../gcc.target/powerpc/vec-splat-constant-v16qi.c | 27 + .../gcc.target/powerpc/vec-splat-constant-v2df.c | 64 + .../gcc.target/powerpc/vec-splat-constant-v2di.c | 50 + .../gcc.target/powerpc/vec-splat-constant-v4sf.c | 67 + .../gcc.target/powerpc/vec-splat-constant-v4si.c | 51 + .../gcc.target/powerpc/vec-splat-constant-v8hi.c | 62 + .../gcc.target/powerpc/vec-splati-runnable.c | 4 +- .../gdc.test/compilable/covariant_override.d | 34 + gcc/testsuite/gdc.test/compilable/cppmangle.d | 371 +- gcc/testsuite/gdc.test/compilable/cppmangle3.d | 9 +- gcc/testsuite/gdc.test/compilable/emptygenmain.d | 3 + gcc/testsuite/gdc.test/compilable/issue21203.d | 210 + gcc/testsuite/gdc.test/compilable/issue21340.d | 38 + gcc/testsuite/gdc.test/compilable/noreturn1.d | 12 + gcc/testsuite/gdc.test/compilable/test10028.d | 7 + gcc/testsuite/gdc.test/compilable/test17870.d | 26 + gcc/testsuite/gdc.test/compilable/test19873.d | 37 + gcc/testsuite/gdc.test/compilable/test20236.d | 22 + gcc/testsuite/gdc.test/compilable/test20860.d | 16 + gcc/testsuite/gdc.test/compilable/test21073.d | 16 + gcc/testsuite/gdc.test/compilable/test21414.d | 13 + gcc/testsuite/gdc.test/compilable/test21719.d | 21 + gcc/testsuite/gdc.test/compilable/test22254.d | 19 + gcc/testsuite/gdc.test/compilable/test22510.d | 18 + gcc/testsuite/gdc.test/fail_compilation/b15875.d | 2 +- .../gdc.test/fail_compilation/covariant_override.d | 35 + .../gdc.test/fail_compilation/fail10964.d | 4 +- .../gdc.test/fail_compilation/fail10968.d | 38 +- gcc/testsuite/gdc.test/fail_compilation/fail116.d | 2 +- .../gdc.test/fail_compilation/fail16997.d | 38 +- .../gdc.test/fail_compilation/fail20616.d | 26 + .../gdc.test/fail_compilation/fail22529.d | 14 + .../gdc.test/fail_compilation/fail22570.d | 21 + gcc/testsuite/gdc.test/fail_compilation/fail809.d | 12 - gcc/testsuite/gdc.test/fail_compilation/fob2.d | 2 +- gcc/testsuite/gdc.test/fail_compilation/ice22516.d | 21 + .../gdc.test/fail_compilation/imports/test20023b.d | 10 + gcc/testsuite/gdc.test/fail_compilation/retscope.d | 8 +- .../gdc.test/fail_compilation/test15191.d | 42 +- .../gdc.test/fail_compilation/test17977.d | 20 + .../gdc.test/fail_compilation/test20023.d | 16 + .../gdc.test/fail_compilation/test22574.d | 12 + .../gdc.test/fail_compilation/test_switch_error.d | 101 + .../gdc.test/fail_compilation/traits_initSymbol.d | 63 + gcc/testsuite/gdc.test/runnable/b19294.d | 163 + gcc/testsuite/gdc.test/runnable/interpret.d | 23 + gcc/testsuite/gdc.test/runnable/mars1.d | 2 +- gcc/testsuite/gdc.test/runnable/test15862.d | 39 + gcc/testsuite/gdc.test/runnable/test16579.d | 57 + gcc/testsuite/gdc.test/runnable/test18054.d | 41 + gcc/testsuite/gdc.test/runnable/test21367.d | 47 + gcc/testsuite/gdc.test/runnable/test22227.d | 16 + gcc/testsuite/gdc.test/runnable/testOpApply.d | 31 +- gcc/testsuite/gdc.test/runnable/testcgelem.d | 2 +- gcc/testsuite/gdc.test/runnable/testconst.d | 8 +- .../gdc.test/runnable/traits_initSymbol.d | 119 + gcc/testsuite/gdc.test/runnable/xtest46.d | 7 +- gcc/testsuite/gdc.test/runnable_cxx/cppa.d | 59 +- .../gdc.test/runnable_cxx/extra-files/cpp7925.cpp | 103 + .../gdc.test/runnable_cxx/extra-files/cppb.cpp | 33 - gcc/testsuite/gdc.test/runnable_cxx/test7925.d | 151 + gcc/testsuite/gfortran.dg/date_and_time_1.f90 | 35 + gcc/testsuite/gfortran.dg/do_check_18.f90 | 27 + gcc/testsuite/gfortran.dg/do_check_19.f90 | 21 + .../goacc/privatization-1-compute-loop.f90 | 1 - .../gfortran.dg/goacc/privatization-1-compute.f90 | 1 - .../goacc/privatization-1-routine_gang-loop.f90 | 1 - .../goacc/privatization-1-routine_gang.f90 | 1 - gcc/testsuite/gfortran.dg/gomp/atomic-21.f90 | 93 + gcc/testsuite/gfortran.dg/gomp/atomic-25.f90 | 18 +- gcc/testsuite/gfortran.dg/gomp/atomic-26.f90 | 26 +- gcc/testsuite/gfortran.dg/illegal_boz_arg_2.f90 | 6 + gcc/testsuite/gfortran.dg/intrinsic_pack_6.f90 | 57 + gcc/testsuite/gfortran.dg/iostat_5.f90 | 16 + gcc/testsuite/gfortran.dg/move_alloc_8.f90 | 4 +- gcc/testsuite/gfortran.dg/pointer_intent_9.f90 | 33 + gcc/testsuite/gfortran.dg/pr103606.f90 | 12 + gcc/testsuite/gfortran.dg/pr91497.f90 | 23 +- gcc/testsuite/gfortran.dg/pr91497_2.f90 | 124 + gcc/testsuite/jit.dg/all-non-failing-tests.h | 46 + gcc/testsuite/jit.dg/jit.exp | 33 + gcc/testsuite/jit.dg/test-builtin-types.c | 43 + gcc/testsuite/jit.dg/test-error-bad-assignment.c | 78 + .../jit.dg/test-error-ctor-array-wrong-obj.c | 54 + .../jit.dg/test-error-ctor-struct-too-big.c | 71 + .../test-error-ctor-struct-wrong-field-obj.c | 86 + .../jit.dg/test-error-ctor-struct-wrong-type.c | 76 + .../jit.dg/test-error-ctor-struct-wrong-type2.c | 77 + .../test-error-ctor-union-wrong-field-name.c | 76 + .../jit.dg/test-error-global-already-init.c | 46 + .../jit.dg/test-error-global-common-section.c | 54 + .../test-error-global-init-too-small-array.c | 65 + .../jit.dg/test-error-global-lvalue-init.c | 60 + .../jit.dg/test-error-global-nonconst-init.c | 80 + gcc/testsuite/jit.dg/test-fuzzer.c | 8 +- gcc/testsuite/jit.dg/test-global-init-rvalue.c | 1643 ++ gcc/testsuite/jit.dg/test-link-section-assembler.c | 37 + gcc/testsuite/jit.dg/test-local-init-rvalue.c | 707 + gcc/testsuite/jit.dg/test-pr103562.c | 62 + gcc/testsuite/jit.dg/test-tls.c | 64 + gcc/testsuite/lib/fortran-torture.exp | 8 +- gcc/testsuite/lib/gcc-defs.exp | 4 +- gcc/testsuite/lib/gcc-dg.exp | 6 +- gcc/testsuite/lib/go-torture.exp | 8 +- gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm | 2 +- gcc/testsuite/obj-c++.dg/objc-gc-3.mm | 2 +- gcc/testsuite/objc.dg/objc-gc-4.m | 2 +- gcc/tree-core.h | 4 +- gcc/tree-object-size.c | 521 +- gcc/tree-object-size.h | 12 +- gcc/tree-ssa-alias.c | 36 + gcc/tree-ssa-ccp.c | 4 +- gcc/tree-vect-loop.c | 13 +- gcc/tree-vect-stmts.c | 10 +- gcc/ubsan.c | 5 +- gcc/unique-ptr-tests.cc | 236 - gcc/wide-int.h | 4 +- include/ChangeLog | 8 + include/gomp-constants.h | 2 +- include/unique-ptr.h | 405 - libcc1/ChangeLog | 13 + libcc1/configure | 5 + libcc1/libcp1plugin.cc | 4 +- libgcc/ChangeLog | 77 + libgcc/config.host | 17 +- libgcc/config/rs6000/t-darwin-ehs | 4 +- libgcc/config/rs6000/t-vxworks | 1 + libgcc/config/t-darwin | 2 +- libgcc/config/t-darwin-ehs | 3 + libgcc/config/t-slibgcc-darwin | 8 +- libgcc/config/t-vxcrtstuffS | 9 + libgcc/config/t-vxworks | 11 +- libgcc/config/t-vxworks7 | 22 - libgcc/config/vxcrtstuff.c | 88 +- libgfortran/ChangeLog | 26 + libgfortran/intrinsics/date_and_time.c | 24 +- libgfortran/intrinsics/pack_generic.c | 9 + libgfortran/intrinsics/time_1.h | 14 +- libgfortran/io/file_pos.c | 2 +- libgfortran/io/format.c | 9 +- libgfortran/io/list_read.c | 19 +- libgfortran/io/read.c | 9 +- libgfortran/io/write.c | 7 +- libgfortran/libgfortran.h | 15 + libgfortran/runtime/environ.c | 5 +- libgomp/ChangeLog | 18 + libgomp/libgomp.texi | 3 +- libgomp/plugin/plugin-gcn.c | 39 +- libgomp/testsuite/libgomp.fortran/atomic-19.f90 | 313 + libiberty/ChangeLog | 23 + libphobos/ChangeLog | 22 + libphobos/configure | 2 +- libphobos/configure.ac | 2 +- libphobos/libdruntime/MERGE | 2 +- libphobos/libdruntime/Makefile.am | 5 +- libphobos/libdruntime/Makefile.in | 12 +- libphobos/libdruntime/core/demangle.d | 8 +- .../libdruntime/core/internal/array/construction.d | 43 +- libphobos/libdruntime/core/internal/convert.d | 8 +- libphobos/libdruntime/core/internal/lifetime.d | 49 +- libphobos/libdruntime/core/internal/string.d | 2 +- libphobos/libdruntime/core/internal/traits.d | 40 +- libphobos/libdruntime/core/internal/utf.d | 10 +- libphobos/libdruntime/core/lifetime.d | 184 +- libphobos/libdruntime/core/memory.d | 21 +- libphobos/libdruntime/core/runtime.d | 2 +- libphobos/libdruntime/core/stdc/stdlib.d | 10 + libphobos/libdruntime/core/stdc/string.d | 28 +- libphobos/libdruntime/core/stdc/wchar_.d | 26 +- libphobos/libdruntime/core/stdcpp/exception.d | 2 + libphobos/libdruntime/core/sync/mutex.d | 4 +- libphobos/libdruntime/core/sys/bionic/string.d | 2 +- libphobos/libdruntime/core/sys/darwin/mach/nlist.d | 2 +- libphobos/libdruntime/core/sys/darwin/string.d | 2 +- .../libdruntime/core/sys/dragonflybsd/string.d | 2 +- libphobos/libdruntime/core/sys/freebsd/string.d | 2 +- libphobos/libdruntime/core/sys/linux/string.d | 2 +- libphobos/libdruntime/core/sys/linux/syscalls.d | 745 - libphobos/libdruntime/core/sys/linux/unistd.d | 26 +- libphobos/libdruntime/core/sys/netbsd/string.d | 2 +- libphobos/libdruntime/core/sys/openbsd/execinfo.d | 139 +- libphobos/libdruntime/core/sys/openbsd/string.d | 2 +- libphobos/libdruntime/core/sys/posix/signal.d | 26 +- libphobos/libdruntime/core/sys/posix/string.d | 8 +- libphobos/libdruntime/core/sys/posix/sys/socket.d | 2 +- libphobos/libdruntime/core/sys/posix/sys/stat.d | 46 +- libphobos/libdruntime/core/sys/solaris/sys/elf.d | 5 +- .../libdruntime/core/sys/solaris/sys/elf_386.d | 3 - .../libdruntime/core/sys/solaris/sys/elf_SPARC.d | 3 - libphobos/libdruntime/core/sys/windows/dbghelp.d | 8 +- libphobos/libdruntime/core/thread/osthread.d | 5 +- libphobos/libdruntime/core/thread/threadbase.d | 5 +- libphobos/libdruntime/object.d | 8 +- libphobos/libdruntime/rt/aaA.d | 4 +- libphobos/libdruntime/rt/cast_.d | 2 +- libphobos/libdruntime/rt/config.d | 3 + libphobos/libdruntime/rt/lifetime.d | 4 +- libphobos/libdruntime/rt/monitor_.d | 38 +- libphobos/src/MERGE | 2 +- libphobos/src/std/algorithm/iteration.d | 52 +- libphobos/src/std/algorithm/mutation.d | 29 +- libphobos/src/std/algorithm/searching.d | 12 +- libphobos/src/std/algorithm/sorting.d | 26 +- libphobos/src/std/concurrency.d | 32 +- libphobos/src/std/container/dlist.d | 6 + libphobos/src/std/container/rbtree.d | 2 +- libphobos/src/std/datetime/interval.d | 6 +- libphobos/src/std/datetime/systime.d | 27 +- libphobos/src/std/datetime/timezone.d | 77 +- libphobos/src/std/file.d | 28 +- libphobos/src/std/internal/cstring.d | 2 +- libphobos/src/std/internal/math/biguintcore.d | 12 +- libphobos/src/std/json.d | 10 +- libphobos/src/std/net/isemail.d | 2 +- libphobos/src/std/parallelism.d | 6 +- libphobos/src/std/process.d | 4 +- libphobos/src/std/random.d | 12 +- libphobos/src/std/regex/package.d | 16 +- libphobos/src/std/stdio.d | 2 +- libphobos/src/std/traits.d | 5 + libphobos/src/std/typecons.d | 35 +- libphobos/src/std/uni/package.d | 4 +- libphobos/src/std/utf.d | 12 +- libphobos/testsuite/libphobos.config/config.exp | 1 + libphobos/testsuite/libphobos.config/test22523.d | 11 + libphobos/testsuite/libphobos.traits/all_satisfy.d | 24 + libphobos/testsuite/libphobos.traits/traits.exp | 27 + libstdc++-v3/ChangeLog | 287 + libstdc++-v3/acinclude.m4 | 2 +- libstdc++-v3/config.h.in | 6 +- libstdc++-v3/config/abi/pre/gnu.ver | 27 +- libstdc++-v3/config/allocator/new_allocator_base.h | 11 +- libstdc++-v3/config/io/basic_file_stdio.cc | 48 +- .../config/locale/dragonfly/time_members.cc | 4 +- libstdc++-v3/config/locale/generic/time_members.cc | 4 +- libstdc++-v3/config/locale/gnu/time_members.cc | 4 +- libstdc++-v3/configure | 2 +- libstdc++-v3/doc/html/manual/api.html | 8 + libstdc++-v3/doc/html/manual/memory.html | 6 +- libstdc++-v3/doc/xml/manual/allocator.xml | 6 +- libstdc++-v3/doc/xml/manual/evolution.xml | 10 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/bits/atomic_base.h | 2 +- libstdc++-v3/include/bits/atomic_timed_wait.h | 4 + libstdc++-v3/include/bits/basic_string.h | 8 +- libstdc++-v3/include/bits/char_traits.h | 7 + libstdc++-v3/include/bits/cow_string.h | 9 +- libstdc++-v3/include/bits/ios_base.h | 9 + libstdc++-v3/include/bits/locale_facets_nonio.h | 6 + libstdc++-v3/include/bits/locale_facets_nonio.tcc | 265 +- libstdc++-v3/include/bits/new_allocator.h | 223 + libstdc++-v3/include/bits/ranges_base.h | 4 + libstdc++-v3/include/bits/regex.h | 20 +- libstdc++-v3/include/bits/regex.tcc | 9 +- libstdc++-v3/include/bits/regex_compiler.h | 40 +- libstdc++-v3/include/bits/regex_compiler.tcc | 122 +- libstdc++-v3/include/bits/regex_constants.h | 148 +- libstdc++-v3/include/bits/regex_error.h | 2 +- libstdc++-v3/include/bits/std_mutex.h | 6 +- libstdc++-v3/include/bits/stl_iterator.h | 82 +- libstdc++-v3/include/bits/stl_map.h | 49 +- libstdc++-v3/include/bits/stl_pair.h | 9 + libstdc++-v3/include/bits/uses_allocator_args.h | 6 - libstdc++-v3/include/debug/safe_iterator.h | 17 + libstdc++-v3/include/experimental/memory_resource | 4 +- libstdc++-v3/include/ext/new_allocator.h | 157 +- libstdc++-v3/include/ext/pointer.h | 50 +- libstdc++-v3/include/std/atomic | 8 +- libstdc++-v3/include/std/condition_variable | 2 +- libstdc++-v3/include/std/version | 1 + libstdc++-v3/libsupc++/exception_ptr.h | 41 +- libstdc++-v3/scripts/make_exports.pl | 6 +- libstdc++-v3/src/c++11/compatibility-condvar.cc | 31 + libstdc++-v3/src/c++11/condition_variable.cc | 2 +- libstdc++-v3/testsuite/17_intro/names.cc | 1 + .../testsuite/18_support/exception_ptr/103630.cc | 39 + .../testsuite/18_support/exception_ptr/64241.cc | 2 +- libstdc++-v3/testsuite/20_util/allocator/64135.cc | 45 + .../20_util/scoped_allocator/69293_neg.cc | 4 - .../testsuite/22_locale/time_get/get/char/3.cc | 356 + .../testsuite/22_locale/time_get/get/char/71367.cc | 67 + .../testsuite/22_locale/time_get/get/char/71557.cc | 96 + .../testsuite/22_locale/time_get/get/wchar_t/3.cc | 356 + .../22_locale/time_get/get/wchar_t/71367.cc | 67 + .../22_locale/time_get/get/wchar_t/71557.cc | 96 + .../22_locale/time_get/get_date/char/12791.cc | 4 +- .../22_locale/time_get/get_date/wchar_t/12791.cc | 4 +- .../22_locale/time_get/get_date/wchar_t/4.cc | 9 +- .../22_locale/time_get/get_time/char/2.cc | 33 +- .../22_locale/time_get/get_time/char/5.cc | 2 +- .../22_locale/time_get/get_time/wchar_t/2.cc | 33 +- .../22_locale/time_get/get_time/wchar_t/5.cc | 2 +- .../23_containers/map/modifiers/emplace/92300.cc | 36 + .../23_containers/map/modifiers/insert/92300.cc | 38 + .../24_iterators/normal_iterator/to_address.cc | 17 +- .../27_io/basic_ofstream/open/char/noreplace.cc | 29 + .../27_io/basic_ofstream/open/wchar_t/noreplace.cc | 29 + .../algorithms/regex_match/cstring_bracket_01.cc | 62 +- .../algorithms/regex_replace/char/103664.cc | 11 + .../testsuite/28_regex/constants/constexpr.cc | 2 - .../testsuite/28_regex/constants/error_type.cc | 2 +- .../28_regex/constants/match_flag_type.cc | 25 +- .../28_regex/constants/syntax_option_type.cc | 26 +- .../29_atomics/atomic/wait_notify/102994.cc | 19 + .../condition_variable/members/103382.cc | 66 + libstdc++-v3/testsuite/std/ranges/access/empty.cc | 10 + libstdc++-v3/testsuite/std/ranges/access/size.cc | 10 + zlib/ChangeLog | 11 + 688 files changed, 31677 insertions(+), 28871 deletions(-) diff --cc Makefile.in index 052ae79e5d1,79c77fccf0f..6cfa733378e --- a/Makefile.in +++ b/Makefile.in @@@ -450,8 -446,50 +450,51 @@@ CXXFLAGS = @CXXFLAGS LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates GOCFLAGS = $(CFLAGS) GDCFLAGS = $(CFLAGS) +GM2FLAGS = $(CFLAGS) + # Pass additional PGO and LTO compiler options to the PGO build. + BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) + override CFLAGS += $(BUILD_CFLAGS) + override CXXFLAGS += $(BUILD_CFLAGS) + + # Additional PGO and LTO compiler options to generate profiling data + # for the PGO build. + PGO_BUILD_GEN_FLAGS_TO_PASS = \ + PGO_BUILD_CFLAGS="@PGO_BUILD_GEN_CFLAGS@" \ + PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@" + + # NB: Filter out any compiler options which may fail PGO training runs. + PGO_BUILD_TRAINING_CFLAGS:= \ + $(filter-out -Werror=%,$(CFLAGS)) + PGO_BUILD_TRAINING_CXXFLAGS:=\ + $(filter-out -Werror=%,$(CXXFLAGS)) + PGO_BUILD_TRAINING_CFLAGS:= \ + $(filter-out -Wall,$(PGO_BUILD_TRAINING_CFLAGS)) + PGO_BUILD_TRAINING_CXXFLAGS:= \ + $(filter-out -Wall,$(PGO_BUILD_TRAINING_CXXFLAGS)) + PGO_BUILD_TRAINING_CFLAGS:= \ + $(filter-out -specs=%,$(PGO_BUILD_TRAINING_CFLAGS)) + PGO_BUILD_TRAINING_CXXFLAGS:= \ + $(filter-out -specs=%,$(PGO_BUILD_TRAINING_CXXFLAGS)) + PGO_BUILD_TRAINING_FLAGS_TO_PASS = \ + PGO_BUILD_TRAINING=yes \ + CFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CFLAGS)" \ + CXXFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CXXFLAGS)" + + # Ignore "make check" errors in PGO training runs. + PGO_BUILD_TRAINING_MFLAGS = -i + + # Additional PGO and LTO compiler options to use profiling data for the + # PGO build. + PGO_BUILD_USE_FLAGS_TO_PASS = \ + PGO_BUILD_CFLAGS="@PGO_BUILD_USE_CFLAGS@" \ + PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@" + + # PGO training targets for the PGO build. FIXME: Add gold tests to + # training. + PGO-TRAINING-TARGETS = binutils gas gdb ld sim + PGO_BUILD_TRAINING = $(addprefix maybe-check-,$(PGO-TRAINING-TARGETS)) + CREATE_GCOV = create_gcov TFLAGS = diff --cc Makefile.tpl index be3543b3d69,ef58fac2b9a..b5d1a8f6a79 --- a/Makefile.tpl +++ b/Makefile.tpl @@@ -453,8 -449,50 +453,51 @@@ CXXFLAGS = @CXXFLAGS LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates GOCFLAGS = $(CFLAGS) GDCFLAGS = $(CFLAGS) +GM2FLAGS = $(CFLAGS) + # Pass additional PGO and LTO compiler options to the PGO build. + BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) + override CFLAGS += $(BUILD_CFLAGS) + override CXXFLAGS += $(BUILD_CFLAGS) + + # Additional PGO and LTO compiler options to generate profiling data + # for the PGO build. + PGO_BUILD_GEN_FLAGS_TO_PASS = \ + PGO_BUILD_CFLAGS="@PGO_BUILD_GEN_CFLAGS@" \ + PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@" + + # NB: Filter out any compiler options which may fail PGO training runs. + PGO_BUILD_TRAINING_CFLAGS:= \ + $(filter-out -Werror=%,$(CFLAGS)) + PGO_BUILD_TRAINING_CXXFLAGS:=\ + $(filter-out -Werror=%,$(CXXFLAGS)) + PGO_BUILD_TRAINING_CFLAGS:= \ + $(filter-out -Wall,$(PGO_BUILD_TRAINING_CFLAGS)) + PGO_BUILD_TRAINING_CXXFLAGS:= \ + $(filter-out -Wall,$(PGO_BUILD_TRAINING_CXXFLAGS)) + PGO_BUILD_TRAINING_CFLAGS:= \ + $(filter-out -specs=%,$(PGO_BUILD_TRAINING_CFLAGS)) + PGO_BUILD_TRAINING_CXXFLAGS:= \ + $(filter-out -specs=%,$(PGO_BUILD_TRAINING_CXXFLAGS)) + PGO_BUILD_TRAINING_FLAGS_TO_PASS = \ + PGO_BUILD_TRAINING=yes \ + CFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CFLAGS)" \ + CXXFLAGS_FOR_TARGET="$(PGO_BUILD_TRAINING_CXXFLAGS)" + + # Ignore "make check" errors in PGO training runs. + PGO_BUILD_TRAINING_MFLAGS = -i + + # Additional PGO and LTO compiler options to use profiling data for the + # PGO build. + PGO_BUILD_USE_FLAGS_TO_PASS = \ + PGO_BUILD_CFLAGS="@PGO_BUILD_USE_CFLAGS@" \ + PGO_BUILD_LTO_CFLAGS="@PGO_BUILD_LTO_CFLAGS@" + + # PGO training targets for the PGO build. FIXME: Add gold tests to + # training. + PGO-TRAINING-TARGETS = binutils gas gdb ld sim + PGO_BUILD_TRAINING = $(addprefix maybe-check-,$(PGO-TRAINING-TARGETS)) + CREATE_GCOV = create_gcov TFLAGS =