commit d2253ba8453ef4b75576c4ca439bec39d4bf0253
2021-05-11  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (rpo_avail): Change type to
	eliminate_dom_walker *.
	(eliminate_with_rpo_vn): Adjust rpo_avail to make vn_valueize
	use the DOM walker availability.
	(vn_reference_fold_indirect): Use get_addr_base_and_unit_offset_1
	with vn_valueize as valueization callback.
	(vn_reference_maybe_forwprop_address): Likewise.
	* tree-dfa.c (get_addr_base_and_unit_offset_1): Also valueize
	array_ref_low_bound.
testsuite/
	* gnat.dg/opt83.adb: New testcase.

[T401-013: OOM compiling ada-mode with No_Abort_Statements]
(Installed in GCC 11 on 2020-05-08 - r11-199)

commit e33d00fa48ef9ad62319aba6b8c943ff005887ea
2021-04-14  Olivier Hainque  <hainque@adacore.com>

	Arrange for stdbool.h to pre-include yvals.h on VxWorks

	* config/vxworks/alt-stdbool.h: New file. #include
	yvals.h then stdbool-gcc.h.
	* config.gcc (*-*-vxworks*): Add vxworks/alt-stdbool.h to
	extra_headers.
	* config/t-vxworks: Arrange to install ginclude/stdbool.h as
	stdbool-gcc.h and vxworks/alt-stdbool.h as stdbool.h. Remove
	the addition of install-stdint.h to INSTALL_HEADERS.

[U408-046: fsf-testsuite-gcc aarch64-vx7r2 sve/acle/asm]
(To be submitted)

commit bd47efec8097c9979163f98c47ff4b7d67dfdbec
revert-by 3ac12834941a5e2ec8694b944eae9230b8825b9d
commit 9a00042580642265eb96ce290129718f914a3737
2020-12-18  Olivier Hainque  <hainque@adacore.com>

	* libstdc++-v3/testsuite/20_util/bind/ref_neg.cc: Tweak
	dg-prune-output regex for out-of-tree contexts.

[TC11-049: fsf-testuite-libstdcxx tests failures]
(Already in GCC 11)

commit c2ef0c166f1e8db9db7f58ba0de6c1cbfcde8e0f
2021-04-22  Frederic Konrad  <konrad@adacore.com>

	Disable shared libraries for mrtp/large

toplevel/
	* libtool.m4 (vxworks7*): Don't build shared libraries for the large
	multilib (revert e4563953201cfcd6997b9b5638c7251e84f76a9b)

libgcc/
	* config/t-slibgcc-vxworks7: Don't build the shared libraries
	nor use -fPIC for the large multilibs.

gcc/
	* configure: Regenerate
	* libatomic/configure: Regenerate
	* libbacktrace/configure: Regenerate
	* libcc1/configure: Regenerate
	* libffi/configure: Regenerate
	* libgfortran/configure: Regenerate
	* libgomp/configure: Regenerate
	* libhsail-rt/configure: Regenerate
	* libitm/configure: Regenerate
	* libobjc/configure: Regenerate
	* liboffloadmic/configure: Regenerate
	* liboffloadmic/plugin/configure: Regenerate
	* libphobos/configure: Regenerate
	* libquadmath/configure: Regenerate
	* libsanitizer/configure: Regenerate
	* libssp/configure: Regenerate
	* libstdc++-v3/configure: Regenerate
	* libvtv/configure: Regenerate
	* lto-plugin/configure: Regenerate
	* zlib/configure: Regenerate

[U418-006: cross-testsuite failure x86_64-vx7r2 rtp-large]
(To be submitted)

commit 41a0c0c5a0e8ffe332a9507f05868ec7484c3886
2021-03-29  Frederic Konrad  <konrad@adacore.com>

	* gcc/config/vxworks.h (VXWORKS_LIBGCC_SPEC): take in account the
	fact that some targets / configurations doesn't have libgcc_eh.a,
	ie: !CONFIG_DUAL_EXCEPTIONS && !ENABLE_SHARED_GCC.

[U325-008: straighten arm-vx7r2 eh configuration]
(To be submitted)

commit 4e25b6852ff3ed507f3ca43bc83370cc4c616ea4
2021-04-13  Olivier Hainque  <hainque@adacore.com>

	* config/aarch64/aarch64-vxworks.h (TARGET_OS_CPP_BUILTINS):
	Use VX_CPU_PREFIX in CPU definitions.

[U408-053: aarch64-vx7r2 fsf-testsuite-libstdcxx system_error]
(To be submitted)

commit 7d281debcc564be31405b988665cd24e93ddd983
2021-03-25  Olivier Hainque  <hainque@adacore.com>

	Backport from Richard Sandiford <richard.sandiford@arm.com>
	[PR92294]

	* alias.c (compare_base_symbol_refs): Take an extra parameter
	and add the distance between two symbols to it.  Enshrine in
	comments that -1 means "either 0 or 1, but we can't tell
	which at compile time".
	(memrefs_conflict_p): Update call accordingly.
	(rtx_equal_for_memref_p): Likewise.  Take the distance between symbols
	into account.

[U323-025: gcc.c-torture/execute/alias-2.c fails on aarch64-vx7r2]
(Already in GCC 11)

commit 1c39a92de0cb05a53bccabaf8550b72624d171a9
2021-03-29  Frederic Konrad  <konrad@adacore.com>

gcc/
	* config/vx-common.h: Define DWARF_UNWIND_INFO to 0 if
	ARM_UNWIND_INFO is defined.
	* config/vxworks.h (VX_CRTBEGIN_SPEC): Use vx_crtbegin.o when
	HAVE_INITFINI_ARRAY_SUPPORT is defined.
	(VX_CRTEND_SPEC): Likewise.

libgcc/
	* config.host (tmake_file): Include t-vxcrtstuff for any vxworks
	target.
	* config/vxcrtstuff.c: Condition the dwarf eh [de]registration code
	on (DWARF2_UNWIND_INFO && !__USING_SJLJ_EXCEPTIONS__).

[U325-008: straighten arm-vx7r2 eh configuration]
(To be submitted)

commit xxd55f6db6d0f41fd6265a52b2e09e50cd73aa1928
2021-01-14  Frederic Konrad  <konrad@adacore.com>

libgcc/
	* config.host (powerpc*-wrs-vxworks7*): Fix path to
	rs6000/t-ppc64-fp.

[U114-005: ppc*-vx*: undefined reference to __floatditf]
(To be submitted, as a separate part of commit d55f6db6d)

commit 17d248baf2ee0f44781b116311da824490d53b56
2020-11-06  Fred Konrad  <konrad@adacore.com>

	* config/rs6000/t-vxworks: drop the fPIC multilib.

[T406-008: shared lib suport on vx7]
(To be submitted)

commit 11f963ff668b8e6a0ef058e7a8caa1622db78ece
2020-12-09  Olivier Hainque  <hainque@adacore.com>

	Backport 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
	guality/redeclaration1.C test workaround

	* g++.dg/guality/redeclaration1.C (p): New variable.
	[...]

[TC04-026: fsf gxx: dg,guality,redeclaration1_C]
(Already in GCC 11)

commit 92984c3f3c1e8f300633e8ed48739cf906828f70
2020-12-18  Olivier Hainque  <hainque@adacore.com>

	Backport from mainline a3313a2214
	libstdc++: Disable failing tests [PR 97936]

[TC11-049: fsf-testuite-libstdcxx tests failing on x86_64-linux]
(Already in GCC 11)

revert-by 8e09e770d5c17d4278a91f306a033545711759a2
commit 2b83204c620afc618db7d9f1826aebb165366674
2020-12-08  Olivier Hainque  <hainque@adacore.com>

	Merge libsanitizer import from master.

[TC08-017: gcc-10 build failure on rh5]
(Already in GCC 11)

commit c4f905844d5fe313a6fe39debe35071c4f2e45d8
2019-12-03  Vasiliy Fofanov  <fofanov@adacore.com>

	* ginclude/float.h: For MinGW32 target, include system version as well.

[K426-014: gcc include files hiding mingw32 ones on windows]
[SC04-032: reassess  include_next float.h on Windows for K426_014]
(To be ported)

commit c6f47cb39abb49933efd69395f607aec867c898f
2020-12-08  Olivier Hainque  <hainque@adacore.com>

[TC08-017: gcc_build failure with gcc-10 on rh5]
(Obsolete for GCC 11)

commit d2253ba8453ef4b75576c4ca439bec39d4bf0253
2021-05-11  Alexandre Oliva  <oliva@adacore.com>

	Backport
	Fix availability compute during VN DOM elimination

[T401-013]
(Already in GCC 11)

commit d44b13ebd9d8ec88f79ee1a67c92cf50346f3077
2021-01-12  Olivier Hainque  <hainque@adacore.com>

libgcc/
	* config/i386/gthr-win32.h: Move #include <stdlib.h> at the top.

[U112-027: libclang build failure with gcc-10]
(To be submitted)

revert-by 9a2eed30896d6eb999aec5db4f8bdee389f66f14
commit 33a20f38a38d42f450f303c57f22a386be28fdb7
2020-12-07  Eric Botcazou  <ebotcazou@adacore.com>

	Stopgap for build breakage

[]
(Obsolete for GCC 11)

commit 0e6c678e52f5a813966564e8d5d0dde786649158
2020-12-02  Olivier Hainque  <hainque@adacore.com>

	libcpp/
	* mkdeps.c (munge): Do not escape ':'.

[TB21-003: gprbuild and escaped ':' in drive prefix]
(Obsolete for gcc-11; identical change pushed separately)

commit 085ce1f8569f8f1f6e368a17e67b3b0e97c3cb07
2021-04-02  Olivier Hainque  <hainque@adacore.com>

	* gcc.target/aarch64/pr94201.c: Add missing
	dg-require-effective-target-fpic.

[U319-048: aarch64-vx7r2 transition to gcc-10]
(To be submitted)

commit 85129ff10afef6c9686dd566b7e728bef7a2fdc3
2020-02-28  Doug Rupp  <rupp@adacore.com>

libstdc++-v3/
	* crossconfig.m4 (GLIBCXX_CROSSCONFIG) [*-vxworks*]: More
	missing float and long double math function tests.
	* configure: Rebuild.

[SC20-024: cxx-vx7: long double math functions multiply defined]
(Installed in GCC 11 on 2020-05-31 r11-759)

commit 88bbdbdd553df0e3a89ff947af7b9c742cb9fede
2021-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.c (add_subscript_info): Retrieve the bounds and the index
	type by means of the get_array_descr_info langhook, if it is set and
	returns true.  Remove obsolete code dealing with unnamed subtypes.

[T604-040: incorrect array bounds with -fgnat-encodings=minimal]
(Installed in GCC 12 on 2021-05-07 - r12-630)

commit a9e61a7afee2f749f0acb66122d8409efdb2dc77
2021-05-03  Alexandre Oliva  <oliva@adacore.com>

	* config/i386/vxworks.h (DBX_REGISTER_NUMBER): Make it unconditional.

[U426-046: x86-vx7r2/gcc-10 EH fails]
[U418-004: x86-vx7r2: transition to gcc-10]
(Installed in GCC 12 on 2021-05-04 - r12-452)

commit ee3fc6244b93b67091bcdcc0a0966caca2eabfa3
2021-05-01  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.c (loc_list_from_tree_1) <DECL>: During early DWARF, do not
	expand the VALUE_EXPR of variables put in the non-local frame.
	* gimplify.c (gimplify_type_sizes) <RECORD_TYPE>: If the type is not to
	be ignored for debug info, ensure its variable offsets are not either.

[T609-053: incorrect member location with -fgnat-encodings=minimal]
(Installed in GCC 12 on 2021-05-05 - r12-510)

commit d37c99b5052851ad73d8bab7b752bf413899b4be
2021-04-30  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-ssa-ifcombine.c: Include cfgloop.h.
	(operand_loop_depth): New function.
	(ifcombine_ifandif): When loop unswitching is enabled, do not merge
	conditions whose loop invariant status is different.

[T303-033: experiment for RFC fixed lower bound]
(To be submitted)

commit a3675a944ce57683dabf5043fb074180f37f6320
2021-04-29  Alexandre Oliva  <oliva@adacore.com>

	* config/i386/vxworks.h (VXWORKS_CONDITIONAL_PIC): Define.
	* config/vxworks.c (vxworks_override_options): Use it.

[U426-045: x86-vx7r2/gcc-10 rtp pic]
[U418-004: x86-vx7r2: transition to gcc-10]
(To be ported, or reverted)

commit 546028c409bcd6c5aa8ee3688fb2ca87093b7e24
2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.c (mem_loc_descriptor) <UDIV>: Fix typo.
	(typed_binop_from_tree): New function.
	(loc_list_from_tree_1) <EXACT_DIV_EXPR>: For an unsigned type,
	turn a divide by a power of 2 into a shift.
	<CEIL_DIV_EXPR>: For an unsigned type, use a signed divide if the
	size of the mode is lower than DWARF2_ADDR_SIZE; otherwise, do a
	typed divide by calling typed_binop_from_tree.

[T604-041: incorrect member location with -fgnat-encodings=minimal]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568916.html)

commit a4fab045815693556355387da8883b4830848c1f
2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.c (scompare_loc_descriptor): Fix head comment.
	(is_handled_procedure_type): Likewise.
	(struct loc_descr_context): Add strict_signedness field.
	(resolve_args_picking_1): Deal with DW_OP_[GNU_]deref_type,
	DW_OP_[GNU_]convert and DW_OP_[GNU_]reinterpret.
	(function_to_dwarf_procedure): Initialize strict_signedness field.
	(type_byte_size): Likewise.
	(field_byte_offset): Likewise.
	(gen_descr_array_type_die): Likewise.
	(gen_variant_part): Likewise.
	(loc_list_from_tree_1) <CALL_EXPR>: Tidy up and set strict_signedness
	to true when a context is present before evaluating the arguments.
	<COND_EXPR>: Do not generate a useless comparison with zero.
	When dereferencing an address, if strict_signedness is true and the
	type is small and signed, use DW_OP_deref_type to do the dereference
	and then DW_OP_convert to convert back to the generic type.

[T602-027: DWARF bug with variant part and -fgnat-encodings=minimal]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568731.html)

commit 036308b45215a2fd07a8d3aed6a39c2904bfd0a7
2021-04-23  Uros Bizjak  <ubizjak@gmail.com>

	PR target/100182
	* config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2):
	Copy operand 3 to operand 4.  Use sse_reg_operand
	as operand 3 predicate.
	(FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): Ditto.
	(LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto.
	(LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto.
	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2):
	Copy operand 1 to operand 0.
	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): Ditto.
	(LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto.
	(LDX_ATOMIC/LDX_ATOMIC FP store peephole2 with mem blockage): Ditto.
testsuite/
	* gcc.target/i386/pr100182.c: New test.
	* gcc.target/i386/pr71245-1.c (dg-final): Xfail scan-assembler-not.
	* gcc.target/i386/pr71245-2.c (dg-final): Ditto.

[U423-009: x86-vx7r2/gcc-10 x87 atomic<double>::load() malfunctions]
[U418-004: x86-vx7r2: transition to gcc-10]
(Installed in GCC 12 on 2021-04-23 - r12-91)

commit 2202cd97732a04ea837ddffb3ae3552b14fece81
2021-04-27  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/i386/pr89676.c: Add -fomit-frame-pointer.

[U423-002: x86-vx7r2/gcc-10 pr89676 needs -fomit-frame-pointer]
[U418-004: x86-vx7r2: transition to gcc-10]
(Installed in GCC 12 on 2021-04-28 - r12-224)

commit e25f391d233459c88da1fcbfd30d3bf2a49ac1c6
commit d5df7cf3a709b66a5b92fb52c19014c8f065d580
2021-04-29  Alexandre Oliva  <oliva@adacore.com>

	* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): Rename to...
	(ASM_OUTPUT_MAX_SKIP_ALIGN): ... this.  Enclose in do/while(0).
	* config/i386/i386.c: Adjust.
	* config/i386/i386.md: Adjust.
	* config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Drop.
	* config/i386/dragonfly.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/gnu-user.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/iamcu.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/lynx.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/netbsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/openbsdelf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
	(ASM_OUTPUT_MAX_SKIP_PAD): Likewise.

[U421-016: x86-vx7r2/gcc-10 .align vs .p2align]
[U418-004: x86-vx7r2: transition to gcc-10]
(Installed in GCC 12 on 2021-04-29 - r12-305)

commit 26a2bf990fda51fda6146df86d7e4ee415948607
2021-04-27  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/debug/dwarf2/inline5.c: Adjust pattern to avoid
	mismatch when asm comments start with "/ ".

[U421-007: x86-vx7r2/gcc-10 debug/dwarf2/inline5.c unexpected DIE]
[U418-004: x86-vx7r2: transition to gcc-10]
(Installed in GCC 12 on 2021-04-28 - r12-223)

commit bb13d61e6cfb7c3b2bb75ac6fa45391ac099a0e6
commit 97f0e82688f00572067f440ad160133288e339de
2021-04-16  Eric Botcazou  <ebotcazou@adacore.com>

	* config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with
	frames larger than the SEH maximum frame size.

[U416-001: internal error with huge stack frame on 64-bit Windows]
(Installed in GCC 10 on 2021-04-19 - r10-9714)

commit e4563953201cfcd6997b9b5638c7251e84f76a9b
2021-04-13  Douglas B Rupp  <rupp@adacore.com>

	* libtool.m4 (vxworks7*): Remove rtp-large exclusion.
	* gcc/configure: Regenerate
	* libatomic/configure: Regenerate
	* libbacktrace/configure: Regenerate
	* libcc1/configure: Regenerate
	* libffi/configure: Regenerate
	* libgfortran/configure: Regenerate
	* libgomp/configure: Regenerate
	* libhsail-rt/configure: Regenerate
	* libitm/configure: Regenerate
	* libobjc/configure: Regenerate
	* liboffloadmic/configure: Regenerate
	* liboffloadmic/plugin/configure: Regenerate
	* libphobos/configure: Regenerate
	* libquadmath/configure: Regenerate
	* libsanitizer/configure: Regenerate
	* libssp/configure: Regenerate
	* libstdc++-v3/configure: Regenerate
	* libvtv/configure: Regenerate
	* lto-plugin/configure: Regenerate
	* zlib/configure: Regenerate

[TC08-032: vx7 shared libs - x86_64-vx7r2 remove rtp-large exclusion]
(To be submitted)

commit e52ef83e687d841d1e18a76e21f1d1bf3812fab5
2021-04-12  Douglas B Rupp  <rupp@adacore.com>

gcc/
	* config.gcc: Add a new case statement that will add t-slibgcc
	for targets supporting shared libs. Powerpc64-vx7r2 bits moved
	here.
libgcc/
	* config.host (x86_64-wrs-vxworks7r*): Add to shared lib case.

[TC08-032: vx7 shared libs - x86_64-vx7r2]
(To be submitted)

commit 23784306bb4a11b8c104bb51e3ef6ac5e31d77af
2021-04-12  Douglas B Rupp  <rupp@adacore.com>

	* libtool.m4 (vxworks7*): Enable shared libs for x86_64 rtp
	excluding rtp-large.
	* gcc/configure: Regenerate
	* libatomic/configure: Regenerate
	* libbacktrace/configure: Regenerate
	* libcc1/configure: Regenerate
	* libffi/configure: Regenerate
	* libgfortran/configure: Regenerate
	* libgomp/configure: Regenerate
	* libhsail-rt/configure: Regenerate
	* libitm/configure: Regenerate
	* libobjc/configure: Regenerate
	* liboffloadmic/configure: Regenerate
	* liboffloadmic/plugin/configure: Regenerate
	* libphobos/configure: Regenerate
	* libquadmath/configure: Regenerate
	* libsanitizer/configure: Regenerate
	* libssp/configure: Regenerate
	* libstdc++-v3/configure: Regenerate
	* libvtv/configure: Regenerate
	* lto-plugin/configure: Regenerate
	* zlib/configure: Regenerate

[TC08-032: vx7 shared libs - x86_64-vx7r2]
(To be submitted)

commit fa99037025d63ac12bb6ded54e41a2c0c377b51a
2021-04-12  Douglas B Rupp  <rupp@adacore.com>

	* config/vxworks.h (VXWORKS_BASE_LINK_SPEC): New spec.
	(VXWORKS_EXTRA_LINK_SPEC): New spec for old and new VxWorks.
	(VXWORKS_LINK_SPEC): Combo of BASE and EXTRA specs.

