Commit Graph

153956 Commits

Author SHA1 Message Date
Richard Sandiford
bde63fdea4 [1/2] Add get_next_strinfo helper function
This patch just adds a helper function for getting the next strinfo
in a chain, since part 2 adds another place where we do that.

2017-05-16  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* tree-ssa-strlen.c (get_next_strinfo): New function.
	(get_stridx_plus_constant): Use it.
	(zero_length_string): Likewise.
	(adjust_related_strinfos): Likewise.
	(adjust_last_stmt): Likewise.

From-SVN: r248732
2017-05-31 12:26:03 +00:00
Richard Biener
89c88990a8 re PR target/80880 (internal compiler error: in ix86_expand_builtin)
2017-05-31  Richard Biener  <rguenther@suse.de>

	PR target/80880
	* config/i386/i386.c (ix86_expand_builtin): Remove assert
	for arg being an SSA name when expanding IX86_BUILTIN_BNDRET.

	* gcc.target/i386/pr80880.c: New testcase.

From-SVN: r248731
2017-05-31 12:09:51 +00:00
Richard Sandiford
748bbe7202 Alternative check for vector refs with same alignment
vect_find_same_alignment_drs uses the ddr dependence distance
to tell whether two references have the same alignment.  Although
that's safe with the current code, there's no particular reason
why a dependence distance of 0 should mean that the accesses start
on the same byte.  E.g. a reference to a full complex value could
in principle depend on a reference to the imaginary component.
A later patch adds support for this kind of dependence.

On the other side, checking modulo vf is pessimistic when the step
divided by the element size is a factor of 2.

This patch instead looks for cases in which the drs have the same
base, offset and step, and for which the difference in their constant
initial values is a multiple of the alignment.

2017-05-03  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* tree-vect-data-refs.c (vect_find_same_alignment_drs): Remove
	loop_vinfo argument and use of dependence distance vectors.
	Check instead whether the two references differ only in their
	initial value and assume that they have the same alignment if the
	difference is a multiple of the vector alignment.
	(vect_analyze_data_refs_alignment): Update call accordingly.

gcc/testsuite/
	* gcc.dg/vect/vect-103.c: Update wording of dump message.

From-SVN: r248730
2017-05-31 12:05:10 +00:00
Martin Liska
c9f1615102 Fix typo in a comment in cpuid.h (PR target/79155).
2017-05-31  Martin Liska  <mliska@suse.cz>

	PR target/79155
	* config/i386/cpuid.h: Fix typo in a comment in cpuid.h.

From-SVN: r248729
2017-05-31 11:40:13 +00:00
Bin Cheng
9cbd2d979c * tree-vect-loop-manip.c (create_intersect_range_checks_index)
(create_intersect_range_checks): Move from ...
	* tree-data-ref.c (create_intersect_range_checks_index)
	(create_intersect_range_checks): ... to here.
	(create_runtime_alias_checks): New function factored from ...
	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): ...
	here.  Call above function.
	* tree-data-ref.h (create_runtime_alias_checks): New function.

From-SVN: r248726
2017-05-31 09:03:27 +00:00
Bin Cheng
c7d7e2227f tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal segment length for dr_b and compute it in wide_int.
* tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal
	segment length for dr_b and compute it in wide_int.

	gcc/testsuite
	* gcc.dg/vect/pr80815-3.c: New test.

From-SVN: r248725
2017-05-31 09:01:36 +00:00
Prakhar Bahuguna
945bafd67a MAINTAINERS: Add self to Write After Approval
2017-05-31  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>

	* MAINTAINERS: Add self to Write After Approval

From-SVN: r248723
2017-05-31 08:25:25 +00:00
Richard Biener
ee1379be56 re PR tree-optimization/80906 (ICE in copy_loop_close_phi_args, at graphite-isl-ast-to-gimple.c:2094)
2017-05-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80906
	* graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get
	and pass through iv_map.
	(copy_bb_and_scalar_dependences): Adjust.
	(translate_pending_phi_nodes): Likewise.
	(copy_loop_close_phi_args): Handle code-generating IVs instead
	of ICEing.

	* gcc.dg/graphite/pr80906.c: New testcase.

