Commit Graph

149065 Commits

Author SHA1 Message Date
Ian Lance Taylor
207f844e6e configure: redirect -fsplit-stack compilation to dev/null
Avoid an error message in the middle of the configure output.
    
    Patch by Eric Botcazou.
    
    Reviewed-on: https://go-review.googlesource.com/30813

From-SVN: r240993
2016-10-11 13:13:17 +00:00
Richard Biener
a26ff5b549 dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
2016-10-11  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
	(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
	(verify_die): New function.
	(dwarf2out_finish): Call it.
	(output_line_info): Handle case of -gsplit-dwarf without
	DWARF2_ASM_LINE_DEBUG_INFO.

From-SVN: r240992
2016-10-11 12:56:49 +00:00
Richard Biener
b13ff1f5e2 re PR debug/77931 (PASS->FAIL: gdb.cp/namespace.exp: print ina)
2016-10-11  Richard Biener  <rguenther@suse.de>

	PR debug/77931
	* gimple-low.c (lower_gimple_bind): Handle arbitrary common
	sub-chains of BLOCK_VARS and gimple_bind_vars.

From-SVN: r240991
2016-10-11 12:52:44 +00:00
Venkataramanan Kumar
1d0eabee39 Fix integer load reservation for -march=znver1
2016-10-11  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

	* config/i386/znver1.md : Fix imov/imovx load type reservations.

From-SVN: r240990
2016-10-11 11:49:32 +00:00
Fritz Reese
8e8c2744fa New flag -fdec-math for COTAN and degree trig intrinsics.
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

New flag -fdec-math for COTAN and degree trig intrinsics.

	gcc/fortran/
	* lang.opt: New flag -fdec-math.
	* options.c (set_dec_flags): Enable with -fdec.
	* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
	* intrinsics.c (add_functions, do_simplify): New intrinsics
	with -fdec-math.
	* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
	* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
	gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
	* iresolve.c (resolve_trig_call, get_degrees, get_radians,
	is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
	gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
	* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
	gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
	* simplify.c (simplify_trig_call, degrees_f, radians_f,
	gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
	gfc_simplify_atan2d): New functions.

	gcc/testsuite/gfortran.dg/
	* dec_math.f90: New testsuite.

From-SVN: r240989
2016-10-11 11:21:07 +00:00
Eric Botcazou
9760fbe005 Minor tweaks
From-SVN: r240988
2016-10-11 10:37:24 +00:00
Nathan Sidwell
fbf4c5021d * MAINTAINERS: Update email address.
From-SVN: r240987
2016-10-11 10:36:33 +00:00
Senthil Kumar Selvaraj
ddefad9a08 Fix gcc.dg/tree-ssa/pr59597.c failure for avr
Declare loop index variable j as a 32 bit int instead of assuming ints 
are 32 bits. The smaller int size on the avr makes prior passes optimize
away the loop exit check (j < 10000000), as the constant is outside
the range of a 16 bit int.

gcc/testsuite/ChangeLog

2016-10-11  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/tree-ssa/pr59597.c: Typedef  __INT32_TYPE__ to i32.
	(main): Declare j as i32 instead of int.

From-SVN: r240986
2016-10-11 10:35:57 +00:00
Pierre-Marie de Rodat
656b031126 exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
	Emit GNAT encodings for object renamings involving record components
	whose normalized bit offset is not null.
	* uintp.h (UI_No_Uint): Declare.
	* gcc-interface/gigi.h (can_materialize_object_renaming_p): New.
	* gcc-interface/utils.c (can_materialize_object_renaming_p): New
	function.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
	In code generation mode, materialize all renamings as long as they need
	debug info and we are not optimizing.

From-SVN: r240985
2016-10-11 10:35:43 +00:00
Jonathan Wakely
4bb4acee68 Optimise std::list::assign(initializer_list<T>) slightly
* include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
	_M_assign_dispatch directly with correct tag.

From-SVN: r240984
2016-10-11 11:33:41 +01:00
Jonathan Wakely
0470fad0d6 Simplify std::rethrow_if_nested definition
* doc/xml/manual/intro.xml: Document LWG 2484 status.
	* libsupc++/nested_exception.h (_Throw_with_nested_impl)
	(_Throw_with_nested_helper): Remove.
	(__throw_with_nested_impl): New overloaded functions to implement
	throw_with_nested logic.
	(throw_with_nested): Call __throw_with_nested_impl.
	(_Rethrow_if_nested_impl): Remove
	(__rethrow_if_nested_impl): New overloaded functions to implement
	rethrow_if_nested logic.
	(rethrow_if_nested): Call __rethrow_if_nested_impl.
	* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
	problem cases from LWG 2484.

From-SVN: r240983
2016-10-11 11:33:36 +01:00
Jonathan Wakely
bf1de1ac98 Enable printers and xmethods for std::__cxx11::list
* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
	Register printer for std::__cxx11::list.
	* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
	std::__cxx11::list as well as std::list.

From-SVN: r240982
2016-10-11 11:33:29 +01:00
Jonathan Wakely
7571121f10 Remove redundant const qualifliers from string_view
* include/experimental/string_view (basic_string_view::_S_compare):
	Remove redundant const from return type.
	* include/std/string_view (basic_string_view:_S_compare): Likewise.

From-SVN: r240981
2016-10-11 11:33:24 +01:00
Jonathan Wakely
2c15eace95 More noexcept for standard mutex types and locks
* include/bits/std_mutex.h (mutex::native_handle)
	(lock_guard(mutex_type&, adopt_lock_t)
	(unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
	* include/std/mutex (recursive_mutex, timed_mutex)
	(recursive_timed_mutex): Likewise.

From-SVN: r240980
2016-10-11 11:33:16 +01:00
Thomas Preud'homme
e7b08761c7 PR77710: fix triplet in builtin-sprintf-warn-4.c
2016-10-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    PR testsuite/PR77710
    * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Use *-*-* as catch-all
    target triplet instead of *-*-*-*.

From-SVN: r240979
2016-10-11 10:26:10 +00:00
Pierre-Marie de Rodat
08ef2c1677 utils2.c (build_binary_op): Add a NO_FOLD argument.
* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
	argument.  Disable folding when true.
	* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
	(build_binary_op): Update signature and comment.
	* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
	folding for all calls to build_binary_op.

From-SVN: r240978
2016-10-11 10:19:39 +00:00
Tristan Gingold
abb3ea16fa fe.h (Constant_Value): Declare.
* fe.h (Constant_Value): Declare.
	* gcc-interface/decl.c (compile_time_known_address_p): Also consider
	references to constants.

From-SVN: r240977
2016-10-11 10:11:49 +00:00
Eric Botcazou
87e25aac8e trans.c (gnat_to_gnu): Adjust comment.
* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
	<N_Op_Minus>: Add comment and missing guard.
	* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.

From-SVN: r240976
2016-10-11 10:03:49 +00:00
Eric Botcazou
9fd7cd44d6 utils.c (type_unsigned_for_rm): New predicate.
* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
	(make_type_from_size): Use it.
	(unchecked_convert): Likewise.  Do not skip the extension step if the
	source type is not integral.

From-SVN: r240975
2016-10-11 09:52:35 +00:00
Marek Polacek
78f6129427 c-common.c (warning_candidate_p): Change the return type to bool and return true/false instead of 1/0.
* c-common.c (warning_candidate_p): Change the return type to bool
	and return true/false instead of 1/0.
	(vector_mode_valid_p): Likewise.

From-SVN: r240974
2016-10-11 09:32:44 +00:00
Eric Botcazou
f153e9d5b0 system-linux-ppc64.ads: Delete.
* system-linux-ppc64.ads: Delete.
	* system-linux-ppc.ads: Make 32-bit/64-bit neutral.
	* gcc-interface/Makefile.in (PowerPC/Linux): Simplify.

Co-Authored-By: Tristan Gingold <gingold@adacore.com>

From-SVN: r240973
2016-10-11 09:12:25 +00:00
Eric Botcazou
d2d58b10b9 Add missing file
From-SVN: r240972
2016-10-11 08:55:31 +00:00
Eric Botcazou
ff7e7ee099 sparc.opt (msubxc): New option.
* config/sparc/sparc.opt (msubxc): New option.
	* doc/invoke.texi (SPARC options): Document it and tidy up.
	* doc/tm.texi.in (Condition Codes): Adjust SPARC example.
	* doc/tm.texi: Regenerate.
	* config/sparc/sparc-modes.def (CC_NOOV): Rename into...
	(CCNZ): ...this.
	(CCX_NOOV): Rename into...
	(CCXNZ): ...this.
	(CCC): New.
	(CCXC): Likewise.
	* config/sparc/predicates.m (fcc_register_operand): Simplify.
	(fcc0_register_operand): Likewise.
	(icc_register_operand): New.
	(icc_or_fcc_register_operand): Simplify.
	(nz_comparison_operator): New.
	(c_comparison_operator): Likewise.
	(noov_compare_operator): Rename into...
	(icc_comparison_operator): ...this.  Use above predicates.
	(noov_compare64_operator): Rename into...
	(v9_comparison_operator): ...this and tidy up.
	(fcc_comparison_operator): New.
	(icc_or_fcc_comparison_operator): Likewise.
	(v9_register_compare_operator): Rename info...
	(v9_register_comparison_operator): ...this.
	* config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
	(sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC
	for Niagara-7.
	(sparc_fixed_condition_code_regs): New function.
	(select_cc_mode): Remove ATTRIBUTE_UNUSED.  Adjust for CCNZ/CCXNZ
	renaming and add support for CCC/CCXC.
	(output_cbranch): Likewise.
	(sparc_print_operand): Likewise.
	(gen_v9_scc): Remove obsolete assertion.
	(emit_scc_insn): Emit RTL directly for EQ and NE.  Add direct support
	for EQ in DImode if TARGET_SUBXC.  Remove test on TARGET_VIS3 for GEU.
	(output_cbcond): Remove bogus handling of CC modes.
	(sparc_register_move_cost): Return 100 for NO_REGS.
	* config/sparc/sparc.md (W): New mode iterator.
	(length): Adjust for noov_compare64_operator renaming.
	(cmpsi_sne): New instruction.
	(cmpdi_sne): Likewise.
	(seqdi_special): Delete.
	(seqdi_special): Likewise.
	(snesi<P:mode>_special): Likewise.
	(snedi_special): Likewise.
	(snedi_special_vis3): Likewise.
	(snesi patterns): Use W iterator.
	(snedi patterns): Likewise.  Add TARGET_SUBXC patterns.
	(sltu patterns): Likewise.
	(sgeu patterns): Likewise.
	(scc splitter): Do not split GEU in DImode if TARGET_SUBXC.
	(normal_branch): Use icc_comparison_operator predicate.
	(inverted_branch): Likewise.
	(cbcond_sp32): Use comparison_operator predicate.
	(cbcond_sp64): Likewise.
	(normal_int_branch_sp64): Adjust for renaming
	(inverted_int_branch_sp64): Likewise.
	(mov<I:mode>_cc_reg_sp64): Likewise.
	(movsf_cc_reg_sp6): Likewise.
	(movdf_cc_reg_sp64): Likewise.
	(movtf_cc_reg_hq_sp64): Likewise.
	(movtf_cc_reg_sp64): Likewise.
	(mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate.
	(movsf_cc_v9): Likewise.
	(movdf_cc_v9): Likewise.
	(movtf_cc_hq_v9): Likewise.
	(movtf_cc_v9): Likewise.
	(adddi3): Call gen_adddi3_sp32.
	(adddi3_insn_sp32): Rename to...
	(adddi3_sp32): ...this.  Accept only register_operand as operand #1
	and use CCCmode for the carry.
	(addx_extend_sp32): Use CCCmode for the carry.
	(addx_extend_sp64): Delete.
	(adddi3_extend_sp32): Use CCCmode for the carry.
	(cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants.
	(subdi3): Call gen_subdi3_sp32.
	(subdi3_insn_sp32): Rename to...
	(subdi3_sp32): ...this and use CCmode for the carry.
	(subx_extend_sp32): Use CCCmode for the carry.
	(subx_extend_sp64): Delete.
	(subdi3_extend_sp32): Use CCmode for the carry.
	(cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants.
	(negdi3): Call gen_negdi3_sp32.
	(negdi3_sp32): Use CCCmode for the carry.
	(cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants.
	(cmp_nz_ashift_1): Use CCNZ mode.
	(cmp_nz_set_ashift_1): Likewise.
	(ctrapsi4): Use comparison_operator predicate.
	(ctrapdi4): Likewise.
	(trapsi_insn): Use icc_comparison_operator predicate.
	(trapdi_insn): Likewise.
	(edge8 patterns): Use CCNZmode.
	(edge16 patterns): Likewise.
	(edge32 patterns): Likewise.

From-SVN: r240971
2016-10-11 08:54:56 +00:00
Eric Botcazou
8d946ecc46 visium-modes.def (CC_NOOV): Rename into...
* config/visium/visium-modes.def (CC_NOOV): Rename into...
	(CCNZ): ...this.
	(CC_BTST): Rename into...
	(CCC): ...this.
	* config/visium/predicates.md (real_add_operand): New.
	(visium_btst_operator): Rename into...
	(visium_equality_comparison_operator): ...this.
	(visium_noov_operator): Rename into...
	(visium_nz_comparison_operator): ...this.
	(visium_c_comparison_operator): New.
	(visium_branch_operator): Adjust and deal with all CC modes.
	* config/visium/visium.c (visium_adjust_cost): Adjust.
	(visium_split_double_add): Use the *_set_carry patterns.
	(visium_select_cc_mode): Add support for CCC mode and adjust.
	(output_cbranch): Adjust and use the carry-based operators for
	floating-point comparisons.
	* config/visium/visium.md (flags_subst_arith): Adjust.
	(addsi3_insn_set_carry): New instruction.
	(subsi3_insn_set_carry): Likewise.
	(negsi2_insn_set_carry): Likewise.
	(btst): Adjust.
	(cmp<mode>_sne): Likewise.
	(cbranch<mode>4): Use ordered_comparison_operator.
	(cbranch<mode>4_insn): Likewise.
	(cbranchsi4_btst_insn): Adjust.

From-SVN: r240969
2016-10-11 08:19:17 +00:00
Tom de Vries
431e31a9f4 Remove RECORD_TYPE special-casing in std_canonical_va_list_type
2016-10-11  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/77558
	* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
	special-casing.

From-SVN: r240968
2016-10-11 08:16:11 +00:00
Eric Botcazou
2e33e1c46f tree.h (build_complex_type): Add second parameter with default.
* tree.h (build_complex_type): Add second parameter with default.
	* tree.c (build_complex_type): Add NAMED second parameter and adjust
	recursive call.  Create a TYPE_DECL only if NAMED is true.
	(build_common_tree_nodes): Pass true in calls to build_complex_type.

From-SVN: r240967
2016-10-11 08:05:31 +00:00
Georg-Johann Lay
76beabf41a New avr-passes.def to register AVR specific passes.
* config/avr/avr-passes.def: New file.
	* config/avr/t-avr (PASSES_EXTRA): Add avr-passes.def.
	* config/avr/avr-protos.h (gcc::context, rtl_opt_pass): Declare.
	(make_avr_pass_recompute_note): New proto.
	* config/avr/avr.c (make_avr_pass_recompute_notes): New function.
	(avr_pass_recompute_notes): Use anonymous namespace.
	(avr_register_passes): Remove function...
	(avr_option_override): ...and its call.

From-SVN: r240966
2016-10-11 08:02:48 +00:00
Robert Suchanek
7c50766489 [MIPS] Disable -mbranch-likely for -Os when targetting generic arch
gcc/
	* config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY with
	PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and with
	PTF_AVOID_BRANCHLIKELY_SPEED for others.
	(mips2, mips3, mips4): Add PTF_AVOID_BRANCHLIKELY_SIZE to tune flags.
	* config/mips/mips.c (mips_option_override): Enable the branch likely
	depending on the tune flags and optimization level.
	* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): Remove.
	(PTF_AVOID_BRANCHLIKELY_SPEED): Define.
	(PTF_AVOID_BRANCHLIKELY_SIZE): Likewise.
	(PTF_AVOID_BRANCHLIKELY_ALWAYS): Likewise.

From-SVN: r240965
2016-10-11 07:58:54 +00:00
Richard Biener
ec1db2a994 lto-streamer-out.c (collect_block_tree_leafs): New helper.
2016-10-11  Richard Biener  <rguenther@suse.de>

	* lto-streamer-out.c (collect_block_tree_leafs): New helper.
	(output_function): Properly stream the whole block tree.
	* lto-streamer-in.c (input_function): Likewise.

From-SVN: r240964
2016-10-11 07:38:08 +00:00
Marek Polacek
038b5cc0d5 Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.
* Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.

	* c-common.c (fold_for_warn): No longer static.
	(bool_promoted_to_int_p): Likewise.
	(c_common_get_narrower): Likewise.
	(constant_expression_warning): Move to c-warn.c.
	(constant_expression_error): Likewise.
	(overflow_warning): Likewise.
	(warn_logical_operator): Likewise.
	(find_array_ref_with_const_idx_r): Likewise.
	(warn_tautological_cmp): Likewise.
	(expr_has_boolean_operands_p): Likewise.
	(warn_logical_not_parentheses): Likewise.
	(warn_if_unused_value): Likewise.
	(strict_aliasing_warning): Likewise.
	(sizeof_pointer_memaccess_warning): Likewise.
	(check_main_parameter_types): Likewise.
	(conversion_warning): Likewise.
	(warnings_for_convert_and_check): Likewise.
	(match_case_to_enum_1): Likewise.
	(match_case_to_enum): Likewise.
	(c_do_switch_warnings): Likewise.
	(warn_for_omitted_condop): Likewise.
	(readonly_error): Likewise.
	(lvalue_error): Likewise.
	(invalid_indirection_error): Likewise.
	(warn_array_subscript_with_type_char): Likewise.
	(warn_about_parentheses): Likewise.
	(warn_for_unused_label): Likewise.
	(warn_for_div_by_zero): Likewise.
	(warn_for_memset): Likewise.
	(warn_for_sign_compare): Likewise.
	(do_warn_double_promotion): Likewise.
	(do_warn_unused_parameter): Likewise.
	(record_locally_defined_typedef): Likewise.
	(maybe_record_typedef_use): Likewise.
	(maybe_warn_unused_local_typedefs): Likewise.
	(maybe_warn_bool_compare): Likewise.
	(maybe_warn_shift_overflow): Likewise.
	(warn_duplicated_cond_add_or_warn): Likewise.
	(diagnose_mismatched_attributes): Likewise.
	* c-common.h: Move the declarations from c-warn.c to its own section.
	* c-warn.c: New file.

From-SVN: r240963
2016-10-11 07:02:40 +00:00
GCC Administrator
07f5170726 Daily bump.
From-SVN: r240962
2016-10-11 00:16:14 +00:00
Than McIntosh
3c061ac052 compiler: move Backend/Linemap creation out of front end.
Push the calls to create Backend and Linemap object out
    of the front end into the back end, and instead pass pointers to
    these objects in the go_create_gogo_args struct. This allows
    for more flexibility in the interfaces used to create the
    objects.
    
    Reviewed-on: https://go-review.googlesource.com/30698

	* go-gcc.h: New file.
	* go-c.h (struct go_create_gogo_args): Add backend and linemap
	fields.
	* go-lang.c: Include "go-gcc.h".
	(go_langhook_init): Set linemap and backend fields of args.
	* go-gcc.cc: Include "go-gcc.h".
	* go-linemap.cc: Include "go-gcc.h".

From-SVN: r240959
2016-10-11 00:11:43 +00:00
Ian Lance Taylor
abe08b7d90 Accidentally failed to commit these earlier, as part of:
Update the compiler to use the new names.  Add calls to printlock and
    printunlock around print statements.  Move expression evaluation before
    the call to printlock.  Update g's writebuf field to a slice, and adjust
    C code accordingly.

    Reviewed-on: https://go-review.googlesource.com/30717

From-SVN: r240958
2016-10-11 00:08:35 +00:00
Kugan Vivekanandarajah
5b69c5e55d Infer and push new value ranges for x in y < x.
gcc/ChangeLog:

2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-vrp.c (evrp_dom_walker::try_add_new_range): New.
	(evrp_dom_walker::before_dom_children): Infer and push new value
	ranges for x in y < x.

From-SVN: r240957
2016-10-10 23:48:47 +00:00
Ian Lance Taylor
65180edc56 runtime: copy print/println support from Go 1.7
Update the compiler to use the new names.  Add calls to printlock and
    printunlock around print statements.  Move expression evaluation before
    the call to printlock.  Update g's writebuf field to a slice, and adjust
    C code accordingly.
    
    Reviewed-on: https://go-review.googlesource.com/30717

From-SVN: r240956
2016-10-10 23:13:39 +00:00
Joseph Myers
73f01cca84 Always support float128 on ia64 (PR target/77586).
Bug 77586, and previously
<https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, reports
ia64-elf failing to build because of float128_type_node being NULL,
but being used by the back end for __float128.

The global float128_type_node is only available conditionally, if
target hooks indicate TFmode is not only available as a scalar mode
and of the right format, but also supported in libgcc.  The back-end
support, however, expects the type always to be available for
__float128 even if the libgcc support is missing.

Although a target-specific node could be restored in the case where
libgcc support is missing, it seems better to address the missing
libgcc support.  Thus, this patch enables TFmode soft-fp in libgcc
globally for all ia64 targets.  Support for XFmode in libgcc (that is,
for libgcc2.c XFmode functions, not soft-fp) is also enabled for all
ia64 targets so that ia64 no longer needs to define the
TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P hook.

I've confirmed that ia64-elf builds cc1 with this patch and it passes
-fself-test.  I have not otherwise tested the patch.  It's plausible
that ia64-elf and ia64-freebsd might work as-is, but ia64-vms probably
needs further changes, by someone familiar with VMS shared libraries,
to implement an equivalent of ia64/t-softfp-compat in that case
(avoiding conflicts between __divtf3 from soft-fp and the old alias
for __divxf3).

	PR target/77586
gcc:
	* config/ia64/ia64.c (ia64_libgcc_floating_mode_supported_p)
	(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
	* config/ia64/elf.h (IA64_NO_LIBGCC_TFMODE): Likewise.
	* config/ia64/freebsd.h (IA64_NO_LIBGCC_TFMODE): Likewise.
	* config/ia64/vms.h (IA64_NO_LIBGCC_XFMODE)
	(IA64_NO_LIBGCC_TFMODE): Likewise.

libgcc:
	* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use
	soft-fp.

From-SVN: r240955
2016-10-10 23:43:07 +01:00
Joseph Myers
6e34164900 * sv.po: Update.
From-SVN: r240953
2016-10-10 23:38:22 +01:00
Jonathan Wakely
5c24897577 Improve docs on libstdc++ source-code layout
* doc/xml/manual/appendix_contributing.xml (contrib.organization):
	Replace <literallayout> with nested <variablelist> elements. Update
	some more outdated text.
	* doc/html/*: Regenerate.

From-SVN: r240952
2016-10-10 23:34:17 +01:00
Ville Voutilainen
1725d05d19 Make any's copy assignment operator exception-safe,
don't copy the underlying value when any is moved,
make in_place constructors explicit.
* include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
Make explicit.
(any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
Likewise.
(operator=(const any&)): Make strongly exception-safe.
(operator=(any&&)): reset() unconditionally in the case where
rhs has a value.
(operator=(_ValueType&&)): Indent the return type.
(_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
* testsuite/20_util/any/assign/2.cc: Adjust.
* testsuite/20_util/any/assign/exception.cc: New.
* testsuite/20_util/any/cons/2.cc: Adjust.
* testsuite/20_util/any/cons/explicit.cc: New.
* testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.

From-SVN: r240951
2016-10-11 01:08:58 +03:00
Kugan Vivekanandarajah
496f8eead8 Allocate bitmap before copying
Allocate bitmap before copying
gcc/ChangeLog:

2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
	  copying.

From-SVN: r240950
2016-10-10 22:03:09 +00:00
Andreas Tobler
b20e75328b configure.ac: Add aarch64-*-freebsd*.
toplevel:

2016-10-10  Andreas Tobler <andreast@gcc.gnu.org>

    * configure.ac: Add aarch64-*-freebsd*.
    * configure: Regenerate.

gcc:

2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc: Add aarch64-*-freebsd* support.
    * config.host: Likewise.
    * config/aarch64/aarch64-freebsd.h: New file.
    * config/aarch64/t-aarch64-freebsd: Ditto.

libgcc:

2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.host: Add support for aarch64-*-freebsd*.

From-SVN: r240949
2016-10-10 23:31:17 +02:00
Jason Merrill
b7beb16ac1 C++17 class deduction issues
PR c++/77890
	PR c++/77912
	* pt.c (do_class_deduction): Set cp_unevaluated_operand.
	(tsubst) [TEMPLATE_TYPE_PARM]: Copy CLASS_PLACEHOLDER_TEMPLATE.

From-SVN: r240948
2016-10-10 16:48:51 -04:00
Jeff Law
d30078b8e7 re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM)
PR tree-optimization/71947
	* tree-ssa-dom.c (cprop_into_stmt): Avoid replacing A with B, then
	B with A within a single statement.

	PR tree-optimization/71947
	* gcc.dg/tree-ssa/pr71947-1.c: New test.
	* gcc.dg/tree-ssa/pr71947-2.c: New test.
	* gcc.dg/tree-ssa/pr71947-3.c: New test.
	* gcc.dg/tree-ssa/pr71947-4.c: New test.
	* gcc.dg/tree-ssa/pr71947-5.c: New test.
	* gcc.dg/tree-ssa/pr71947-6.c: New test.

From-SVN: r240947
2016-10-10 14:40:59 -06:00
Jonathan Wakely
db62593447 Update docs on libstdc++ source-code layout
* doc/xml/manual/appendix_contributing.xml (contrib.organization):
	Describe other subdirectories and add markup. Remove outdated
	reference to check-script target.
	* doc/html/*: Regenerate.

From-SVN: r240946
2016-10-10 19:57:15 +01:00
Bill Schmidt
fbcdc43e3c re PR tree-optimization/77824 (unreachable code in SLSR GIMPLE pass)
2016-10-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/77824
	* gimple-ssa-strength-reduction.c (stmt_cost): Explicitly return
	zero cost for copies.
	(find_candidates_dom_walker::before_dom_children): Replace
	MODIFY_EXPR with SSA_NAME.
	(replace_mult_candidate): Likewise.
	(replace_profitable_candidates): Likewise.

From-SVN: r240945
2016-10-10 18:39:41 +00:00
Jonathan Wakely
e2be44770c Correct C++11 implementation status docs
* doc/xml/manual/status_cxx2011.xml: Correct C++11 status.

From-SVN: r240944
2016-10-10 19:39:18 +01:00
Jonathan Wakely
a3dbb63597 Use noexcept instead of _GLIBCXX_USE_NOEXCEPT
* libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
	with noexcept.

From-SVN: r240943
2016-10-10 19:32:40 +01:00
Than McIntosh
71543388ee compiler: prune away gcc-specific linemap usage
Add an interface to the go Linemap class to allow clients to ask for the
    line number for a Location (for debugging dumps), so as to move some
    gcc-specific location code into the back end.
    
    Reviewed-on: https://go-review.googlesource.com/30699

	* go-linemap.cc (Gcc_linemap::location_line): New method.

From-SVN: r240942
2016-10-10 17:33:32 +00:00
Ian Lance Taylor
5d8c099ede runtime: copy channel code from Go 1.7 runtime
Change the compiler to use the new routines. Drop the separation of
    small and large values when sending on a channel. Allocate the select
    struct on the stack. Remove the old C implementation of channels. Adjust
    the garbage collector for the new data structure.
    
    Bring in part of the tracing code, enough for the channel code to call.
    
    Bump the permitted number of allocations in one of the tests in
    context_test.go. The difference is that now receiving from a channel
    allocates a sudog, which the C code used to simply put on the
    stack. This will be somewhat better when we port proc.go.
    
    Reviewed-on: https://go-review.googlesource.com/30714

From-SVN: r240941
2016-10-10 16:52:09 +00:00
Jonathan Wakely
40962ac03a Minor simplification to std::_Bind_result helpers
* include/std/functional (_Bind_result::__enable_if_void): Use alias
	template instead of class template.
	(_Bind_result::__disable_if_void): Likewise.
	(_Bind_result::__call): Adjust uses of __enable_if_void and
	__disable_if_void.

From-SVN: r240940
2016-10-10 17:15:52 +01:00