[TC08-032: vx7 shared libs - x86_64-vx7r2]
(To be submitted)

commit 88488664234c0bdddf9344275f7dfebe267a7a5e
commit 1278e3feb6764ce7b55e251ed66298018f6f4c16
commit eb31372a01338ab3b281b790e6fb17ea70c2448
2021-04-12  Eric Botcazou  <ebotcazou@adacore.com>

	* config/i386/i386.c (legitimize_pic_address): Adjust comment and
	use the REG argument on the CM_LARGE_PIC code path as well.
	* config/i386/predicates.md (gotoff_operand): Do not treat VxWorks
	specially with the large code models.

[U401-063: internal error on x86-64/VxWorks with -fPIC -mcmodel=large]
(To be submitted)

commit 5683798723f72f42e43e3ae0e3bf760a02a321e3
commit 72dfc1b193e24e6709cf97ca4650ee90db5084a1
2021-04-09  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-inline.c (insert_debug_decl_map): Delete.
	(copy_debug_stmt): Minor tweak.
	(setup_one_parameter): Do not use a variable if the value is either
	a read-only DECL or a non-addressable local variable in the caller.
	In this case, insert the debug-only variable in the map manually.
	(expand_call_inline): Do not generate a CLOBBER for these values.

[U401-039: investigate optimization of calls to Valid_Value]
(Installed in GCC 12 on 2021-05-04 - r12-434)

commit a5c71ab2e2df64b88a09a19909871dbc09f5bf30
2021-04-08  Douglas B Rupp  <rupp@adacore.com>

	* config/vxworks.h (LINK_SPEC): Remove %(link_target).
	Change %{v:-v} to %{v:-V}

[TC08-032: vx7 shared libs - x86_64-vx7r2]
(To be submitted)

commit a1f614e8e0d272576bb2106a14dfaf275ae7aa9e
2021-04-07  Eric Botcazou  <ebotcazou@adacore.com>

gnattools/
	* Makefile.in (GENERATED_FILES_FOR_TOOLS): New variable.
	($(GCC_DIR)/stamp-tools): Walk it for the first copy operation.

[P511-045: tech debt: variable-sized nodes]
(Installed in GCC 12 on 2021-05-07 - r12-599)

commit 48cecae69df4acd0f0d7acabd9549f8a7f481de2
2021-04-03  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* g++.dg/pr94314-3.C: Zero-initialize main loop counter.

[U402-004: ppc-vx7r2/gcc-10 g++_dg,pr94314-3_C times out on rtp]
[U331-022: ppc-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-04-03 - r11-7977)

commit 894141036199d4e5e2d78409492704be54e1c18d
2021-04-03  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/powerpc/byte-in-set-2.c: Turn implicit function
	declarations into errors, and accept them as alternate error
	messages for the tested builtin.
	* gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise.  Drop
	return to avoid conversion warning.

[U402-003: ppc-vx7r2/gcc-10 undefined vs unavailable builtins]
[U331-022: ppc-vx7r2: transition to gcc-10]
(Already fixed in GCC 11 - r11-4079 and -4484)

commit c44a6812ac3b423ed239b7a5cebe090a0522ec13
2021-04-02  Eric Botcazou  <ebotcazou@adacore.com>

c-family/
	* c-ada-spec.c (is_simple_enum): Minor tweaks.
	(dump_ada_enum_type): Add TYPE and PARENT parameters.  For non-simple
	enumeral types, use again the type name for the enumeration constants.
	(dump_ada_node): Adjust call to dump_ada_enum_type.
	(dump_nested_type): Likewise.

[U402-028: use type name for enum constants with -fdump-ada-spec]
(Installed in GCC 11 on 2021-04-05 - r11-7991)

commit a0055f2697666f85108f13d499d622adace3c47c
2021-04-02  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc_target/powerpc/bfp/scalar-extract-exp-5.c: Add
	-mfloat128, and disregard warning about it.
	* gcc_target/powerpc/bfp/scalar-extract-sig-5.c: Likewise.
	* gcc_target/powerpc/bfp/scalar-insert-exp-11.c: Likewise.
	* gcc_target/powerpc/bfp/scalar-insert-exp-8.c: Likewise.
	* gcc_target/powerpc/bfp/scalar-test-data-class-11.c: Likewise.
	* gcc_target/powerpc/bfp/scalar-test-neg-5.c: Likewise.

[U402-002: ppc-vx7r2/gcc-10 tests missing ieee128 type]
[U331-022: ppc-vx7r2: transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-April/567630.html)

commit 97d119625e3c0c29eaa138445b90557e24b88e35
2021-04-02  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/ipa/ipa-sra-19.c: Extend -Wno-psabi to ppc-vx7r2.

[U402-001: ppc-vx7r2/gcc-10 ipa-sra-19 -Wpsabi needs silencing]
[U331-022: ppc-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-04-03 - r11-7976)

commit fbf26c2c25e770a7c5c6afe2b9537575411bbd05
2021-03-26  Eric Botcazou  <ebotcazou@adacore.com>

libcpp/
	* include/line-map.h (IS_MACRO_LOC): Delete.
	* line-map.c (linemap_location_from_macro_expansion_p): Test
	against the LINEMAPS_MACRO_LOWEST_LOCATION of the linemap.

[U322-029: internal error on very large Ada file]
(Installed in GCC 10 on 2021-04-13 - r10-9701)

commit 0f5fa24fe0ac62046c0ab586e323b612797dcf66
2021-03-26  Alexandre Oliva  <oliva@adacore.com>

libstdc++-v3/
	* testsuite/30_threads/future/members/poll.cc: Use faster
	after-ready call in the calibration loop.  Tolerate higher
	overheads.

[TC24-013: vx7r2/libstdc++-10 30_threads/future/members/poll.cc]
[U311-018: x86_64-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-03-31 - r11-7937)

commit 59e1681d03b620ce994f7671047bd45650cf61ac
2021-03-26  Alexandre Oliva  <oliva@adacore.com>

	mainly by Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/
	* src/c++11/random.cc (USE_LCG): Define when a pseudo-random
	fallback is needed.
	[USE_LCG] (lcg_type, __lcg): New typedef and callback.
	(random_device::_M_init): Add 'prng' and 'all' enumerators.
	Replace switch with fallthrough with a series of 'if' statements.
	[USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid
	checks fail.
	(random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng"
	token.
	(random_device::_M_getval): Check for callback unconditionally
	and always pass _M_file pointer.
	* testsuite/26_numerics/random/random_device/85494.cc: Remove
	effective-target check. Use new random_device_available helper.
	* testsuite/26_numerics/random/random_device/94087.cc: Likewise.
	* testsuite/26_numerics/random/random_device/cons/default-cow.cc:
	Remove effective-target check.
	* testsuite/26_numerics/random/random_device/cons/default.cc:
	Likewise.
	* testsuite/26_numerics/random/random_device/cons/token.cc: Use
	new random_device_available helper. Test "prng" token.
	* testsuite/util/testsuite_random.h (random_device_available):
	New helper function.

[U319-005: x86_64-vx7r2/gcc-10  std::random_device("default") raises]
[U311-018: x86_64-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-03-27 - r11-7867)

commit ed5cf9a4a7326c5140e2b57055f67c38b686339d
2021-03-24  Eric Botcazou  <ebotcazou@adacore.com>

	* config/aarch64/aarch64-linux.h (STACK_CHECK_MOVING_SP): Define to 1.
	* config/aarch64/aarch64-protos.h (do_stack_clash_protection): Declare.
	* config/aarch64/aarch64.h (STACK_DYNAMIC_OFFSET): Replace
	flag_stack_clash_protection with call to do_stack_clash_protection.
	* config/aarch64/aarch64.c (aarch64_output_probe_stack_range): Likewise.
	(aarch64_output_probe_sve_stack_clash): Likewise.
	(aarch64_get_separate_components): Likewise.
	(aarch64_allocate_and_probe_stack_space): Likewise.
	(aarch64_expand_prologue): Likewise.  And do not check the stack prior
	to establishing the frame if STACK_CHECK_MOVING_SP is 1.
	(aarch64_expand_epilogue): Likewise.

[S424-029: investigate more robust version of -fstack-check]
(To be submitted)

commit 30739532b726b12b45f9f07752c1f9680e428f75
2021-03-24  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/i386/sse2-mmx-maskmovq.c: Require
	sysconf-supporting x86 target triplets.

[U319-057: x86_64-vx7r2/gcc-10 sysconf(_SC_PAGESIZE) not available]
[U311-018: x86_64-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-03-24 - r11-7813 - with improvements)

commit cc0cfbd54f01e5de5ae1ab30d5b5a982bd094edd
2021-03-24  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/i386/pr97313.c: Require effective target feature pie.
	* g++.target/i386/pr94185.C: Likewise.

[U319-056: x86_64-vx7r2/gcc-10 some PIE tests missing pic requirement]
[U311-018: x86_64-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-03-24 - r11-7812)

commit cc8c55d083c5e6baad2d2c90adbf2ec1222b12ae
2021-03-24  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/i386/funcspec-2.c: Tighten regexps to avoid false
	positives with -mcmodel=large.
	* gcc.target/i386/funcspec-3.c: Likewise.

[U319-002: x86_64-vx7r2/gcc-10 suspicious funcspec results]
[U311-018: x86_64-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-03-24 - r11-7811)

commit 69f3b587dd8951a3ee32a264f12029d79bbe0a29
2021-03-24  Alexandre Oliva  <oliva@adacore.com>

	* config/i386/predicates.md (reg_or_const_vec_operand): New.
	* config/i386/sse.md (ssse3_pshufbv8qi3): Add an expander for
	the now *-prefixed insn_and_split, turn the splitter const vec
	into an input for the insn, making it an ignored immediate for
	non-split cases, and loaded into the scratch register
	otherwise.
testsuite/
	* gcc.target/i386/pr94467-3.c: New.

[U318-024: x86_64-vx7r2/gcc-10 unrecognized pshufb with -mcmodel=large]
[U311-018: x86_64-vx7r2: transition to gcc-10]
(Installed in GCC 11 on 2021-03-24 - r11-7810)

commit 8d66c1432260d382887fe6b08dc4e654269d8177
2019-08-15  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/stack-usage-1.c: Adjust SIZE for x86_64 _WRS_KERNEL's
	-mno-red-zone implied by AdaCore's internal specs configuration.

[U311-018: x86_64-vx7r2: transition to gcc-10]
[S810-007: x86_64-vx7r2: -fstack-usage test fails]
(Required by internal configuration file, not to be submitted)

commit 827a870694e3f3896d4f0fed50160cfc5da48742
2021-03-24  Pat Bernardi  <bernardi@adacore.com>

	* config/arm/t-adacore-multilib: Updated multilib-list @file.
	Added multilib mappings for armv8.1-m.

[U218-007: Add Armv8-M support to t-adacore-multilib]
(To be ported, internal configuration file not to be submitted)

commit 139973a7d48f035c32acba962afcdb3d371cffac
2021-03-23  Pat Bernardi  <bernardi@adacore.com>

        Backport from GCC head [c19f95fb1b8]
testsuite/
	* gcc.target/riscv/read-thread-pointer.c: Fix escaping on
	regular expression.

[U322-051: riscv fsf-testsuite-gcc test failure]
(Already in GCC 11)

revert-by 31c512bc887b1bf5670cb064d505b3790b4b233f
commit 561377df6c1d0cccdd739b3290db2e23285bf1e4
2021-03-21  Eric Botcazou  <ebotcazou@adacore.com>

	* config/i386/i386.c (ix86_expand_prologue): Do not check the stack
	when the frame to be allocated is not larger than the probe interval
	and there is no dynamic allocation in the STACK_CHECK_MOVING_SP case.

[U314-001: query on performance regression of -fstack-check]
(Obsolete for GCC 11)

commit d83295f886788a1b9c81ae2133af1461a1b878ef
2021-03-19  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from GCC mainline r11-5705
	* function.c (use_register_for_decl): Also return true for a result
	if cfun->tail_call_marked is true.

[U319-021: internal error on thunk returning variant record type]
(Already in GCC 11)

commit f6d987cef3e11a0ecc347d6ae8d53e6bb66c2913
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

	PR testsuite/99371
testsuite/
	* gcc.target/powerpc/pr46728-10.c: Drop explicit
	-mpowerpc-gpopt in favor of dg-require-effective-target sqrt_insn.
	* gcc.target/powerpc/pr46728-11.c: Likewise.
	* gcc.target/powerpc/pr46728-13.c: Likewise.
	* gcc.target/powerpc/pr46728-14.c: Likewise.
	* gcc.target/powerpc/pr46728-15.c: Likewise.
	* gcc.target/powerpc/recip-7.c: Likewise.
	* gcc.target/powerpc/pr46728-1.c: Drop explicit
	-mpowerpc-gpopt in favor of dg-add-options sqrt_insn.
	* gcc.target/powerpc/pr46728-2.c: Likewise.
	* gcc.target/powerpc/pr46728-3.c: Likewise.
	* gcc.target/powerpc/pr46728-4.c: Likewise.
	* gcc.target/powerpc/pr46728-5.c: Likewise.
	* gcc.target/powerpc/pr46728-7.c: Likewise.
	* gcc.target/powerpc/pr46728-8.c: Likewise.

[U302-010: ppc64-vx7r2/gcc-10 sigill at fsqrt with -mpowerpc-gpopt]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566617.html)

commit 81282e4dc7a8e0c66dc69bc5d0f50fa071e4cdcc
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* lib/target-supports.exp (check_vect_support_and_set_flags):
	Decay to link rather than compile.

[U305-005: ppc64-vx7r2/gcc-10 pr95401.cc missing dg-do directive]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566588.html)

commit 99f1be0be85df52a179534aefe84918fcefe1501
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/powerpc/prefix-ds-dq.c: Enable __float128,
	disable -mstrict-align.

[U305-004: ppc64-vx7r2/gcc-10 missing -mfloat128 in prefix-ds-dq.c]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566532.html)

commit f6481ecadf8b7c9d35ac8ab36e205f651c1b6de7
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/ipa/ipa-sra-12.c: Add -mno-longcall on ppc*-vxworks*.
	* gcc.dg/ipa/ipa-sra-13.c: Likewise.
	* gcc.dg/ipa/ipa-sra-15.c: Likewise.
	* gcc.dg/ipa/ipa-sra-16.c: Likewise.
	* gcc.dg/ipa/ipa-sra-17.c: Likewise.
	* gcc.dg/ipa/ipa-sra-18.c: Likewise.

[U305-007: ppc64-vx7r2/gcc-10 -mlongcall disables IPA-SRA]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566589.html)

commit d7fb0353e46d8e0069be7224e37178a0d21ac9d2
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/powerpc/pr88233.c: Make some alignment strictness
	and calling conventions assumptions explicit.

[U305-003: ppc64-vx7r2/gcc-10 pr88233.c vs ppc defaults]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566530.html)

commit 9435cb61d3bcee1a6c2bae45bf6b14bd01d93e42
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust
	expectations for cpus below power7.

[U305-002: ppc64-vx7r2/gcc-10 cpu choice changes vect costs]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566525.html)

commit 5219466096927c60841ac391a22d0cc436d95c22
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Disable
	ldist.

[U305-001: ppc64-vx7r2/gcc-10 ldist preempts vectorization]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566524.html)

commit 4d05078d06779ccd06e852173615a62ca69abedf
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

	PR target/58684
testsuite/
	* gcc.dg/torture/pr91323.c: Expect execution fail on
	powerpc*-*-*.

[U302-002: ppc64-vx7r2/gcc-10 gcc.dg/torture/pr91323.c fetestexcept vs fcmpu]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566523.html)

commit 93e83ab46cc5483c8fa096ad6c61b17defe7c475
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/strlenopt-80.c: Add -mno-strict-align on ppc.

[U226-039: ppc64-vx7r2/gcc-10 gcc.dg/strlenopt-80.c vs -mstrict-align]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566522.html)

commit 8d1835b8c530957c9c2e7da48d08c1e061154628
2021-03-11  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/cdce3.c: Add sqrt insn options.

[U226-036: ppc64-vx7r2/gcc-10 gcc.dg/cdce3.c needs sqrt insn]
[U119-030: ppc64-vx7r2 transition to gcc-10]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566521.html)

commit c081083ed46b74d43d8ae6d9e61417f17d5fd78f
2020-03-11  Segher Boessenkool  <segher@kernel.crashing.org>

	PR testsuite/99352
testsuite/
	* lib/target-supports.exp (check_effective_target_powerpc_sqrt): New.
	(check_effective_target_sqrt_insn): Use it.

[U119-030: ppc64-vx7r2 transition to gcc-10]
(Installed in GCC 11 on 2021-03-09 - r11-7586; complements/obviates df6b5216)

commit 1848a012bde371859cea59c47319e9277f53fd3a
2021-03-03  Eric Botcazou  <ebotcazou@adacore.com>

c-family/
	* c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
	after entering the separate class package, if any.

[U303-025: broken incomplete type declaration with -fdump-ada-spec]
(Installed in GCC 10 on 2021-03-05 - r11-7522)

commit df6b5216c4f099bea9726ff83453e6e494cc5ece
2020-02-19  Eric Botcazou  <ebotcazou@adacore.com>

	PR testsuite/99371
testsuite/
	* lib/target-supports.exp (add_options_for_sqrt_insn): For
	PowerPC targets, add -mpowerpc-gpopt option.

[U119-030: ppc64-vx7r2 transition to gcc-10]
[T218-064: ppc-vx7r2 fsf-testsuite-gcc with gcc-9]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2021-February/565939.html)

commit 29966eefb89561c44b62b8cb9037a7811c3b725d
2020-01-30  Olivier Hainque  <hainque@adacore.com>

	Add missing dg-require-effective-target fpic directives
	to powerpc tests.
testsuite/
	* gcc.target/powerpc/compress-float-ppc-pic.c: Add
	dg-require-effective-target fpic.
	* gcc.target/powerpc/ppc-eabi.c: Likewise.
	* gcc.target/powerpc/pr26350.c: Likewise.
	* gcc.target/powerpc/pr60158.c: Likewise.
	* gcc.target/powerpc/pr79439-1.c: Likewise.
	* gcc.target/powerpc/pr79439-2.c: Likewise.
	* gcc.target/powerpc/pr79439-3.c: Likewise.
	* gcc.target/powerpc/pr80343.c: Likewise.

[U119-030: ppc64-vx7r2 transition to gcc-10]
[SA10-007: vxworks ports transition to gcc-9]
(Installed in GCC 11 on 2021-02-26 - r11-7421 and r11-7422)

commit ef99ea7d2ebe3579c0e1bc689d9b803702049585
2019-12-04  Doug Rupp  <rupp@adacore.com>

testsuite/
	* gcc.target/powerpc/builtins-1-be-folded.c: Add
	dg-require-effective-target powerpc_altivec_ok.
	* gcc.target/powerpc/builtins-1.c: Likewise.
	* gcc.target/powerpc/builtins-5.c: Likewise.
	* gcc.target/powerpc/pr70010-4.c: Add
	dg-require-effective-target powerpc_vsx_ok.
	* gcc.target/powerpc/pr70010.c: Likewise.
	* gcc.target/powerpc/pr83926.c: Likewise.

[U119-030: ppc64-vx7r2 transition to gcc-10]
[T218-064: ppc-vx7r2 fsf-testsuite-gcc with gcc-9]
(Submitted at https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546072.html)

commit 92cb588ae3bc7baa50919eb7a301125707a30204
2020-05-18  Joel Brobecker  <brobecker@adacore.com>

testsuite/
	* gcc.target/powerpc/undef-bool-2.c: Add dg-require-effective-target
	powerpc_vsx_ok directive.
	* g++.dg/ext/undef-bool-1.C: Likewise.

[U119-030: ppc64-vx7r2 transition to gcc-10]
[T518-040: -mvsx not supported on ppc64-vx7r2]
(Installed in GCC 11 on 2021-03-08 - r11-7571)

commit 53d9ca17c8a87237483b30ecf8adf36dab26ee6c
2021-02-23  Alexandre Oliva  <oliva@adacore.com>

	* config/riscv/t-elf-multilib: Add multilibs for rv64im,
	rv64imc, and rv64imfc/lp64f.

[U127-004: The distributed GCC RISCV toolchain is missing some mult]
(To be ported, switching to --with-multilib-generator in GCC 11)