From-SVN: r248722
2017-05-31 07:09:21 +00:00
DJ Delorie
63d9caf904 configure.ac (strnlen): Add to AC_CHECK_DECLS.
* configure.ac (strnlen): Add to AC_CHECK_DECLS.
* configure: Likewise.
* config.in: Add HACE_DECL_STRNLEN.

From-SVN: r248721
2017-05-31 00:16:45 -04:00
GCC Administrator
96cbc38bfe Daily bump.
From-SVN: r248719
2017-05-31 00:16:25 +00:00
Tom de Vries
bcce980ef4 Test if host compiler supports -std=c++11 in ms-sysv.exp
2017-05-30  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/80910
	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Exit with status
	unsupported if host compiler does not support c++11.
	(host_supports_c++11): New proc.

From-SVN: r248701
2017-05-30 22:00:57 +00:00
Martin Sebor
ef9200aa35 re PR c/80731 (poor -Woverflow warnings, missing detail)
gcc/testsuite/ChangeLog:
	PR c/80731
	* g++.dg/ext/utf16-4.C: Relax test.
	* gcc.dg/fixed-point/int-warning.c: Adjust.

From-SVN: r248700
2017-05-30 15:27:35 -06:00
Jason Merrill
3c1f5a3a6d PR c++/80856 - ICE with local extern in template
* semantics.c (finish_call_expr): Replace a local extern overload
	set in a template with the IDENTIFIER_NODE.

From-SVN: r248699
2017-05-30 17:13:27 -04:00
David Malcolm
f012c8ef4b C++ template type diff printing
gcc/ChangeLog:
	* diagnostic-color.c (color_dict): Add "type-diff".
	(parse_gcc_colors): Update comment.
	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
	-fdiagnostics-show-template-tree and -fno-elide-type.
	(GCC_COLORS): Add type-diff to example.
	(type-diff=): New.
	(-fdiagnostics-show-template-tree): New.
	(-fno-elide-type): New.
	* pretty-print.c (pp_format): Pass quote and formatters[argno] to
	the pp_format_decoder callback.  Call any m_format_postprocessor's
	"handle" method.
	(pretty_printer::pretty_printer): Initialize
	m_format_postprocessor.
	(pretty_printer::~pretty_printer): Delete any
	m_format_postprocessor.
	* pretty-print.h (printer_fn): Add bool and const char **
	parameters.
	(class format_postprocessor): New class.
	(struct pretty_printer::format_decoder): Document the new
	parameters.
	(struct pretty_printer::m_format_postprocessor): New field.
	* tree-diagnostic.c (default_tree_printer): Update for new
	bool and const char ** params.
	* tree-diagnostic.h (default_tree_printer): Likewise.

gcc/c/ChangeLog:
	* c-objc-common.c (c_tree_printer): Gain bool and const char **
	parameters.

gcc/c-family/ChangeLog:
	* c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
	format_chars.
	* c.opt (fdiagnostics-show-template-tree): New option.
	(felide-type): New option.

gcc/cp/ChangeLog:
	* call.c (perform_implicit_conversion_flags): Convert
	"from %qT to %qT" to "from %qH to %qI" in diagnostic.
	(print_conversion_rejection): Replace pairs of %qT with
	%qH and %qI in various places.
	(build_user_type_conversion_1): Likewise.
	(build_integral_nontype_arg_conv): Likewise.
	(build_conditional_expr_1): Likewise.
	(convert_like_real): Likewise.
	(convert_arg_to_ellipsis): Likewise.
	(joust): Likewise.
	(initialize_reference): Likewise.
	* cvt.c (cp_convert_to_pointer): Likewise.
	(cp_convert_to_pointer): Likewise.
	(convert_to_reference): Likewise.
	(ocp_convert): Likewise.
	* error.c (cp_printer): Gain bool and const char ** parameters.
	(struct deferred_printed_type): New struct.
	(class cxx_format_postprocessor): New class.
	(cxx_initialize_diagnostics): Wire up a cxx_format_postprocessor
	to pp->m_format_postprocessor.
	(comparable_template_types_p): New function.
	(newline_and_indent): New function.
	(arg_to_string): New function.
	(print_nonequal_arg): New function.
	(print_template_differences): New function.
	(type_to_string_with_compare): New function.
	(print_template_tree_comparison): New function.
	(append_formatted_chunk): New function.
	(add_quotes): New function.
	(cxx_format_postprocessor::handle): New function.
	(defer_phase_2_of_type_diff): New function.
	(cp_printer): Add "quoted" and "buffer_ptr" params.  Implement
	%H and %I.
	* typeck.c (cp_build_binary_op): Replace pairs of %qT with
	%qH and %qI in various places.
	(convert_member_func_to_ptr): Likewise.
	(build_reinterpret_cast_1): Likewise.
	(convert_for_assignment): Likewise.
	* typeck2.c (check_narrowing): Likewise.

