Commit Graph

153748 Commits

Author SHA1 Message Date
Nathan Sidwell
848bf88da8 cp-tree.h (OVL_FIRST, OVL_NAME): New.
* cp-tree.h (OVL_FIRST, OVL_NAME): New.
	(ovl_first): New.
	* constexpr.c (function_concept_check): Use OVL_FIRST.
	* cvt.c (build_expr_type_conversion): Likewise.
	* decl.c (poplevel, grokdeclarator): Use OVL_NAME.
	* decl2.c (mark_used): Use OVL_FIRST.
	* error.c (dump_decl): Use OVL_FIRST, OVL_NAME.
	(dump_expr, location_of): Use OVL_FIRST.
	* friend.c (do_friend): Use OVL_NAME.
	* init.c (build_offset_ref): Use OVL_FIRST.
	* mangle.c (write_member_name): Likewise.
	(write_expression): Use OVL_NAME.
	* method.c (strip_inheriting_ctors): Use OVL_FIRST.
	* name-lookup.c (pushdecl_class_level): Use OVL_NAME.
	* pt.c (check_explicit_specialization): Use OVL_FIRST.
	(check_template_shadow): Likewise.
	(tsubst_template_args): Use OVL_NAME.
	(tsubst_baselink): Use OVL_FIRST.
	* semantics.c (perform_koenig_lookup): Use OVL_NAME.
	* tree.c (get_first_fn): Use OVL_FIRST.
	* typeck.c (finish_class_member_access_expr): Use OVL_NAME.
	(cp_build_addr_expr_1): Use OVL_FIRST.

From-SVN: r248108
2017-05-16 13:15:53 +00:00
Jonathan Wakely
ba1a69079f Regenerate libstdc++-v3/configure for versioned-namespace soname
* configure: Regenerate.

From-SVN: r248107
2017-05-16 14:12:16 +01:00
Nathan Sidwell
1f0ed17c4e pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF peeking.
* pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF
	peeking.
	* semantics.c (finish_id_expression): Directly init local var.
	(finish_omp_reduction_clause): Use really_overloaded_fn.
	* tree.c (get_fns): Document.  Assert we got an overload.
	(get_first_fn) Document.
	* typeck.c (cp_build_addr_expr_1): Pass arg directly to
	really_overloaded_fn.
	* typeck2.c (cxx_inomplete_type_diagnostic): Use get_first_fn directly.

From-SVN: r248106
2017-05-16 13:12:01 +00:00
Marc Glisse
2c27a627a3 optional (_Optional_base::_M_get): Check precondition.
2017-05-16  Marc Glisse  <marc.glisse@inria.fr>

	* include/std/optional (_Optional_base::_M_get): Check precondition.
	* testsuite/20_util/optional/cons/value_neg.cc: Update line numbers.

From-SVN: r248099
2017-05-16 12:54:16 +00:00
Nathan Sidwell
322763f5df cp-tree.h (SCOPE_DEPTH): New.
* cp-tree.h (SCOPE_DEPTH): New.
	* name-lookup.h (is_nested_namespace): Declare.
	* name-lookup.c (is_nested_namespace): New.
	(is_ancestor): Use it.
	(set_decl_namespace): Likewise.
	(push_namespace): Set SCOPE_DEPTH.
	* pt.c (check_specialization_namespace): Use is_nested_namespace.
	(check_unqualigied_spec_or_inst): Likewise.

From-SVN: r248095
2017-05-16 11:32:40 +00:00
Richard Biener
51f01fc387 dwarf2out.c (loc_list_from_tree_1): Do not create DW_OP_GNU_variable_value for DECL_IGNORED_P decls.
2017-05-16  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (loc_list_from_tree_1): Do not create
	DW_OP_GNU_variable_value for DECL_IGNORED_P decls.

From-SVN: r248094
2017-05-16 11:00:59 +00:00
Richard Biener
3a06a61019 dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated.
2017-05-16  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE
	just generated.
	(note_variable_value_in_expr): If we resolved the decl ref
	do not push to the stack.