commit 2b36551c50738a1178ad2815e53f32fd7cf16853
2021-02-23  Alexandre Oliva  <oliva@adacore.com>

	* builtins.c (try_store_by_multiple_pieces): New.
	(expand_builtin_memset_args): Use it.  If target_char_cast
	fails, proceed as for non-constant val.  Pass len's ctz to...
	* expr.c (clear_storage_hints): ... this.  Try store by
	multiple pieces after setmem.
	(clear_storage): Adjust.
	* expr.h (clear_storage_hints): Likewise.
	(try_store_by_multiple_pieces): Declare.
	* passes.def: Replace the last copy_prop with ccp.

[U122-004: gdb GC11_025__set_long_double fails riscv32-elf]
(Installed in GCC 12 on 2021-05-03 - r12-397)

commit e0407d7d8e4f2ddd0b335a1755e1594c3b56ba21
2021-02-15  Eric Botcazou  <ebotcazou@adacore.com>

	* postreload-gcse.c (eliminate_partially_redundant_load): Add
	poor man's overflow checking for other compilers than GCC 5+.

[U215-023: bootstrap comparison failure on x86/Linux with 7.1.2]
(To be ported)

commit 2a653612b401a1e77068601ec81400bb3c8a068b
2021-02-11  Alexandre Oliva  <oliva@adacore.com>

	* tree-nested.c (convert_nonlocal_reference_op): Move
	current_function_decl restore after re-gimplification.
	(convert_local_reference_op): Likewise.
testsuite/
	* gcc.dg/asan/nested-1.c: New.

[TC04-016: stack-use-after-scope by Ada.Containers.Ordered_Maps]
(Installed in GCC 11 on 2021-02-01 - r11-7030)

commit 35c23d57f5bbb4595673e5a06592db9e8efd4b34
commit 0167dd0d1debb6d8c1afbc9e22025be3b6cb6705
2021-02-10  Eric Botcazou  <ebotcazou@adacore.com>

libgcc/
	* libgcov.h: For the target, define GCOV_LOCKED_WITH_LOCKING if
	__MSVCRT__ and, for the host, define it if HOST_HAS_LK_LOCK.
	* libgcov-driver.c: Add include directives if GCOV_LOCKED_WITH_LOCKING.
gcc/
	* configure.ac: Check for the presence of sys/locking.h header and for
	whether _LK_LOCK is supported by _locking.
	* configure: Regenerate.
	* config.in: Likewise.
	* gcov-io.h: Define GCOV_LOCKED_WITH_LOCKING if HOST_HAS_LK_LOCK.
	* gcov-io.c (gcov_open): Add support for GCOV_LOCKED_WITH_LOCKING.
	* system.h: Include <sys/locking.h> if HAVE_SYS_LOCKING_H.

[U210-054: profiled bootstrap does not work on Windows]
(Installed in GCC 12 on 2021-04-29 - r12-289)

commit effb282c8bb588cc5cf957d3c90805742aa35320
2021-02-08  Eric Botcazou  <ebotcazou@adacore.com>

	* config/riscv/riscv.c (riscv_option_override): Set default alignment
	for functions, loops and jumps to 4.

[U125-022: improve run-time performance of SPARKNaCl on RISC-V]
(To be submitted)

commit 6d1699ceed89f282e7981404f6427c98d232f258
commit a76e544a3cde204f7560c39de44813b9acfeab4e
2021-02-07  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from GCC 11 revision r11-5925
	* df-core.c (df_worklist_dataflow_doublequeue): Use proper cast.
	* tree-vect-patterns.c (vect_recog_bool_pattern): Check for
	VECT_SCALAR_BOOLEAN_TYPE_P, not just precision one.

[U207-004: cross gnattools build failure at -O3 in LTO mode]
(Already in GCC 11)

commit e7f3d9a3d59aaaad8e6cb1b13c0942ff160b65e6
2021-01-31  Eric Botcazou  <ebotcazou@adacore.com>

	* system.h (SIZE_MAX): Define if not already defined.

[U131-003: compiler build failure on Linux with ancient glibc]
(Installed in GCC 10 on 2021-01-31 - r10-9327)

revert-by 8e54405cd358a4511a0005fdac7d17dffa94b7c8
commit 2d1cddf120576c99c4bab379cdb375f7ae0cbf3b
2021-01-26  Eric Botcazou  <ebotcazou@adacore.com>

config/
	* bootstrap-lto.mk (extra-compare): Delete.

[U126-022: fix LTO bootstrap comparison failure on 64-bit Windows]
(Obsolete for GCC 11)

commit 750270f9d3c31fd91dcba67d82ccd2a7f2a3a3c1
2021-01-26  Alexandre Oliva  <oliva@adacore.com>

	* gimplify.c (gimplify_decl_expr): Skip asan marking calls for
	temporaries not seen in binding block, and not about to be
	added as gimple variables.
testsuite/
	* gnat.dg/asan1.adb: New test.
	* gnat.dg/asan1_pkg.ads: New additional source.

[TC03-024: ICE with -fsanitize=address]
(Installed in GCC 11 on 2021-01-25 - r11-6903)

commit bfb21b878821e511c328257d750ec07692f72d96
2021-01-22  Eric Botcazou  <ebotcazou@adacore.com>

libiberty/
	* configure.ac: Make test for variables more robust.
	* configure: Regenerate.
gcc/
	* builtins.c (builtin_with_linkage_p): Return true for stp[n]cpy.
	* symtab.c (symtab_node::output_to_lto_symbol_table_p): Tidy up.

[U122-034: libiberty build failure in LTO mode on Windows]
(Installed in GCC 12 on 2021-05-04 - r12-433)

commit 226d36d0e3968fa7a6a6a04cefe46d91ac15a2b1
2021-01-20  Eric Botcazou  <ebotcazou@adacore.com>

	* config/rs6000/linux.h (STACK_CHECK_MOVING_SP): Define to 1.
	* config/rs6000/linux64.h (STACK_CHECK_MOVING_SP): Define to 1.
	(STACK_CHECK_PROTECT): Delete.
	* config/rs6000/rs6000-protos.h (do_stack_clash_protection): Declare.
	* config/rs6000/rs6000-logue.c (rs6000_function_ok_for_sibcall): Also
	return false if the call is by descriptor.
	(do_stack_clash_protection): New predicate.
	(get_stack_clash_protection_probe_interval): Move around.
	(get_stack_clash_protection_guard_size): Likewise.
	(rs6000_emit_allocate_stack_1): Replace flag_stack_clash_protection
	with call to do_stack_clash_protection.
	(rs6000_emit_allocate_stack): Likewise.
	(output_probe_stack_range): Likewise.
	(rs6000_emit_prologue): Likewise.  And do not check the stack prior to
	establishing the frame if STACK_CHECK_MOVING_SP is 1.
	* config/rs6000/rs6000.md (allocate_stack): Likewise.

[T527-053: acats-4 test c380004 failing on ppc64-linux]
(To be submitted)

commit e24134b17b39cddea3316e379a73080e809612ce
2021-01-20  Eric Botcazou  <ebotcazou@adacore.com>

	* config/rs6000/rs6000.md (*rotl<mode>3_mask): New insn.
	(*rotlsi3_mask_64): Likewise.
	(*rotl<mode>3_dot): Change to using P mode iterator.
	(*rotl<mode>3_mask_dot): New insn and splitter.
	(*rotl<mode>3_dot2): Change to using P mode iterator.
	(*rotl<mode>3_mask_dot2): New insn and splitter.

[S204-019: improve code generated for Left_Rotate from Interfaces]
(To be ported)

commit 11e94e3e0334b008187638862465b6482f1648e5
2021-01-20  Eric Botcazou  <ebotcazou@adacore.com>
            Alexandre Oliva  <oliva@adacore.com>

	* config/rs6000/rs6000.opt (TARGET_AVOID_FPU_FOR_INT_MOVES): New.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set it.
	* config/rs6000/rs6000.md (*movdi_internal32): Disable if it is set.
	(*movdi_internal32): Likewise.
	(*movdi_internal32_basic): New pattern.
	(*movdi_internal64_basic): Likewise.

[S103-024: use of FP registers for 64-bit integer moves on PowerPC]
[S805-027: could you provide an asm wrapper for FSINCOS ?]
(To be ported)

commit 9469be311eef2ec032b682a0f8e3ae446099c980
2021-01-20  Eric Botcazou  <ebotcazou@adacore.com>

	* config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define to
	rs6000_can_output_mi_thunk.
	* config/rs6000/rs6000-internal.h (rs6000_can_output_mi_thunk): New.
	* config/rs6000/rs6000-call.c (rs6000_can_output_mi_thunk): Likewise.

[R907-006: cross-testsuite tests failing on ppc64-vx7-linux64]
(To be ported)

commit 46f63018c771245b58b6a1e4ae0c5dc9c15d2bf4
2021-01-20  Eric Botcazou  <ebotcazou@adacore.com>

	* config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.

[T406-025: implement back-end SJLJ on aarch64]
(To be submitted)

commit 6bbe2e355aec5b0bbccd81a612f1af08a7db9315
2021-01-20  Eric Botcazou  <ebotcazou@adacore.com>

	* gimplify.c (gimplify_init_constructor): Do not put the constructor
	into static memory if it is not complete.

[S404-046: poor code for aliased indefinite array]
(Installed in GCC 11 on 2020-05-05 - revision r11-68)

commit 798373dbb9449782496b55ef87b8cfdf34ba3a0e
2021-01-15  Alexandre Oliva  <oliva@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

testsuite/
	* gcc.dg/analyzer/alloca-leak.c: Drop alloca.h, use builtin.
	* gcc.dg/analyzer/data-model-1.c: Likewise.
	* gcc.dg/analyzer/malloc-1.c: Likewise.
	* gcc.dg/analyzer/malloc-paths-8.c: Likewise.

[TC24-001: vx7r2/gcc-10 alloca.h in gcc analyzer tests]
[TB13-013: arm-vx7r2 transition to gcc-10]
(Installed in GCC 11 on 2021-01-15 - r11-6732)

commit 0f19001cf5110d90f18fa5c9c68814e155fcf934
2021-01-06  Alexandre Oliva  <oliva@adacore.com>

	* Makefile.in (T_GLIMITS_H): New.
	(stmp-int-hdrs): Depend on it, use it.
	* config/t-vxworks (T_GLIMITS_H): Override it.
	(vxw-glimits.h): New.

[TC31-003: vxworks limits-width-[12].c fail after rebuild]
(Installed in GCC 11 on 2021-01-06 - r11-6501)

commit 49c6e199692bcddb86e543a343b68cdc5ae8d0bb
2020-12-31  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/arm/simd/vmmla_1.c: Pass -mfpu=auto.
	Partial cherry-pick of r11-5201.
	2020-11-10  Andrea Corallo  <andrea.corallo@arm.com>
	PR target/97726
	* gcc.target/arm/simd/vmmla_1.c: Add -mfloat-abi=hard flag.

[TC24-008: arm-vx7r2/gcc-10 vmmlaq_s32 failed inlining]
(Installed in GCC 11 on 2021-02-11 - r11-7184)

commit 1721527f9bd78bea1f73ebd0d632c94e310a7ee6
2020-12-31  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* g++.dg/opt/store-merging-2.C: Add the required alignment.

[TC24-010: arm-vx7r2/g++-10 store-merging-2 missed optimization?]
(Installed in GCC 11 on 2021-01-06 - r11-6502)

commit 87ec251145e14dabfd6aecd04ac4f47c0b6cc815
2020-12-31  Alexandre Oliva  <oliva@adacore.com>

libstdc++-v3/
	* testsuite/30_threads/future/members/poll.cc: Calibrate
	iteration count.

[TC24-013: vx7r2/libstdc++-10 30_threads/future/members/poll.cc]
(Installed in GCC 11 on 2021-01-14 - r11-6686)

commit 0d050d455b9ec3aca5bd9643ad1cf95a8deab5d4
2020-12-31  Alexandre Oliva  <oliva@adacore.com>

	Partial cherry-pick of r11-5201.
testsuite/
	2020-11-10  Andrea Corallo  <andrea.corallo@arm.com>
	PR target/97726
	* gcc.target/arm/simd/bf16_vldn_1.c: Relax regexps not to fail on
	big endian.

[TC24-007: arm-vx7r2/gcc-10 bf16_vldn_1.c fails test_vld3q_bf16]
(Already in GCC 11)

commit 7dcf5fdf2ef89963bfed7c3f9d2b3a6c0e730da3
2020-12-25  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/analyzer/sensitive-1.c: Declare getpass.

[TC24-002: vx7r2/gcc-10 new test expects getpass from unistd.h]
(Installed in GCC 11 on 2021-01-14 - r11-6684)

commit cc452f1ec97bff1cc51bb083c090c637f93b9176
2020-12-25  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.dg/analyzer/sigsetjmp-5.c: Use sigjmp_buf.
	* gcc.dg/analyzer/sigsetjmp-6.c: Likewise.

[TC24-015: vx7r2/gcc-10 analyzer/sigsetjmp kernel-mode {,sig}jmp_buf mismatch]
(Installed in GCC 11 on 2021-01-14 - r11-6685)

commit c3d6f427d15cb37d2da16af37218e8ccaf27ee5f
2020-12-25  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/arm/headmerge-1.c: Add -mno-long-calls.
	* gcc.target/arm/headmerge-2.c: Likewise.

[TC24-005: arm-vx7r2 headmerge missed optimization]
(Installed in GCC 11 on 2021-01-01 - r11-6385)

commit 4842f53e2b75374d10197037bb4e87d27c4f2c22
2020-12-25  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/arm/fp16-aapcs-2.c: Use -mno-long-calls.

[TC24-004: arm-vx7r2/gcc-10 fp16-aapcs-2 asm out expectations]
(Installed in GCC 11 on 2021-01-01 - r11-6384)

commit cd8ba857953d17b91f86ff1cf671711eb6f7bbf5
2020-12-25  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.target/arm/mve/intrinsics/mve_libcall1.c: Pass an
	explicit -mno-long-calls.
	* gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise.

[TC24-016: arm-vx7r2/gcc-10 mve_libcall missing -mno-long-calls]
(Installed in GCC 11 on 2021-01-01 - r11-6387)

commit 865526668b75018d80ef4e1fd74b83589ffa039a
2020-12-25  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* g++.target/arm/no_unique_address_1.C: Add -mno-long-calls.
	* g++.target/arm/no_unique_address_2.C: Likewise.

[TC24-011: arm-vx7r2/g++-10 arm no_unique_address tests need -mno-long-calls]
(Installed in GCC 11 on 2021-01-01 - r11-6386)

commit 63f9ef54411720c2f261c0e9c226600894fad033
2020-12-25  Kito Cheng  <kito-cheng@sifive.com>

	Backport from GCC 11 revision r11-264
testsuite/
	* g++.dg/ipa/pr94856.C: Require fgnu-tm.

[TC24-009: arm-vx7r2/g++-10 pr94856 -fgnu-tm implies -pthread]
(Already in GCC 11)

commit 128d66ea36994aa161cfe8afe29619aeb346deb1
2020-12-20  Eric Botcazou  <ebotcazou@adacore.com>

testsuite/
	* g++.dg/tls/thread_local-order2.C: XFAIL everywhere again.

[QC07-038: g++.dg/tls/thread_local-order2.C no longer XFAILed]
(To be ported)

commit 2949f787879570e12480dd7166442e47222f9b7e
2020-12-19  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from GCC 11 revision r11-6199
	* gnat.dg/interface6.adb, gnat.dg/not_null.adb,
	gnat.dg/protected_func.adb: Adjust error messages.

(Already in GCC 11)

commit bba6faebe8c389cfe582f295f73207aeda167a67
2020-12-19  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from GCC 11 revision r11-6221
testsuite/
	* gnat.dg/debug15.adb: Remove fragile testcase.

(Already in GCC 11)

commit 88d4c46841b7a3c75a6b8f845060e7bd845b7448
2020-04-28  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.dg/tls/pr79288.C: Skip on vxworks_kernel (TLS model
	not supported)

[TB13-013: arm-vx7r2 transition to gcc-10]
[T416-054: unsupported tls model in vxworks_kernel causes test to fail]
(Installed in GCC 11 on 2021-01-01 - r11-6399)

commit 089e745032b46efc5d563d9aa1329c2a70bb39c0
2020-04-03  Joel Brobecker  <brobecker@adacore.com>

testsuite/
	* gcc.target/arm/memset-inline-2.c: Add -mno-long-calls to
	the test's dg-options.
	* gcc.target/arm/pr78255-2.c: Likewise.

[TB13-013: arm-vx7r2 transition to gcc-10]
[S704-029 implicit -mlong-call causes gcc.target/arm tests to fail]
(Installed in GCC 11 on 2021-01-01 - r11-6398)

commit 2e4f6f129dd44e1bbcc880ee607de816c45b0a35
2020-04-03  Joel Brobecker  <brobecker@adacore.com>

testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_fp16_alternative_ok_nocache): Return zero
	for *-*-vxworks7r* targets.
	* gcc.target/arm/aapcs/vfp22.c: Require arm_fp16_alternative_ok.
	* gcc.target/arm/aapcs/vfp23.c: Likewise.
	* gcc.target/arm/aapcs/vfp24.c: Likewise.
	* gcc.target/arm/aapcs/vfp25.c: Likewise.

[TB13-013: arm-vx7r2 transition to gcc-10]
[S618-038: -mfp16-format=alternative not supported on VxWorks]
(Installed in GCC 11 on 2021-01-01 - r11-6401)

commit d79d5625baccd2214b81f532f6ad256a851b4ea6
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.old-deja/g++.mike/p658.C: Also undefine OK on VxWorks RTP.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-009: g++_old-deja,g++_mike,p658_C failing on VxWorks 7]
[RB30-009 & S403-026: test C++ on ppc-vx6]
(Installed in GCC 11 on 2021-01-01 - r11-6397)

commit a122f005cdcca70fe1a9058bc2ce877f2d140025
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.dg/opt/20050511-1.C: Fix test on vxworks rtp.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-008: g++_dg,opt,20050511-1_C failing on VxWorks 7]
[S418-030: test g++ for vxworks7]
(Installed in GCC 11 on 2021-01-01 - r11-6396)

commit 1d1c4ec664bc73c09a0f937273e77b502dd6ccfb
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
        * g++.dg/cpp1y/constexpr-66093.C: Fix bounds issue.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-007: g++_dg,cpp1y,constexpr-66093_C failing on VxWorks 7]
[S720-004: fix constexpr-66093.C, failing on vx7r2]
(Installed in GCC 11 on 2021-01-05 - r11-6454)

commit 4dddec6cc2842d1203927fc2821d5e485f07d485
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.old-deja/g++.pt/const2.C: Skip on vxworks kernel.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-006: g++_old-deja,g++_pt,const2_C failing on VxWorks 7]
[S418-030: test g++ for vxworks7]
(Installed in GCC 11 on 2021-01-01 - r11-6395)

commit 4bea3754fe7b6c3fe3a10f67e79afdfd34ca741b
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.dg/warn/miss-format-1.C: Remove vxworks-specific test
	directives.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-005: g++_dg,warn,miss-format-1_C failing on VxWorks 7]
[RB30-009 & S403-026: test C++ on ppc-vx6]
(Installed in GCC 11 on 2021-01-01 - r11-6394)

commit a1422814312ee1dac6d38ce550db791a6300c4fe
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.dg/tree-ssa/copyprop.C: Undefine ERROR if defined.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-004: g++_dg,tree-ssa,copyprop_C failing on VxWorks 7]
[S418-030: test g++ for vxworks7]
(Installed in GCC 11 on 2021-01-01 - r11-6393)

commit 4e6deac22e41b6c8b35f2d59cd7d8cc3f4117307
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.dg/other/anon5.C: Skip on vxworks kernel.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-003: g++_dg,other,anon5_C failing on VxWorks 7]
[S418-030: test g++ for vxworks7]
(Installed in GCC 11 on 2021-01-01 - r11-6392)

commit c4d5d062f18c57127a534020e1313777ab709cf8
2020-02-04  Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* g++.dg/init/new26.C: Fix overriding of the delete operator for
	c++14 profile.

[TB13-013: arm-vx7r2 transition to gcc-10]
[T204-002: g++.dg/init/new26.C failing on VxWorks 7]
[S418-030: test g++ for vxworks7]
(Installed in GCC 11 on 2021-01-01 - r11-6400)

commit 072893bb0c1bb322262ec6ea69182d938bdb82ea
2020-01-17  Olivier Hainque  <hainque@adacore.com>

