Commit Graph

155660 Commits

Author SHA1 Message Date
Ian Lance Taylor
53a36c2652 net/internal/socktest: build sys_unix.go on AIX
Reviewed-on: https://go-review.googlesource.com/59913

From-SVN: r251440
2017-08-29 21:56:31 +00:00
Ian Lance Taylor
6222bddc8e libgo: netinet/icmp6.h require netinet/in.h on AIX
Reviewed-on: https://go-review.googlesource.com/59912

From-SVN: r251439
2017-08-29 21:51:49 +00:00
Jason Merrill
88b811bd29 PR c++/81236 - ICE with template-id in generic lambda
* semantics.c (finish_id_expression): Remove special dependent case.
	Avoid some later pieces when dependent.
	(finish_qualified_id_expr): Do normal BASELINK handling in a
	template.  Always build a SCOPE_REF for a destructor BIT_NOT_EXPR.
	(parsing_default_capturing_generic_lambda_in_template): Remove.
	* parser.c (cp_parser_postfix_dot_deref_expression): Always give an
	error for types that will never be complete.
	* mangle.c (write_expression): Add sanity check.
	* tree.c (build_qualified_name): Add sanity check.
	(cp_walk_subtrees): Walk into the class context of a BASELINK.
	* lambda.c (add_capture): Improve diagnostic for generic lambda
	capture failure.
	* call.c (build_new_method_call_1): Print the right constructor
	name.

From-SVN: r251438
2017-08-29 17:38:21 -04:00
Ian Lance Taylor
888a985425 libgo: fix Stat_t on AIX
Reviewed-on: https://go-review.googlesource.com/59911

From-SVN: r251436
2017-08-29 21:00:46 +00:00
Ian Lance Taylor
6fa7df983e runtime: make go-nosys.c compile with !HAVE_SYSCALL
Reviewed-on: https://go-review.googlesource.com/59910

From-SVN: r251435
2017-08-29 20:57:20 +00:00
Jason Merrill
e2d59a1337 tweak ChangeLog
From-SVN: r251434
2017-08-29 16:37:54 -04:00
Jason Merrill
f44a8dd56f Reimplement handling of lambdas in templates.
* cp-tree.h (LAMBDA_FUNCTION_P): Check DECL_DECLARES_FUNCTION_P.
	* decl.c (start_preparsed_function): Call start_lambda_scope.
	(finish_function): Call finish_lambda_scope.
	* init.c (get_nsdmi): Call start/finish_lambda_scope.
	* lambda.c (start_lambda_scope): Only ignore VAR_DECL in a function.
	* parser.c (cp_parser_function_definition_after_declarator): Don't
	call start/finish_lambda_scope.
	* pt.c (retrieve_specialization): Ignore lambda functions in
	templates.
	(find_parameter_packs_r): Ignore capture proxies.  Look into
	lambdas.
	(check_for_bare_parameter_packs): Allow bare packs in lambdas.
	(tsubst_default_argument): Call start/finish_lambda_scope.
	(tsubst_function_decl): Handle lambda functions differently.
	(tsubst_template_decl): Likewise.
	(tsubst_expr) [DECL_EXPR]: Skip closure declarations and capture
	proxies.
	(tsubst_lambda_expr): Create a new closure rather than instantiate
	the one from the template.
	(tsubst_copy_and_build): Don't register a specialization of a pack.
	(regenerate_decl_from_template): Call start/finish_lambda_scope.
	(instantiate_decl): Remove special lambda function handling.
	* semantics.c (process_outer_var_ref): Remove special generic lambda
	handling.  Don't implicitly capture in a lambda in a template.  Look
	for an existing proxy.
	* class.c (current_nonlambda_class_type): Use decl_type_context.