gcc/fortran/ChangeLog:
	* error.c (gfc_format_decoder): Update for new bool and
	const char ** params.

gcc/testsuite/ChangeLog:
	* g++.dg/plugin/plugin.exp (plugin_test_list): Add...
	* g++.dg/plugin/show-template-tree-color-no-elide-type.C: New
	test case.
	* g++.dg/plugin/show-template-tree-color.C: New test case.
	* g++.dg/plugin/show_template_tree_color_plugin.c: New plugin.
	* g++.dg/template/show-template-tree-2.C: New test case.
	* g++.dg/template/show-template-tree-3.C: New test case.
	* g++.dg/template/show-template-tree-4.C: New test case.
	* g++.dg/template/show-template-tree-no-elide-type.C: New test case.
	* g++.dg/template/show-template-tree.C: New test case.

From-SVN: r248698
2017-05-30 20:38:14 +00:00
Segher Boessenkool
3f8efe25d6 Remove gen_cell_microcode, warn_cell_microcode
-mno-gen-cell-microcode is a pain to handle correctly: it causes
different code generation for some very basic patterns, even patterns
specific to that option.  It also requires marking up many patterns,
which is a pain when adding new patterns or modifying existing ones
(first non-trivial step is finding the Cell BE manual!)

-mwarn-cell-microcode is very expensive, even more so after my recent
fix for PR43763; and it used to ICE for seven years before that fix.

This patch removes both these command line options (it leaves the
positive form of -mgen-cell-microcode, doing nothing, for
compatibility).

Where cc_reg_not_micro_cr0_operand was used, we now get the regular
cc_reg_not_cr0_operand.

One testcase used -mgen-cell-microcode and one its negation; both
are adjusted.


	* config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand): Delete.
	(lwa_operand): Delete rs6000_gen_cell_microcode test.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
	rs6000_gen_cell_microcode code.
	(rs6000_final_prescan_insn): Delete.
	(rs6000_opt_vars): Delete the "gen-cell-microcode" and
	"warn-cell-microcode" entries.
	* config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Delete.
	* config/rs6000/rs6000.md: Delete rs6000_gen_cell_microcode tests
	throughout.  Change cc_reg_not_micro_cr0_operand to
	cc_reg_not_cr0_operand throughout.
	(*extendhi<mode>2_noload): Delete.
	* config/rs6000/rs6000.opt (mgen-cell-microcode): Replace by stub.
	(mwarn-cell-microcode): Delete.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete
	-mgen-cell-microcode and -mwarn-cell-microcode.

gcc/testsuite/
	* gcc.target/powerpc/shift-dot.c: Delete -mgen-cell-microcode from
	dg-options.
	* gfortran.dg/pr80107.f: Delete testcase.

From-SVN: r248695
2017-05-30 21:34:36 +02:00
Nathan Sidwell
98c28dd4ba Kill IDENTIFIER_NAMESPACE_BINDINGS
Kill IDENTIFIER_NAMESPACE_BINDINGS
	* cp-tree.h (lang_identifier): Delete namespace_bindings.
	(IDENTIFIER_NAMESPACE_BINDINGS): Delete.
	(lang_decl_ns): Add bindings.
	(DECL_NAMESPACE_BINDINGS): New.
	* lex.c (retrofit_lang_decl): Create namespace hash table.
	* name-lookup.c (find_namespace_slot): Change to use hash-map.
	* ptree.c (cxx_print_binding): Delete.
	(cxx_print_identifier): Remove NAMESPACE_BINDING printing.