libstdc++-v3/
	* testsuite/17_intro/names.cc: Account for VxWorks headers.

[TB13-013: arm-vx7r2 transition to gcc-10]
[SA10-007: vxworks ports transition to gcc-9]
(Installed in GCC 11 on 2020-12-23 - r11-6327)

commit 405f78c5a12f8824dee714dc5feb07bca511a653
2020-01-17 Jerome Lambourg  <lambourg@adacore.com>

testsuite/
	* gcc.dg/vxworks/initpri?.c: Tigthen VxWorks version check.

[TB13-013: arm-vx7r2 transition to gcc-10]
[S627-039]
(Installed in GCC 11 on 2021-01-01 - r11-6391)

commit 270246391ef183b42d3d726213dc347ff725411c
2020-01-17  Joel Brobecker  <brobecker@adacore.com>

testsuite/
	* gcc.dg/intmax_t-1.c: Do not expect an error on vxworks7r*.

[TB13-013: arm-vx7r2 transition to gcc-10]
[S705-033]
(Installed in GCC 11 on 2021-01-01 - r11-6390)

commit 126b5b72fd6726e03ca0f8f25df7f22943074de2
2020-01-17  Olivier Hainque  <hainque@adacore.com>

testsuite/
	* gcc.dg/pthread-init-1.c: Fix the VxWorks xfail filters.
	* gcc.dg/pthread-init-2.c: Ditto.

[TB13-013: arm-vx7r2 transition to gcc-10]
[SA10-007: vxworks ports transition to gcc-9]
(Installed in GCC 11 on 2021-01-01 - r11-6389)

commit e834030d2c63629a161e5b07dade7e6179decdbb
2020-01-17  Olivier Hainque  <hainque@adacore.com>

testsuite/
	* lib/target-supports.exp: Add/adjust vxworks filters in
	various functions.

[TB13-013: arm-vx7r2 transition to gcc-10]
[SA10-007: vxworks ports transition to gcc-9]
(Installed in GCC 11 on 2021-01-01 - r11-6388)

revert-by 551cade65ffb008429e2d42d8103980efd728c5c
commit 8df247d6e7a2060f75077e123f6d0d99df1b1f3a
2020-01-17  Corentin Gay  <gay@adacore.com>

libstdc++-v3/
	* testsuite/20_util/from_chars/1_neg.cc: Split wchar test.
	No longer needed for vx7r2.

[TB13-013: arm-vx7r2 transition to gcc-10]
[S524-043]
[SA10-007: vxworks ports transition to gcc-9]
(Obsolete for GCC 11)

commit a5180d1b0686f6529d942d81012bf294dd6d21cf
2019-06-14  Joel Brobecker  <brobecker@adacore.com>

testsuite/
	* gcc.target/arm/data-rel-1.c: Require "fpic" support.
        * gcc.target/arm/data-rel-2.c: Likewise.
        * gcc.target/arm/data-rel-3.c: Ditto.
	* gcc.target/arm/pr44788.c: Ditto.
	* gcc.target/arm/pr52006.c: Ditto.
	* gcc.target/arm/pr59858.c: Ditto.
	* gcc.target/arm/tlscall.c: Ditto.
	* gcc.target/arm/require-pic-register-loc.c: Ditto.
	Adjust line numbers.

[TB13-013: arm-vx7r2 transition to gcc-10]
[S611-049: kill gcc.target/arm tests requiring fPIC support]
[T215-018: arm-elf: incorrect line debug info for prologue]
(Installed in GCC 11 on 2020-12-23 - r11-6326)

revert-by ab4d3da3ef6660aaac11b0ae46cea34c651e41eb
commit 45bb084e7857109a7e73a3609d683f18b37b80b9
2019-05-24  Corentin Gay  <gay@adacore.com>

	Add conditional include of vxWorks.h to tests relying on system
	headers.  No longer needed for vx7r2.

[TB13-013: arm-vx7r2 transition to gcc-10]
[SA10-007: vxworks ports transition to gcc-9]
(Obsolete for GCC 11)

revert-by 9a7d93f24822e13ffc95e6125d42213096ff143b
commit 73b1b8dcceee1a5909682c899e9a4c26765cbbe1
2019-05-23  Corentin Gay  <gay@adacore.com>

libstdc++-v3/
	* testsuite/lib/dg-options.exp: Add dg-require-wchars function.
	Use it in tests that needed it.  No longer needed for vx7r2.

[TB13-013: arm-vx7r2 transition to gcc-10]
[S522-031: vxworks kernel mode misses wchar.h]
(Obsolete for GCC 11)

commit 04c5f75e680e13e2841ec35723705eded188fdc5
2020-12-10  Alexandre Oliva  <oliva@adacore.com>

	* tree.c (build_common_builtin_nodes): Drop __builtin_ from
	__clear_cache libname.

[T306-005: cxx-3p/vx7 - __clear_cache collision on llvm targets]
[T403-057: SR0640/ppc:cxx-3p/vx7: __clear_cache not defined (anymore?)]
[TC07-036: aarch64-elf regressions]
(Installed in GCC 11 on 2020-12-10 - r11-5900)

commit 6694263dd16233e50140c62a7f3026f571435ae5
2020-12-07  Jakub Jelinek  <jakub@redhat.com>

	PR target/98147
	* builtins.c (default_emit_call_builtin___clear_cache): Call
	convert_memory_address to ptr_mode on both begin and end.
testsuite/
	* gcc.dg/pr98147.c: New test.

[T306-005: cxx-3p/vx7 - __clear_cache collision on llvm targets]
[T403-057: SR0640/ppc:cxx-3p/vx7: __clear_cache not defined (anymore?)]
(Installed in GCC 11 on 2020-12-07 - r11-5831)

commit 2c48c471dbb6bde590b93659288ab747a546a734
commit af16c5d12eb77f3006ecb9764fb0d50045348702
2020-12-09  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.c (loc_list_from_tree_1) <PLACEHOLDER_EXPR>: Deal with a
	nested context type.

[T409-041: description of fat pointer with -fgnat-encodings=minimal]
(Installed in GCC 11 on 2020-12-10 - r11-5910)

commit d747ba4018c540108744f631a6fd0a32d6842a4b
2020-12-09  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.c (add_scalar_info): Output references to declarations.

[T604-036: array type missing bound with -fgnat-encodings=minimal]
(To be submitted)

commit e62766952f3d0c432b8098f1ea7142471ee0caea
commit c0dac9fd08931eed7631fa84d7e43a3909ebecae
2020-12-04  Eric Botcazou  <ebotcazou@adacore.com>

libgcc/
	* config.host (i[34567]86-*-mingw*): Add thread fragment after EH one
	as well as new i386/t-slibgcc-mingw fragment.
	(x86_64-*-mingw*): Likewise.
	* config/i386/gthr-win32.h: If _WIN32_WINNT is at least 0x0600, define
	both __GTHREAD_HAS_COND and __GTHREADS_CXX0X to 1.
	Error out if _GTHREAD_USE_MUTEX_TIMEDLOCK is 1.
	Include stdlib.h instead of errno.h and do not include _mingw.h.
	(CONST_CAST2): Add specific definition for C++.
	(ATTRIBUTE_UNUSED): New macro.
	(__UNUSED_PARAM): Delete.
	Define WIN32_LEAN_AND_MEAN before including windows.h.
	(__gthread_objc_data_tls): Use TLS_OUT_OF_INDEXES instead of (DWORD)-1.
	(__gthread_objc_init_thread_system): Likewise.
	(__gthread_objc_thread_get_data): Minor tweak.
	(__gthread_objc_condition_allocate): Use ATTRIBUTE_UNUSED.
	(__gthread_objc_condition_deallocate): Likewise.
	(__gthread_objc_condition_wait): Likewise.
	(__gthread_objc_condition_broadcast): Likewise.
	(__gthread_objc_condition_signal): Likewise.
	Include sys/time.h.
	(__gthr_win32_DWORD): New typedef.
	(__gthr_win32_HANDLE): Likewise.
	(__gthr_win32_CRITICAL_SECTION): Likewise.
	(__gthr_win32_CONDITION_VARIABLE): Likewise.
	(__gthread_t): Adjust.
	(__gthread_key_t): Likewise.
	(__gthread_mutex_t): Likewise.
	(__gthread_recursive_mutex_t): Likewise.
	(__gthread_cond_t): New typedef.
	(__gthread_time_t): Likewise.
	(__GTHREAD_MUTEX_INIT_DEFAULT): Delete.
	(__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
	(__GTHREAD_COND_INIT_FUNCTION): Define.
	(__GTHREAD_TIME_INIT): Likewise.
	(__gthr_i486_lock_cmp_xchg): Delete.
	(__gthr_win32_create): Declare.
	(__gthr_win32_join): Likewise.
	(__gthr_win32_self): Likewise.
	(__gthr_win32_detach): Likewise.
	(__gthr_win32_equal): Likewise.
	(__gthr_win32_yield): Likewise.
	(__gthr_win32_mutex_destroy): Likewise.
	(__gthr_win32_cond_init_function): Likewise if __GTHREADS_HAS_COND is 1.
	(__gthr_win32_cond_broadcast): Likewise.
	(__gthr_win32_cond_signal): Likewise.
	(__gthr_win32_cond_wait): Likewise.
	(__gthr_win32_cond_timedwait): Likewise.
	(__gthr_win32_recursive_mutex_init_function): Delete.
	(__gthr_win32_recursive_mutex_lock): Likewise.
	(__gthr_win32_recursive_mutex_unlock): Likewise.
	(__gthr_win32_recursive_mutex_destroy): Likewise.
	(__gthread_create): New inline function.
	(__gthread_join): Likewise.
	(__gthread_self): Likewise.
	(__gthread_detach): Likewise.
	(__gthread_equal): Likewise.
	(__gthread_yield): Likewise.
	(__gthread_cond_init_function): Likewise if __GTHREADS_HAS_COND is 1.
	(__gthread_cond_broadcast): Likewise.
	(__gthread_cond_signal): Likewise.
	(__gthread_cond_wait): Likewise.
	(__gthread_cond_timedwait): Likewise.
	(__GTHREAD_WIN32_INLINE): New macro.
	(__GTHREAD_WIN32_COND_INLINE): Likewise.
	(__GTHREAD_WIN32_ACTIVE_P): Likewise.
	Define WIN32_LEAN_AND_MEAN before including windows.h.
	(__gthread_once): Minor tweaks.
	(__gthread_key_create): Use ATTRIBUTE_UNUSED and TLS_OUT_OF_INDEXES.
	(__gthread_key_delete): Minor tweak.
	(__gthread_getspecific): Likewise.
	(__gthread_setspecific): Likewise.
	(__gthread_mutex_init_function): Reimplement.
	(__gthread_mutex_destroy): Likewise.
	(__gthread_mutex_lock): Likewise.
	(__gthread_mutex_trylock): Likewise.
	(__gthread_mutex_unlock): Likewise.
	(__gthr_win32_abs_to_rel_time): Declare.
	(__gthread_recursive_mutex_init_function): Reimplement.
	(__gthread_recursive_mutex_destroy): Likewise.
	(__gthread_recursive_mutex_lock): Likewise.
	(__gthread_recursive_mutex_trylock): Likewise.
	(__gthread_recursive_mutex_unlock): Likewise.
	(__gthread_cond_destroy): New inline function.
	(__gthread_cond_wait_recursive): Likewise.
	* config/i386/gthr-win32.c: Delete everything.
	Include gthr-win32.h to get the out-of-line version of inline routines.
	Add compile-time checks for the local version of the Win32 types.
	* config/i386/gthr-win32-cond.c: New file.
	* config/i386/gthr-win32-thread.c: Likewise.
	* config/i386/t-gthr-win32: Add config/i386/gthr-win32-thread.c to the
	EH part, config/i386/gthr-win32-cond.c and config/i386/gthr-win32.c to
	the static version of libgcc.
	* config/i386/t-mingw-pthread: Add config/i386/gthr-win32-thread.c to
	the EH part of libgcc.
	* config/i386/t-slibgcc-mingw: New file.
	* config/i386/libgcc-mingw.ver: Likewise.
libstdc++-v3/
	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Set ac_has_sched_yield
	and ac_has_win32_sleep to yes for MinGW.  Change HAVE_WIN32_SLEEP into
	_GLIBCXX_USE_WIN32_SLEEP.
	(GLIBCXX_EXPORT_FLAGS): Substitute CPPFLAGS.
	(GLIBCXX_CHECK_GTHREADS): Add _WIN32_THREADS to compilation flags for
	Win32 threads and force _GTHREAD_USE_MUTEX_TIMEDLOCK to 0 for them.
	Add -D_WIN32_WINNT=0x0600 to compilation flags if yes was configured
	and add it to CPPFLAGS on success.
	* config.h.in: Regenerate.
	* configure: Likewise.
	* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32):
	Define to 1.
	* config/os/mingw32/os_defines.h (_GLIBCXX_USE_GET_NPROCS_WIN32): Ditto
	* src/c++11/thread.cc (get_nprocs): Provide Win32 implementation if
	_GLIBCXX_USE_GET_NPROCS_WIN32 is defined.  Replace HAVE_WIN32_SLEEP
	with USE_WIN32_SLEEP.
	* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: Add
	missing conditional compilation.
	* testsuite/28_regex/headers/regex/parallel_mode.cc: Likewise.
	* testsuite/lib/libstdc++.exp (check_v3_target_sleep): Add support for
	_GLIBCXX_USE_WIN32_SLEEP.
	(check_v3_target_nprocs): Likewise for _GLIBCXX_USE_GET_NPROCS_WIN32.

[S301-019: add support for C++-11 threads in native GNAT Pro C++]
(Submitted at https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01840.html)

commit f1a754298fea1f8d39ae21b10252958a4f1492be
2020-12-03  Eric Botcazou  <ebotcazou@adacore.com>

	* ipa-sra.c (verify_access_tree_1): Relax assertion on the size.

[TC03-039: langkit_support_build failure with gcc-10 and assertions]
(Installed in GCC 10 on 2020-12-04 - r10-9119)

commit a9d9d3c51822b89606b3830ca7a3451686bdcdea
2020-12-03  Alexandre Oliva  <oliva@adacore.com>

	* tree.c (build_common_builtin_nodes): Declare
	__builtin___clear_cache for all languages.
	* builtins.c (maybe_emit_call_builtin___clear_cache): Accept
	Pmode arguments.

[T306-005: cxx-3p/vx7 - __clear_cache collision on llvm targets]
[T403-057: SR0640/ppc:cxx-3p/vx7: __clear_cache not defined (anymore?)]
(Installed in GCC 11 on 2020-12-02 - r11-5725)

commit 0137e23d5f7076a7c74e362101fb97d6ae1b5c84
2020-12-02  Alexandre Oliva  <oliva@adacore.com>

	* builtins.c (default_emit_call_builtin___clear_cache): New.
	(maybe_emit_call_builtin___clear_cache): New.
	(expand_builtin___clear_cache): Split into the above.
	(expand_builtin): Do not issue clear_cache call any more.
	* builtins.h (maybe_emit_call_builtin___clear_cache): Declare.
	* config/aarch64/aarch64.c (aarch64_trampoline_init): Use
	maybe_emit_call_builtin___clear_cache.
	* config/arc/arc.c (arc_trampoline_init): Likewise.
	* config/arm/arm.c (arm_trampoline_init): Likewise.
	* config/c6x/c6x.c (c6x_initialize_trampoline): Likewise.
	* config/csky/csky.c (csky_trampoline_init): Likewise.
	* config/m68k/linux.h (FInALIZE_TRAMPOLINE): Likewise.
	* config/tilegx/tilegx.c (tilegx_trampoline_init): Likewise.
	* config/tilepro/tilepro.c (tilepro_trampoline_init): Ditto.
	* config/vxworks.c: Include rtl.h, memmodel.h, and optabs.h.
	(vxworks_emit_call_builtin___clear_cache): New.
	* config/vxworks.h (CLEAR_INSN_CACHE): Drop.
	(TARGET_EMIT_CALL_BUILTIN___CLEAR_CACHE): Define.
	* target.def (trampoline_init): In the documentation, refer to
	maybe_emit_call_builtin___clear_cache.
	(emit_call_builtin___clear_cache): New.
	* doc/tm.texi.in: Add new hook point.
	(CLEAR_CACHE_INSN): Remove duplicate 'both'.
	* doc/tm.texi: Rebuilt.
	* targhooks.h (default_meit_call_builtin___clear_cache):
	Declare.
	* tree.h (BUILTIN_ASM_NAME_PTR): New.
libgcc/
	* config/t-vxworks (LIB2ADD): Drop.
	* config/t-vxworks7 (LIB2ADD): Likewise.
	* config/vxcache.c: Remove.

[T306-005: cxx-3p/vx7 - __clear_cache collision on llvm targets]
[T403-057: SR0640/ppc:cxx-3p/vx7: __clear_cache not defined (anymore?)]
(Installed in GCC 11 on 2020-12-02 - r11-5692)

