Commit Graph

153946 Commits

Author SHA1 Message Date
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
Tom de Vries
0a71c876a1 check_GNU_style_lib.py: Fix trailing whitespace check
2017-05-29  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py (TrailingWhitespaceCheck.check): Assert no
	trailing eol.
	(TrailingWhitespaceTest): New unit test.
	(check_GNU_style_file): Remove eol before checking.

From-SVN: r248556
2017-05-29 07:31:11 +00:00
Tom de Vries
75017bb975 check_GNU_style.py: Read stdin if file argument is '-'
2017-05-29  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py (check_GNU_style_file): Treat file argument as
	file handle.  Add and handle file_encoding argument.
	* check_GNU_style.py (main): Handle '-' file argument.  Call
	check_GNU_style_file with file handle as argument.

From-SVN: r248555
2017-05-29 07:31:02 +00:00
Tom de Vries
76baf5ca9d check_GNU_style_lib.py: Suggest to install all missing pip3 packages at once
Instead of:
...
$ ./contrib/check_GNU_style.py
termcolor module is missing (run: pip3 install termcolor)
$ pip3 install termcolor
$ ./contrib/check_GNU_style.py
unidiff module is missing (run: pip3 install unidiff)
$ pip3 install unidiff
$
...

Do:
...
$ ./contrib/check_GNU_style.py
termcolor and unidiff modules are missing (run: pip3 install termcolor unidiff)
$ pip3 install termcolor unidiff
$
...

2017-05-29  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py: Use import_pip3 to import pip3 packages.
	(import_pip3): New function.

From-SVN: r248554
2017-05-29 07:30:47 +00:00
Thomas Koenig
bbe3927b62 re PR fortran/37131 (inline matmul for small matrix sizes)
2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37131
	* frontend-passes.c (check_conjg_transpose_variable):
	Add prototype.
	(has_dimen_vector_ref):  Likewise
	(matmul_temp_args):  New function. Add prototype.
	(optimize_namespace):  Call matmul_temp_args.

2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37131
	* gfortran.dg/promotion_2.f90: Add -finline-matmul-limit=0 to
	flags.
	* gfortran.dg/transpose_optimization_1.f90: Likewise.
	* gfortran.dg/inline_matmul_17.f90:  New test.

From-SVN: r248553
2017-05-29 06:03:23 +00:00
GCC Administrator
3779a0f8b2 Daily bump.
From-SVN: r248552
2017-05-29 00:16:23 +00:00
Tim Shen
a8127c0cca re PR c++/80737 (variant<any> as class member resulting to compile errors)
PR libstdc++/80737
  * include/std/variant(variant::variant): SFINAE on is_same first.
  * testsuite/20_util/variant/any.cc: test case.

From-SVN: r248548
2017-05-28 21:27:30 +00:00
Rainer Orth
9698e1bb33 Fix libgfortran FMA3/FMA4 tests
* acinclude.m4 (LIBGFOR_CHECK_FMA3): Use test from
	check_effective_target_fma in gcc.target/i386/i386.exp.
	(LIBGFOR_CHECK_FMA4): Use test from check_effective_target_fma4.
	* configure: Regenerate.

From-SVN: r248547
2017-05-28 19:12:45 +00:00
Thomas Koenig
8364e6aca3 frontend-passes.c (matmul_lhs_realloc): Correct allocation size for case A1B2.
2017-05-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes.c (matmul_lhs_realloc):  Correct
	allocation size for case A1B2.

2017-05-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

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

From-SVN: r248546
2017-05-28 14:02:57 +00:00
GCC Administrator
238108d24d Daily bump.
From-SVN: r248544
2017-05-28 00:16:31 +00:00
Michael Eager
717c3cc84b Revert:
2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>

	See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html.

	* config/microblaze/microblaze.h
	(FIXED_REGISTERS): Update in macro.
	(CALL_USED_REGISTERS): Update in macro.

From-SVN: r248540
2017-05-27 18:29:40 +00:00