From-SVN: r248694
2017-05-30 19:12:35 +00:00
Nathan Sidwell
5256a7f596 cp-tree.def (OVERLOAD): Fix comment.
* cp-tree.def (OVERLOAD): Fix comment.
	* cp-tree.h: Fix comments and whitespace.
	* error.c (dump_decl): Use pp_cxx_colon_colon, ovl_scope.
	* name-lookup.c (add_decl_to_level): Assert not class.
	(check_local_shadow): Use OVL_P.
	(pushdecl_with_scope_1): Rename to ...
	(do_pushdecl_with_Scope): ... here.
	(do_nonmember_using_decl): Use qualified_namespace_lookup return
	value.
	(push_class_level_binding_1): Use OVL_P.
	(pushdecl_namespace_level): Use do_pushdecl_with_scope.
	(pushtag_1): Rename to ...
	(do_pushtag): ... here.  Adjust do_pushdecl_with_scope call.
	(pushtag): Adjust.
	(store_class_bindings): Do not time here.
	* name-lookup.h (pushdecl_outermost_localscope): Reorder.
	* pt.c (listify): Declare argvec at point of initialization.

From-SVN: r248693
2017-05-30 17:48:57 +00:00
Uros Bizjak
77d1dbdb4c ChangeLog: Add missing entry.
* ChangeLog: Add missing entry.
	* testsuite/ChangeLog: Ditto.

From-SVN: r248692
2017-05-30 19:25:43 +02:00
Uros Bizjak
1657d923e6 re PR target/80833 (32-bit x86 causes store-forwarding stalls for int64_t -> xmm)
PR target/80833
	* config/i386/constraints.md (Yd): New constraint.
	(Ye): Ditto.
	* config/i386/i386.md (*movti_internal): Add (?r, Ye)
	and (?Yd, r) alternatives.  Update insn attributes.
	* config/i386/i386.md (*movti_internal): Add (?r, *Ye)
	and (?*Yd, r) alternatives.  Update insn attributes.
	(double-mode inter-unit splitters): Add new GR<->XMM splitters.

testsuite/ChangeLog:

	PR target/80833
	* gcc.target/i386/pr80833-1.c: New test.
	* gcc.target/i386/pr80833-2.c: Ditto.

From-SVN: r248691
2017-05-30 19:18:25 +02:00
Pierre-Marie de Rodat
0a37d40c9c gimplify_modify_expr: avoid DECL_DEBUG_EXPR links across functions
An upcoming patch exposes a bug in gimplify_modify_expr.  There, we try
not to create DECL_DEBUG_EXPR links across functions, however we don't
check that *FROM_P actually belongs to the current function before
modifying it.  This patch fixes this oversight.

gcc/

	* gimplify.c (gimplify_modify_expr): Don't create a
	DECL_DEBUG_EXPR link if *FROM_P does not belong to the current
	function.

From-SVN: r248688
2017-05-30 15:34:00 +00:00
Nathan Sidwell
e2f3533385 re PR c++/80913 (Infinite loop in cc1plus with stat hack patch)
PR c++/80913
	* name-lookup.c (add_decl_to_level): Assert not making a circular
	chain.
	(update_binding): Don't prematurely slide artificial decl.

	* g++.dg/lookup/pr80913.C: New.

From-SVN: r248687
2017-05-30 14:43:45 +00:00
Wilco Dijkstra
064263c11d Fix ARM bootstrap failure due to an odd warning:
/src/gcc/gcc/config/arm/arm-builtins.c: In function 'rtx_def* arm_expand_builtin(tree, rtx, rtx, machine_mode, int)':
/src/gcc/gcc/config/arm/arm-builtins.c:3056:46: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
     if (d->code == (const enum arm_builtins) fcode)
                                              ^~~~~

Avoid the warning by removing const, and bootstrap is OK again.

Committed as trivial patch.

    gcc/
	* config/arm/arm-builtins.c (arm_expand_builtin): Remove const.

From-SVN: r248686
2017-05-30 14:29:55 +00:00
Richard Biener
1a58f770e4 tree-vectorizer.h (struct _stmt_vec_info): Add reduc_type and reduc_def fields.
2017-05-30  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (struct _stmt_vec_info): Add reduc_type
	and reduc_def fields.
	(STMT_VINFO_REDUC_TYPE): New define.
	(STMT_VINFO_REDUC_DEF): Likewise.
	(vect_force_simple_reduction): Adjust prototype.
	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Adjust.
	(vect_is_simple_reduction): Remove check_reduction argument.
	(vect_force_simple_reduction): Adjust and set
	STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
	(vectorizable_reduction): Do not re-do reduction analysis
	but use STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
	* tree-parloops.c (gather_scalar_reductions): Adjust.