commit ab5ac7bd444a1e637adad61a4fb045d260ca60f6
2020-12-02  Alexandre Oliva  <oliva@adacore.com>

	Backported
	2020-07-31  Richard Biener  <rguenther@suse.de>
	PR debug/96383
	* langhooks-def.h (lhd_finalize_early_debug): Declare.
	(LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define.
	(LANG_HOOKS_INITIALIZER): Amend.
	* langhooks.c: Include cgraph.h and debug.h.
	(lhd_finalize_early_debug): Default implementation from
	former code in finalize_compilation_unit.
	* langhooks.h (lang_hooks::finalize_early_debug): Add.
	* cgraphunit.c (symbol_table::finalize_compilation_unit):
	Call the finalize_early_debug langhook.
c-family/
	* c-common.h (c_common_finalize_early_debug): Declare.
	* c-common.c: Include debug.h.
	(c_common_finalize_early_debug): finalize_early_debug langhook
	implementation generating debug for extern declarations.
c/
	* c-objc-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
	Define to c_common_finalize_early_debug.
cp/
	* cp-objcp-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
	Define to c_common_finalize_early_debug.
testsuite/
	* gcc.dg/debug/dwarf2/pr96383-1.c: New testcase.
	* gcc.dg/debug/dwarf2/pr96383-2.c: Likewise.
libstdc++-v3/
	* testsuite/20_util/assume_aligned/3.cc: Use -g0.

[TC02-023: gcc.dg/debug/dwarf2/pr97060.c fails with gcc-10]
(Installed in GCC 11 on 2020-07-31 - r11-2455)

commit 810c57238ec548f00a3c76d159b34e8a819a849c
2020-12-02  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* lib/options.exp (check_for_options_with_filter): Detect
	unavailable compiler for the selected language, and bail out
	as unsupported.

[TB27-003: --help=warnings -Wabsolute-value requires C++ compiler]
(Installed in GCC 11 on 2020-12-02 - r11-5691)

commit 02805871f47cfb66ad402953936b8de2444d8a30
2020-12-02  Alexandre Oliva  <oliva@adacore.com>

	* builtins.c (compute_objsize): Detect overflow that led to
	pr87022 false-positive warnings.

[TB26-009: gcc.dg/tree-ssa/pr87022.c fails on arm]
(Already in GCC 11)

commit cb0cca4c508b5778e1fbe032ce9897658f555ec9
2020-12-01  Alexandre Oliva  <oliva@adacore.com>
	    Douglas B Rupp  <rupp@adacore.com>

libgcc/
	* config/arm/fp16.c (TARGET_OS_PROVIDES_FP16_IEEE):
	Wrap IEEE functions between FP16 and float with macro.
	(__gnu_h2f_internal): Make static inline.
	* config/arm/t-vxworks7: (INTERNAL_CFLAGS): Add
	-DTARGET_OS_PROVIDES_FP16_IEEE

[TB13-013: arm-vx7r2 transition to gcc-10]
[T404-003: gcc-9/arm-vx7r2: undefined reference to __gnu_d2h_ieee]
[S115-047: cxx-3p/vx7: clean GNAT C++ thirdparty integration]
(To be submitted)

commit 61ebc6798416904e507879fa9449cff04a8dd858
2020-11-24  Eric Botcazou  <ebotcazou@adacore.com>

c-family/
	* c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
	(dump_ada_structure): Also deal with convention, unchecked union and
	bit-field for nested types.  In the latter case, print an Alignment
	aspect along with the Pack aspect.

[TB23-013: improve support of simple bit-fields in -fdump-ada-spec]
(Installed in GCC 11 on 2020-11-28 - r11-5514)

commit 32c1c7a644afde41af70f592cdeb1f000df15045
2020-11-19  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.h (struct fixed_point_type_info) <scale_factor>: Turn
	numerator and denominator into a tree.
	* dwarf2out.c (base_type_die): In the case of a fixed-point type
	with arbitrary scale factor, call add_scalar_info on numerator and
	denominator to emit the appropriate attributes.

[TA16-043: accurate DWARF debug info for all fixed-point types]
(Installed in GCC 11 on 2020-11-19 - r11-5157)

commit e54a355a3cfb9cdba2333d793846b3fe7b8a0f02
2020-11-13  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from GCC 11 revision r11-4360
testsuite/
	* gnat.dg/warn14.adb: Remove expected warning.

(Already in GCC 11)

commit e0e2605202ad400bdbcdc79cc842936eec532728
2020-11-06  Olivier Hainque  <hainque@adacore.com>

	Add dg-require-profiling directives to gcc.target/i386 tests
testsuite/
	* gcc.target/i386/fentryname1.c: Add dg-require-profiling.
	* gcc.target/i386/fentryname2.c: Likewise.
	* gcc.target/i386/fentryname3.c: Likewise.
	* gcc.target/i386/returninst1.c: Likewise.
	* gcc.target/i386/returninst2.c: Likewise.
	* gcc.target/i386/returninst3.c: Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 3b4f4083bb48b5becce75ee3dbcdec94500c1afb
2020-11-06  Olivier Hainque  <hainque@adacore.com>

	Add dg-require-effective-target fpic to g++ tests
testsuite/
	* g++.dg/pr57878.C: Add dg-require-effective-target fpic.
	* g++.dg/pr65032.C: Likewise.
	* g++.dg/pr84279.C: Likewise.
	* g++.dg/inherit/thunk8.C: Likewise.
	* g++.dg/opt/pr64411.C: Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 628245e6cf59e2045e674b941e37fad1cb45c0cf
2020-11-06  Olivier Hainque  <hainque@adacore.com>

	Handle use of r18 as a TCB pointer on aarch64-vxworks
	* config/aarch64/aarch64-vxworks.h (TARGET_OS_USES_R18):
	Remove definition.
	(STATIC_CHAIN_REGNUM): Redefine to 9.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 43421656f0c6dbfa30db37ffb91a8984c3ac2275
2020-11-06  Olivier Hainque  <hainque@adacore.com>

	Move and adjust PROBE_STACK_*_REG on aarch64
	* config/aarch64/aarch64.md: Define PROBE_STACK_FIRST_REGNUM
	and PROBE_STACK_SECOND_REGNUM constants, designating r10/r11.
	Replacements for the PROBE_STACK_FIRST/SECOND_REG constants in
	aarch64.c.
	* config/aarch64/aarch64.c (PROBE_STACK_FIRST_REG): Remove.
	(PROBE_STACK_SECOND_REG): Remove.
	(aarch64_emit_probe_stack_range): Adjust to the _REG -> _REGNUM
	suffix update for PROBE_STACK register numbers.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 6a57b5214baea5ad2aec4b7fdd94553fb0726045
2020-11-06  Olivier Hainque  <hainque@adacore.com>

	Add dg-require-effective-target fpic to gcc i386 tests
testsuite/
	* gcc.target/i386/pr45352-1.c: Add dg-require-effective-target fpic.
	* gcc.target/i386/pr47602.c: Likewise.
	* gcc.target/i386/pr55151.c: Likewise.
	* gcc.target/i386/pr55458.c: Likewise.
	* gcc.target/i386/pr56348.c: Likewise.
	* gcc.target/i386/pr57097.c: Likewise.
	* gcc.target/i386/pr65753.c: Likewise.
	* gcc.target/i386/pr65915.c: Likewise.
	* gcc.target/i386/pr66232-5.c: Likewise.
	* gcc.target/i386/pr66334.c: Likewise.
	* gcc.target/i386/pr66819-2.c: Likewise.
	* gcc.target/i386/pr67265.c: Likewise.
	* gcc.target/i386/pr81481.c: Likewise.
	* gcc.target/i386/pr83994.c: Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 9bffe88062b98c558a744528caea27523240de14
2020-11-06  Olivier Hainque  <hainque@adacore.com>

testsuite/
	* gcc.dg/tree-ssa/pr71077.c: Add dg-require-effective-target lto.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit f9923230b86b916a2f8cedc6361179a252ed145e
2020-11-06  Olivier Hainque  <hainque@adacore.com>

	Add dg-require-effective-target fpic to gcc.target/powerpc tests
testsuite/
	* gcc.target/powerpc/pr67789.c: Add dg-require-effective-target fpic.
	* gcc.target/powerpc/pr83629.c: Likewise.
	* gcc.target/powerpc/pr84112.c: Likewise. Remove a superflous target
	test in the dg-do compile directive while at it.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit e9729f51b768e096b449bd93c9e6d9e58ae659b9
2020-11-06  Olivier Hainque  <hainque@adacore.com>

	Add dg-require-effective-target fpic to gcc.dg test
testsuite/
	* gcc.dg/sms-12.c: Add dg-require-effective-target fpic.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 6eb1b7a9b5e87b63e22c5640f8070b0dc45c40b8
2019-09-09  Pat Bernardi  <bernardi@adacore.com>

	* config/riscv/elf.h (LIB_SPEC): Remove.

[SA10-058: riscv64-elf transition to gcc-9]
[TB02-014: bareboard ports transition to gcc-10]
(To be ported)

commit 765549379a01d5494e2b633f38a281b9a936ed14
2020-01-24  Pat Bernardi  <bernardi@adacore.com>

	* config/sparc/t-leon3: Add leon3v7 library.
libgcc/
	* config.host (sparc-*-elf*): Include t-softmul in leon3
	to support leon3v7.

[TB02-014: bareboard ports transition to gcc-10]
(To be submitted)

commit a681bae33ad1fe6689c76e1b3d3e59779b357215
2020-10-26  Pat Bernardi  <bernardi@adacore.com>

	* config/i386/i386.c (ix86_expand_prologue): Set the stack usage to 0
	for naked functions.

[T821-017: x86_64-elf: ravenscar port]
[TB02-014: bareboard ports transition to gcc-10]
(To be submitted)

commit 80d1ce2eb08d94adfbbdb72ea812f57c30ae1f20
2020-11-06  Pat Bernardi  <bernardi@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

libgcc/
	* config.host (aarch64-vxworks7*, tmake_file): Add
	${cpu_type}/t-lse and t-slibgcc-libgcc.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit dc9eb23011bd50fc8e6a7a0526e88dce04e3a480
2020-11-06  Pat Bernardi  <bernardi@adacore.com>

	Cleanup i386/i386elf.h and align return convention with the SVR4 ABI
	* config/i386/i386elf.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
	(ASM_OUTPUT_ASCII): Likewise.
	(DEFAULT_PCC_STRUCT_RETURN): Define.
	* config/i386/i386.c (ix86_return_in_memory): Remove
	SUBTARGET_RETURN_IN_MEMORY.

[T821-017: x86_64-elf: ravenscar port]
[TB02-014: bareboard ports transition to gcc-10]
(To be submitted)

commit 94784b5b7676a86d3575a3bf9b686c18485270f3
2018-11-27  Tristan Gingold  <gingold@adacore.com>

	* config/i386/gnu-user.h (CPP_SPEC): Add path for multiarch.
	(MD_STARTFILE_PREFIX): Define.
	* config/i386/gnu-user64.h (CPP_SPEC): Add path for multiarch.
        (MD_STARTFILE_PREFIX): Define.

[MA18-016: support for debian multiarch directory layout]
[P511-047: native linux GCC 6 not working on debian/ubuntu]
[SB22-024: many link failures on ubuntu 18.04 with gcc-9]
(To be ported)

commit 548900de286ef0b5f712d77c3c58157ed7573ba5
commit 6eed000d1c888884c45265816ea6f9b91a1248cd
2020-11-13  Alexandre Oliva  <oliva@adacore.com>

	* config/arm/t-adacore-multilib: Added selftests for the new
	mappings, and for our runtimes.

+2020-11-05  Alexandre Oliva  <oliva@adacore.com>

	* config/arm/t-adacore-multilib: Updated multilib-list @file.
	Added multilib mappings for v[78]-r+fp.sp (disabled), v7-r+fp,
	v7-a, v8.5-a and v8.6-a.

[TA30-022: arm-elf transition to gcc-10]
(To be ported, internal configuration file not to be submitted)

commit f2730ccfb54a8a7ba176038bb05caec9dfaf1aca
commit 79e6dbab2f30e3b868d60c45cd2ae1e0a8800d6b
2020-10-31  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-ssa-store-merging.c (struct merged_store_group): Add
	new 'consecutive' field.
	(merged_store_group): Set it to true.
	(do_merge): Set it to false if the store is not consecutive and
	set string_concatenation to false in this case.
	(merge_into): Call do_merge on entry.
	(merge_overlapping): Likewise.

[TA30-037:incorrect store merging with non-contiguous strings]
(Installed in GCC 11 on 2020-11-20 - r11-5194)

commit feba25e2db2b48a5ea9eaacf9a5d84dca626d6c1
2019-12-02  Douglas Rupp  <rupp@adacore.com>

	* config/vx-common.h (LINK_SPEC, LIB_SPEC): Remove #undef.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit d77fc7759902fa7979b742fe570314c610cafbb8
2020-10-28  Olivier Hainque  <hainque@adacore.com>

libgcc/
	* config/gthr-vxworks-thread.c: Fix name of macro used
	to condition the inclusion of an actual implementation.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 7a9c6f57debbbbaae7658820d8649f3ced87e5ac
2020-10-03  Olivier Hainque  <hainque@adacore.com>

	Allow self configured definition of _WRS_VXWORKS_MAJOR
	* config/vxworks/_vxworks-versions.h: Only include
	version.h if _WRS_VXWORKS_MAJOR is not defined.
	Provide a default _WRS_VXWORKS_MINOR (0).

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 77ae7a35239309671a2f9374dc94d0d4183cb3ea
2020-10-28  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Also
	builtin_define __ppc and __ppc__ for VxWorks 7.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 728dfbb2d786113d4fc97800f2306bcc72926686
commit 7b311fe665583f244a78b00184b3cddd90891f71
2020-10-02  Olivier Hainque  <hainque@adacore.com>
            Rasmus Villemoes <rv@rasmusvillemoes.dk>

	Stub out VX_ENTER_TLS_DTOR for VxWorks != 6
libgcc/
	* config/gthr-vxworks-tls.c: Fix preprocessor logic
	controlling the definition of VX_ENTER_TLS_DTOR and
	VX_LEAVE_TLS_DTOR based on a version major check.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 84d9233e9b49bec6a0681a88b6df975b531d1f7b
2020-10-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

libgcc/
	* config/gthr-vxworks.h: Rewrite remaining occurrence
	of _VXW_PRE_69 as _VXWORKS_PRE(6,9).

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 91f3993687a3afa26c3832fb1c6d3fc1504dec2f
2020-07-07  Alexandre Oliva  <oliva@adacore.com>

	Rework our gthreads support for Vxworks.
libgcc/
	 * config/gthr-vxworks-thread.c: Include stdlib.h.
	 (tls_delete_hook): Prototype it.
	 (__gthread_cond_signal): Return early if no waiters.  Consume
	 signal in case the semaphore got full.  Use semInfoGet instead
	 of kernel-mode-only semInfo.
	 (__gthread_cond_timedwait): Use semExchange.  Always take the
	 mutex again before returning.
	 * config/gthr-vxworks-cond.c (__ghtread_cond_wait): Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit bc65cfc263f7df34e5f6392ef7a7570e70242477
2019-06-26  Olivier Hainque  <hainque@adacore.com>

	Honor $(MULTISUBDIR) in -I directives for libgcc on VxWorks
libgcc/
	* config/t-vxworks (LIBGCC2_INCLUDES): Append
	$(MULTISUBDIR) to the -I path for fixed headers, as we
	arrange to have different sets of such headers for different
	multilibs when they are activated.
	* config/t-vxworks7: Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit af42962d9eca02ef9e0fd49915c30a754f02da4c
2019-11-18  Corentin Gay  <gay@adacore.com>

	Preliminary ctype support for libstdc++ on VxWorks

libstdc++-v3/
	* acinclude.m4 : Add VxWorks specific case for the
	configuration of ctypes.
	* configure : Regenerate.
	* config/locale/vxworks/ctype_members.cc : Add VxWorks specific
	version.

	* testsuite/28_regex/traits/char/isctype.cc : Defines
	NEWLINE_IN_CLASS_BLANK if the target is vxworks
	* testsuite/28_regex/traits/wchar_t/isctype.cc : Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 12 on 2021-05-04 - r12-453)