From-SVN: r248093
2017-05-16 10:58:54 +00:00
Jonathan Wakely
5f54ae00d0 Add cross-reference for test permutations in libstdc++ manual
* doc/xml/manual/appendix_contributing.xml: Link to test docs and
	note higher DejaGnu version requirement.
	* doc/html/*: Regenerate.

From-SVN: r248092
2017-05-16 11:37:22 +01:00
Jonathan Wakely
ad2b8b37ec Add cross-reference for BADNAMES in libstdc++ manual
* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
	identifiers.
	* doc/html/*: Regenerate.

From-SVN: r248091
2017-05-16 10:46:21 +01:00
Matthew Wahab
6da3785703 Committed on behalf of Matthew Wahab
gcc/
2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>

	* config/arm/arm_neon.h (vadd_f16): Use standard arithmetic
	operations in fast-math mode.
	(vaddq_f16): Likewise.
	(vmul_f16): Likewise.
	(vmulq_f16): Likewise.
	(vsub_f16): Likewise.
	(vsubq_f16): Likewise.
	* config/arm/neon.md (add<mode>3): New.
	(sub<mode>3): New.
	(fma:<VH:mode>3): New.  Also remove outdated comment.
	(mul<mode>3): New.

testsuite/
2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>

	* gcc.target/arm/armv8_2-fp16-arith-1.c: Expand comment.  Update
	expected output of vadd, vsub and vmul instructions.
	* gcc.target/arm/armv8_2-fp16-arith-2.c: New.
	* gcc.target/arm/armv8_2-fp16-neon-2.c: New.
	* gcc.target/arm/armv8_2-fp16-neon-3.c: New.

From-SVN: r248090
2017-05-16 09:23:42 +00:00
Martin Liska
d8c9bc3627 Fix 2 typos in ipa-devirt.c.
2017-05-16  Martin Liska  <mliska@suse.cz>

	PR ipa/79849.
	PR ipa/79850.
	* ipa-devirt.c (warn_types_mismatch): Fix typo.
	(odr_types_equivalent_p): Likewise.

From-SVN: r248089
2017-05-16 08:57:05 +00:00
Sylvestre Ledru
3fc5147b9b plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637)
From-SVN: r248088
2017-05-16 07:44:33 +00:00
Sylvestre Ledru
be742f1ebe objc-runtime-shared-support.c (build_module_descriptor): Remove unnecessary conditional when building instance of objc_module.
2017-05-16  Sylvestre Ledru  <sylvestre@debian.org>

        * objc-runtime-shared-support.c (build_module_descriptor):
        Remove unnecessary conditional when building instance of
        objc_module. CID 1406758

From-SVN: r248087
2017-05-16 07:31:15 +00:00
GCC Administrator
4bd7b795ae Daily bump.
From-SVN: r248086
2017-05-16 00:16:23 +00:00
Ian Lance Taylor
588aa9790e compiler: better error messages for slicing invalid types
Reviewed-on: https://go-review.googlesource.com/43457

From-SVN: r248082
2017-05-16 00:05:05 +00:00
Ian Lance Taylor
d73b8f8417 compiler: report correct errors for sink methods
If somebody writes
    
    func (s []int) _() {}
    
    we should report an error.  Before this patch we were silently
    accepting this code, because we didn't report any errors about the
    receiver if the method was a sink.
    
    This patch is unfortunately slightly complex to handle the case of
    
    func (x int) _() {}
    
    which we can only detect after define_global_names.
    
    This fixes blank1.go in the current gc testsuite.
    
    Reviewed-on: https://go-review.googlesource.com/43456

From-SVN: r248081
2017-05-16 00:02:03 +00:00
Jerry DeLisle
a5768d38a6 re PR libfortran/80727 (Crash of runtime gfortran library during integer transformation)
2017-05-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/80727
	* transfer.c (read_sf_internal): Remove bogus code to detect EOR.
	(read_block_form): For internal units, generate EOR if no more
	bytes left in unit and we are trying to read with ADVANCE='NO'.

	* gfortran.dg/read_3.f90: New test.

From-SVN: r248080
2017-05-15 23:48:39 +00:00
Steven G. Kargl
b2954e124b re PR fortran/80674 (trunk/gcc/fortran/trans-stmt.c:2578]: (style) Redundant condition)
2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/80674
	* trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.

From-SVN: r248079
2017-05-15 23:46:23 +00:00
Nathan Sidwell
2016c841eb re PR c++/79369 (namespace definition with qualified id)
PR c++/79369
	* g++.dg/cpp1z/nested-namespace-def1.C: Adjust.

From-SVN: r248075
2017-05-15 20:26:19 +00:00
Thomas Koenig
6ce6a84ac6 re PR fortran/80765 (178.galgel in SPEC CPU 2000 fails to run)
2017-05-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80765
        * m4/matmul_internal.m4: Set bystride to correct value in
	vector-matrix multiplicatin for later calculation of buffer
	size.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.

From-SVN: r248074
2017-05-15 20:06:06 +00:00
Nathan Sidwell
3a77e7ccc4 re PR c++/79369 (namespace definition with qualified id)
gcc/cp/
	PR c++/79369
	* cp-tree.h (DECL_NAMESPACE_INLINE_P): New.
	* name-lookup.h (push_namespace): Return int, add make_inline arg.
	* name-lookup.c (push_namespace): Deal with inline directly.
	Return pushed count.
	* parser.c (cp_parser_namespace_definition): Adjust for
	push_namespace change.

	gcc/testsuite/
	* g++.dg/cpp0x/pr65558.C: Adjust diagnostic location.
	* g++.dg/cpp0x/pr79369.C: New.

From-SVN: r248073
2017-05-15 19:35:52 +00:00
Steven G. Kargl
0735a1c8cf re PR fortran/80752 (ICE with wrong type initialization)
2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/80752
	* expr.c (gfc_generate_initializer):  If type conversion fails,
	check for error and return NULL.

2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/80752
	gfortran.dg/pr80752.f90: New test.

From-SVN: r248072
2017-05-15 19:34:52 +00:00
Uros Bizjak
900b5b6af2 ChangeLog: Add missing PR number.
* ChangeLog: Add missing PR number.
	* testsuite/ChangeLog: Ditto.

From-SVN: r248071
2017-05-15 21:20:50 +02:00
Uros Bizjak
f108770a89 i386.i386.md (*zero_extendsidi2): Do not penalize non-interunit SSE move alternatives with '?'.
* config/i386.i386.md (*zero_extendsidi2): Do not penalize
	non-interunit SSE move alternatives with '?'.
	(zero-extendsidi peephole2): New peephole to skip intermediate
	general register in SSE zero-extend sequence.

testsuite/ChangeLog:

	* gcc.target/i386/pr80425-1.c: New test.
	* gcc.target/i386/pr80425-2.c: Ditto.

From-SVN: r248070
2017-05-15 21:04:35 +02:00
Jeff Law
e30ce0a36c reorg.c (relax_delay_slots): Create a new variable to hold the temporary target rather than clobbering...
* reorg.c (relax_delay_slots): Create a new variable to hold
	the temporary target rather than clobbering TARGET_LABEL.

	* gcc.target/mips/reorgbug-1.c: New test.

From-SVN: r248067
2017-05-15 11:21:31 -06:00
Jeff Law
cc9d8f3b46 tilegx.c (tilegx_expand_unaligned_load): Add missing argument to extract_bit_field call.
* config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Add
	missing argument to extract_bit_field call.
	* config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.

From-SVN: r248066
2017-05-15 10:27:07 -06:00
Joseph Myers
982490afa5 * sv.po: Update.
From-SVN: r248064
2017-05-15 15:20:15 +01:00
Jonathan Wakely
85c05b5eec Fix order and types of members in C++17 insert_return_type structs
PR libstdc++/80761
	* include/bits/node_handle.h (_Node_insert_return): Reorder members.
	(tuple_size, tuple_element): Remove partial specializations.
	* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
	const_iterator for std::set.
	* testsuite/23_containers/map/modifiers/extract.cc: New.
	* testsuite/23_containers/set/modifiers/extract.cc: New.
	* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
	* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.

From-SVN: r248062
2017-05-15 14:47:40 +01:00
Martin Liska
511604823d Do not allow empty argument of -o option (PR driver/31468).
2017-05-15  Martin Liska  <mliska@suse.cz>

	PR driver/31468
	* gcc.c (process_command): Do not allow empty argument of -o option.

From-SVN: r248060
2017-05-15 12:48:35 +00:00
Renlin Li
47210a041b [PATCH][AARCH64]Simplify call, call_value, sibcall, sibcall_value patterns.
gcc/ChangeLog

2017-05-15  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_expand_call): Declare.
	* config/aarch64/aarch64.c (aarch64_expand_call): Define.
	* config/aarch64/constraints.md (Usf): Add long call check.
	* config/aarch64/aarch64.md (call): Use aarch64_expand_call.
	(call_value): Likewise.
	(sibcall): Likewise.
	(sibcall_value): Likewise.
	(call_insn): New.
	(call_value_insn): New.
	(sibcall_insn): Update rtx pattern.
	(sibcall_value_insn): Likewise.
	(call_internal): Remove.
	(call_value_internal): Likewise.
	(sibcall_internal): Likewise.
	(sibcall_value_internal): Likewise.
	(call_reg): Likewise.
	(call_symbol): Likewise.
	(call_value_reg): Likewise.
	(call_value_symbol): Likewise.

From-SVN: r248056
2017-05-15 11:24:56 +00:00
Eric Botcazou
7543c8b64c gigi.h (get_elaboration_procedure): Delete.
* gcc-interface/gigi.h (get_elaboration_procedure): Delete.
	* gcc-interface/trans.c (get_elaboration_procedure): Make static.

From-SVN: r248055
2017-05-15 09:07:18 +00:00
Pierre-Marie de Rodat
0d5a0a33cd utils.c (can_materialize_object_renaming_p): Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration...
* gcc-interface/utils.c (can_materialize_object_renaming_p):
	Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration:
	process Original_Node instead of expanded names.

From-SVN: r248054
2017-05-15 08:58:56 +00:00
Eric Botcazou
13b6b77304 trans.c (return_value_ok_for_nrv_p): Only apply the addressability check in the constrained case.
* gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
	addressability check in the constrained case.

From-SVN: r248053
2017-05-15 08:43:25 +00:00
Eric Botcazou
3946f0003c trans.c (Identifier_to_gnu): Also accept incomplete types not coming from a limited context.
* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
	types not coming from a limited context.

From-SVN: r248052
2017-05-15 08:38:37 +00:00
Eric Botcazou
0c09a01e9e trans.c (Compilation_Unit_to_gnu): Skip subprograms on the inlined list that are not public.
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
	the inlined list that are not public.
	* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
	there is a pragma Inline_Always on the subprogram.

From-SVN: r248051
2017-05-15 08:27:44 +00:00
Eric Botcazou
b1b2b511e5 trans.c (gnat_to_gnu): Fix formatting.
* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
	<N_Allocator>: Use properly typed constants.
	(extract_values): Move around.
	(pos_to_constructor): Minor tweaks.
	(Sloc_to_locus): Fix formatting.
	* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
	* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
	(Gigi_Equivalent_Type): Adjust head comment.
	* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.

From-SVN: r248050
2017-05-15 08:14:32 +00:00
Eric Botcazou
04bc3c93be decl.c (gnat_to_gnu_entity): When there is a representation clause on an extension...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
	is a representation clause on an extension, propagate the alignment of
	the parent type only if the platform requires strict alignment.

From-SVN: r248049
2017-05-15 08:00:41 +00:00
Adhemerval Zanella
c39d309a25 lb1spc.S: Emit .note.GNU-stack section for a non-executable stack.
* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
	section for a non-executable stack.

From-SVN: r248043
2017-05-15 07:36:18 +00:00
GCC Administrator
4d37001f1e Daily bump.
From-SVN: r248041
2017-05-15 00:16:33 +00:00
Krister Walfridsson
eac8c9f2d3 PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO
gcc/ChangeLog:

        PR target/80600
        * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.

libgcc/ChangeLog:

        PR target/80600
        * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.

From-SVN: r248037
2017-05-14 22:49:03 +00:00
Uros Bizjak
9430f7b8e7 i386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and with CCZmode.
* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
	compatible with CCGOCmode and with CCZmode.

From-SVN: r248036
2017-05-14 20:00:48 +02:00
Martin Sebor
a104bd8859 PR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s
gcc/ChangeLog:

	PR middle-end/77671
	* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
	(gimple_fold_builtin_snprintf): Same.
	* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
	(gimple_fold_builtin_snprintf): Same.
	* gimple-ssa-sprintf.c (get_format_string): Correct the detection
	of character types.
	(is_call_safe): New function.
	(try_substitute_return_value): Call it.
	(try_simplify_call): New function.
	(pass_sprintf_length::handle_gimple_call): Call it.

gcc/testsuite/ChangeLog:

PR middle-end/77671
	* gcc.dg/tree-ssa/builtin-sprintf-7.c: New test.
	* gcc.dg/tree-ssa/builtin-sprintf-8.c: New test.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.

From-SVN: r248035
2017-05-14 11:50:28 -06:00
Martin Sebor
c6c0251911 PR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy
gcc/ChangeLog:

	PR middle-end/80669
	* builtins.c (expand_builtin_stpncpy): Simplify.

gcc/testsuite/ChangeLog:

	PR middle-end/80669
	* gcc.dg/builtin-stpncpy.c: New test.

From-SVN: r248034
2017-05-14 10:06:41 -06:00
Daniel Santos
d6d4d7701a i386.opt: Add option -mcall-ms2sysv-xlogues.
gcc/ChangeLog:

	* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
	* config/i386/i386.h
	(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
	(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
	(struct machine_function): Add new members call_ms2sysv,
	call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
	(struct machine_frame_state): New fields sp_realigned and
	sp_realigned_offset.
	* config/i386/i386.c
	(enum xlogue_stub): New enum.
	(enum xlogue_stub_sets): New enum.
	(class xlogue_layout): New class.
	(struct ix86_frame): New fields stack_realign_allocate_offset,
	stack_realign_offset and outlined_save_offset.  Modify comments to
	detail stack layout when using out-of-line stubs.
	(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
	(ix86_option_override_internal): Add sorry() for TARGET_SEH and
	-mcall-ms2sysv-xlogues.
	(stub_managed_regs): New static variable.
	(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
	registers managed by out-of-line stub.
	(disable_call_ms2sysv_xlogues): New function.
	(ix86_compute_frame_layout): Modify re-alignment calculations, disable
	m->call_ms2sysv when appropriate and compute frame layout for
	out-of-line stubs.
	(sp_valid_at, fp_valid_at): New inline functions.
	(choose_basereg): New function.
	(choose_baseaddr): Add align parameter, use choose_basereg and modify
	all callers.
	(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
	Use align parameter of choose_baseaddr to generated aligned SSE movs
	when possible.
	(pro_epilogue_adjust_stack): Modify to track
	machine_frame_state::sp_realigned.
	(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
	(ix86_nsaved_sseregs): Likewise.
	(ix86_emit_save_regs): Likewise.
	(ix86_emit_save_regs_using_mov): Likewise.
	(ix86_emit_save_sse_regs_using_mov): Likewise.
	(get_scratch_register_on_entry): Likewise.
	(gen_frame_set): New function.
	(gen_frame_load): Likewise.
	(gen_frame_store): Likewise.
	(emit_outlined_ms2sysv_save): Likewise.
	(emit_outlined_ms2sysv_restore): Likewise.
	(ix86_expand_prologue): Modify stack re-alignment code and call
	emit_outlined_ms2sysv_save when appropriate.
	(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
	parameter rtx_insn *insn, which allows the function to be used to only
	generate the notes.
	(ix86_expand_epilogue): Modify validity checks of frame and stack
	pointers, and call emit_outlined_ms2sysv_restore when appropriate.
	(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
	* config/i386/predicates.md
	(save_multiple): New predicate.
	(restore_multiple): Likewise.
	* config/i386/sse.md
	(save_multiple<mode>): New pattern.
	(save_multiple_realign<mode>): Likewise.
	(restore_multiple<mode>): Likewise.
	(restore_multiple_and_return<mode>): Likewise.
	(restore_multiple_leave_return<mode>): Likewise.
	* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp

gcc/testsuite/ChangeLog:

	* gcc.target/x86_64/abi/ms-sysv/do-test.S: New file.
	* gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise.
	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise.
	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Likewise.

libgcc/ChangeLog:

	* config.host: Add i386/t-msabi to i386/t-linux file list.
	* config/i386/i386-asm.h: New file.
	* config/i386/resms64.S: New file.
	* config/i386/resms64f.S: New file.
	* config/i386/resms64fx.S: New file.
	* config/i386/resms64x.S: New file.
	* config/i386/savms64.S: New file.
	* config/i386/savms64f.S: New file.
	* config/i386/t-msabi: New file.

From-SVN: r248029
2017-05-14 12:22:08 +02:00
Julia Koval
b9bdd60b87 i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
	* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
	(__builtin_ia32_xsetbv): New builtins.
	* config/i386/i386.c (ix86_expand_special_args_builtin):
	Process new types.
	(ix86_expand_builtin): Special expand for new intrinsics.
	* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
	(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
	* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.

testsuite/ChangeLog:

	* gcc.target/i386/xgetsetbv.c: New test.

From-SVN: r248028
2017-05-14 09:18:38 +02:00
Trevor Saunders
6fa95e0961 make inverted_post_order_compute() operate on a vec
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfganal.c (inverted_post_order_compute): Change argument type
	to vec *.
	* cfganal.h (inverted_post_order_compute): Adjust prototype.
	* df-core.c (rest_of_handle_df_initialize): Adjust.
	(rest_of_handle_df_finish): Likewise.
	(df_analyze_1): Likewise.
	(df_analyze): Likewise.
	(loop_inverted_post_order_compute): Change argument to be a vec *.
	(df_analyze_loop): Adjust.
	(df_get_n_blocks): Likewise.
	(df_get_postorder): Likewise.
	* df.h (struct df_d): Change field to be a vec.
	* lcm.c (compute_laterin): Adjust.
	(compute_available): Likewise.
	* lra-lives.c (lra_create_live_ranges_1): Likewise.
	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
	* tree-ssa-pre.c (compute_antic): Likewise.

From-SVN: r248027
2017-05-14 00:39:23 +00:00
Trevor Saunders
35bfaf4d53 make depth_first_search_ds a class
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfganal.c (connect_infinite_loops_to_exit): Adjust.
	(depth_first_search::depth_first_search): Change structure init
	function to this constructor.
	(depth_first_search::add_bb): Rename function to this member.
	(depth_first_search::execute): Likewise.
	(flow_dfs_compute_reverse_finish): Adjust.

From-SVN: r248026
2017-05-14 00:39:13 +00:00
Trevor Saunders
8f48c62273 make more vars auto_sbitmaps
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* ddg.c (find_nodes_on_paths): Use auto_sbitmap.
	(longest_simple_path): Likewise.
	* shrink-wrap.c (spread_components): Likewise.
	(disqualify_problematic_components): Likewise.
	(emit_common_heads_for_components): Likewise.
	(emit_common_tails_for_components): Likewise.
	(insert_prologue_epilogue_for_components): Likewise.

From-SVN: r248025
2017-05-14 00:39:08 +00:00
Trevor Saunders
0236bb0412 make a member an auto_sbitmap
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
	auto_sbitmap.

From-SVN: r248024
2017-05-14 00:39:04 +00:00
Trevor Saunders
d648b5ff3c use auto_bitmap more with alternate obstacks
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* df-core.c (df_set_blocks): Start using auto_bitmap.
	(df_compact_blocks): Likewise.
	* df-problems.c (df_rd_confluence_n): Likewise.
	* df-scan.c (df_insn_rescan_all): Likewise.
	(df_process_deferred_rescans): Likewise.
	(df_update_entry_block_defs): Likewise.
	(df_update_exit_block_uses): Likewise.
	(df_entry_block_bitmap_verify): Likewise.
	(df_exit_block_bitmap_verify): Likewise.
	(df_scan_verify): Likewise.
	* lra-constraints.c (lra_constraints): Likewise.
	(undo_optional_reloads): Likewise.
	(lra_undo_inheritance): Likewise.
	* lra-remat.c (calculate_gen_cands): Likewise.
	(do_remat): Likewise.
	* lra-spills.c (assign_spill_hard_regs): Likewise.
	(spill_pseudos): Likewise.
	* tree-ssa-pre.c (bitmap_set_and): Likewise.
	(bitmap_set_subtract_values): Likewise.

From-SVN: r248023
2017-05-14 00:38:59 +00:00