Commit Graph

156057 Commits

Author SHA1 Message Date
Jonathan Wakely c6888c6257 PR libstdc++/79433 no #error for including headers with wrong -std
PR libstdc++/79433
	* doc/xml/manual/status_cxx2017.xml: Update feature-test macros.
	* doc/html/*: Regenerate.
	* include/Makefile.am: Remove <bits/c++17_warning.h>.
	* include/Makefile.in: Regenerate.
	* include/bits/c++17_warning.h: Remove.
	* include/bits/string_view.tcc: Do not include <bits/c++17_warning.h>
	for pre-C++17 modes.
	* include/std/any: Likewise.
	(__cpp_lib_any): Define.
	* include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new
	SD-6 draft.
	* include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6
	draft.
	* include/std/optional: Do not include <bits/c++17_warning.h>.
	(__cpp_lib_optional): Define.
	* include/std/shared_mutex: Do not include <bits/c++14_warning.h>.
	* include/std/string_view: Do not include <bits/c++17_warning.h>.
	(__cpp_lib_string_view): Define.
	* include/std/variant: Do not include <bits/c++17_warning.h>.
	(__cpp_lib_variant): Define.
	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm.
	* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm.
	* testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line
	numbers.
	* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust
	expected value of __cpp_lib_scoped_lock.

From-SVN: r252018
2017-09-12 15:02:59 +01:00
Jonathan Wakely 2be7a166a9 PR libstdc++/70483 make std::experimental::string_view fully constexpr
PR libstdc++/70483
	* include/experimental/bits/string_view.tcc (basic_string_view::find)
	(basic_string_view::rfind, basic_string_view::find_first_of)
	(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
	(basic_string_view::find_last_not_of): Add constexpr specifier.
	* include/experimental/string_view (basic_string_view::remove_prefix)
	(basic_string_view::remove_suffix, basic_string_view::swap)
	(basic_string_view::compare, basic_string_view::find)
	(basic_string_view::rfind, basic_string_view::find_first_of)
	(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
	(basic_string_view::find_last_not_of, operator==, operator!=)
	(operator<, operator>, operator<=, operator>=): Likewise.
	* testsuite/experimental/string_view/operations/compare/char/70483.cc:
	New.

From-SVN: r252017
2017-09-12 14:31:20 +01:00
Richard Sandiford c43f427972 Turn HARD_REGNO_NREGS into a target hook
2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood <david.sherwood@arm.com>

gcc/
	* target.def (hard_regno_nregs): New hook.
	(class_max_nregs): Refer to it instead of HARD_REGNO_NREGS.
	* targhooks.h (default_hard_regno_nregs): Declare.
	* targhooks.c (default_hard_regno_nregs): New function.
	* doc/tm.texi.in (HARD_REGNO_NREGS): Replace with...
	(TARGET_HARD_REGNO_NREGS): ...this hook.
	(HARD_REGNO_NREGS_HAS_PADDING): Update accordingly.
	(CLASS_MAX_NREGS): Likewise.
	* doc/tm.texi: Regenerate.
	* reginfo.c (init_reg_modes_target): Use targetm.hard_regno_nregs
	instead of HARD_REGNO_NREGS.
	* rtl.h (REG_NREGS): Refer to TARGET_HARD_REGNO_NREGS rather than
	HARD_REGNO_NREGS in the comment.
	* config/aarch64/aarch64.h (HARD_REGNO_NREGS): Delete.
	* config/aarch64/aarch64-protos.h (aarch64_hard_regno_nregs): Delete.
	* config/aarch64/aarch64.c (aarch64_hard_regno_nregs): Make static.
	Return an unsigned int.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/alpha/alpha.h (HARD_REGNO_NREGS): Delete.
	* config/arc/arc.h (HARD_REGNO_NREGS): Delete.
	* config/arc/arc.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(arc_hard_regno_nregs): New function.
	* config/arm/arm.h (HARD_REGNO_NREGS): Delete.
	* config/arm/arm.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(arm_hard_regno_nregs): New function.
	* config/avr/avr.h (HARD_REGNO_NREGS): Delete.
	* config/bfin/bfin.h (HARD_REGNO_NREGS): Delete.
	* config/bfin/bfin.c (bfin_hard_regno_nregs): New function.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/c6x/c6x.h (HARD_REGNO_NREGS): Delete.
	* config/cr16/cr16.h (LONG_REG_P): Use targetm.hard_regno_nregs.
	(HARD_REGNO_NREGS): Delete.
	* config/cr16/cr16.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(cr16_hard_regno_nregs): New function.
	(cr16_memory_move_cost): Use it instead of HARD_REGNO_NREGS.
	* config/cris/cris.h (HARD_REGNO_NREGS): Delete.
	* config/cris/cris.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(cris_hard_regno_nregs): New function.
	* config/epiphany/epiphany.h (HARD_REGNO_NREGS): Delete.
	* config/fr30/fr30.h (HARD_REGNO_NREGS): Delete.
	(CLASS_MAX_NREGS): Use targetm.hard_regno_nregs.
	* config/frv/frv.h (HARD_REGNO_NREGS): Delete.
	(CLASS_MAX_NREGS): Remove outdated copy of documentation.
	* config/frv/frv-protos.h (frv_hard_regno_nregs): Delete.
	* config/frv/frv.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(frv_hard_regno_nregs): Make static.  Take and return an
	unsigned int.
	(frv_class_max_nregs): Remove outdated copy of documentation.
	* config/ft32/ft32.h (HARD_REGNO_NREGS): Delete.
	* config/h8300/h8300.h (HARD_REGNO_NREGS): Delete.
	* config/h8300/h8300-protos.h (h8300_hard_regno_nregs): Delete.
	* config/h8300/h8300.c (h8300_hard_regno_nregs): Delete.
	* config/i386/i386.h (HARD_REGNO_NREGS): Delete.
	* config/i386/i386.c (ix86_hard_regno_nregs): New function.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/ia64/ia64.h (HARD_REGNO_NREGS): Delete.
	(CLASS_MAX_NREGS): Update comment.
	* config/ia64/ia64.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(ia64_hard_regno_nregs): New function.
	* config/iq2000/iq2000.h (HARD_REGNO_NREGS): Delete.
	* config/lm32/lm32.h (HARD_REGNO_NREGS): Delete.
	* config/m32c/m32c.h (HARD_REGNO_NREGS): Delete.
	* config/m32c/m32c-protos.h (m32c_hard_regno_nregs): Delete.
	* config/m32c/m32c.c (m32c_hard_regno_nregs_1): Take and return
	an unsigned int.
	(m32c_hard_regno_nregs): Likewise.  Make static.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/m32r/m32r.h (HARD_REGNO_NREGS): Delete.
	* config/m68k/m68k.h (HARD_REGNO_NREGS): Delete.
	* config/m68k/m68k.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(m68k_hard_regno_nregs): New function.
	* config/mcore/mcore.h (HARD_REGNO_NREGS): Delete.
	* config/microblaze/microblaze.h (HARD_REGNO_NREGS): Delete.
	* config/mips/mips.h (HARD_REGNO_NREGS): Delete.
	* config/mips/mips-protos.h (mips_hard_regno_nregs): Delete.
	* config/mips/mips.c (mips_hard_regno_nregs): Make static.
	Take and return an unsigned int.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/mmix/mmix.h (HARD_REGNO_NREGS): Delete.
	(CLASS_MAX_NREGS): Use targetm.hard_regno_nregs.
	* config/mn10300/mn10300.h (HARD_REGNO_NREGS): Delete.
	* config/moxie/moxie.h (HARD_REGNO_NREGS): Delete.
	* config/msp430/msp430.h (HARD_REGNO_NREGS): Delete.
	* config/msp430/msp430-protos.h (msp430_hard_regno_nregs): Delete.
	* config/msp430/msp430.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(msp430_hard_regno_nregs): Make static.  Take and return an
	unsigned int.
	* config/nds32/nds32.h (HARD_REGNO_NREGS): Delete.
	* config/nds32/nds32-protos.h (nds32_hard_regno_nregs): Delete.
	* config/nds32/nds32.c (nds32_hard_regno_nregs): Delete.
	(nds32_hard_regno_mode_ok): Use targetm.hard_regno_nregs.
	* config/nios2/nios2.h (HARD_REGNO_NREGS): Delete.
	* config/nvptx/nvptx.h (HARD_REGNO_NREGS): Delete.
	* config/nvptx/nvptx.c (nvptx_hard_regno_nregs): New function.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/pa/pa32-regs.h (HARD_REGNO_NREGS): Rename to...
	(PA_HARD_REGNO_NREGS): ...this.
	* config/pa/pa64-regs.h (HARD_REGNO_NREGS): Rename to...
	(PA_HARD_REGNO_NREGS): ...this.
	* config/pa/pa.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(pa_hard_regno_nregs): New function.
	* config/pdp11/pdp11.h (HARD_REGNO_NREGS): Delete.
	* config/pdp11/pdp11.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(pdp11_hard_regno_nregs): New function.
	* config/powerpcspe/powerpcspe.h (HARD_REGNO_NREGS): Delete.
	* config/powerpcspe/powerpcspe.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(rs6000_hard_regno_nregs_hook): New function.
	* config/riscv/riscv.h (HARD_REGNO_NREGS): Delete.
	* config/riscv/riscv-protos.h (riscv_hard_regno_nregs): Delete.
	* config/riscv/riscv.c (riscv_hard_regno_nregs): Make static.
	Take and return an unsigned int.  Move earlier in file.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/rl78/rl78.h (HARD_REGNO_NREGS): Delete.
	* config/rl78/rl78-protos.h (rl78_hard_regno_nregs): Delete.
	* config/rl78/rl78.c (TARGET_HARD_REGNO_NREGS): Reefine.
	(rl78_hard_regno_nregs): Make static.  Take and return an
	unsigned int.
	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Delete.
	* config/rs6000/rs6000.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(rs6000_hard_regno_nregs_hook): New function.
	* config/rx/rx.h (HARD_REGNO_NREGS): Delete.
	* config/rx/rx.c (rx_hard_regno_nregs): New function.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/s390/s390.h (HARD_REGNO_NREGS): Delete.
	* config/s390/s390.c (REGNO_PAIR_OK): Use s390_hard_regno_nregs
	instead of HARD_REGNO_NREGS.
	(s390_hard_regno_nregs): New function.
	(s390_hard_regno_mode_ok): Add comment from s390.h.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/sh/sh.h (HARD_REGNO_NREGS): Delete.
	* config/sh/sh.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(sh_hard_regno_nregs): New function.
	(sh_pass_in_reg_p): Use it.
	* config/sparc/sparc.h (HARD_REGNO_NREGS): Delete.
	* config/sparc/sparc.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(sparc_hard_regno_nregs): New function.
	* config/spu/spu.h (HARD_REGNO_NREGS): Delete.
	* config/spu/spu.c (spu_hard_regno_nregs): New function.
	(spu_function_arg_advance): Use it, supplying a valid register number.
	(TARGET_HARD_REGNO_NREGS): Redefine.
	* config/stormy16/stormy16.h (HARD_REGNO_NREGS): Delete.
	* config/tilegx/tilegx.h (HARD_REGNO_NREGS): Delete.
	* config/tilepro/tilepro.h (HARD_REGNO_NREGS): Delete.
	* config/v850/v850.h (HARD_REGNO_NREGS): Delete.
	* config/vax/vax.h (HARD_REGNO_NREGS): Delete.
	* config/visium/visium.h (HARD_REGNO_NREGS): Delete.
	(CLASS_MAX_NREGS): Remove copy of old documentation.
	* config/visium/visium.c (TARGET_HARD_REGNO_NREGS): Redefine.
	(visium_hard_regno_nregs): New function.
	(visium_hard_regno_mode_ok): Use it instead of HARD_REGNO_NREGS.
	* config/xtensa/xtensa.h (HARD_REGNO_NREGS): Delete.
	* config/xtensa/xtensa.c (TARGET_HARD_REGNO_NREGS): Redefine.
	xtensa_hard_regno_nregs): New function.
	* system.h (HARD_REGNO_NREGS): Poison.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r252016
2017-09-12 13:29:36 +00:00
Richard Sandiford a93072ca5f Use hard_regno_nregs instead of HARD_REGNO_NREGS
This patch converts some places that use HARD_REGNO_NREGS to use
hard_regno_nregs, in places where the initialisation has obviously
already taken place.

2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* config/arm/arm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Use
	hard_regno_nregs instead of HARD_REGNO_NREGS.
	(THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
	* config/c6x/c6x.c (c6x_expand_prologue): Likewise.
	(c6x_expand_epilogue): Likewise.
	* config/frv/frv.c (frv_alloc_temp_reg): Likewise.
	(frv_read_iacc_argument): Likewise.
	* config/sh/sh.c: Include regs.h.
	(sh_print_operand): Use hard_regno_nregs instead of HARD_REGNO_NREGS.
	(regs_used): Likewise.
	(output_stack_adjust): Likewise.
	* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Likewise.
	* expmed.c: Include regs.h.
	(store_bit_field_1): Use hard_regno_nregs instead of HARD_REGNO_NREGS.
	* ree.c: Include regs.h.
	(combine_reaching_defs): Use hard_regno_nregs instead of
	HARD_REGNO_NREGS.
	(add_removable_extension): Likewise.

From-SVN: r252015
2017-09-12 13:29:18 +00:00
Richard Sandiford ad47462665 Convert hard_regno_nregs to a function
This patch converts hard_regno_nregs into an inline function, which
in turn allows hard_regno_nregs to be used as the name of a targetm
field.  This is just a mechanical change.

2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* regs.h (hard_regno_nregs): Turn into a function.
	(end_hard_regno): Update accordingly.
	* caller-save.c (setup_save_areas): Likewise.
	(save_call_clobbered_regs): Likewise.
	(replace_reg_with_saved_mem): Likewise.
	(insert_restore): Likewise.
	(insert_save): Likewise.
	* combine.c (can_change_dest_mode): Likewise.
	(move_deaths): Likewise.
	(distribute_notes): Likewise.
	* config/mips/mips.c (mips_hard_regno_call_part_clobbered): Likewise.
	* config/powerpcspe/powerpcspe.c (rs6000_cannot_change_mode_class)
	(rs6000_split_multireg_move): Likewise.
	(rs6000_register_move_cost): Likewise.
	(rs6000_memory_move_cost): Likewise.
	* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class): Likewise.
	(rs6000_split_multireg_move): Likewise.
	(rs6000_register_move_cost): Likewise.
	(rs6000_memory_move_cost): Likewise.
	* cselib.c (cselib_reset_table): Likewise.
	(cselib_lookup_1): Likewise.
	* emit-rtl.c (set_mode_and_regno): Likewise.
	* function.c (aggregate_value_p): Likewise.
	* ira-color.c (setup_profitable_hard_regs): Likewise.
	(check_hard_reg_p): Likewise.
	(calculate_saved_nregs): Likewise.
	(assign_hard_reg): Likewise.
	(improve_allocation): Likewise.
	(calculate_spill_cost): Likewise.
	* ira-emit.c (modify_move_list): Likewise.
	* ira-int.h (ira_hard_reg_set_intersection_p): Likewise.
	(ira_hard_reg_in_set_p): Likewise.
	* ira.c (setup_reg_mode_hard_regset): Likewise.
	(clarify_prohibited_class_mode_regs): Likewise.
	(check_allocation): Likewise.
	* lra-assigns.c (find_hard_regno_for_1): Likewise.
	(lra_setup_reg_renumber): Likewise.
	(setup_try_hard_regno_pseudos): Likewise.
	(spill_for): Likewise.
	(assign_hard_regno): Likewise.
	(setup_live_pseudos_and_spill_after_risky_transforms): Likewise.
	* lra-constraints.c (in_class_p): Likewise.
	(lra_constraint_offset): Likewise.
	(simplify_operand_subreg): Likewise.
	(lra_constraints): Likewise.
	(split_reg): Likewise.
	(split_if_necessary): Likewise.
	(invariant_p): Likewise.
	(inherit_in_ebb): Likewise.
	* lra-lives.c (process_bb_lives): Likewise.
	* lra-remat.c (reg_overlap_for_remat_p): Likewise.
	(get_hard_regs): Likewise.
	(do_remat): Likewise.
	* lra-spills.c (assign_spill_hard_regs): Likewise.
	* mode-switching.c (create_pre_exit): Likewise.
	* postreload.c (reload_combine_recognize_pattern): Likewise.
	* recog.c (peep2_find_free_register): Likewise.
	* regcprop.c (kill_value_regno): Likewise.
	(set_value_regno): Likewise.
	(copy_value): Likewise.
	(maybe_mode_change): Likewise.
	(find_oldest_value_reg): Likewise.
	(copyprop_hardreg_forward_1): Likewise.
	* regrename.c (check_new_reg_p): Likewise.
	(regrename_do_replace): Likewise.
	* reload.c (push_reload): Likewise.
	(combine_reloads): Likewise.
	(find_dummy_reload): Likewise.
	(operands_match_p): Likewise.
	(find_reloads): Likewise.
	(find_equiv_reg): Likewise.
	(reload_adjust_reg_for_mode): Likewise.
	* reload1.c (count_pseudo): Likewise.
	(count_spilled_pseudo): Likewise.
	(find_reg): Likewise.
	(clear_reload_reg_in_use): Likewise.
	(free_for_value_p): Likewise.
	(allocate_reload_reg): Likewise.
	(choose_reload_regs): Likewise.
	(reload_adjust_reg_for_temp): Likewise.
	(emit_reload_insns): Likewise.
	(delete_output_reload): Likewise.
	* rtlanal.c (subreg_get_info): Likewise.
	* sched-deps.c (sched_analyze_reg): Likewise.
	* sel-sched.c (init_regs_for_mode): Likewise.
	(mark_unavailable_hard_regs): Likewise.
	(choose_best_reg_1): Likewise.
	(verify_target_availability): Likewise.
	* valtrack.c (dead_debug_insert_temp): Likewise.
	* var-tracking.c (track_loc_p): Likewise.
	(emit_note_insn_var_location): Likewise.
	* varasm.c (make_decl_rtl): Likewise.
	* reginfo.c (choose_hard_reg_mode): Likewise.
	(init_reg_modes_target): Refer directly to
	this_target_regs->x_hard_regno_nregs.

From-SVN: r252014
2017-09-12 13:29:05 +00:00
Richard Sandiford c1b52c0ef6 Make more use of in_hard_reg_set_p
An upcoming patch will convert hard_regno_nregs into an inline
function, which in turn allows hard_regno_nregs to be used as the
name of a targetm field.  This patch rewrites a use that can use
in_hard_reg_set_p instead.

2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* ira-costs.c (record_operand_costs): Use in_hard_reg_set_p
	instead of hard_regno_nregs.

From-SVN: r252013
2017-09-12 13:28:37 +00:00
Richard Sandiford 4edd6298d8 Make more use of end_hard_regno
An upcoming patch will convert hard_regno_nregs into an inline
function, which in turn allows hard_regno_nregs to be used as the
name of a targetm field.  This patch rewrites uses that can use
end_hard_regno instead.

2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Use
	end_hard_regno instead of hard_regno_nregs.
	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Likewise.
	* config/visium/visium.c (visium_hard_regno_mode_ok): Likewise.
	* ira-color.c (improve_allocation): Likewise.
	* lra-assigns.c (find_hard_regno_for_1): Likewise.
	* lra-lives.c (mark_regno_live): Likewise.
	(mark_regno_dead): Likewise.
	* lra-remat.c (operand_to_remat): Likewise.
	* lra.c (collect_non_operand_hard_regs): Likewise.
	* postreload.c (reload_combine_note_store): Likewise.
	(move2add_valid_value_p): Likewise.
	* reload.c (regno_clobbered_p): Likewise.

From-SVN: r252012
2017-09-12 13:28:27 +00:00
Richard Sandiford 036620db8a Make more use of END_REGNO
An upcoming patch will convert hard_regno_nregs into an inline
function, which in turn allows hard_regno_nregs to be used as the
name of a targetm field.  This patch rewrites uses that are more
easily (and efficiently) written as END_REGNO.

2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* config/frv/frv.c (FOR_EACH_REGNO): Use END_REGNO instead of
	hard_regno_nregs.
	* config/v850/v850.c (v850_reorg): Likewise.
	* reload.c (refers_to_regno_for_reload_p): Likewise.
	(find_equiv_reg): Likewise.
	* reload1.c (reload_reg_reaches_end_p): Likewise.

From-SVN: r252011
2017-09-12 13:28:18 +00:00
Richard Sandiford 462a99aa98 Make more use of REG_NREGS
An upcoming patch will convert hard_regno_nregs into an inline
function, which in turn allows hard_regno_nregs to be used as the
name of a targetm field.  This patch rewrites uses that are more
easily (and efficiently) written as REG_NREGS.

2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* caller-save.c (add_used_regs): Use REG_NREGS instead of
	hard_regno_nregs.
	* config/aarch64/aarch64.c (aarch64_split_combinev16qi): Likewise.
	* config/arm/arm.c (output_move_neon): Likewise.
	(arm_attr_length_move_neon): Likewise.
	(neon_split_vcombine): Likewise.
	* config/c6x/c6x.c (c6x_mark_reg_read): Likewise.
	(c6x_mark_reg_written): Likewise.
	(c6x_dwarf_register_span): Likewise.
	* config/i386/i386.c (ix86_save_reg): Likewise.
	* config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise.
	(rws_access_reg): Likewise.
	* config/s390/s390.c (s390_call_saved_register_used): Likewise.
	* mode-switching.c (create_pre_exit): Likewise.
	* ree.c (combine_reaching_defs): Likewise.
	(add_removable_extension): Likewise.
	* regcprop.c (find_oldest_value_reg): Likewise.
	(copyprop_hardreg_forward_1): Likewise.
	* reload.c (reload_inner_reg_of_subreg): Likewise.
	(push_reload): Likewise.
	(combine_reloads): Likewise.
	(find_dummy_reload): Likewise.
	(reload_adjust_reg_for_mode): Likewise.
	* reload1.c (find_reload_regs): Likewise.
	(forget_old_reloads_1): Likewise.
	(reload_reg_free_for_value_p): Likewise.
	(reload_adjust_reg_for_temp): Likewise.
	(emit_reload_insns): Likewise.
	(delete_output_reload): Likewise.
	* sel-sched.c (choose_best_reg_1): Likewise.
	(choose_best_pseudo_reg): Likewise.

From-SVN: r252010
2017-09-12 13:28:08 +00:00
Richard Sandiford e0bd6c9f0a Turn SLOW_UNALIGNED_ACCESS into a target hook
2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood <david.sherwood@arm.com>

gcc/
	* defaults.h (SLOW_UNALIGNED_ACCESS): Delete.
	* target.def (slow_unaligned_access): New hook.
	* targhooks.h (default_slow_unaligned_access): Declare.
	* targhooks.c (default_slow_unaligned_access): New function.
	* doc/tm.texi.in (SLOW_UNALIGNED_ACCESS): Replace with...
	(TARGET_SLOW_UNALIGNED_ACCESS): ...this.
	* doc/tm.texi: Regenerate.
	* config/alpha/alpha.h (SLOW_UNALIGNED_ACCESS): Delete.
	* config/arm/arm.h (SLOW_UNALIGNED_ACCESS): Delete.
	* config/i386/i386.h (SLOW_UNALIGNED_ACCESS): Delete commented-out
	definition.
	* config/powerpcspe/powerpcspe.h (SLOW_UNALIGNED_ACCESS): Delete.
	* config/powerpcspe/powerpcspe.c (TARGET_SLOW_UNALIGNED_ACCESS):
	Redefine.
	(rs6000_slow_unaligned_access): New function.
	(rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS.
	(expand_block_compare): Likewise.
	(expand_strn_compare): Likewise.
	(rs6000_rtx_costs): Likewise.
	* config/riscv/riscv.h (SLOW_UNALIGNED_ACCESS): Delete.
	(riscv_slow_unaligned_access): Likewise.
	* config/riscv/riscv.c (riscv_slow_unaligned_access): Rename to...
	(riscv_slow_unaligned_access_p): ...this and make static.
	(riscv_option_override): Update accordingly.
	(riscv_slow_unaligned_access): New function.
	(TARGET_SLOW_UNALIGNED_ACCESS): Redefine.
	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Delete.
	* config/rs6000/rs6000.c (TARGET_SLOW_UNALIGNED_ACCESS): Redefine.
	(rs6000_slow_unaligned_access): New function.
	(rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS.
	(rs6000_rtx_costs): Likewise.
	* config/rs6000/rs6000-string.c (expand_block_compare)
	(expand_strn_compare): Use targetm.slow_unaligned_access instead
	of SLOW_UNALIGNED_ACCESS.
	* config/tilegx/tilegx.h (SLOW_UNALIGNED_ACCESS): Delete.
	* config/tilepro/tilepro.h (SLOW_UNALIGNED_ACCESS): Delete.
	* calls.c (expand_call): Use targetm.slow_unaligned_access instead
	of SLOW_UNALIGNED_ACCESS.
	* expmed.c (simple_mem_bitfield_p): Likewise.
	* expr.c (alignment_for_piecewise_move): Likewise.
	(emit_group_load_1): Likewise.
	(emit_group_store): Likewise.
	(copy_blkmode_from_reg): Likewise.
	(emit_push_insn): Likewise.
	(expand_assignment): Likewise.
	(store_field): Likewise.
	(expand_expr_real_1): Likewise.
	* gimple-fold.c (gimple_fold_builtin_memory_op): Likewise.
	* lra-constraints.c (simplify_operand_subreg): Likewise.
	* stor-layout.c (bit_field_mode_iterator::next_mode): Likewise.
	* gimple-ssa-store-merging.c: Likewise in block comment at start
	of file.
	* tree-ssa-strlen.c: Include target.h.
	(handle_builtin_memcmp): Use targetm.slow_unaligned_access instead
	of SLOW_UNALIGNED_ACCESS.
	* system.h (SLOW_UNALIGNED_ACCESS): Poison.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r252009
2017-09-12 13:27:55 +00:00
Richard Sandiford 41defab318 PR81285: Fix uninitialised variable in emit_store_flag_int
2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	PR rtl-optimization/82185
	* expmed.c (emit_store_flag_int): Only test tem if it has been
	initialized.

From-SVN: r252008
2017-09-12 13:27:13 +00:00
Richard Biener c651dca218 re PR middle-end/82149 (match.pd: 2919: bad if test ?)
2017-09-12  Richard Biener  <rguenther@suse.de>

	PR middle-end/82149
	* match.pd ((FTYPE) N CMP CST): Fix typo.

From-SVN: r252007
2017-09-12 13:21:52 +00:00
Simon Atanasyan 8101ec8538 Add short_call function attribute for MIPS
gcc/
	* config/mips/mips.c (mips_attribute_table): Add 'short_call'
	attribute.
	(mips_near_type_p): Add 'short_call' attribute as a synonym
	for 'near'.
	* doc/extend.texi (short_call): Document new function attribute.

gcc/testsuite

	* gcc.target/mips/near-far-1.c: Add check for 'short_call'
	attribute.
	* gcc.target/mips/near-far-2.c: Likewise.
	* gcc.target/mips/near-far-3.c: Likewise.
	* gcc.target/mips/near-far-4.c: Likewise.

From-SVN: r252006
2017-09-12 12:51:40 +00:00
Nathan Sidwell 45e3a33db7 Kill CLASSTYPE_SORTED_FIELDS.
* cp-tree.h (struct lang_type): Lose sorted_fields member.
	(CLASSTYPE_SORTED_FIELDS): Delete.
	* name-lookup.h (set_class_bindings): Add EXTRA arg.
	* name-lookup.c (fields_linear_search): New, broken out of ...
	(lookup_field_1): ... here.  Delete remainder of function.
	(get_class_binding_direct): Reimplement without sorted_fields.
	(get_class_binding): Rename TYPE arg to KLASS, for consistency.
	(get_method_slot): Call set_class_binding when creating method_vec
	on complete type.
	(method_name_cmp): Order identically named slots.
	(sorted_fields_type_new): Delete.
	(field_vc_append_class_fields): Rename to ...
	(method_vec_append_class_fields): ... here.  Adjust.
	(field_vec_append_enum_values): Renme to ...
	(method_vec_append_enum_values): ... here. Adjust.
	(method_vec_dedup): New.
	(set_class_bindings): Reimplement.
	(insert_late_enum_def_bindings): Reimplement.

From-SVN: r252005
2017-09-12 12:50:56 +00:00
Nathan Sidwell 20614c8663 name-lookup.c (get_class_binding): Rename TYPE arg to KLASS for consistency.
* name-lookup.c (get_class_binding): Rename TYPE arg to KLASS for
	consistency.
	(restort_data): Move later.
	(method_name_cmp, resort_method_name_cmp): Simplify.
	(resort_type_method_vec): Reformat.

From-SVN: r252004
2017-09-12 12:15:07 +00:00
Jakub Jelinek ec33aebb1c re PR target/82112 (internal compiler error: in fold_convert_loc, at fold-const.c:2262)
PR target/82112
	* c-common.c (sync_resolve_size): Instead of c_dialect_cxx ()
	assertion check that in the condition.
	(get_atomic_generic_size): Likewise.  Before testing if parameter
	has pointer type, if it has array type, call for C++
	default_conversion to perform array-to-pointer conversion.

	* c-c++-common/pr82112.c: New test.
	* gcc.dg/pr82112.c: New test.

From-SVN: r252003
2017-09-12 13:49:29 +02:00
Richard Biener dee6fc2b43 tree-vect-generic.c (expand_vector_operations_1): Do nothing for operations we cannot scalarize.
2017-09-12  Richard Biener  <rguenther@suse.de>

	* tree-vect-generic.c (expand_vector_operations_1): Do nothing
	for operations we cannot scalarize.

From-SVN: r252002
2017-09-12 10:51:33 +00:00
Arnaud Charlet b70514811c [multiple changes]
2017-09-12  Bob Duff  <duff@adacore.com>

	* sem_warn.adb: Minor comment.

2017-09-12  Bob Duff  <duff@adacore.com>

	* libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
	libgnat/a-cbmutr.adb, libgnat/a-cborma.adb: Rename New_Item to
	be Default_Initialized_Item, and apply pragma Unmodified to it,
	to suppress the warning.

2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add early return
	for access types.

2017-09-12  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Consider Refined_Global
	together with Global when ignoring one in CodePeer mode.

2017-09-12  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): In nested
	package declarations that have a private part enable missing check
	of the RM rule 13.1.1(11/3): usage names in aspect definitions are
	resolved at the end of the immediately enclosing declaration list.

From-SVN: r252001
2017-09-12 12:15:46 +02:00
Arnaud Charlet fb69239a00 [multiple changes]
2017-09-12  Bob Duff  <duff@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Initialize Def_Id to
	Empty.

2017-09-12  Georges-Axel Jaloyan  <jaloyan@adacore.com>

	* debug.adb: Reserving flag -gnatdF for safe pointer checking.
	* gnat1drv.adb (gnat1drv): Adding the call to the analysis on
	dF flag.
	* sem_spark.adb, sem_spark.ads: Implementation of the analysis,
	in preparation for the evolution of the SPARK language that
	includes a pointer analysis for checking non-aliasing of access
	types. The Check_Safe_Pointers function is the entry point, and
	will traverse the AST and raise compile-time errors everytime
	it detects non-begign aliasing.  Detailed comments are present
	in the sem_spark.ads file.
	* sem_util.adb, sem_util.ads (First_Global, Next_Global): New
	functions to iterate over the list of globals of a subprogram.
	* libgnat/system.ads: Add restriction No_Finalization.
	* gcc-interface/Make-lang.in: Add new file sem_spark.adb and
	dependency on g-dynhta.adb.

From-SVN: r252000
2017-09-12 11:52:00 +02:00
Bob Duff 7f9fcce834 sem_ch6.adb (Analyze_Expression_Function): Call Check_Dynamically_Tagged_Expression.
2017-09-12  Bob Duff  <duff@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Call
	Check_Dynamically_Tagged_Expression.
	* sem_util.adb (Check_Dynamically_Tagged_Expression): Remove
	"and then Is_Tagged_Type (Typ)" because there is an earlier
	"Assert (Is_Tagged_Type (Typ))".

From-SVN: r251999
2017-09-12 11:09:30 +02:00
Aldy Hernandez cff44c10ae tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC vectors heap vectors.
* tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC
	vectors heap vectors.  Clean up comments.
	Make visited_bbs a reference.
	(profitable_jump_thread_path): Make GC
	vectors heap vectors.  Clean up comments.
	Misc cleanups.
	(convert_and_register_jump_thread_path): Make GC vectors heap
	vectors.
	(check_subpath_and_update_thread_path): Same.  Clean up comments.
	Make visited_bbs a reference.
	(handle_phi): Abstract common code to to
	register_jump_thread_path_if_profitable.
	Rename VAR_BB to DEF_BB.
	Update comments.
	Make GC vectors heap vectors.
	Make visited_bbs a reference.
	(handle_assignment): Same.
	(register_jump_thread_path_if_profitable): New.
	(fsm_find_control_statement_thread_paths): Rename VAR_BB to
	DEF_BB.
	Make GC	vectors heap vectors.  Clean up comments.
	Make visited_bbs a reference.
	(find_jump_threads_backwards): Make visited_bbs live in the stack.
	* tree-ssa-threadupdate.c (delete_jump_thread_path): Fix typo in
	comment.

From-SVN: r251998
2017-09-12 07:24:32 +00:00
Eric Botcazou 072f1e63ad * gcc-interface/Makefile.in (SPARC/Solaris): Remove obsolete stuff.
From-SVN: r251997
2017-09-12 07:05:19 +00:00
GCC Administrator ff3e3d99e2 Daily bump.
From-SVN: r251996
2017-09-12 00:16:20 +00:00
Jonathan Wakely c5ae1a27bd PR libstdc++/70483 make std::string_view fully constexpr
PR libstdc++/70483
	* include/bits/string_view.tcc (basic_string_view::find)
	(basic_string_view::rfind, basic_string_view::find_first_of)
	(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
	(basic_string_view::find_last_not_of): Add constexpr specifier.
	* include/std/string_view (basic_string_view::operator=)
	(basic_string_view::rbegin, basic_string_view::rend)
	(basic_string_view::crbegin, basic_string_view::crend)
	(basic_string_view::remove_prefix, basic_string_view::remove_suffix)
	(basic_string_view::swap, basic_string_view::compare)
	(basic_string_view::find, basic_string_view::rfind)
	(basic_string_view::find_first_of, basic_string_view::find_last_of)
	(basic_string_view::find_first_not_of)
	(basic_string_view::find_last_not_of, basic_string_view::_M_check)
	(basic_string_view::_M_limit, operator==, operator!=, operator<)
	(operator>, operator<=, operator>=): Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
	char/1.cc: Repeat tests in constexpr context.
	* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
	wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
	char/1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
	wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operators/char/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test
	cbegin, cend, rbegin, rend, crbegin and crend.
	* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
	Likewise.
	* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
	Remove trailing whitespace.
	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
	1.cc: Likewise.
	* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
	New.
	* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
	New.
	* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
	New.
	* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
	2.cc: New.

From-SVN: r251988
2017-09-11 22:47:41 +01:00
Max Filippov 738ae6eeee xtensa: fix PR target/82181
2017-09-11  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
	words of E_DImode object are reachable by xtensa_uimm8x4 access.

From-SVN: r251986
2017-09-11 21:33:36 +00:00
Tim Shen 3366a47408 re PR libstdc++/71500 (regex::icase only works on first character in a range)
PR libstdc++/71500
	* include/bits/regex_executor.tcc: Support icase in regex_tratis<...>
	for back reference matches.
	* testsuite/28_regex/regression.cc: Test case.

From-SVN: r251982
2017-09-11 19:02:34 +00:00
Jonathan Wakely 47d7966a70 Adjust test to pass with old std::string
* testsuite/21_strings/basic_string/lwg2946.cc: Adjust for
	compatibility with old COW std::string.

From-SVN: r251981
2017-09-11 17:54:57 +01:00
Vidya Praveen eaddd128de 2017-09-11 Vidya Praveen <vidyapraveen@arm.com>
Revert r251800 and r251799.

From-SVN: r251980
2017-09-11 15:14:57 +01:00
Kyrylo Tkachov 1328002a7d Add myself as ARM port maintainer
2017-09-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* MAINTAINERS (Reviewers): Move myself from here...
	(CPU Port Maintainers): ... to here.

From-SVN: r251979
2017-09-11 14:13:25 +00:00
Arnaud Charlet a83d0680ab [multiple changes]
2017-09-11  Arnaud Charlet  <charlet@adacore.com>

	* doc/gnat_ugn/the_gnat_compilation_model.rst: Fix sphinx warning.
	* doc/gnat_ugn/platform_specific_information.rst: Remove doc
	for no longer supported platforms.
	* doc/gnat_ugn/gnat_and_program_execution.rst: Added detailed
	description of the semantics for dimensionality analysis.
	* gnat_ugn.texi: Regenerated.

2017-09-11  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb (Has_Incomplete_Compoent): Delete.
	(Freeze_Profile):
	Do not inhibit the freezing of the profile of an expression
	function here.
	(Freeze_Subprogram): Do not re-create extra formals.
	* sem_ch6.adb (Analyze_Expression_Function): Always
	pre-analyze the expression if the function is not a completion.
	(Analyze_Subprogram_Body_Helper): For the body generated
	from an expression function that is not a completion, do
	not freeze the profile and temporary mask the types declared
	outside the expression that are not yet frozen.
	* sem_res.adb (Rewrite_Renamed_Operator): Also bail out if invoked
	during the pre-analysis of an expression function.

From-SVN: r251978
2017-09-11 14:40:38 +02:00
Arnaud Charlet c65e7627be Removed, no longer used.
From-SVN: r251977
2017-09-11 14:40:31 +02:00
Arnaud Charlet f9e9e7134f Removed, no longer used.
From-SVN: r251976
2017-09-11 14:17:33 +02:00
Eric Botcazou ab3dd4aba8 gigi.h (enum standard_datatypes): Minor tweak.
* gcc-interface/gigi.h (enum standard_datatypes): Minor tweak.
	(gigi): Likewise.

From-SVN: r251974
2017-09-11 10:32:32 +00:00
Arnaud Charlet e6a096d181 Restored, removed by mistake.
From-SVN: r251973
2017-09-11 12:24:31 +02:00
Arnaud Charlet dcf5930856 Renamed s-thread__ae653.adb
From-SVN: r251972
2017-09-11 12:18:05 +02:00
Arnaud Charlet c64be6371e Removed, no longer used.
From-SVN: r251971
2017-09-11 12:17:12 +02:00
Arnaud Charlet 1c1c5b600b New file.
From-SVN: r251970
2017-09-11 12:15:59 +02:00
Arnaud Charlet 6942aa8f44 Removed, no longer used.
From-SVN: r251969
2017-09-11 12:13:06 +02:00
Arnaud Charlet a0713cb6be libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__*
2017-09-11  Jerome Lambourg  <lambourg@adacore.com>

        * libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__*
        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Take this
	renaming into account.

From-SVN: r251968
2017-09-11 12:12:05 +02:00
Yannick Moy 6f77df7260 lib-xref-spark_specific.adb: Minor rewrite.
2017-09-11  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb: Minor rewrite.

From-SVN: r251967
2017-09-11 11:48:04 +02:00
Jerome Lambourg 6daeb15669 Makefile.in: Take this renaming into account.
2017-09-11  Jerome Lambourg  <lambourg@adacore.com>

	* gcc-interface/Makefile.in: Take this renaming into account.

From-SVN: r251966
2017-09-11 11:19:29 +02:00
Arnaud Charlet 2b9d0dc00b libgnarl: Rename ?-[a-z]*-* into ?-[a-z]*__*
2017-09-11  Jerome Lambourg  <lambourg@adacore.com>

        * libgnarl: Rename ?-[a-z]*-* into ?-[a-z]*__*
        * gcc-interface/Makefile.in: Take this renaming into account.

From-SVN: r251965
2017-09-11 11:18:42 +02:00
Martin Jambor 635c99aaf7 Make HSA resilient to side-effects of split_edge
2017-09-11  Martin Jambor  <mjambor@suse.cz>

	PR hsa/82119
	* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Process ADDR_EXPRs in
	arguments in advance.
	* hsa-regalloc.c (naive_process_phi): New parameter predecessors,
	use it to find predecessor edges.
	(naive_outof_ssa): Collect vector of predecessors.

From-SVN: r251964
2017-09-11 11:09:26 +02:00
Arnaud Charlet 15bac1919a Removed.
From-SVN: r251963
2017-09-11 10:53:50 +02:00
Arnaud Charlet 971d03a33a * s-auxdec-empty.ads, s-auxdec-empty.adb: Removed, no longer used.
From-SVN: r251962
2017-09-11 10:52:18 +02:00
Arnaud Charlet 5125590bf5 Update header.
From-SVN: r251961
2017-09-11 10:48:41 +02:00
Yannick Moy 13126368df sem_util.adb (Check_Result_And_Post_State): Do not issue a warning about missing reference to an outcome if...
2017-09-11  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Check_Result_And_Post_State):
	Do not issue a warning about missing reference to an outcome if
	the subprogram is ghost and has no outputs.
	* lib-xref-spark_specific.adb, sem_aggr.adb, sem_aux.ads: Minor
	reformatting.

From-SVN: r251960
2017-09-11 10:37:51 +02:00
Yannick Moy 6afd4d646d gnat1drv.adb (Adjust_Global_Switches): Set Check_Validity_Of_Parameters to False in GNATprove mode.
2017-09-11  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Set
	Check_Validity_Of_Parameters to False in GNATprove mode.
	* opt.ads (Check_Validity_Of_Parameters): Document switch to
	set option.

From-SVN: r251959
2017-09-11 10:06:46 +02:00
Arnaud Charlet 16707e90f9 New files, to ease sync between AdaCore and FSF.
From-SVN: r251958
2017-09-11 10:05:43 +02:00
Arnaud Charlet b123dccb01 New files, to ease sync between AdaCore and FSF.
From-SVN: r251957
2017-09-11 10:04:48 +02:00