From-SVN: r248685
2017-05-30 13:21:44 +00:00
Olivier Hainque
5b2edf5314 t-vxworks (LIBGCC2_INCLUDES): Remove extraneous dollar sign before $(MULTIDIR).
2017-05-30  Olivier Hainque  <hainque@adacore.com>

	libgcc/
	* config/t-vxworks (LIBGCC2_INCLUDES): Remove extraneous
	dollar sign before $(MULTIDIR).

From-SVN: r248684
2017-05-30 12:37:39 +00:00
Jakub Jelinek
01275e1e5a re PR libgomp/80822 (libgomp incorrect affinity when OMP_PLACES=threads)
PR libgomp/80822
	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
	sibling lists, depending on level just pick up what CPUs to put
	together into a place vs. whether add multiple ordered places.

From-SVN: r248683
2017-05-30 14:05:30 +02:00
Richard Biener
ba7629e2dd re PR tree-optimization/80901 (ICE on valid code at -Os and above on x86_64-linux-gnu: in verify_loop_structure, at cfgloop.c:1644)
2017-05-30  Richard Biener  <rguenther@suse.de>

	PR middle-end/80901
	* cfgexpand.c (expand_gimple_cond): Match up loop fixup with
	split_edge code.

	* gcc.dg/torture/pr80901.c: New testcase.

From-SVN: r248681
2017-05-30 11:08:36 +00:00
Robin Dapp
4d3d23fb7d Vector peeling cost model 6/6
gcc/ChangeLog:

2017-05-24  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs):
	Introduce unknown_misalignment parameter and remove vf.
	(vect_peeling_hash_get_lowest_cost):
	Pass unknown_misalignment parameter.
	(vect_enhance_data_refs_alignment):
	Fix unsupportable data ref treatment.

From-SVN: r248680
2017-05-30 11:02:14 +00:00
Robin Dapp
4bfb347c02 Vector peeling cost model 5/6
gcc/testsuite/ChangeLog:

2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* gcc.target/s390/vector/vec-nopeel-2.c: New test.

From-SVN: r248679
2017-05-30 11:00:50 +00:00
Robin Dapp
64812d33ac Vector peeling cost model 4/6
gcc/ChangeLog:

2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* tree-vect-data-refs.c (vect_get_data_access_cost):
	Workaround for SLP handling.
	(vect_enhance_data_refs_alignment):
	Compute costs for doing no peeling at all, compare to the best
	peeling costs so far and avoid peeling if cheaper.

From-SVN: r248678
2017-05-30 10:59:07 +00:00
Robin Dapp
1e69cc8f27 Vector peeling cost model 3/6
gcc/ChangeLog:

2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* tree-vect-data-refs.c (vect_peeling_hash_choose_best_peeling):
	Return peeling info and set costs to zero for unlimited cost
	model.
	(vect_enhance_data_refs_alignment): Also inspect all datarefs
	with unknown misalignment. Compute and costs for unknown
	misalignment, compare them to the costs for known misalignment
	and choose the cheapest for peeling.

From-SVN: r248677
2017-05-30 10:57:53 +00:00
Robin Dapp
71595748a3 Vector peeling cost model 2/6
gcc/ChangeLog:

2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Rename.
	(vect_get_peeling_costs_all_drs): Create function.
	(vect_peeling_hash_get_lowest_cost):
	Use vect_get_peeling_costs_all_drs.
	(vect_peeling_supportable): Create function.
	(vect_enhance_data_refs_alignment): Use vect_peeling_supportable.

From-SVN: r248676
2017-05-30 10:56:15 +00:00
Robin Dapp
8d21ff9f66 Vector peeling cost model 1/6
gcc/ChangeLog:

2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Create
	DR_HAS_NEGATIVE_STEP.
	(vect_update_misalignment_for_peel): Define DR_MISALIGNMENT.
	(vect_enhance_data_refs_alignment): Use.
	(vect_duplicate_ssa_name_ptr_info): Use.
	* tree-vectorizer.h (dr_misalignment): Use.
	(known_alignment_for_access_p): Use.