commit 5366ae1f0fad69a6bbdc082ccd4cf3e8b17d39d4
2020-02-26  Olivier Hainque  <hainque@adacore.com>
            Douglas Rupp  <rupp@adacore.com>
            Pat Bernardi  <bernardi@adacore.com>

	Augment the VxWorks support for Intel to VxWorks7r2
	* config.gcc: Adjust the ix86/x86_64-wrs-vxworks filters
	to apply to VxWorks 7 as well.
	* config/i386/t-vxworks (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
	Remove the fPIC multilib and add one for the large code model
	on x86_64.
	* config/i386/vxworks.h: Separate sections for TARGET_VXWORKS7,
	other variants and common bits.
	(TARGET_OS_CPP_BUILTINS): Augment to support a range of CPU
	families. Leverage VX_CPU_PREFIX.
	(CC1_SPEC): Add definition.
	(STACK_CHECK_PROTECT): Use conditional expression instead of
	heavier to read conditioned macro definitions.
libgcc/
	config.host: Adjust the ix86/x86_64-wrs-vxworks filters
	to apply to VxWorks 7 as well.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 13ef8755a801871d6e281e29be563ad8202dd729
2020-10-20  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h (VX_CPU_PREFIX): #define here.
	* config/rs6000/vxworks.h: Remove #definition.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 070f8437afba74620b27892a6c96e818a608be82
2020-10-27  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/vxworks.h (CPP_SPEC): Fix macro definition
	for -mcpu=e6500.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit f90f2b2453cbec5580df118b508018091a1840b5
2020-02-04  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/vxworks.h (LINK_OS_LINUX_EMUL32): Redefine
	to use elf32ppcvxworks7r2.
	(LINK_OS_LINUX_EMUL64): Likewise, to elf64ppcvxworks7r2.

[T908-016 (vxworks ports transition to gcc-10)]
(To be ported)

commit 6ce753196e5c8a06461bbe1201402fbfa643920b
2020-10-21  Douglas Rupp  <rupp@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

	Introduce vxworks7r2 support for ppc and ppc64
	* config.gcc (powerpc*-wrs-vxworks7r*): New case.
	* config/rs6000/vxworks.h: Rework to handle VxWorks7.
	Refactor as common bits + vx6 vs vx7 ones. For the
	latter, rely essentially on the Linux configuration
	and adjust CPU to _VX_CPU in CPP_SPEC. Add a case
	for e6500. Use SUB3TARGET_OVERRIDE_OPTIONS for specifics
	to preserve the Linux SUBSUBTARGET_OVERRIDE_OPTIONS
	for vx7.
libgcc/
	* config.host (powerpc*-wrs-vxworks7*): New case.
	* configure.ac: Handle powerpc*-*-vxworks7* as
	powerpc*-*-linux* for ppc-fp_type.
	* configure: Regenerate.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit c796ba3926114c03096ba5065f8e074b6a3f37bd
2020-10-13  Olivier Hainque  <hainque@adacore.com>

	Rework TARGET_OS_CPP_BUILTINS for powerpc-vxworks
	* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Accommodate
	expectations from different versions of VxWorks, for 32 or 64bit
	configurations.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 6068086302bde706d74ca2a258b590b56ea8dba2
2020-10-15  Olivier Hainque  <hainque@adacore.com>

	Remove bogus vx_crtstuff sub-mutlilibbing
	* config/vxworks.h (VX_CRTBEGIN_SPEC): Likewise.
libgcc/
	* config/t-vxcrtstuff: Remove the -kernel/-rtp specialization.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 5e706061dc25465a1554e8ca88a4e5d99cf5d668
2020-04-13  Douglas Rupp  <rupp@adacore.com>

	* config/vxworks.h (VXWORKS_NET_LIBS_RTP): Use -lrtnet if
	rtnetStackLib.h is available,fallback to -lnet otherwise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 06085c9545fdd720748c8a966828f4171725e257
2020-04-07  Douglas Rupp  <rupp@adacore.com>

	* gcc.c (if-exists-then-else): New built-in spec function.
	* doc/invoke.texi: Document it.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 02f24e92996951783d6eb093352d592c46c56a09
2020-02-18  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h: #undef CPLUSPLUS_CPP_SPEC.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 1e564d5cffb8a13c2fec13691decdc008c911c11
2020-02-28 Olivier Hainque <hainque@adacore.com>

	* config/vxworks.c (vxworks_override_options): Guard pic checks with
	flag_pic > 0 instead of just flag_pic.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 20bd83b5afd3a9c2773d7417499804011b52f2c9
2020-03-05  Olivier Hainque  <hainque@adacore.com>

	* config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Fix
	the VX_CPU selection for -mcpu=xscale on arm-vxworks.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 27d75e5e5542520441d5c9ab18190124094edd79
2020-02-28  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks: Adjust the VxWorks alternative LIMITS_H guard
	for glimits.h, make it both closer to the previous one and easier to
	search for.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 2b64f79c5647b64cf5581627a6c934b08edf87f7
2020-08-24  Pat Bernardi  <bernardi@adacore.com>

testsuite/
	* gcc.target/i386/387-7.c: Add dg-require-effective-target c99_runtime.
	* gcc.target/i386/387-9.c: Likewise.
	* gcc.target/i386/avx512bw-pr96246-1.c: Likewise.
	* gcc.target/i386/avx512f-rint-sfix-vec-2.c: Likewise.
	* gcc.target/i386/avx512f-rintf-sfix-vec-2.c: Likewise.
	* gcc.target/i386/avx512vl-pr96246-1.c: Likewise.
	* gcc.target/i386/pr61403.c: Likewise.
	* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise.
	* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.

[T527-022 (transition to gcc-10)]
[T713-027 (C support for x86_64-elf)]
(Installed in GCC 11)

commit 32dc1a244e9d7b420c7681b68a4f60bf7c2750f9
2020-10-20 Olivier Hainque  <hainque@adacore.com>

libstdc++-v3/
	* crossconfig.m4: Turn vxworks matcher into vxworks*.
	* configure.host: Likewise.
	* configure: Regenerate.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 5adc32839340e5e143083a980ffb7a9e6861cf6d
2020-10-23  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

libgcc/
	* config/gthr-vxworks-thread.c: #include gthr.h before
	testing the guard defined there.
	* config/gthr-vxworks-cond.c: Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 376e123b998cb07b2c88469ab2254cad80b5273e
2020-10-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

libgcc/
	* config/gthr-vxworks.h: Condition the __GTHREAD_HAS_COND
	section on VxWorks >= 6.
	* config/gthr-vxworks-cond.c: Condition the entire
	implementation on __GTHREAD_HAS_COND.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 62af32fab670aa8e976c2caa04fa7c48ebe1b399
2020-10-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

libgcc/
	* config/gthr-vxworks.h: Condition the ___GTHREADS_CXX0X
	section on VxWorks >= 6.
	* config/gthr-vxworks-thread.c: Condition the entire
	implementation on __GTHREAD_CXX0X.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 3d3eb4d777af2723bda85f3349f777b06dff13b9
2020-10-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

libgcc/
	* config/gthr-vxworks.c: #include <taskLib.h>.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 3e01aeeb38a58dd249582639eeac20d6776ab04a
2020-03-05 Olivier Hainque  <hainque@adacore.com>

libgcc/
	* config/t-vxworks: Add include-fixed to include search
	paths for libgcc on VxWorks.
	* config/t-vxworks7: Likewise.

[T908-016 (vxworks ports transition to gcc-10)]
(Installed in GCC 11)

commit 763765408ea07d83388da0cc0203d6a6529c6003
2020-10-29  Alexandre Oliva  <oliva@adacore.com>

	* tree-ssa-math-opts.c (sincos_stats): Add conv_removed.
	(execute_cse_conv_1): New.
	(execute_cse_sincos_1): Call it.  Fix return within
	FOR_EACH_IMM_USE_STMT.
	(pass_cse_sincos::execute): Report conv_inserted.
testsuite/
	* gnat.dg/sin_cos.ads: New.
	* gnat.dg/sin_cos.adb: New.
	* gcc.dg/sin_cos.c: New.

[S805-027: Could you provide an asm wrapper for FSINCOS ?]
(Installed in GCC 11 on 2020-10-29 - r11-4519)

commit ebffa3c57c028517479f1ef53198615cfdd12ab1
2020-10-28  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from GCC 11 revision r11-4100
testsuite/
	* gnat.dg/opt11.adb: Add new expected warning.

(Already in GCC 11)

commit 82c0a77f324747fa4ecd089241553037298ecd66
2020-10-22  Alexandre Oliva  <oliva@adacore.com>

	* config/i386/mingw-w64.h (TARGET_LIBC_HAS_FUNCTION): Enable
	sincos optimization.

[S805-027: Could you provide an asm wrapper for FSINCOS ?]
(Installed in GCC 11 on 2020-10-22 - r11-4232)

commit 7cfb3fff1fa49a3aeef1f032d7db91dd85b472e1
commit f564a27066337bf711d8b3723b2aa13e51035ebc
2020-10-22  Alexandre Oliva  <oliva@adacore.com>

	* config/i386/mingw32.h (TARGET_LIBC_HAS_FUNCTION): Enable
	sincos optimization.

[S805-027: Could you provide an asm wrapper for FSINCOS ?]
(To be ported, until x86-windows switches to a -w64- triplet)

commit ed65f7df7477a12eb198b5681ea2b1c856ba9d66
2020-10-15  Eric Botcazou  <ebotcazou@adacore.com>

testsuite/
	* gnat.dg/multfixed.adb: Robustify.

[T826-020: add support for 128-bit fixed-point types]
(To be submitted)

commit 010d248d8242965821e0ab63856ce381ea609b30
commit 8bf1ae2d8421a4b0ec64fc008f53a58b5b3a503c
2020-10-08  Alexandre Oliva  <oliva@adacore.com>

	* builtins.c (mathfn_built_in_type): New.
	* builtins.h (mathfn_built_in_type): Declare.
	* tree-ssa-math-opts.c (execute_cse_sincos_1): Use it to
	obtain the type expected by the intrinsic.

[S805-027: Could you provide an asm wrapper for FSINCOS ?]
(Installed in GCC 11 on 2020-10-08/12 - r11-3737/r11-3839)

commit 213e909be9dedfb5737b3ac24b3eb50a8a4b33f2
commit 4e7a9380ca3a7d713eea1a45a5f699e37cea7bbf
commit 06cf127ba1344a1981ce65694eb03ce5ddbeb33e
2020-09-13  Eric Botcazou  <ebotcazou@adacore.com>
            Pierre-Marie Derodat  <derodat@adacore.com>

	* tree-eh.c (lower_try_finally_dup_block): Remove special case.
	(cleanup_all_empty_eh): Do again a post-order traversal of the EH tree.

[P622-010: gnatcov: bogus results on starter testcase]
[T913-002: code generation issue with stack restores]
[T922-011: gnatcov: wrong sloc after decision]
(Installed in GCC 11 on 2020-09-16 - r11-3234)

commit ae44cb7c499b55a118c82cdbfa10d9254e20283c
commit 772149f135ef2b73ce8a7608951472e9cda78401
commit 86cb26e012a2a532608a167a99a3584fe71ec486
2020-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* cgraphunit.c (cgraph_node::expand_thunk): Make sure to set
	cfun->tail_call_marked when forcing a tail call.
	* function.c (use_register_for_decl): Also return true for a
	parameter if cfun->tail_call_marked.

[S213-023: wrong runtime behavior with -O0 on 64-bit Windows]
(Installed in GCC 11 on 2020-09-14 - r11-3187)

commit f428e3e79b1c674b2febb261bff95090551a2d89
2018-11-19  Pierre-Marie de Rodat  <derodat@adacore.com>

libcpp/
	* init.c (read_original_directory): Attempt to decode escape sequences
	with cpp_interpret_string_notranslate.

[RB13-019: gnatcov: inconsistent absolute paths for C]
(To be submitted)

commit 75f07911c9cc113226bb761b1841d2a63cc8a534
2019-08-13  Olivier Hainque  <hainque@adacore.com>

	* gcc.c: Adapt messages to our bug_report_url.
	(process_command): Update warranty notice for AdaCore use.
	* gcov.c: Likewise.
	* diagnostic.c: Likewise.

[T527-022: transition to gcc-10]
(To be ported)

commit 65fed994642a62147ffd43e6f7f6c5735f0f4cfb
2019-08-13  Olivier Hainque  <hainque@adacore.com>

	* gli.c (gli_open): Note -fpreserve-control-flow.

[T623-004: port -fdump-scos and helpers to gcc-10]
(To be ported)

commit ea9c0f18ea7728d5f7fcb479ec1c8c75b0add728
2019-08-16  Pierre-Marie de Rodat  <derodat@adacore.com>

	* common.opt (-fpreserve-decisions-generic): New option.
	* gcc.c (cc1_options): Automatically enable
	-fpreserve-decisions-generic when -fdump-scos is passed.
	* fold-const.c (fold_binary_loc): Disable foldings that preserve
	control flow but that do not preserve decisions in trees only when
	-fpreserve-decisions-generic is passed.
	(fold_ternary_loc): Likewise.
	(fold_build1_stat_loc): Do not fold TRUTH_NOT_EXPR operations when
	-fpreserve-decisions-generic is passed.

[T623-004: port -fdump-scos and helpers to gcc-10]
(To be submitted)

commit 41ada4c352b3051491ba7e030b359f4f71ddde1b
2019-08-16  Pierre-Marie de Rodat  <derodat@adacore.com>

libcpp/
	* include/cpplib.h
	(struct cpp_options::preserve_system_token_columnno): New field.
	* internal.h (struct cpp_reader::column_offset, struct
	cpp_reader::last_line_slocs): New fields.
	(CPP_INCREMENT_LINE): Reset column_offset and rotate the
	last_line_slocs buffer.
	* directives.c (do_linemarker): Preserve column number for system
	tokens across line directives if asked to.
	* lex.c (_cpp_lex_direct): Add pfile->column_offset to the column
	number for result token source location.

[T623-004: port -fdump-scos and helpers to gcc-10]
(To be submitted)

commit 0b1f5a81c23afb5a883d66fe16cb93467e693721
2019-08-13  Pierre-Marie Derodat  <derodat@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	-fdump-scos doc & support for C
	* Makefile.in (C_COMMON_OBJS): Add c-scos.o.
	* gli.c (gli_open): Note -fdump-scos and -fprofile-arcs.
	* gcc.c (default_compilers): Automatically enable
	-no-integrated-cpp when -fdump-scos is passed.
	* doc/invoke.texi: Document -fdump-scos.
c-family/
	* c.opt (-fdump-scos): New option.
	* c-scos.c, c-scos.h: New files.  Expose generate_scos to produce
	Source Coverage Obligations from generic trees.
	* c-gimplify.c (c_gimplify_expr): For -fdump-scos, call
	generate_scos on toplevel BIND_EXPRs.
c/
	* c-tree.h (build_binary_op_with_locs): Declare.
	(parser_build_binary_op): Adjust prototype to pass locations for
	operands.
	* c-parser.c (c_parser_build_expression): Keep locations for
	operands.
	* c-typeck.c (build_binary_op_with_locs): New function.
	(build_binary_op): Call build_binary_op_with_locs.
	(parser_build_binary_op): Add arguments and pass them to
	build_binary_op_with_locs.

[T623-004: port -fdump-scos and helpers to gcc-10]
(To be submitted)

commit c8a5f1cdce5e8ce8ba7fa8d8a557669ae05432d1
2019-08-12  Pierre-Marie de Rodat  <derodat@adacore.com>

	Initiate the GLI framework to GCC 9
	* gli.c: New file.
	* gli.h: New file.
	* toplev.c (compile_file): Call gli_finalize.

[T623-004: port -fdump-scos and helpers to gcc-10]
(To be submitted)

commit 85714eafb11c462e22a700e868b999a6a1607772
2019-08-16  Olivier Hainque  <hainque@adacore.com>

	* opts.c (finish_options): Turn -gvariable-location-views off
	if -fdump-scos.

[T623-004: port -fdump-scos and helpers to gcc-10]
(To be submitted)

commit e54c3f11ca56a571c89e96862f4e6da98059e598
2019-08-12  Olivier Hainque  <hainque@adacore.com>

libcpp/
	* include/line-map.h (ORDINARY_MAP_INDEX): New helper.  Compute
	the index of a given ordinary map within a set.

[T623-004: port -fdump-scos and helpers to gcc-10]
(To be submitted)

commit 4e16ebcbe6ae978ad94a4940df16924dd13716f2
2019-02-25  Nicolas Roche  <roche@adacore.com>

libiberty/
	* lrealpatch.c (lrealpath): Remove dependency on CharLowerBuf.

[RC14-013: improve performance of GNAT on Windows]
(To be submitted)

commit 2bd363a288ea7dad13cca85885f8a79d59f8d41d
2020-08-19  Corentin Gay  <gay@adacore.com>

	Adjust batch of threads tests to activate them for VxWorks

[T819-034: libstdc++ patches for vxworks threads]
(Installed in GCC 11 on 2020-08-23 - 1e42d2f4cf44f673e147f94bd15609cc1b94b826)

commit 4c20fd02a5cf70abe0003c2a20b21624b2550ee7
2020-08-12  Eric Botcazou  <ebotcazou@adacore.com>

libstdc++-v3/
	* config/os/mingw32/error_constants.h: Sync with MinGW-W64 version.
	* config/os/mingw32/os_defines.h (__USE_MINGW_ANSI_STDIO): Define to 1.
	(_GLIBCXX_USE_WEAK_REF): Define to 0 for x86-64.
	(_GLIBCXX_THREAD_ATEXIT_WIN32): Define to 1.

[S301-019: add support for C++-11 threads in native GNAT Pro C++]
(To be ported)

commit 3d9ce44d99b94ada6ab781b01e2462153d7c3418
commit 277a9ff86c86e3c52fa0ca9b53b493c1430e4c11
2020-08-09  Eric Botcazou  <ebotcazou@adacore.com>

testsuite/
	* ada/acats/run_all.sh: Define and substitute target_{max,min}_int.
	* ada/acats/support/macro.dfs: Parameterize {MAX,MIN}_INT.
	* gnat.dg/assert1.adb: Adjust conditionally to 128-bit integer types.
	* gnat.dg/multfixed.adb (Multfixed): Adjust exception message.
	* gnat.dg/size_clause1.adb: Do not expect a warning for LP64 targets.
	* gnat.dg/warn11.adb: Likewise.
	* gnat.dg/specs/rep_clause5.ads (Array_2_Type): Add alignment clause.

[S423-008: add support for 128-bit integer types]
(To be submitted)

commit 6b44c4a2a3ab9ff111f6991c252b5945e059b41e
2020-08-04  Eric Botcazou  <ebotcazou@adacore.com>

	* common.opt (finstrument-functions): Set explicit value.
	(-finstrument-functions-once): New option.
	* doc/invoke.texi (Program Instrumentation Options): Document it.
	* gimplify.c (build_instrumentation_call): New static function.
	(gimplify_function_tree): Invoke it to emit the instrumentation calls
	if -finstrument-functions[-once] is specified.

[SA07-021: implement -finstrument-functions-once]
(To be submitted)

commit 73a18bc5dad8957547f9232c4e9dcfc3e09dbe71
2020-07-16  Eric Botcazou  <ebotcazou@adacore.com>

	* config/i386/i386.c (ix86_compute_frame_layout): Minor tweak.
	(ix86_adjust_stack_and_probe): Delete.
	(ix86_adjust_stack_and_probe_stack_clash): Rename to above and add
	PROTECTION_AREA parameter.  If it is true, probe PROBE_INTERVAL plus
	a small dope beyond SIZE bytes.
	(ix86_emit_probe_stack_range): Use local variable.
	(ix86_expand_prologue): Adjust calls to ix86_adjust_stack_and_probe
	and tidy up the stack checking code.
	* explow.c (get_stack_check_protect): Fix head comment.
	(anti_adjust_stack_and_probe_stack_clash): Likewise.
	(allocate_dynamic_stack_space): Add comment.

[S424-029: investigate more robust version of -fstack-check]
(Installed in GCC 11 on 2020-07-16 - r11-2180)

commit 8d6c3481b4d211ee4e675fdccbbd82dc02d4bede
2020-07-09  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-nested.c (lookup_field_for_decl): Set the DECL_IGNORED_P and
	TREE_NO_WARNING but not TREE_ADDRESSABLE flags on the field.

[T708-043: strange warning triggered by "for ... of"]
(Installed in GCC 11 on 2020-07-16 - r11-2180)

commit 555fbc11c05a65857c954742a25ebd24981eaadc
2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-fold.c (gimple_fold_builtin_memory_op): Do not fold if
	either type has reverse scalar storage order.
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Do not propagate through
	a memory copy if either type has reverse scalar storage order.
	* tree-pretty-print.c (dump_generic_node) <ARRAY_TYPE>: Print quals.
c-family/
	* c.opt (Wscalar-storage-order): Add explicit variable.
c/
	* c-typeck.c (convert_for_assignment): If -Wscalar-storage-order is
	set, warn for conversion between pointers that point to incompatible
	scalar storage orders.
testsuite/
	* gcc.dg/sso-11.c: New test.
	* gcc.dg/sso/sso.exp: Pass -Wno-scalar-storage-order.
	* gcc.dg/sso/memcpy-1.c: New test.

[T528-043: optimization issue with overlay changing storage order]
(Installed in GCC 11 on 2020-07-08 - r11-1951)

commit e0551dadcfd2b0d92ca37ce614e2b0867cf7d0b1
commit ebb0e629a4c4c77a6850536314931a95b19c4667
commit 2e8b7db205cddf84ebcac9bd0ee38252f9ae9a41
commit 58ef71bab59ffcf52dd3b0f52bc9b3cfee2933b3
2020-07-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-ssa-store-merging.c: Include cgraph.h, tree-ssa-propagate.h
	and tree-dfa.h.
	(promote_dest_to_static): New static function.
	(imm_store_chain_info::output_merged_store): For string concatenation,
	call promote_dest_to_static on the merged stores and deal with an empty
	sequence of statements for a string concatenation.
	* tree-ssa-ccp.c (store_count): New structure.
	(count_string_stores): New function.
	(fold_builtin_alloca_with_align): Bail out if the memory is used to do
	a large concatenation of strings.

[T204-043: make string concatenation fully static after inlining]
(To be submitted)

commit 8c1466326b06ccbcd81f25bd8504909223fcfccc
2020-07-03  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-fold.c (gimple_fold_builtin_memory_op): Fold calls that were
	initially created for the assignment of a variable-sized object and
	whose source is now a string constant.
	* gimple-ssa-store-merging.c (struct merged_store_group): Document
	STRING_CST for rhs_code field.
	Add string_concatenation boolean field.
	(merged_store_group::merged_store_group): Initialize it as well as
	bit_insertion here.
	(merged_store_group::do_merge): Set it upon seeing a STRING_CST. Also
	set bit_insertion here upon seeing a BIT_INSERT_EXPR.
	(merged_store_group::apply_stores): Clear it for small regions.  Do not
	create a power-of-2-sized buffer if it is still true.  And do not set
	bit_insertion here again.
	(encode_tree_to_bitpos): Deal with BLKmode for the expression.
	(merged_store_group::can_be_merged_into): Deal with STRING_CST.
	(imm_store_chain_info::coalesce_immediate_stores): Set bit_insertion
	to true after changing MEM_REF stores into BIT_INSERT_EXPR stores.
	(count_multiple_uses): Return 0 for STRING_CST.
	(split_group): Do not split the group for a string concatenation.
	(imm_store_chain_info::output_merged_store): Constify and rename some
	local variables.  Build an array type as destination type for a string
	concatenation, as well as a zero mask, and call build_string to build
	the source.
	(lhs_valid_for_store_merging_p): Return true for VIEW_CONVERT_EXPR.
	(pass_store_merging::process_store): Accept STRING_CST on the RHS.
	* gimple.h (gimple_call_alloca_for_var_p): New accessor function.
	* gimplify.c (gimplify_modify_expr_to_memcpy): Set alloca_for_var.
	* tree.h (CALL_ALLOCA_FOR_VAR_P): Document it for BUILT_IN_MEMCPY.

[T204-043: make string concatenation fully static after inlining]
(Installed in GCC 11 on 2020-07-03 - r11-1810)

commit 289c128c11b1b8f5e159cca8d06f6feaf592d375
2020-06-25  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-ssa-reassoc.c (dump_range_entry): New function.
	(debug_range_entry): New debug function.
	(update_range_test): Invoke dump_range_entry for dumping.
	(optimize_range_tests_to_bit_test): Merge the entry test in the bit
	test when possible and lower the profitability threshold in this case.

[S108-053: remove useless branch in front of bit test sequences]
(Installed in GCC 11 on 2020-06-26 - r11-1675)

commit 16afea5c1cac5a52f55d89cbdc324ade06d71643
2020-06-22  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-affine.h (MAX_AFF_ELTS): Bump to 12.
	(aff_combination_zero): Declare.
	* tree-affine.c (aff_combination_zero): Make global.
	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Add upper bound.
	(rewrite_use_address): Try to build common patterns in addresses.

[G427-025: pessimization for perturbated multi-dim array references]
(To be ported)

commit 5744f056b3c44838af84063f89e9f149aba6c514
2020-06-22  Eric Botcazou  <ebotcazou@adacore.com>

	* optabs.c (expand_float): If all other methods have failed, open-code
	conversions from DImode to SFmode/DFmode.
	(expand_fix): Split SFmode and DFmode cases.  If all other methods
	have failed, open-code conversions from SFmode/DFmode to DImode.
	* config/rs6000/rs6000.c (TARGET_INIT_LIBFUNCS): Do not define here...
	(rs6000_vxworks_init_libfuncs): New function.
	* config/rs6000/rs6000.h (TARGET_INIT_LIBFUNCS): ...but here instead.
	* config/rs6000/vxworks.h (TARGET_INIT_LIBFUNCS): Likewise.

[P524-003: port support for inline built-in operations]
(To be ported)

commit 69d2c50ece39be0542600101f8c00d912fa60062
commit 07e37002ebf7e1065c2ceaa591fdb665d99c80cf
2019-06-22  Eric Botcazou  <ebotcazou@adacore.com>

	* explow.c (stack_check_symbol): New variable.
	(get_stack_check_symbol): New function.
	(set_stack_check_symbol): Likewise.
	(STACK_HIGH, STACK_LOW): New macro.
	(probe_stack_range): Add support for stack limits provided by the
	stack_check_symbol variable.
	* libfuncs.h (get_stack_check_symbol): New prototype.
	(set_stack_check_symbol): Likewise.
	* config/i386/i386-protos.h (output_cond_trap): Declare.
	* config/i386/i386.md (cond_trap): New insn.
	* config/i386/i386-expand.h (ix86_expand_int_compare): Declare.
	* config/i386/i386-expand.c (ix86_expand_int_compare): Remove static.
	* config/i386/i386.c (ix86_compute_frame_layout): Do not force use of
	push instructions to save registers if stack limits are enabled.
	(output_cond_trap): New function.
	(ix86_emit_probe_stack_range): Handle stack limits.
	* config/rs6000/rs6000-logue.c (rs6000_emit_probe_stack_range): Ditto.

[P311-009: port support for stack-checking limits]
(To be ported)

commit f6a9a3129325ebb3b0f24ead6b316d1f40897113
2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-ssa-evrp.c (before_dom_children): Replace test on
	stmt_could_throw_p with test on stmt_can_throw_internal.
	* gimple-ssa-strength-reduction.c (before_dom_children): Likewise.
	* tree-parloops.c (oacc_entry_exit_ok_1): Likewise.
	* tree-ssa-loop-im.c (movement_possibility): Likewise (implicitly).
	* tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Likewise.
	* tree-ssa-pre.c (compute_avail): Likewise.
	* tree-ssa-propagate.c (before_dom_children): Likewise.
	(substitute_and_fold): Likewise.
testsuite/
	* g++.dg/tree-ssa/pr33615.C (foo): Add exception handler.

[RA29-028: loop condition wrongly elided by aggressive optimization]
(To be submitted)

commit 81b1cdbe58a80c0a6c3a8f1909d131944d44c8fb
2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
            Alexandre Oliva  <oliva@adacore.com>

	* insn-notes.def (CODE_LOCATION): New note.
	* rtl.h (NOTE_CODE_LOCATION): New macro.
	* final.c (final_scan_insn) <NOTE_INSN_CODE_LOCATION>: New case.
	(notice_source_line): Deal with CODE_LOCATION notes.
	* jump.c (delete_related_insns): Delete code location notes if needed.
	* print-rtl.c (rtx_writer::print_rtx_operand_code_0): Deal with
	NOTE_INSN_CODE_LOCATION.
	* var-tracking.c (delete_vta_debug_insn): Add LAST parameter.
	If -fpreserve-control-flow is enabled, emit code location notes from
	debug instructions.
	(delete_vta_debug_insns): Adjust calls to delete_vta_debug_insn.
	When the CFG is used, scan basic blocks in reverse order and record
	the last active instruction.

[T609-007: port -fpreserve-control-flow to gcc-10]
(To be submitted)

commit ad626b7cdd76e6257fb72d460cfc910b579c23a9
commit 6469f1be857a4536be4125f4a07606417714ec5c
commit a69f64778427da76752d6076e8663b9c6218de8f
2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
            Olivier Hainque  <hainque@adacore.com>
            Tristan Gingold  <gingold@adacore.com>
            Pierre-Marie de Rodat  <derodat@adacore.com>

	* cfgexpand.c (expand_gimple_cond): Adjust calls to jumpif[not]_1.
	(expand_gimple_basic_block): Do not inherit the current location
	for the outgoing edges of an empty block.
	* cfgrtl.c: Include rtlhash.h.
	(EDGE_TABLE_SIZE): Define.
	(EDGE_TO_SPLIT): Likewise.
	(EDGE_TO_REDIRECT): Likewise.
	(edge_hasher): New hasher class.
	(edge_hasher::hash): New method.
	(edge_hasher::equal): Likewise.
	(hash_edge): New function.
	(split_edges): Likewise.
	(commit_edge_insertions): During RTL expansion, hash the incoming edges
	of each basic block to avoid creating duplicate basic blocks when the
	instructions are inserted in the RTL stream.
	* dojump.h (jumpif_1): Add LOC parameter.
	(jumpifnot_1): Likewise.
	* dojump.c (do_jump_1): Add LOC parameter and pass it in calls.
	(do_jump): Likewise.  Set the source location on the jump.
	(do_jump_by_parts_greater): Likewise.  Before doing the jump, set the
	current location to that of the expression, if any.
	(do_jump_by_parts_equality): Likewise.
	(do_compare_and_jump): Likewise.
	(jumpif): Pass the location of the expression to do_jump.
	(jumpifnot): Likewise.
	(jumpif_1): Add LOC parameter and pass it to do_jump_1.
	(jumpifnot_1): Likewise.
	* expr.c (expand_expr_real_2): Adjust calls to jumpifnot_1.
	* gimplify.c (adjusted_expr_location): New static function.
	(adjusted_rexpr_location): Likewise.
	(shortcut_cond_expr): Set adjusted location on the new branch.
	(gimplify_cond_expr): Propagate location from the THEN/ELSE clauses to
	the corresponding new MODIFY_EXPR nodes.  Set adjusted location on the
	statement.
	(gimplify_expr): Set input_location to the adjusted location.  Prefer
	saved location over that of TRY_FINALLY_EXPR.
	* loop-invariant.c (move_invariant_reg): Add CLEAR_LOC parameter.
	Clear the location of the invariant's insn if CLEAR_LOC is true and
	adjust recursive calls.
	(empty_bb_p): New predicate.
	(move_invariants): Adjust to above change.  Clear the location of moved
	invariants unless it cannot be taken from the preheader.
	* reorg.c (emit_delay_sequence): Do not copy INSN_LOCATION.  Do not zap
	INSN_LOCATION of insns put into a delay sequence.  If the delayed insn
	has no location, inherit that of the last insn in the delay slot.
	* tree-ssa-loop-im.c (move_computations_worker): Clear the location of
	the invariant statement after it has been moved.
c/
	* c-tree.h (build_binary_op_with_locs): Declare.
	(parser_build_binary_op): Adjust prototype to pass locations for
	operands.
	* c-parser.c (c_parser_build_expression): Keep locations for
	operands.
	* c-typeck.c (build_binary_op_with_locs): New function.
	(build_binary_op): Call build_binary_op_with_locs.
	(parser_build_binary_op): Add arguments and pass them to
	build_binary_op_with_locs.
testsuite/
	* g++.dg/pr58123.C: Delete.
	* g++.dg/debug/dwarf2/deallocator.C: Adjust for location change.
	* g++.dg/gcov/gcov-2.C: Likewise.
	* gcc.dg/analyzer/analyzer-verbosity-2.c: Likewise.
	* gcc.dg/analyzer/analyzer-verbosity-3.c: Likewise.
	* gcc.dg/analyzer/malloc-ipa-11.c: Likewise.
	* gcc.dg/analyzer/malloc-ipa-8-double-free.c: Likewise.
	* gcc.dg/analyzer/malloc-paths-9.c: Likewise.
	* gcc.dg/analyzer/setjmp-2.c: Likewise.
	* gcc.dg/analyzer/setjmp-3.c: Likewise.
	* gcc.dg/analyzer/setjmp-4.c: Likewise.
	* gcc.dg/analyzer/setjmp-7a.c: Likewise.
	* gcc.dg/analyzer/setjmp-8.c: Likewise.
	* gcc.dg/analyzer/setjmp-9.c: Likewise.
	* gcc.dg/plugin/diagnostic-test-paths-2.c: Likewise.
	* gcc.dg/vect/nodump-vect-opt-info-1.c: Likewise.
	* gcc.dg/vect/nodump-vect-opt-info-2.c: Likewise.

[T609-007: port -fpreserve-control-flow to gcc-10]
[U428-003: incorrect SLOC on nop insn with -fpreserve-control-flow]
(To be submitted)

commit 3f4d210ae5bda077d6bef6d587174bcd36878e7e
commit b9f8ad96c8b41df0185c77efff6fa397fb105955
commit afddeab948868e4dca3ede415a9242c12d051588
2020-06-18  Eric Botcazou  <ebotcazou@adacore.com>
            Olivier Hainque  <hainque@adacore.com>
            Tristan Gingold  <gingold@adacore.com>
            Pierre-Marie de Rodat  <derodat@adacore.com>

	* common.opt (-fpreserve-control-flow): New option.
	* doc/invoke.texi (Optimize Options): Document it.
	* doc/gcov.texi (Precise Decision Coverage): New section.
	* flags.h (optimize_cfg): New macro.
	* auto-inc-dec.c (attempt_change): Add var location debug instructions
	for deleted increment/decrement instructions.
	* cfgcleanup.c: Include flags.h.
	(move_debug_insns_from_forwarder_block): New static function.
	(try_simplify_condjump): Punt if not optimizing CFG and there is a
	unique locus on the single successor edge of the jump block.
	(try_forward_edges): Call move_debug_insns_from_forwarder_block when
	possible or else propagate location of debug insns.  Test optimize_cfg
	in lieu of optimize.  Do not forward the goto_locus on the edge if it
	is already present on the cond jump in the block.
	(try_optimize_cfg): Call move_debug_insns_from_forwarder_block.  When
	attempting to generate a return instruction, do not redirect an edge
	holding a unique locus if -fpreserve-control-flow is enabled and copy
	debug insns if this is a simple return.  Do not attempt to generate a
	conditional return instruction if -fpreserve-control-flow is enabled.
	* cfgexpand.c: Include flags.h.
	(pass_expand::execute): Do not clean up the CFG if not optimizing it,
	just remove the unreachable blocks and compact the rest.
	* cfgrtl.c: Include flags.h.
	(unique_locus_on_edge_between_p): Add SKIP_A parameter.  Scan block A
	last.  Call useful_location_p.  When optimizing, return true if block
	B is the end of function's block.
	(emit_nop_for_unique_locus_between): Adjust call to above.
	(rtl_merge_blocks): Test optimize_cfg in lieu of optimize.
	(fixup_reorder_chain): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* cfgrtl.h (unique_locus_on_edge_between_p): Declare.
	* cse.c (insn_live_p): Do not return false for consecutive debug insns
	if -fpreserve-control-flow is enabled.
	* dce.c (delete_unmarked_insns): Preserve nops that carry source locus
	if -fpreserve-control-flow is enabled.
	* dwarf2out.c (dwarf2out_finish): Force output of a compilation unit
	DIE if -fpreserve-control-flow is enabled.
	* fold-const.c (combine_comparisons): Disable some optimizations of
	short-circuit operators if -fpreserve-control-flow is enabled.
	(fold_truth_not_expr) <TRUTH_NOT_EXPR>: Likewise.
	(fold_range_test): Likewise.
	(fold_truth_andor_1): Likewise.
	(fold_truth_andor): Likewise.
	(fold_ternary_loc) <COND_EXPR>: Do not try to fold if the condition is
	a comparison and -fpreserve-control-flow is enabled.
	Do not fold if the expression is a redundant instantiation of a truth
	value and -fpreserve-control-flow is enabled.
	* function-tests.c (test_expansion_to_rtl): Remove problematic checks.
	* function.h (useful_location_p): New inline predicate.
	* gimple-low.c: Include flags.h.
	(lower_gimple_return): Test optimize_cfg in lieu of optimize.
	* gimplify.c: Include flags.h.
	(gimplify_cond_expr): Test optimize_cfg in lieu of optimize.
	* generic-match-head.c: Include flags.h.
	* gimple-match-head.c: Likewise.
	* match.pd: If not optimizing the CFG, keep comparisons of booleans.
	* ipa-inline.c (can_inline_edge_p): If -fpreserve-control-flow is
	enabled, return false if DECL_IGNORED_P would be cleared.
	* opts.c (finish_options): Disable a few selected optimizations if
	-fpreserve-control-flow is enabled.  Inform that the option is not
	supported at -O2 or above and disable it in this case.
	* reload.h (preserve_location_for_nop): Declare.
	* reload1.c: Include flags.h.
	(preserve_location_for_nop): New predicate.
	(reload): If not optimizing CFG, emit a nop when discarding a no-op
	move if deemed necessary.
	* lra-spills.c: Include flags.h and reload.h.
	(lra_final_code_change): Likewise.
	* postreload.c: Include flags.h.
	(reload_cse_simplify): Likewise.
	* recog.c: Include flags.h.
	(split_all_insns): Likewise.
	* reorg.c (optimize_skip): If -fpreserve-control-flow is enabled, do
	not skip a second branch jumping to the same location.
	(dbr_schedule): If -fpreserve-control-flow is enabled, do not call
	fill_eager_delay_slots and relax_delay_slots.
	* tree-cfg.c: Include flags.h.
	(make_edges_bb) <GIMPLE_RETURN>: Put a locus on the edge if useful.
	(make_goto_expr_edges): Likewise.
	(gimple_can_merge_blocks_p): Do not remove user labels when not
	optimizing CFG.  Also punt in this case if the edge is the only place
	in GIMPLE which holds some unique locus.  Remove redundant code.
	(execute_fixup_cfg): Do not remove statements when not optimizing CFG.
	* tree-cfgcleanup.c : Include flags.h.
	(tree_forwarder_block_p): Test optimize_cfg in lieu of optimize.
	* tree-inline.c (copy_edges_for_bb): If -fpreserve-control-flow is
	enabled, preserve the source location of user returns.
	(expand_call_inline): Preserve the location of the call on the edge
	if -fpreserve-control-flow is enabled.
	* tree-into-ssa.c (insert_phi_nodes_for): Set a location on the debug
	statement generated for a variable, if possible.
	* tree-ssa-coalesce.c (coalesce_cost_edge): If -fpreserve-control-flow
	is enabled, raise the cost of the problematic cases even more.
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Record the location of
	the last removed statement in each block and put it onto the fallthru
	edge if the block is now empty and -fpreserve-control-flow is enabled.
	Do not drop debug statements with location if -fpreserve-control-flow
	is enabled.
	* tree-ssa-propagate.c (substitute_and_fold): Likewise.  Remove more
	trivially dead statements if DO_DCE is true.
	(before_dom_children): Set missing visited flag.
	* tree-ssa-sccvn.c (eliminate_cleanup): Likewise.
	(process_bb): Do not visit edges if -fpreserve-control-flow is enabled.
	* tree-ssa-ifcombine.c (pass_tree_ifcombine::gate): New method.
	* tree-ssa-loop-ivcanon.c (pass_complete_unroll::gate): Likewise.
	* tree-ssa-loop-ivopts.c (determine_group_iv_cost_address): Do not use
	autoincrement if -fpreserve-control-flow is enabled.
	* tree-ssa-reassoc.c (reassociate_bb): Do not optimize range tests if
	-fpreserve-control-flow is enabled.
	* tree-ssa-threadbackward.c (pass_early_thread_jumps::gate): Return
	false if -fpreserve-control-flow is enabled.
	* config/arm/arm.h (FINAL_PRESCAN_INSN): For ARM mode, enable only if
	optimizing CFG.
testsuite/
	* gcc.target/i386/pr90178.c: Accept another register.

[T609-007: port -fpreserve-control-flow to gcc-10]
[U506-006: missing SLOC with -O1 -fpreserve-control-flow -gnatpn]
(To be submitted)

commit e1a135c3c20545250e4ffaa07da70f7a5b43ffa0
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

lto/
	* lto-symtab.c (warn_type_compatibility_p): Verify TBAA compatibility
	only when strict aliasing is enabled.

[R422-003: type mismatch warning for imported C++ class with LTO]
(To be ported)

commit b557c44e0c2f356345f4fda7a49cd13a82cd59e9
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* ipa-pure-const.c (check_call): In non-IPA mode, set can_throw flag
	for a recursive call that can throw if stack checking is enabled.
	(check_stmt): Fix formatting.
	(propagate_nothrow): Set can_throw for a recursive call if exceptions
	and stack checking are enabled.
	(pass_nothrow::execute): Do not set the nothrow flag if there is a
	recursive call that can throw and stack checking is enabled.

[Q830-017: x86-vx7: stack checking on RTP with optimization]
(To be ported)

commit 0aedcb8c94c591e59009238d3f6a3cd7f95afeaa
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* final.c (source_line_in_body): New function.
	(force_source_line): Do not initialize it there...
	(final_start_function): ...but here instead.
	(final_scan_insn): Do not force a source line after the prologue if
	that of the next instruction is in the body.

[Q911-031: port enhanced support for nested subprograms]
(To be ported)

commit 98ebebc5927138021c58a6f2016ffb5e13695758
commit 6ab7836fe06e470c3ede85ee24c0c7fa9a5a76b7
commit f7b2cf0cb19904c09449a2cc7b45efefdd43f2bb
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple.c (gimple_ior_addresses_taken_1): Handle non-local frame
	structures specially.
	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
	* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
	* passes.c (execute_function_todo): Recompute may-alias information
	if execute_update_addresses_taken returns true.
	* tree-ssa.h (execute_update_addresses_taken): Adjust.
	* tree-ssa.c (get_base_of_component_ref): New static function.
	(lookup_decl_for_field): Likewise.
	(split_nonlocal_frames_op): Likewise.
	(fixup_decls): Likewise.
	(execute_update_addresses_taken): Return a boolean.  Break up non-local
	frame structures into variables when possible.

[Q911-031: port enhanced support for nested subprograms]
(To be ported)

commit 8ee0d75d9e6438263e9d3368d2470d2387195d1e
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* common.opt (fallocation-dce): Initialize to 0.
	(ftree-dce): Initialize to 1.
	* doc/invoke.texi (Optimization): Adjust entry for -ftree-dce.
	* opts.c (default_options_table): Add entry for -fallocation-dce
	and remove entry for -ftree-dce.
	* passes.def: Add pass_dce_O0.
	* tree-pass.h (make_pass_dce_O0): Declare.
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Adjust to -O0.
	(eliminate_unnecessary_stmts): Likewise.
	(gate_no_optimization): New gate function.
	(pass_data_dce_O0): New pass_data.
	(pass_dce_O0): New pass.
	(make_pass_dce_O0): New function.

[N221-004: improve compiler performance for big discriminated types]
(To be ported)

commit eb16ceabccbc01e5a3245fdd0db06d6f8e5ff555
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* params.opt (-param=max-vartrack-size=): Default to 10000000.

[N916-044: compile time explosion on huge initializer with -O -g]
(To be ported)

commit c86412381d2016b8cd457aa518e0bd54daf6ceeb
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-inline.c (remap_gimple_op_r): Perform constant propagation.
	(copy_bb): Fold conversions of constants immediately.

[N721-042: constant propagation issue with pragma Inline_Always]
(To be ported)

commit c0c8ec81700e6670c0c523a6b97fe8d734da53bf
commit d2b29f855634230965a52519cc87184aee24b58e
2020-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Add
	m_GENERIC back.
testsuite/
	* gcc.dg/stack-layout-dynamic-1.c: Add xfail.
	* gcc.target/i386/pr97032.c: Add -mno-accumulate-outgoing-args.
	* gcc.target/i386/stack-check-17.c: Likewise.

[N629-004: re-enable -maccumulate-outgoing-args by default on x86]
(To be ported)

commit ca8f510d3634ee6003f3f8cb89a02ab6af94b5b2
2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>

	* gimplify.c (gimplify_init_constructor) <AGGREGATE_TYPE>: Declare new
	ENSURE_SINGLE_ACCESS constant and move variables down.  If it is true
	and all elements are zero, then always clear.  Return GS_ERROR if a
	temporary would be created for it and NOTIFY_TEMP_CREATION is set.
	(gimplify_modify_expr_rhs) <VAR_DECL>: If the target is volatile but
	the type is aggregate non-addressable, ask gimplify_init_constructor
	whether it can generate a single access to the target.

[T604-030: inefficient clearing of volatile variable with constant]
(Installed in GCC 11 on 2020-06-15 - r11-1341)

commit daf2e508f4890af8630b345e685167e1036f0c8e
2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-sra.c (propagate_subaccesses_across_link): When a non-scalar
	access on the LHS is replaced with a scalar access, propagate the
	TYPE_REVERSE_STORAGE_ORDER flag of the type of the original access.

[T601-040: wrong code for controlled type with reverse SSO at -O]
(Installed in GCC 11 on 2020-06-15 - r11-1340)

commit d9bab5e38de7b681d11f529469718867aca9f080
2020-06-12  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* lib/prune.exp (prune_gcc_output): Match any executable name
	in collect messages.

[T227-030: fsf-gxx/gcc-9: g++_dg,other,anon5_C on aarch64-vx7r2-windows64]
(Installed in GCC 11 on 2020-06-12 - r11-1249)

commit 71d4145f16250a5b85de56de95f6daa06dfd40f9
2020-06-11  Alexandre Oliva  <oliva@adacore.com>

	* print-rtl.c (print_mem_expr): Enable TDF_SLIM in dump_flags.

[T527-005: Error: junk at end of line]
(Installed in GCC 11 on 2020-06-11 - r11-1190)

commit 4990af66545529071fdd546b2031aa15ef0f529c
2020-06-10  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	PR rtl-optimization/51447
	* gcc.c-torture/execute/pr51447.c (main): Preserve call-saved
	register.

[T529-043: fsf-gcc/x86_vx7r2: gcc_c-torture,execute,pr51447_c]
(Installed in GCC 11 on 2020-06-10 - r11-1185)

commit 66118d0b25e139b48dd366fac2e2b730a5a376f8
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

testsuite/
	* gcc.dg/guality/guality.exp: Delete.
	* g++.dg/guality/pr55665.C: XFAIL individual test everywhere.

[O909-004: failures in C/C++ testsuite on x86 and x86-64/Linux]
(To be ported)

commit 6d5891290bbe1a35b8296ed675e7f76e5d7b4e8f
commit 44003f593d381d47b3feca1aee322ca716bd7ca4
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from GCC mainline revision r11-29 and r11-919
testsuite/
	* gnat.dg/limited1_inner.adb (Finalize): Use 'Unrestricted_Access.
	* gnat.dg/openacc1.adb: Remove testcase.
	* gnat.dg/rep_clause8.adb: Update error location.

(Already in GCC 11)

commit 4493669fd738f51cc1856af811c028816ef1cd22
commit f37b87fda967870e80cb2a9a548c3302aa9e1136
commit 399e0f0966739d4ccb7cac9ad9c666a8a81a0805
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

	* builtin-types.def (BT_UINT128): New primitive type.
	(BT_FN_UINT128_UINT128): New function type.
	* builtins.def (BUILT_IN_BSWAP128): New GCC builtin.
	* doc/extend.texi (__builtin_bswap128): Document it.
	* builtins.c (expand_builtin): Deal with BUILT_IN_BSWAP128.
	(is_inexpensive_builtin): Likewise.
	* fold-const-call.c (fold_const_call_ss): Likewise.
	* fold-const.c (tree_call_nonnegative_warnv_p): Likewise.
	* tree-vect-stmts.c (vect_get_data_ptr_increment): Likewise.
	(vectorizable_call): Likewise.
	* optabs.c (expand_unop): Always use the double word path for it.
	* tree-core.h (enum tree_index): Add TI_UINT128_TYPE.
	* tree.h (uint128_type_node): New global type.
	* tree.c (build_common_tree_nodes): Build it if TImode is supported.
testsuite/
	* gcc.dg/builtin-bswap-10.c: New test.
	* gcc.dg/builtin-bswap-11.c: Likewise.
	* gcc.target/i386/builtin-bswap-5.c: Likewise.

[S423-008: add support for 128-bit types]
(Installed in GCC 11 on 2020-05-27 - revision r11-675)

commit 099d21a26e8b9942a33a85412818fc4fac201a43
commit 05e304778df451166993a4429823e3b8661dccf8
commit f05952be82ccdcc4b22f0a81b752c600901920dc
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-ssa-store-merging.c (merged_store_group::can_be_merged_into):
	Only turn MEM_REFs into bit-field stores for small bit-field regions.
	(imm_store_chain_info::output_merged_store): Be prepared for sources
	with non-integral type in the bit-field insertion case.
	(pass_store_merging::process_store): Use MAX_FIXED_MODE_SIZE as
	the largest size for the bit-field case.

[T520-020: internal error on floating-point component update at -O2]
(Installed in GCC 11 on 2020-05-12 - revision r11-618)

commit 4cf5c1b15bf06c1c21776a238beda0b9055f00ce
commit ae1ab5d805b207a52efc0bc208026431ad20c7f5
commit 59cad8d2c07f1eae399463bf20010341cf03054d
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

lto-plugin/
	* lto-plugin.c: Document -linker-output-auto-notlo-rel option.
	(linker_output_set): Change type to bool.
	(linker_output_known): Likewise.
	(linker_output_auto_nolto_rel): New variable.
	(all_symbols_read_handler): Take it into account.
	<LDPO_REL>: Do not issue the warning if it is set.
	(process_option): Process -linker-output-auto-notlo-rel.
	(cleanup_handler): Remove unused variable.
	(onload) <LDPT_LINKER_OUTPUT>: Adjust to above type change.
gcc/
	* gcc.c (LTO_PLUGIN_SPEC): Define if not already.
	(LINK_PLUGIN_SPEC): Execute LTO_PLUGIN_SPEC.
	* config/vxworks.h (LTO_PLUGIN_SPEC): Define.

[T425-006: silence warning in LTO mode on VxWorks]
(Installed in GCC 11 on 2020-05-05 - revision r11-169)

commit 82959f2f4691750d6d18b6d1d0f738eb0270569f
commit feb843619df69ba59e735ad2b87e92da041e40bf
2020-06-08  Pierre-Marie de Rodat  <derodat@adacore.com>
            Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.c (add_data_member_location_attribute): Take into account
	the variant part offset in the computation of the data bit offset.
	(add_bit_offset_attribute): Remove CTX parameter.  Pass a new context
	in the call to field_byte_offset.
	(gen_field_die): Adjust call to add_bit_offset_attribute and remove
	confusing assertion.
	(analyze_variant_discr): Deal with boolean subtypes.

[T303-042: DWARF variant part bug with -fgnat-encodings=minimal]
(Installed in GCC 11 on 2020-05-05 - revision r11-159)

commit afa7ed67786f269f5aaa8d472d109f12fd912c99
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

c-family/
	* c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.

[T508-003: suppress warning for Interfaces.C with -fdump-ada-spec]
(Installed in GCC 11 on 2020-05-12 - revision r11-339)

commit 3c9706301d9e3f1ab5aeedd4568042655198004
commit 48dbb2b7adbd9cde3f116774dcf0a12ca237ca96
commit c0cfa5026c46756500d02c9dc32a07eff7ef4653
commit 3f8c78b801227a184edc2ea34c0a3417ac2988ca
commit a99f777e32130b0ba188e4aa71ade082b36420cb
commit 967af8e00ba1659ed306e9d8877af32251e271b3
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

	* common.opt (-fsjlj): New option.
	* configure.ac (--enable-dual-exceptions): Likewise.
	* config.in: Regenerate.
	* configure: Likewise.
	* doc/install.texi: Document --enable-dual-exceptions.
	* doc/invoke.texi: Document -fsjlj.
	* except.c (switch_to_exception_section): Discard an unnamed exception
	section on a target supporting named sections for SJLJ exceptions.
	* gcc.c (init_spec): If CONFIG_DUAL_EXCEPTIONS is defined, modify the
	libgcc_spec into one that uses the SJLJ libgcc if -fsjlj is passed and
	also the EH libgcc if it is not on platforms without shared libraries.
	* opts.c (common_handle_option) <OPT_fsjlj>: If CONFIG_DUAL_EXCEPTIONS
	is not defined, error out.
	* common/common-targhooks.c (default_except_unwind_info): If
	CONFIG_DUAL_EXCEPTIONS is defined, return UI_SJLJ if -fsjlj is passed.
	(dwarf2_except_unwind_info): Likewise.
	* common/config/arm/arm-common.c (arm_except_unwind_info): Likewise.
	* common/config/c6x/c6x-common.c (c6x_except_unwind_info): Likewise.
	* common/config/i386/i386-common.c (i386_except_unwind_info): Likewise.
	* common/config/ia64/ia64-common.c (ia64_except_unwind_info): Likewise.
	* config/arm/arm.c (arm_asm_emit_except_personality): Bail out if the
	target unwind info is not used.
libgcc/
	* configure.ac (libgcc_cv_dual_exceptions): New check.
	* configure: Regenerate.
	* Makefile.in (dual_eh): New variable.
	(dual-libgcc-eh-objects): Likewise.
	If dual_eh is set, also build libgcc_eh.a on platforms without shared
	libraries and a second version of it with the alternate EH scheme.
	* shared-object.mk: Likewise.
	* static-object.mk: Likewise.
	* config/arm/t-bpabi (LIB2ADDEH): Add $(srcdir)/unwind-sjlj.c.
	* config/arm/libunwind.S: Add guard for __USING_SJLJ_EXCEPTIONS__.
	* config/arm/pr-support.c: Likewise.
	* config/arm/unwind-arm.c: Likewise.
	* config/arm/unwind-arm.h: Deal with __USING_SJLJ_EXCEPTIONS__.

[T608-006: port support for dual exceptions to gcc-10]
[T831-042: vx7r2cert - build failure for libgcc/mrtp/sjlj on ARM]
(Superseded by change on the gcc-11 branch)

commit 0ebaa9ea9c66a20bc5bb857d4aa0d8d0dc7ae396
2020-06-08  Eric Botcazou  <ebotcazou@adacore.com>

testsuite/
	* lib/gnat.exp (gnat_target_compile): Do not use libada.

[MC03-050: adjust gnat.dg testsuite to GNAT Pro]
(Superseded by change on the gcc-11 branch)

commit 3b47c58fe7ca272682436029b331b78440756f07
2020-07-24  Alexandre Oliva  <oliva@adacore.com>,
	    Thomas Schwinge <thomas@codesourcery.com>

testsuite/
	* lib/scanoffload.exp (scoff-testname, scoff-adjust): New.
	(scoff): Call them.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-07-24 - revision r11-2314)