From-SVN: r251433
2017-08-29 16:37:15 -04:00
Michael Meissner
72932ccf0a re PR target/82015 (PowerPC should check if 2nd argument to __builtin_unpackv1ti and similar functions is 0 or 1)
[gcc]
2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/82015
	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Insure
	that the second argument of the built-in functions to unpack
	128-bit scalar types to 64-bit values is 0 or 1.  Change to use a
	switch statement instead a lot of if statements.
	* config/rs6000/rs6000.md (unpack<mode>, FMOVE128_VSX iterator):
	Allow 64-bit values to be in Altivec registers as well as
	traditional floating point registers.
	(pack<mode>, FMOVE128_VSX iterator): Likewise.

[gcc/testsuite]
2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/82015
	* gcc.target/powerpc/pr82015.c: New test.

From-SVN: r251432
2017-08-29 20:25:57 +00:00
Jason Merrill
10f61650f7 PR c++/78840 - ICE with const and nested generic lambda
* g++.dg/cpp1y/lambda-generic-const5.C: New.

From-SVN: r251431
2017-08-29 16:21:23 -04:00
Jason Merrill
9925f216d0 Remove unnecessary LAMBDA_EXPR fields.
* cp-tree.h (LAMBDA_EXPR_CLOSURE): Use TREE_TYPE.
	(LAMBDA_EXPR_RETURN_TYPE): Remove.
	(struct tree_lambda_expr): Remove closure and return_type fields.
	* lambda.c (build_lambda_expr): Don't set LAMBDA_EXPR_RETURN_TYPE.
	* pt.c (tsubst_copy_and_build): Likewise.
	* parser.c (cp_parser_lambda_declarator_opt): Track return type.
	(cp_parser_lambda_body): Adjust unspecified return type check.
	* ptree.c (cxx_print_lambda_node): Don't print closure or
	return type.

From-SVN: r251430
2017-08-29 16:17:02 -04:00
Jason Merrill
5d4e573b28 PR c++/80935 - wrong C++17 error with lambda
* decl.c (check_for_uninitialized_const_var): Check
	is_instantiation_of_constexpr.
	* constexpr.c (ensure_literal_type_for_constexpr_object): Check
	is_instantiation_of_constexpr.
	(potential_constant_expression_1): Check var_in_maybe_constexpr_fn.

From-SVN: r251429
2017-08-29 15:51:30 -04:00
Jason Merrill
1139947753 Various small fixes.
* lambda.c (build_lambda_object): Check for error_mark_node.
	* pt.c (make_pack_expansion): Set PACK_EXPANSION_LOCAL_P on the type
	pack as well.
	(tsubst_decl) [FUNCTION_DECL]: Set DECL_CONTEXT on the parameters.
	(tsubst) [TEMPLATE_PARM_INDEX]: Check for error_mark_node.

From-SVN: r251428
2017-08-29 15:51:23 -04:00
Jason Merrill
1a9de5b6b5 PR c++/80767 - unnecessary instantiation of generic lambda
* call.c (convert_like_real): Call build_user_type_conversion_1 if
	cand is null.
	(add_conv_candidate): Build a ck_user conversion with no candidate.

From-SVN: r251427
2017-08-29 15:40:55 -04:00
Jason Merrill
b3eae0dd17 Fix lambdas in template default argument of inherited ctor.
* method.c (synthesized_method_base_walk): Replace an inherited
	template with its specialization.
	(synthesized_method_walk): Make inheriting_ctor a pointer.
	(maybe_explain_implicit_delete, explain_implicit_non_constexpr)
	(deduce_inheriting_ctor, implicitly_declare_fn): Adjust.

From-SVN: r251426
2017-08-29 15:40:41 -04:00
Jason Merrill
4cc20315a7 Adjust C++17 class deduction use of DECL_ABSTRACT_ORIGIN.
* pt.c (build_deduction_guide): Set DECL_ABSTRACT_ORIGIN on the
	template, not the function.
	(template_guide_p): Adjust.

From-SVN: r251425
2017-08-29 15:40:32 -04:00
Jason Merrill
82b0ce2eb3 Support copying local_specializations.
* cp-tree.h (enum lss_policy): New.
	(local_specialization_stack): Add policy parameter to default ctor.
	* pt.c (local_specialization_stack): Copy local_specializations if
	lss_copy.