From-SVN: r248675
2017-05-30 10:53:25 +00:00
Jozef Lawrynowicz
b3125625df re PR target/78838 (msp430 option -mcode-region=either, -ffunction-sections, and interrupt function attributes cause incorrect section to be created)
PR target/78838
gcc	* config/msp430/msp430.c (gen_prefix): Return NULL when section name is
	.lowtext.
	(has_section_name): New function.

testsuite * gcc.target/msp430/interrupt_fn_placement.c: New test.

From-SVN: r248674
2017-05-30 10:49:29 +00:00
Martin Liska
b2deed1233 Fix parenthesis in auto-profile.c (PR other/80909).
2017-05-30  Martin Liska  <mliska@suse.cz>

	PR other/80909
	* auto-profile.c (get_function_decl_from_block): Fix
	parenthesis.

From-SVN: r248647
2017-05-30 08:02:03 +00:00
Richard Biener
892d61696c re PR tree-optimization/80876 (ICE in verify_loop_structure, at cfgloop.c:1644 (error: loop 1's latch does not have an edge to its header))
2017-05-30  Richard Biener  <rguenther@suse.de>

	PR middle-end/80876
	* cfgexpand.c (expand_gimple_cond): Fixup preserving loops again.

	* gcc.dg/torture/pr80876.c: New testcase.

From-SVN: r248633
2017-05-30 07:49:00 +00:00
Martin Liska
63523736d0 Remove dump_file_info::dump_file_info and replace it with macro.
2017-05-30  Martin Liska  <mliska@suse.cz>

	* dumpfile.c: Use newly added macro DUMP_FILE_INFO.
	* dumpfile.h (struct dump_file_info): Remove ctors.

From-SVN: r248617
2017-05-30 07:35:23 +00:00
Martin Liska
59075bc808 Compare predictor values with these defined in predict.def.
2017-05-30  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Add new argument to parse and modify
	predict.def file.
	* analyze_brprob_spec.py: Likewise.

From-SVN: r248600
2017-05-30 07:16:31 +00:00
Martin Liska
a582436140 Fix coding style.
2017-05-30  Martin Liska  <mliska@suse.cz>

	* predict.def: Fix GNU coding style.

From-SVN: r248599
2017-05-30 07:16:04 +00:00
GCC Administrator
2271dac6bf Daily bump.
From-SVN: r248591
2017-05-30 00:16:17 +00:00
Max Filippov
eced9b483e gcc: xtensa: fix unused parameter warning
2017-05-28  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
	Mark 'to' argument with ATTRIBUTE_UNUSED.

From-SVN: r248587
2017-05-29 23:03:52 +00:00
Max Filippov
3904010d5b gcc: xtensa: fix fprintf format specifiers
HOST_WIDE_INT may not be long as assumed in print_operand and
xtensa_emit_call. Use HOST_WIDE_INT_PRINT_DEC/HOST_WIDE_INT_PRINT_HEX
format strings instead of %ld/0x%lx. This fixes incorrect assembly code
generation by the compiler running on armhf host.

2017-05-29  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/xtensa.c (xtensa_emit_call): Use
	HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
	(print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
	format string.

From-SVN: r248586
2017-05-29 23:02:36 +00:00
Eric Botcazou
4dbe373cfc install.texi (Options specification): Restore entry of --enable-sjlj-exceptions.
* doc/install.texi (Options specification): Restore entry of
	--enable-sjlj-exceptions.

From-SVN: r248582
2017-05-29 21:08:02 +00:00
Alexandre Oliva
b904faa0e6 [libcc1] drop unused field from C++ lang_identifier
for  gcc/cp/ChangeLog

	* cp-tree.h (lang_identifier): Drop oracle_looked_up, unused.

From-SVN: r248580
2017-05-29 20:23:43 +00:00
Nathan Sidwell
3d7ff7286d PR c++/80891 (#1,#5)
PR c++/80891 (#1,#5)
	* cp-tree.h (lookup_maybe_add): Add DEDUPING argument.
	* name-lookup.c (name_lookup): Add deduping field.
	(name_lookup::preserve_state, name_lookup::restore_state): Deal
	with deduping.
	(name_lookup::add_overload): New.
	(name_lookup::add_value, name_lookup::add_fns): Call add_overload.
	(name_lookup::search_adl): Set deduping.  Don't unmark here.
	* pt.c (most_specialized_instantiation): Revert previous change,
	Assert not given duplicates.
	* tree.c (lookup_mark): Just mark the underlying decls.
	(lookup_maybe_add): Dedup using marked decls.

	PR c++/80891 (#5)
	* g++.dg/lookup/pr80891-5.C: New.

From-SVN: r248578
2017-05-29 19:45:42 +00:00
Jerry DeLisle
fd262197d7 re PR fortran/53029 (missed optimization in internal read (without implied-do-loop))
2017-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/53029
	* list_read.c (list_formatted_read_scala): Set the err return
	value to the common.flags error values.

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

From-SVN: r248577
2017-05-29 19:17:57 +00:00
Nathan Sidwell
a5cfa13ab9 PR c++/80891 (#4)
PR c++/80891 (#4)
	* ptree.c (cxx_print_xnode): Show internal OVERLOAD structure.
	* tree.c (ovl_insert, ovl_iterator_remove_node): Fix copying
	assert.

	PR c++/80891 (#4)
	* g++.dg/lookup/pr80891-4.C: New.

From-SVN: r248576
2017-05-29 16:50:41 +00:00
Nathan Sidwell
3c9cca8848 Stat hack representation
Stat hack representation
	* name-lookup.c (STAT_HACK_P, STAT_TYPE, STAT_DECL)
	MAYBE_STAT_DECL, MAYBE_STAT_TYPE): New.
	(stat_hack): New.
	(find_namespace_binding): Replace with ...
	(find_namespace_slot): ... this.
	(find_namespace_value): New.
	(name_lookup::search_namespace_only,
	name_lookup::adl_namespace_only): Adjust.
	(update_binding): Add SLOT parameter, adjust.
	(check_local_shadow): Use find_namespace_value.
	(set_local_extern_decl_linkage): Likewise.
	(do_pushdecl): Adjust for namespace slot.
	(push_local_binding): Assert not a namespace binding.
	(check_for_out_of_scope_variable): Use find_namespace_value.
	(set_identifier_type_value_with_scope): Likewise.
	(get_namespace_binding): Likewise.
	(set_namespace_binding): Delete.
	(set_global_binding): Directly update the binding.
	(finish_namespace_using_decl): Likewise.
	(lookup_type_scope_1): Use find_namespace_slot and update.
	(do_push_nested_namespace): Use find_namespace_value.

From-SVN: r248574
2017-05-29 15:01:20 +00:00
Nathan Sidwell
e514ab0c32 PR c++/80891 (#1)
PR c++/80891 (#1)
	* pt.c (most_specialized_instantiation): Cope with duplicate
	instantiations.

	PR c++/80891 (#1)
	* g++.dg/lookup/pr80891-1.C: New.

From-SVN: r248573
2017-05-29 14:08:04 +00:00
Nathan Sidwell
58dec01056 PR c++/80891 (#3)
PR c++/80891 (#3)
	* cp-tree.h (build_min_nt_call_vec): Declare.
	* decl.c (build_offset_ref_call_from_tree): Call it.
	* parser.c (cp_parser_postfix_expression): Likewise.
	* pt.c (tsubst_copy_and_build): Likewise.
	* semantics.c (finish_call_expr): Likewise.
	* tree.c (build_min_nt_loc): Keep unresolved lookups.
	(build_min): Likewise.
	(build_min_non_dep): Likewise.
	(build_min_non_dep_call_vec): Likewise.
	(build_min_nt_call_vec): New.

	PR c++/80891 (#3)
	* g++.dg/lookup/pr80891-3.C: New.

From-SVN: r248571
2017-05-29 12:52:58 +00:00
Nathan Sidwell
724e517a7d PR c++/80891 (#2)
PR c++/80891 (#2)
	* tree.c (ovl_copy): Adjust assert, copy OVL_LOOKUP.
	(ovl_used): New.
	(lookup_keep): Call it.

	PR c++/80891 (#2)
	* g++.dg/lookup/pr80891-2.C: New.

From-SVN: r248570
2017-05-29 11:51:13 +00:00