commit 251a6131baa1788907851a1e755f21cb2d36f13a
2020-07-24  Alexandre Oliva  <oliva@adacore.com>,
	    Thomas Schwinge <thomas@codesourcery.com>

	* config/i386/intelmic-mkoffload.c
	(generate_target_descr_file): Use dumppfx for save_temps
	files.  Pass -dumpbase et al down to the compiler.
	(generate_target_offloadend_file): Likewise.
	(generate_host_descr_file): Likewise.
	(prepare_target_image): Likewise.  Move out_obj_filename
	setting...
	(main): ... here.  Detect -dumpbase, set dumppfx too.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-07-24 - revision r11-2313)

commit d2e9a36547624d8605fb2c35ef2932fb9bba30cc
2020-07-24  Alexandre Oliva  <oliva@adacore.com>,
	    Haijian Zhang  <z.zhanghaijian@huawei.com>

	PR driver/96230
	* gcc.c (process_command): Adjust and document conditions to
	reset dumpbase_ext.
testsuite/
	* gcc.misc-tests/outputs.exp: Add tests with -dumpbase-ext,
	with identical -dumpbase, with -dumpbase "", and without any
	-dumpbase.
	(outest): Fix "" expansion in expected outputs, skip
	adjustments.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-07-24 - revision r11-2312)