From-SVN: r251424
2017-08-29 15:40:21 -04:00
Jason Merrill
a0ab7ccd21 Add immediate potential_constant_expression variants.
* constexpr.c (potential_constant_expression_1): Add "now" parm.
	(is_constant_expression, require_constant_expression): New.
	(is_static_init_expression, is_nondependent_constant_expression)
	(is_nondependent_static_init_expression): Drop "potential".
	* except.c (build_must_not_throw_expr): Do type conversion on
	value-dependent argument.
	* pt.c, semantics.c, typeck2.c: Use variants without "potential".

From-SVN: r251423
2017-08-29 15:40:14 -04:00
Jason Merrill
12659e10c7 Instantiate default arguments/member initializers once.
* init.c (get_nsdmi): Remember NSDMI instantiations.
	* parser.c (inject_this_parameter): Be more picky about
	current_class_ptr.
	* pt.c (tsubst_copy): Simplify 'this' handling.
	(tsubst_default_argument): Remember default argument
	instantiations.  Take parameter number.
	(tsubst_default_arguments): Pass it.
	* call.c (convert_default_arg): Likewise.

From-SVN: r251422
2017-08-29 15:40:08 -04:00
Jason Merrill
1aeafba210 Fix default argument conversion failure and SFINAE.
* call.c (build_over_call): Check convert_default_arg result for
	error_mark_node.
	* parser.c (cp_parser_late_parsing_default_args): Remember
	error_mark_node.

From-SVN: r251421
2017-08-29 15:39:18 -04:00
Ian Lance Taylor
a2aa807ef9 runtime: fix lfstack for 64-bit AIX
Reviewed-on: https://go-review.googlesource.com/57550