commit 0203650a0b994293fb67b3434db9c3e27e995648
2020-07-24  Alexandre Oliva  <oliva@adacore.com>

	PR testsuite/95720
testsuite/
	* lib/gcc-defs.exp (gcc_adjust_linker_flags_list): Split out of...
	(gcc_adjust_linker_flags): ... this.  Protect gluefile and
	wrap_flags.
	* gcc.misc-tests/outputs.exp: Use gcc_adjust_linker_flags_list.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-07-24 - revision r11-2311)

commit 00d683112ecea84381998e03943130c7383a746a
2020-07-24  Thomas Schwinge <thomas@codesourcery.com>

libgomp/
	* testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
	use.
	* testsuite/libgomp.oacc-c/c.exp: Likewise.
	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-07-24 - revision r11-2305)

commit 15b91848bfbb44e924339934d379b55abd06d407
2020-07-24  Thomas Schwinge <thomas@codesourcery.com>

testsuite/
	* lib/scanoffload.exp (scoff) <offload_targets>: Skip HSA.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-30 - revision r11-1737)

commit 31b3bfb6729afbbafa4526df9b12a465b25b85b3
2020-07-24  Thomas Schwinge <thomas@codesourcery.com>

libgomp/
	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
	'scan-assembler' with 'scan-offload-rtl'.
	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-30 - revision r11-1736)

commit 30797c46244f7864384e6760fb623fa9f865e4ec
2020-06-24  Alexandre Oliva  <oliva@adacore.com>

	PR testsuite/95416
	PR testsuite/95577
testsuite/
	* gcc.misc-tests/outputs.exp (gsplit_dwarf): Move -g into it.
	(outest): Introduce conditionals and string/variable/expr
	expansion.  Drop special-casing of $aout and .dwo.
	(gspd): New conditional.  Guard all .dwo files with it.
	(ltop): New conditional.  Guard files created by the LTO
	plugin with it.  Guard files created by fat LTO compilation
	with its negation.  Add a few -fno-use-linker-plugin tests
	guarded by it.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-24 - revision r11-1642)

commit b8b578056833deb20ad0959679f05be468e9637f
2020-06-24  Martin Liska  <mliska@suse.cz>

	PR testsuite/95720
testsuite/
	* gcc.misc-tests/gcov-pr94029.c: Remove not needed remove-gcda.
	* lib/gcov.exp: Delete properly .gcov files.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-17 - revision r11-1446)

commit f5f32b025021c1d9b875e42d6f6e4d549d4c8958
2020-06-23  Alexandre Oliva  <oliva@adacore.com>

	* collect-utils.h (dumppfx): New.
	* collect-utils.c (dumppfx): Likewise.
	* lto-wrapper.c (run_gcc): Set global dumppfx.
	(compile_offload_image): Pass a -dumpbase on to mkoffload.
	* config/nvptx/mkoffload.c (ptx_dumpbase): New.
	(main): Handle incoming -dumpbase.  Set ptx_dumpbase.  Obey
	save_temps.
	(compile_native): Pass -dumpbase et al to compiler.
	* config/gcn/mkoffload.c (gcn_dumpbase): New.
	(main): Handle incoming -dumpbase.  Set gcn_dumpbase.  Obey
	save_temps.  Pass -dumpbase et al to offload target compiler.
	(compile_native): Pass -dumpbase et al to compiler.
testsuite/
	* lib/scanoffload.exp: New.
	* lib/scanoffloadrtl.exp: Load it.  Replace ".o" with ""
	globally, and use scanoffload's scoff wrapper to fill it in.
	* lib/scanoffloadtree.exp: Likewise.
libgomp/
	* testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
	* testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-23 - revision r11-1599)

commit f060da6413e4092f25618cfdd805f3aab033b18a
2020-06-15  Martin Jambor  <mjambor@suse.cz>

testsuite/
	* lib/brig.exp (brig_target_compile): Strip hsail extension when
	gnerating the name of the binary brig file.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-15 - revision r11-1334)

commit a4cccbd4eceb93ea790655c5a4975afeff90e147
2020-06-05  Alexandre Oliva  <oliva@adacore.com>

	PR driver/95456
	* gcc.c (do_spec_1): Don't call memcpy (_, NULL, 0).

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-05 - revision r11-1014)

commit e73189b1224af58fc2bd38de3e5eb96167a203fc
2020-06-02  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* gcc.misc-tests/outputs.exp: Spell ldscript correctly.
	* lib/gcc-defs.exp (gcc_adjust_linker_flags): Likewise.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-02 - revision r11-834)

commit 33b4a85d6c09e3f8edb2d787a76b6defb1895752
2020-06-02  Andrew Stubbs  <ams@codesourcery.com>

	* config/gcn/gcn-hsa.h (CC1_SPEC): Delete.
	* config/gcn/gcn.opt (-mlocal-symbol-id): Delete.
	* config/gcn/mkoffload.c (main): Don't use -mlocal-symbol-id.
testsuite/
	* gcc.dg/intermod-1.c: Don't use -mlocal-symbol-id.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-06-02 - revision r11-828)

commit 2d41bcbc92314fb1e680ad7299a10354ff9c50de
2020-05-27  Alexandre Oliva  <oliva@adacore.com>

testsuite/
	* lib/gcc-defs.exp: Avoid introducing empty arguments between
	consecutive blanks in board linking options.
	* gcc.misc-tests/outputs.exp: Likewise.  Document
	-gsplit-dwarf testing, skip LTO tests if -flto is not
	supported, detect the default linker output name, cope with
	the need for an explicit executable output.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-05-27 - revision r11-677)

commit f3ffa7c0ec177d1f32866cec4db261e01c9fcca9
2020-05-26  Alexandre Oliva  <oliva@adacore.com>

	* gcc.c (validate_switches): Add braced parameter.  Adjust all
	callers.  Expected and skip trailing brace only if braced.
	Return after handling one atom otherwise.
	(DUMPS_OPTIONS): New.
	(cpp_debug_options): Define in terms of it.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-05-26 - revision r11-635)

commit 6bc3c913ef944ca71e0d2504e0558899e4d3bfb6
2020-05-26  Alexandre Oliva  <oliva@adacore.com>

	* common.opt (aux_base_name): Define.
	(dumpbase, dumpdir): Mark as Driver options.
	(-dumpbase, -dumpdir): Likewise.
	(dumpbase-ext, -dumpbase-ext): New.
	(auxbase, auxbase-strip): Drop.
	* doc/invoke.texi (-dumpbase, -dumpbase-ext, -dumpdir):
	Document.
	(-o): Introduce the notion of primary output, mention it
	influences auxiliary and dump output names as well, add
	examples.
	(-save-temps): Adjust, move examples into -dump*.
	(-save-temps=cwd, -save-temps=obj): Likewise.
	(-fdump-final-insns): Adjust.
	* dwarf2out.c (gen_producer_string): Drop auxbase and
	auxbase_strip; add dumpbase_ext.
	* gcc.c (enum save_temps): Add SAVE_TEMPS_DUMP.
	(save_temps_prefix, save_temps_length): Drop.
	(save_temps_overrides_dumpdir): New.
	(dumpdir, dumpbase, dumpbase_ext): New.
	(dumpdir_length, dumpdir_trailing_dash_added): New.
	(outbase, outbase_length): New.
	(The Specs Language): Introduce %".  Adjust %b and %B.
	(ASM_FINAL_SPEC): Use %b.dwo for an aux output name always.
	Precede object file with %w when it's the primary output.
	(cpp_debug_options): Do not pass on incoming -dumpdir,
	-dumpbase and -dumpbase-ext options; recompute them with
	%:dumps.
	(cc1_options): Drop auxbase with and without compare-debug;
	use cpp_debug_options instead of dumpbase.  Mark asm output
	with %w when it's the primary output.
	(static_spec_functions): Drop %:compare-debug-auxbase-opt and
	%:replace-exception.  Add %:dumps.
	(driver_handle_option): Implement -save-temps=*/-dumpdir
	mutual overriding logic.  Save dumpdir, dumpbase and
	dumpbase-ext options.  Do not save output_file in
	save_temps_prefix.
	(adds_single_suffix_p): New.
	(single_input_file_index): New.
	(process_command): Combine output dir, output base name, and
	dumpbase into dumpdir and outbase.
	(set_collect_gcc_options): Pass a possibly-adjusted -dumpdir.
	(do_spec_1): Optionally dumpdir instead of save_temps_prefix,
	and outbase instead of input_basename in %b, %B and in
	-save-temps aux files.  Handle empty argument %".
	(driver::maybe_run_linker): Adjust dumpdir and auxbase.
	(compare_debug_dump_opt_spec_function): Adjust gkd dump file
	naming.  Spec-quote the computed -fdump-final-insns file name.
	(debug_auxbase_opt): Drop.
	(compare_debug_self_opt_spec_function): Drop auxbase-strip
	computation.
	(compare_debug_auxbase_opt_spec_function): Drop.
	(not_actual_file_p): New.
	(replace_extension_spec_func): Drop.
	(dumps_spec_func): New.
	(convert_white_space): Split-out parts into...
	(quote_string, whitespace_to_convert_p): ... these.  New.
	(quote_spec_char_p, quote_spec, quote_spec_arg): New.
	(driver::finalize): Release and reset new variables; drop
	removed ones.
	* lto-wrapper.c (HAVE_TARGET_EXECUTABLE_SUFFIX): Define if...
	(TARGET_EXECUTABLE_SUFFIX): ... is defined; define this to the
	empty string otherwise.
	(DUMPBASE_SUFFIX): Drop leading period.
	(debug_objcopy): Use concat.
	(run_gcc): Recognize -save-temps=* as -save-temps too.  Obey
	-dumpdir.  Pass on empty dumpdir and dumpbase with a directory
	component.  Simplify temp file names.
	* opts.c (finish_options): Drop aux base name handling.
	(common_handle_option): Drop auxbase-strip handling.
	* toplev.c (print_switch_values): Drop auxbase, add
	dumpbase-ext.
	(process_options): Derive aux_base_name from dump_base_name
	and dump_base_ext.
	(lang_dependent_init): Compute dump_base_ext along with
	dump_base_name.  Disable stack usage and callgraph-info	during
	lto generation and compare-debug recompilation.
fortran/
	* options.c (gfc_get_option_string): Drop auxbase, add
	dumpbase_ext.
testsuite/
	* gcc.misc-tests/outputs.exp: New.
	* gcc.misc-tests/outputs-0.c: New.
	* gcc.misc-tests/outputs-1.c: New.
	* gcc.misc-tests/outputs-2.c: New.
	* lib/gcc-defs.exp (gcc_adjusted_linker_flags): New.
	(gcc_adjust_linker_flags): New.
	(dg-additional-files-options): Call it.  Pass -dumpbase ""
	when there are additional sources.
	* lib/profopt.exp (profopt-execute): Pass the executable
	suffix with -dumpbase-ext.
	* lib/scandump.exp (dump-base): Mention -dumpbase "" use.
	* lib/scanltranstree.exp: Adjust dump suffix expectation.
	* lib/scanwpaipa.exp: Likewise.
lto-plugin/
	* lto-plugin.c (skip_in_suffix): New.
	(exec_lto_wrapper): Use skip_in_suffix and concat to build
	non-temporary output names.
	(onload): Look for -dumpdir in COLLECT_GCC_OPTIONS, and
	override link_output_name with it.
contrib/
	* compare-debug: Adjust for .gkd files named as dump files,
	with the source suffix rather than the object suffix.

[T123-051: revamp auxiliary and dump output filenames in LTO]
(Installed in GCC 11 on 2020-05-26 - revision r11-627)