From-SVN: r251420
2017-08-29 18:59:04 +00:00
Uros Bizjak
4e395d91ad *.c: Remove excess braces from target selectors.
* gcc.target/i386/*.c: Remove excess braces from target selectors.

From-SVN: r251419
2017-08-29 20:28:32 +02:00
Alexander Monakov
9f1c93df48 ira-costs: avoid missing base registers in record_address_regs
* ira-costs.c (record_address_regs): Handle both operands of PLUS for
	MAX_REGS_PER_ADDRESS == 1.

From-SVN: r251418
2017-08-29 20:34:21 +03:00
Uros Bizjak
2ffc0382ff 20030926-1.c: Add dg-additional-options.
* gcc.target/i386/20030926-1.c: Add dg-additional-options.
	* gcc.target/i386/abi-2.c: Ditto.
	* gcc.target/i386/interrupt-sibcall-2.c: Ditto.
	* gcc.target/i386/pr22076.c: Ditto.
	* gcc.target/i386/pr37216.c: Ditto.
	* gcc.target/i386/pr39431.c: Ditto.
	* gcc.target/i386/pr40906-1.c: Ditto.
	* gcc.target/i386/pr40906-2.c: Ditto.
	* gcc.target/i386/pr43766.c: Ditto.
	* gcc.target/i386/pr46226.c: Ditto.
	* gcc.target/i386/pr46470.c: Ditto.
	* gcc.target/i386/pr59929.c: Ditto.
	* gcc.target/i386/sse-10.c: Ditto.
	* gcc.target/i386/vararg-1.c: Ditto.
	* gcc.target/i386/vararg-1.c: Ditto.
	* gcc.target/i386/asm-6.c: Compile for fpic target only.
	* gcc.target/i386/pr44223.c: Ditto.
	* gcc.target/i386/bitfield1.c (dg-options): Remove target selector.
	* gcc.target/i386/bitfield2.c (dg-options): Ditto.
	* gcc.target/i386/pr67480.c (dg-options): Ditto.
	* gcc.target/i386/vect-cond-1.c (dg-options): Ditto.
	* gcc.target/i386/bittest.c (scan-assembler-times): Ditto.
	* gcc.target/i386/darwin-fpmath.c (dg-do): Simplify target selector.
	* gcc.target/i386/mvc9.c: Compile for lto target only.
	* gcc.target/i386/pr45234.c: Compile for ia32 target only.
	* gcc.target/i386/pr49866.c: Compile for lp64 target only.
	* gcc.target/i386/pr57091.c: Ditto.
	* gcc.target/i386/pr61599-2.c: Ditto.

From-SVN: r251417
2017-08-29 19:21:21 +02:00
Uros Bizjak
be0ffecc80 i386.opt (flag_fentry): Do not init to -1.
* config/i386/i386.opt (flag_fentry): Do not init to -1.
	* config/i386/i386.c (ix86_option_override_internal): Simplify
	setting of opts->x_flag_entry.

From-SVN: r251416
2017-08-29 18:56:57 +02:00
Bill Schmidt
8eb9186902 re PR tree-optimization/81503 (Wrong code at -O2)
[gcc]

2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    Jakub Jelinek  <jakub@redhat.com>
	    Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81503
	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
	folded constant fits in the target type; reorder tests for clarity.

[gcc/testsuite]

2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/81503
	* gcc.c-torture/execute/pr81503.c: New file.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r251414
2017-08-29 14:41:53 +00:00
Martin Liska
9dc3d6a961 Make expansion of balanced binary trees of switches on tree level.
2017-08-29  Martin Liska  <mliska@suse.cz>

	* passes.def: Include pass_lower_switch.
	* stmt.c (dump_case_nodes): Remove and move to
	tree-switch-conversion.
	(case_values_threshold): Likewise.
	(expand_switch_as_decision_tree_p): Likewise.
	(emit_case_decision_tree): Likewise.
	(expand_case): Likewise.
	(balance_case_nodes): Likewise.
	(node_has_low_bound): Likewise.
	(node_has_high_bound): Likewise.
	(node_is_bounded): Likewise.
	(emit_case_nodes): Likewise.
	(struct simple_case_node): New struct.
	(add_case_node): Remove.
	(emit_case_dispatch_table): Use vector instead of case_list.
	(reset_out_edges_aux): Remove.
	(compute_cases_per_edge): Likewise.
	(expand_case): Build list of simple_case_node.
	(expand_sjlj_dispatch_table): Use it.
	* tree-switch-conversion.c (struct case_node): Moved from
	stmt.c and adjusted.
	(emit_case_nodes): Likewise.
	(node_has_low_bound): Likewise.
	(node_has_high_bound): Likewise.
	(node_is_bounded): Likewise.
	(case_values_threshold): Likewise.
	(reset_out_edges_aux): Likewise.
	(compute_cases_per_edge): Likewise.
	(add_case_node): Likewise.
	(dump_case_nodes): Likewise.
	(balance_case_nodes): Likewise.
	(expand_switch_as_decision_tree_p): Likewise.
	(emit_jump): Likewise.
	(emit_case_decision_tree): Likewise.
	(try_switch_expansion): Likewise.
	(do_jump_if_equal): Likewise.
	(emit_cmp_and_jump_insns): Likewise.
	(fix_phi_operands_for_edge): New function.
	(record_phi_operand_mapping): Likewise.
	(class pass_lower_switch): New pass.
	(pass_lower_switch::execute): New function.
	(make_pass_lower_switch): Likewise.
	(conditional_probability):
	* timevar.def: Add TV_TREE_SWITCH_LOWERING.
	* tree-pass.h: Add make_pass_lower_switch.
2017-08-29  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-prof/update-loopch.c: Scan patterns in
	switchlower.
	* gcc.dg/tree-ssa/vrp104.c: Likewise.

From-SVN: r251412
2017-08-29 14:12:44 +00:00
Jozef Lawrynowicz
10bcba61fc re PR target/80993 ([msp430] __attribute__((interrupt)) should imply __attribute__((used)))
PR target/80993
	* gcc/config/msp430/msp430.c (msp430_attr): Mark interrupt
	handlers as used.

From-SVN: r251410
2017-08-29 13:20:54 +00:00
Richard Biener
12d847913a dwarf2out.c (add_dwarf_attr): When checking is enabled verify we do not add a DW_AT_inline attribute twice.
2017-08-29  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (add_dwarf_attr): When checking is enabled verify
	we do not add a DW_AT_inline attribute twice.
	(gen_subprogram_die): Remove code setting DW_AT_inline on
	DECL_ABSTRACT_P nodes.

From-SVN: r251409
2017-08-29 12:15:57 +00:00
Martin Liska
0694da45b3 Fix --help=target (Ada) (PR other/39851)
2017-08-29  Martin Liska  <mliska@suse.cz>

	PR other/39851
	* gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL.

From-SVN: r251406
2017-08-29 08:35:46 +00:00
Richard Sandiford
a844293de1 Set the call nothrow flag more often
This patch sets the nothrow flag for various calls to internal functions
that are not inherently NOTHROW (and so can't be declared that way in
internal-fn.def) but that are used in contexts that can guarantee
NOTHROWness.

2017-08-29  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* gimplify.c (gimplify_call_expr): Copy the nothrow flag to
	calls to internal functions.
	(gimplify_modify_expr): Likewise.
	* tree-call-cdce.c (use_internal_fn): Likewise.
	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
	(convert_to_divmod): Set the nothrow flag.
	* tree-if-conv.c (predicate_mem_writes):  Likewise.
	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
	(vectorizable_call): Likewise.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.
	* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
	(vect_recog_mask_conversion_pattern): Likewise.

From-SVN: r251401
2017-08-29 07:47:05 +00:00
Martin Liska
130fcab02f Fix --help=target (PR other/39851).
2017-08-29  Martin Liska  <mliska@suse.cz>

	PR other/39851
	* gcc.c (driver_handle_option): Add new argument.
	* opts-common.c (handle_option): Pass
	target_option_override_hook.
	* opts-global.c (lang_handle_option): Add new option.
	(set_default_handlers):  Add new argument.
	(decode_options): Likewise.
	* opts.c (target_handle_option): Likewise.
	(common_handle_option): Call target_option_override_hook.
	* opts.h (struct cl_option_handler_func): Add hook for
	target option override.
	(struct cl_option_handlers): Likewise.
	(set_default_handlers): Add new argument.
	(decode_options): Likewise.
	(common_handle_option): Likewise.
	(target_handle_option): Likewise.
	* toplev.c (toplev::main): Pass targetm.target_option.override
	hook.
2017-08-29  Martin Liska  <mliska@suse.cz>

	PR other/39851
	* c-common.c (parse_optimize_options): Add argument to function
	call.
	* c-pragma.c (handle_pragma_diagnostic): Likewise.

From-SVN: r251400
2017-08-29 07:46:10 +00:00
Richard Biener
faa5399be6 tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine life to the active subtree.
2017-08-29  Richard Biener  <rguenther@suse.de>
	Dominik Infuehr <dominik.infuehr@theobroma-systems.com>

	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine
	life to the active subtree.

	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: New testcase.

Co-Authored-By: Dominik Infuehr <dominik.infuehr@theobroma-systems.com>

From-SVN: r251398
2017-08-29 07:04:31 +00:00
Jeff Law
14d6281388 tree-ssa-dom.c (edge_info::record_simple_equiv): Call derive_equivalences.
* tree-ssa-dom.c (edge_info::record_simple_equiv): Call
	derive_equivalences.
	(derive_equivalences_from_bit_ior, record_temporary_equivalences):
	Code moved into....
	(edge_info::derive_equivalences): New private member function

	* gcc.dg/torture/pr57214.c: Fix type of loop counter.
	* gcc.dg/tree-ssa/ssa-sink-16.c: Disable DOM.
	* gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-12.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-13.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-14.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-15.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-16.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-17.c: New test.

From-SVN: r251397
2017-08-28 23:03:36 -06:00
Jeff Law
a09f784a60 tree-ssa-dom.c (class edge_info): Changed from a struct to a class.
* tree-ssa-dom.c (class edge_info): Changed from a struct
	to a class.  Add ctor/dtor, methods and data members.
	(edge_info::edge_info): Renamed from allocate_edge_info.
	Initialize additional members.
	(edge_info::~edge_info): New.
	(free_dom_edge_info): Delete the edge info.
	(record_edge_info): Use new class & associated member functions.
	Tighten forms for testing for edge equivalences.
	(record_temporary_equivalences): Iterate over the simple
	equivalences rather than assuming there's only one per edge.
	(cprop_into_successor_phis): Iterate over the simple
	equivalences rather than assuming there's only one per edge.
	(optimize_stmt): Use operand_equal_p rather than pointer
	equality for mini-DSE code.

From-SVN: r251396
2017-08-28 23:03:22 -06:00
GCC Administrator
f73e77f714 Daily bump.
From-SVN: r251395
2017-08-29 00:16:39 +00:00
Janus Weil
c11384aa75 re PR fortran/81770 (Bogus warning: Pointer in pointer assignment might outlive the pointer target)
2017-08-28  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/81770
	* expr.c (gfc_check_pointer_assign): Improve the check whether pointer
	may outlive pointer target.


2017-08-28  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/81770
	* gfortran.dg/warn_target_lifetime_3.f90: Fix a typo.
	* gfortran.dg/warn_target_lifetime_4.f90: New testcase.

From-SVN: r251390
2017-08-28 20:46:28 +02:00
Steve Ellcey
ac9a43e165 dec_init_1.f90 (dummy): Use ichar in print statement.
2017-08-25  Steve Ellcey  <sellcey@cavium.com>

	* gfortran.dg/dec_init_1.f90 (dummy): Use ichar in print statement.
	* gfortran.dg/dec_init_2.f90 (dummy): Ditto.
	* gfortran.dg/dec_init_3.f90 (dummy): Ditto.

From-SVN: r251389
2017-08-28 16:55:46 +00:00
Nathan Sidwell
d876eb0574 cp-tree.h (lang_type): Replace sorted_fields vector with bindings map.
* cp-tree.h (lang_type): Replace sorted_fields vector with
	bindings map.
	(CLASSTYPE_SORTED_FIELDS): Delete.
	(CLASSTYPE_BINDINGS): New.
	* decl.c (finish_enum_value_list): Swap args of
	insert_late_enum_def_bindings.
	* name-lookup.c (lookup_field_1): Replace binary search of sorted
	fields with map->get.
	(sorted_fields_type_new, count_fields,
	add_fields_to_record_type, add_enum_fields_to_record_type): Delete.
	(add_class_member, add_class_members): New.
	(set_class_bindings): Create map and insert.
	(insert_late_enum_def_binding): Swap parms.  Use add_clasS_member.
	* ptree.c (cxx_print_type): Delete sorted fields printing.

From-SVN: r251388
2017-08-28 16:25:44 +00:00
Nathan Sidwell
41970ff1bc cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields): Delete.
* cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
	Delete.
	* name-lookup.h (set_class_bindings,
	insert_late_enum_def_bindings): Declare.
	* decl.c (finish_enum_value_list): Adjust for
	insert_late_enum_def_bindings name change.
	* class.c (finish_struct_1): Call set_class_bindings.
	(count_fields, add_fields_to_record_type,
	add_enum_fields_to_record_type, sorted_fields_type_new,
	insert_into_classtype_sorted_fields,
	insert_late_enum_def_into_classtype_sorted_fields): Move to ...
	* name-lookup.h (count_fields, add_fields_to_record_type,
	add_enum_fields_to_record_type, sorted_fields_type_new,
	set_class_bindings, insert_late_enum_def_bindings): ... here.

From-SVN: r251387
2017-08-28 14:51:45 +00:00
Nathan Sidwell
e54c2581c5 gcc.c (execute): Fold SIGPIPE handling into switch statement.
* gcc.c (execute): Fold SIGPIPE handling into switch
	statement.  Adjust internal error message.

From-SVN: r251385
2017-08-28 13:44:39 +00:00
Richard Biener
1963f60adb re PR lto/81968 (early lto debug objects make Solaris ld SEGV)
2017-08-28  Richard Biener  <rguenther@suse.de>

	PR lto/81968
	* simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
	Adjust field with for sh_type write, set SHF_EXCLUDE only for
	removed sections.

From-SVN: r251384
2017-08-28 13:14:28 +00:00
Richard Biener
950904f8b7 re PR debug/81993 (-gsplit-dwarf removes some symbols, causing some undefined references)
2017-08-28  Richard Biener  <rguenther@suse.de>

	PR debug/81993
	* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
	Do nothing for removed DIEs.

From-SVN: r251382
2017-08-28 13:13:23 +00:00
Richard Biener
2aa8aa18a6 re PR tree-optimization/81977 (Issue with inline memcpy with optimizations enabled)
2017-08-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81977
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through
	memcpy.

	* g++.dg/torture/pr81977.C: New testcase.

From-SVN: r251378
2017-08-28 11:42:23 +00:00
Alexander Monakov
5e5ccf0d20 optabs: ensure mem_thread_fence is a compiler barrier
PR target/80640
	* doc/md.texi (mem_thread_fence): Remove mention of mode.  Rewrite.
	* optabs.c (expand_mem_thread_fence): Emit a compiler barrier when
	using targetm.gen_mem_thread_fence.
testsuite/
	* gcc.dg/atomic/pr80640.c: New testcase.

From-SVN: r251377
2017-08-28 13:58:45 +03:00
Jerry DeLisle
bf498b0758 re PR fortran/78387 (OpenMP segfault/stack size exceeded writing to internal file)
2017-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/78387
	* io/list_read.c (nml_read_obj): Remove use of stash.
	* io/transfer.c (st_read_done, st_write_done): Likewise.
	* io/unit.c (stash_internal_unit): Delete function.
	(get_unit): Remove use of stash.
	(init_units): Likewise.
	(close_units): Likewise.
	* io/write.c (nml_write_obj): Likewise:

From-SVN: r251374
2017-08-28 03:42:47 +00:00
GCC Administrator
77e3203944 Daily bump.
From-SVN: r251373
2017-08-28 00:16:28 +00:00
Uros Bizjak
a5df209084 re PR target/81995 (gcc/reg-stack.c:2073:1: error: unrecognizable insn:)
PR target/81995
	* config/i386/i386.md (*<btsc><mode>): Change operand 2
	predicate to register_operand.  Reorder operands.
	(*btr<mode>): Ditto.
	(*<btsc><mode>_mask): Change operand 3 predicate to register_operand.
	(*btr<mode>_mask): Ditto.

testsuite/ChangeLog:

	PR target/81995
	* gcc.target/i386/pr46091-4.c: Add -mregparm=2 for 32bit targets.
	* gcc.target/i386/pr46091-4a.c: Ditto.

From-SVN: r251369
2017-08-27 20:01:46 +02:00
Thomas Koenig
86e03ef911 re PR fortran/81974 (ICE verify_gimple failed type mismatch in binary expression)
2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/81974
	* frontend-passes (inline_matumul_assign):  Explicity
	set typespec for call to CONJG.

2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/81974
	* gfortran.dg/inline_matmul_19.f90:  New test.

From-SVN: r251368
2017-08-27 08:01:25 +00:00
GCC Administrator
3e7b89acd7 Daily bump.
From-SVN: r251367
2017-08-27 00:16:41 +00:00
GCC Administrator
f59f6d5b6d Daily bump.
From-SVN: r251362
2017-08-26 00:16:46 +00:00