GCC Administrator [Wed, 31 May 2017 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248719
Tom de Vries [Tue, 30 May 2017 22:00:57 +0000 (22:00 +0000)]
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
Martin Sebor [Tue, 30 May 2017 21:27:35 +0000 (21:27 +0000)]
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
Jason Merrill [Tue, 30 May 2017 21:13:27 +0000 (17:13 -0400)]
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
David Malcolm [Tue, 30 May 2017 20:38:14 +0000 (20:38 +0000)]
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
Segher Boessenkool [Tue, 30 May 2017 19:34:36 +0000 (21:34 +0200)]
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
Nathan Sidwell [Tue, 30 May 2017 19:12:35 +0000 (19:12 +0000)]
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
Nathan Sidwell [Tue, 30 May 2017 17:48:57 +0000 (17:48 +0000)]
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
Uros Bizjak [Tue, 30 May 2017 17:25:43 +0000 (19:25 +0200)]
ChangeLog: Add missing entry.
* ChangeLog: Add missing entry.
* testsuite/ChangeLog: Ditto.
From-SVN: r248692
Uros Bizjak [Tue, 30 May 2017 17:18:25 +0000 (19:18 +0200)]
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
Pierre-Marie de Rodat [Tue, 30 May 2017 15:34:00 +0000 (15:34 +0000)]
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
Nathan Sidwell [Tue, 30 May 2017 14:43:45 +0000 (14:43 +0000)]
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
Wilco Dijkstra [Tue, 30 May 2017 14:29:55 +0000 (14:29 +0000)]
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
Richard Biener [Tue, 30 May 2017 13:21:44 +0000 (13:21 +0000)]
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
Olivier Hainque [Tue, 30 May 2017 12:37:39 +0000 (12:37 +0000)]
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
Jakub Jelinek [Tue, 30 May 2017 12:05:30 +0000 (14:05 +0200)]
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
Richard Biener [Tue, 30 May 2017 11:08:36 +0000 (11:08 +0000)]
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
Robin Dapp [Tue, 30 May 2017 11:02:14 +0000 (11:02 +0000)]
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
Robin Dapp [Tue, 30 May 2017 11:00:50 +0000 (11:00 +0000)]
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
Robin Dapp [Tue, 30 May 2017 10:59:07 +0000 (10:59 +0000)]
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
Robin Dapp [Tue, 30 May 2017 10:57:53 +0000 (10:57 +0000)]
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
Robin Dapp [Tue, 30 May 2017 10:56:15 +0000 (10:56 +0000)]
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
Robin Dapp [Tue, 30 May 2017 10:53:25 +0000 (10:53 +0000)]
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
Jozef Lawrynowicz [Tue, 30 May 2017 10:49:29 +0000 (10:49 +0000)]
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
Martin Liska [Tue, 30 May 2017 08:02:03 +0000 (10:02 +0200)]
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
Richard Biener [Tue, 30 May 2017 07:49:00 +0000 (07:49 +0000)]
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
Martin Liska [Tue, 30 May 2017 07:35:23 +0000 (09:35 +0200)]
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
Martin Liska [Tue, 30 May 2017 07:16:31 +0000 (09:16 +0200)]
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
Martin Liska [Tue, 30 May 2017 07:16:04 +0000 (09:16 +0200)]
Fix coding style.
2017-05-30 Martin Liska <mliska@suse.cz>
* predict.def: Fix GNU coding style.
From-SVN: r248599
GCC Administrator [Tue, 30 May 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248591
Max Filippov [Mon, 29 May 2017 23:03:52 +0000 (23:03 +0000)]
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
Max Filippov [Mon, 29 May 2017 23:02:36 +0000 (23:02 +0000)]
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
Eric Botcazou [Mon, 29 May 2017 21:08:02 +0000 (21:08 +0000)]
install.texi (Options specification): Restore entry of --enable-sjlj-exceptions.
* doc/install.texi (Options specification): Restore entry of
--enable-sjlj-exceptions.
From-SVN: r248582
Alexandre Oliva [Mon, 29 May 2017 20:23:43 +0000 (20:23 +0000)]
[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
Nathan Sidwell [Mon, 29 May 2017 19:45:42 +0000 (19:45 +0000)]
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
Jerry DeLisle [Mon, 29 May 2017 19:17:57 +0000 (19:17 +0000)]
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
Nathan Sidwell [Mon, 29 May 2017 16:50:41 +0000 (16:50 +0000)]
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
Nathan Sidwell [Mon, 29 May 2017 15:01:20 +0000 (15:01 +0000)]
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
Nathan Sidwell [Mon, 29 May 2017 14:08:04 +0000 (14:08 +0000)]
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
Nathan Sidwell [Mon, 29 May 2017 12:52:58 +0000 (12:52 +0000)]
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
Nathan Sidwell [Mon, 29 May 2017 11:51:13 +0000 (11:51 +0000)]
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
Tom de Vries [Mon, 29 May 2017 07:31:11 +0000 (07:31 +0000)]
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
Tom de Vries [Mon, 29 May 2017 07:31:02 +0000 (07:31 +0000)]
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
Tom de Vries [Mon, 29 May 2017 07:30:47 +0000 (07:30 +0000)]
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
Thomas Koenig [Mon, 29 May 2017 06:03:23 +0000 (06:03 +0000)]
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
GCC Administrator [Mon, 29 May 2017 00:16:23 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248552
Tim Shen [Sun, 28 May 2017 21:27:30 +0000 (21:27 +0000)]
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
Rainer Orth [Sun, 28 May 2017 19:12:45 +0000 (19:12 +0000)]
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
Thomas Koenig [Sun, 28 May 2017 14:02:57 +0000 (14:02 +0000)]
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
GCC Administrator [Sun, 28 May 2017 00:16:31 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248544
Michael Eager [Sat, 27 May 2017 18:29:40 +0000 (18:29 +0000)]
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
Iain Buclaw [Sat, 27 May 2017 11:30:22 +0000 (11:30 +0000)]
d-demangle.c (dlang_identifier): Prefix mangled init symbols with `initializer for'.
libiberty/ChangeLog:
* d-demangle.c (dlang_identifier): Prefix mangled init symbols
with `initializer for'.
* testsuite/demangle-expected: Update tests.
From-SVN: r248539
Iain Buclaw [Sat, 27 May 2017 11:29:52 +0000 (11:29 +0000)]
d-demangle.c (dlang_call_convention_p): Move declaration before dlang_type.
libiberty/ChangeLog:
* d-demangle.c (dlang_call_convention_p): Move declaration
before dlang_type.
(dlang_type): Handle function types.
* testsuite/d-demangle-expected: Add tests.
From-SVN: r248538
Iain Buclaw [Sat, 27 May 2017 11:29:38 +0000 (11:29 +0000)]
d-demangle.c (dlang_parse_real): Remove stack buffer, write the demangled hexadecimal directly to string.
libiberty/ChangeLog:
* d-demangle.c (dlang_parse_real): Remove stack buffer, write
the demangled hexadecimal directly to string.
* testsuite/d-demangle-expected: Add tests.
From-SVN: r248537
Bernd Schmidt [Sat, 27 May 2017 10:50:27 +0000 (10:50 +0000)]
MAINTAINERS: Update my email address, and remove myself as maintainer in some areas.
* MAINTAINERS: Update my email address, and remove myself as
maintainer in some areas.
From-SVN: r248536
Francois-Xavier Coudert [Sat, 27 May 2017 08:40:18 +0000 (08:40 +0000)]
* doc/install.texi: Add links to macOS binary distributions.
From-SVN: r248535
Jakub Jelinek [Sat, 27 May 2017 07:48:54 +0000 (09:48 +0200)]
Small ChangeLog tweak.
From-SVN: r248534
Jakub Jelinek [Sat, 27 May 2017 07:46:12 +0000 (09:46 +0200)]
re PR bootstrap/80887 (gnat bootstrap fails at s-regpat.o: raised STORAGE_ERROR : stack overflow or erroneous memory access)
PR bootstrap/80887
2017-05-25 Marc Glisse <marc.glisse@inria.fr>
* match.pd ((A +- CST1) +- CST2): Allow some conversions.
* gcc.dg/tree-ssa/addadd.c: Xfail all scan-tree-dump*.
From-SVN: r248533
GCC Administrator [Sat, 27 May 2017 00:16:32 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248532
Ian Lance Taylor [Fri, 26 May 2017 21:48:49 +0000 (21:48 +0000)]
compiler: identify array index expressions in lvalue context
Update the Mark_lvalue_varexprs visitor class (used in
Assignment_statement::do_get_backend) to identify
Array_index_expression's that appear on the left hand side of
assignments, then pass this context info on when invoking
Array_type::get_value_pointer.
Reviewed-on: https://go-review.googlesource.com/44170
From-SVN: r248528
Richard Henderson [Fri, 26 May 2017 18:45:59 +0000 (11:45 -0700)]
re PR libgcc/80037 (Bad .eh_frame data in crtend.o)
PR libgcc/80037
* config/alpha/t-alpha (CRTSTUFF_T_CFLAGS): New.
From-SVN: r248522
Nathan Sidwell [Fri, 26 May 2017 18:13:53 +0000 (18:13 +0000)]
Implement DR2061
gcc/
Implement DR2061
* name-lookup.c (push_inline_namespaces): New.
(push_namespace): Look inside inline namespaces.
testsuite/
* g++.dg/cpp0x/dr2061.C: New.
* g++.dg/parse/namespace-alias-1.C: Add more test.
From-SVN: r248521
Nathan Sidwell [Fri, 26 May 2017 17:19:46 +0000 (17:19 +0000)]
Inline and using namespace representation change.
gcc/cp/
Inline and using namespace representation change.
* cp-tree.h (struct lang_decl_ns): Delete ns_using. Add usings,
inlinees as vector.
(DECL_NAMESPACE_USING): Adjust.
(DECL_NAMESPACE_INLINEES): New.
* name-lookup.h (struct cp_binding_level): Change usings
representation.
* name-lookup.c (name_lookup::do_queue_usings)
name_lookup::queue_usings): Adjust.
(name_lookup::search_namespace, name_lookup::search_usings)
name_lookup::queue_namespace): Adjust.
(name_lookup::adl_namespace_only): Adjust.
(add_using_namespace, push_namespace): Push onto vector.
(pop_namespace): Add timing logic.
libcc1/
* libcp1plugin.cc (plugin_make_namespace_inline): Push onto linees.
((--This line, and those below, will be ignored--
M gcc/cp/ChangeLog
M gcc/cp/cp-tree.h
M gcc/cp/name-lookup.c
M gcc/cp/name-lookup.h
M libcc1/libcp1plugin.cc
M libcc1/ChangeLog
From-SVN: r248520
Thomas Koenig [Fri, 26 May 2017 17:16:35 +0000 (17:16 +0000)]
re PR fortran/80889 (Bootstrap broken on all targets due to rev 248472)
2017-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR boostrap/80889
* acinclude.m4: Also set HAVE_AVX128 on the false
branch of LIBGFOR_CHECK_AVX128.
* configure: Regenerated.
From-SVN: r248519
Nathan Sidwell [Fri, 26 May 2017 16:34:40 +0000 (16:34 +0000)]
call.c (build_operator_new_call): Do namelookup and ADL here.
gcc/cp/
* call.c (build_operator_new_call): Do namelookup and ADL here.
(build_new_op_1): Likewise.
* name-lookup.h (lookup_function_nonclass): Delete declaration.
(do_using_directive): Likewise.
* name-lookup.c (set_namespace_binding, push_local_binding): Don't
declare early.
(struct scope_binding): Delete.
(EMPTY_SCOPE_BINDING): Delete.
(set_decl_namespace): Use OVL_P.
(finish_local_using_decl): Lose unnecesary checks.
(lookup_function_nonclass): Delete.
(cp_emit_debug_info_for_using): Use MAYBE_BASELINK_P.
libcc1/
* libcp1plugin.cc (plugin_add_using_namespace): Call
finish_namespace_using_directive.
From-SVN: r248518
Nathan Sidwell [Fri, 26 May 2017 15:01:07 +0000 (15:01 +0000)]
cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
* cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
(ovl_iterator): Add allow_inner field. Adjust ctor. Make
unduplicatable.
(ovl_iterator::maybe_push, ovl_iterator::pop): New.
(lkp_iterator): Add outer field. Adjust ctor.
(lkp_iterator::operator++): New.
(lookup_mark, lookup_maybe_add): Declare.
* name-lookup.c (name_lookup): Delete fn_set member.
(name_lookup::preserve_state, name_lookup::restore_state): Unmark
and mark lookup.
(name_lookup::add_value): Use lookup_add directly.
(name_lookup::add_fns: Use lookup_maybe_add.
(name_lookup::search_adl): Mark and unmark fns.
(pushdecl): Adjust.
* pt.c (check_explicit_specialization): Use lookup_add directly.
* ptree.c (cxx_print_xnode): Show complete overload structure.
* tree.c (lookup_mark, lookup_maybe_add): New.
From-SVN: r248517
Martin Liska [Fri, 26 May 2017 14:49:36 +0000 (16:49 +0200)]
Renumber TDF_* flags to be contiguous.
2017-05-26 Martin Liska <mliska@suse.cz>
* dumpfile.h (enum dump_kind): Renumber TDF_* flags to be contiguous.
From-SVN: r248515
Martin Liska [Fri, 26 May 2017 14:45:59 +0000 (16:45 +0200)]
Simplify usage of some TDF_* flags.
2017-05-26 Martin Liska <mliska@suse.cz>
* cfg.c (check_bb_profile): Do not use TDF_COMMENT and print
always leading ';; '.
(dump_bb_info): Likewise.
(brief_dump_cfg): Likewise.
* cfgrtl.c (print_rtl_with_bb): Do not use TDF_COMMENT.
* dumpfile.c: Remove usage of TDF_VERBOSE.
* dumpfile.h (enum dump_kind): Likewise.
(dump_gimple_bb_header): Do not use TDF_COMMENT.
* print-tree.c (debug_verbose): Remove.
* tree-cfg.c (gimple_dump_cfg): Do not use TDF_COMMENT.
(dump_function_to_file): Remove dumps guarded with TDF_VERBOSE.
* tree-diagnostic.c (default_tree_printer): Replace
TDF_DIAGNOSTIC with TDF_SLIM.
From-SVN: r248514
Bin Cheng [Fri, 26 May 2017 14:21:29 +0000 (14:21 +0000)]
tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass in parameter loop, rather than loop_vinfo.
* tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass
in parameter loop, rather than loop_vinfo.
(create_intersect_range_checks): Ditto.
(vect_create_cond_for_alias_checks): Update call to above functions.
From-SVN: r248513
Bin Cheng [Fri, 26 May 2017 14:18:26 +0000 (14:18 +0000)]
re PR middle-end/80815 (wrong code because of broken runtime alias check in vectorizer)
PR tree-optimization/80815
* tree-data-ref.c (prune_runtime_alias_test_list): Simplify condition
for merging runtime alias checks. Handle negative DR_STEPs.
gcc/testsuite
* gcc.dg/vect/pr80815-1.c: New test.
* gcc.dg/vect/pr80815-2.c: New test.
From-SVN: r248512
Bin Cheng [Fri, 26 May 2017 14:10:43 +0000 (14:10 +0000)]
tree-vect-data-refs.c (Operator==, [...]): Move from ...
* tree-vect-data-refs.c (Operator==, comp_dr_with_seg_len_pair):
Move from ...
* tree-data-ref.c (Operator==, comp_dr_with_seg_len_pair): To here.
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Factor
out code pruning runtime alias checks.
* tree-data-ref.c (prune_runtime_alias_test_list): New function
factored out from above.
* tree-vectorizer.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
Move from ...
* tree-data-ref.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
... to here.
(prune_runtime_alias_test_list): New decalaration.
From-SVN: r248511
Bin Cheng [Fri, 26 May 2017 14:04:49 +0000 (14:04 +0000)]
tree-vect-data-refs.c (compare_tree): Rename and move ...
* tree-vect-data-refs.c (compare_tree): Rename and move ...
* tree-data-ref.c (data_ref_compare_tree): ... to here.
* tree-data-ref.h (data_ref_compare_tree): New decalaration.
* tree-vect-data-refs.c (dr_group_sort_cmp): Update uses.
(operator==, comp_dr_with_seg_len_pair): Ditto.
(vect_prune_runtime_alias_test_list): Ditto.
From-SVN: r248510
Nathan Sidwell [Fri, 26 May 2017 11:36:39 +0000 (11:36 +0000)]
* name-lookup.c (name_lookup::search_adl): ADL OMP UDR type args.
From-SVN: r248506
Martin Liska [Fri, 26 May 2017 11:05:52 +0000 (13:05 +0200)]
Bound partial-inlining-entry-probability param (PR ipa/80663).
2017-05-26 Martin Liska <mliska@suse.cz>
PR ipa/80663
* params.def: Bound partial-inlining-entry-probability param.
2017-05-26 Martin Liska <mliska@suse.cz>
PR ipa/80663
* g++.dg/ipa/pr80212.C: Remove the test as it does not longer
split at the problematic spot.
* gcc.dg/ipa/pr48195.c: Change 101 to 100 as 101 is no longer
a valid value of the param.
From-SVN: r248489
Marek Polacek [Fri, 26 May 2017 09:31:36 +0000 (09:31 +0000)]
re PR sanitizer/80875 (UBSAN: compile time crash in fold_binary_loc at fold-const.c:9817)
PR sanitizer/80875
* fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1
can be negated.
* c-c++-common/ubsan/pr80875.c: New test.
From-SVN: r248485
Tom de Vries [Fri, 26 May 2017 09:25:00 +0000 (09:25 +0000)]
Replace absolute line numbers in gcc.dg
2017-05-26 Tom de Vries <tom@codesourcery.com>
PR testsuite/80557
* gcc.dg/
20011021-1.c: Replace absolute line numbers.
* gcc.dg/Wcxx-compat-8.c: Same.
* gcc.dg/Wobjsize-1.c: Same.
* gcc.dg/Wshadow-local-2.c: Same.
* gcc.dg/Wstrict-aliasing-converted-assigned.c: Same.
* gcc.dg/anon-struct-6.c: Same.
* gcc.dg/asm-wide-1.c: Same.
* gcc.dg/builtin-inf-1.c: Same.
* gcc.dg/builtin-redefine.c: Same.
* gcc.dg/c90-array-lval-6.c: Same.
* gcc.dg/c90-array-lval-7.c: Same.
* gcc.dg/c90-fordecl-1.c: Same.
* gcc.dg/c99-fordecl-2.c: Same.
* gcc.dg/cast-lvalue-1.c: Same.
* gcc.dg/cast-lvalue-2.c: Same.
* gcc.dg/compound-lvalue-1.c: Same.
* gcc.dg/cond-lvalue-1.c: Same.
* gcc.dg/cpp/
20000419-1.c: Same.
* gcc.dg/cpp/backslash.c: Same.
* gcc.dg/cpp/backslash2.c: Same.
* gcc.dg/cpp/macspace1.c: Same.
* gcc.dg/cpp/macspace2.c: Same.
* gcc.dg/cpp/multiline-2.c: Same.
* gcc.dg/cpp/pr27777.c: Same.
* gcc.dg/cpp/pr30786.c: Same.
* gcc.dg/cpp/pr34602.c: Same.
* gcc.dg/cpp/redef1.c: Same.
* gcc.dg/cpp/tr-warn1.c: Same.
* gcc.dg/cpp/tr-warn3.c: Same.
* gcc.dg/cpp/tr-warn6.c: Same.
* gcc.dg/cpp/trad/hash.c: Same.
* gcc.dg/cpp/trad/redef1.c: Same.
* gcc.dg/cpp/ucs.c: Same.
* gcc.dg/declspec-10.c: Same.
* gcc.dg/declspec-11.c: Same.
* gcc.dg/declspec-18.c: Same.
* gcc.dg/format/c99-strftime-1.c: Same.
* gcc.dg/format/ext-3.c: Same.
* gcc.dg/format/pr72858.c: Same.
* gcc.dg/gomp/appendix-a/a.24.1.c: Same.
* gcc.dg/init-string-1.c: Same.
* gcc.dg/label-decl-3.c: Same.
* gcc.dg/m-un-2.c: Same.
* gcc.dg/nofixed-point-2.c: Same.
* gcc.dg/noncompile/
20020213-1.c: Same.
* gcc.dg/pch/counter-2.c: Same.
* gcc.dg/plugin/diagnostic-test-string-literals-2.c: Same.
* gcc.dg/pr27528.c: Same.
* gcc.dg/pr27953.c: Same.
* gcc.dg/pr35899.c: Same.
* gcc.dg/pr37561.c: Same.
* gcc.dg/pr45461.c: Same.
* gcc.dg/pr45750.c: Same.
* gcc.dg/pr53196-2.c: Same.
* gcc.dg/pr53265.c: Same.
* gcc.dg/redecl-1.c: Same.
* gcc.dg/tls/thr-init-1.c: Same.
* gcc.dg/torture/pr51106-1.c: Same.
* gcc.dg/torture/pr51106-2.c: Same.
* gcc.dg/uninit-19.c: Same.
* gcc.dg/uninit-pr20644.c: Same.
From-SVN: r248484
Jakub Jelinek [Fri, 26 May 2017 09:17:54 +0000 (11:17 +0200)]
cp-tree.h (struct lang_decl_decomp): New type.
* cp-tree.h (struct lang_decl_decomp): New type.
(struct lang_decl): Add u.decomp.
(LANG_DECL_DECOMP_CHECK): Define.
(DECL_DECOMPOSITION_P): Note it is set also on the vars
for user identifiers.
(DECL_DECOMP_BASE): Define.
(retrofit_lang_decl): Add extra int = 0 argument.
* lex.c (retrofit_lang_decl): Add SEL argument, if non-zero
use it to influence the selector choices and for selector
0 to non-zero transition copy old content.
(cxx_dup_lang_specific_decl): Handle DECL_DECOMPOSITION_P.
* decl.c (poplevel): For DECL_DECOMPOSITION_P, check
!DECL_DECOMP_BASE instead of !DECL_VALUE_EXPR. Adjust warning
wording if decl is a structured binding.
(cp_finish_decomp): Pass 4 as the new argument to retrofit_lang_decl.
Set DECL_DECOMP_BASE. Ignore DECL_READ_P sets from initialization
of individual variables for tuple structured bindings.
(grokdeclarator): Pass 4 as the new argument to retrofit_lang_decl.
Clear DECL_DECOMP_BASE.
* decl2.c (mark_used): Mark DECL_DECOMP_BASE TREE_USED as well.
* pt.c (tsubst_decomp_names): Assert DECL_DECOMP_BASE matches what
is expected.
* expr.c (mark_exp_read): Recurse on DECL_DECOMP_BASE instead of
DECL_VALUE_EXPR.
* g++.dg/cpp1z/decomp29.C (p): New variable.
(main): Add further tests.
From-SVN: r248483
Richard Biener [Fri, 26 May 2017 07:19:00 +0000 (07:19 +0000)]
re PR tree-optimization/80842 (ICE at -O3 on x86_64-linux-gnu in "set_lattice_value")
2017-05-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/80842
* tree-ssa-ccp.c (set_lattice_value): Always meet with the old
value.
* gcc.dg/torture/pr80842.c: New testcase.
From-SVN: r248482
Richard Biener [Fri, 26 May 2017 07:14:52 +0000 (07:14 +0000)]
re PR tree-optimization/80844 (OpenMP SIMD doesn't know how to efficiently zero a vector (its stores zeros and reloads))
2017-05-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/80844
* tree-vectorizer.c (adjust_simduid_builtins): Propagate
results.
From-SVN: r248481
GCC Administrator [Fri, 26 May 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248479
Eric Gallager [Thu, 25 May 2017 23:38:05 +0000 (23:38 +0000)]
MAINTAINERS: Add self to Write After Approval
2017-05-25 Eric Gallager <egall@gwmail.gwu.edu>
* MAINTAINERS: Add self to Write After Approval
From-SVN: r248475
Paolo Carlini [Thu, 25 May 2017 22:29:40 +0000 (22:29 +0000)]
re PR c++/79652 (ICE on invalid c++ code in warn_extern_redeclared_static in cp/decl.c:1231)
2017-05-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79652
* g++.dg/cpp0x/pr79652.C: New.
From-SVN: r248474
Paolo Carlini [Thu, 25 May 2017 22:28:54 +0000 (22:28 +0000)]
re PR c++/71451 (ICE on invalid C++11 code on x86_64-linux-gnu: in dependent_type_p, at cp/pt.c:22599)
2017-05-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71451
* g++.dg/cpp0x/variadic170.C: New.
From-SVN: r248473
Thomas Koenig [Thu, 25 May 2017 21:51:27 +0000 (21:51 +0000)]
re PR libfortran/78379 (Processor-specific versions for matmul)
2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/78379
* Makefile.am: Add generated/matmulavx128_*.c files.
Handle them for compiling and setting the right flags.
* acinclude.m4: Add tests for FMA3, FMA4 and AVX128.
* configure.ac: Call them.
* Makefile.in: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.
* m4/matmul.m4: Handle AMD chips by calling 128-bit AVX
versions which use FMA3 or FMA4.
* m4/matmulavx128.m4: New file.
* 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.
* generated/matmulavx128_c10.c: New file.
* generated/matmulavx128_c16.c: New file.
* generated/matmulavx128_c4.c: New file.
* generated/matmulavx128_c8.c: New file.
* generated/matmulavx128_i1.c: New file.
* generated/matmulavx128_i16.c: New file.
* generated/matmulavx128_i2.c: New file.
* generated/matmulavx128_i4.c: New file.
* generated/matmulavx128_i8.c: New file.
* generated/matmulavx128_r10.c: New file.
* generated/matmulavx128_r16.c: New file.
* generated/matmulavx128_r4.c: New file.
* generated/matmulavx128_r8.c: New file.
From-SVN: r248472
Jason Merrill [Thu, 25 May 2017 21:24:48 +0000 (17:24 -0400)]
* g++.dg/cpp1z/nontype-auto11.C: Move from pr79583.C.
From-SVN: r248471
Jason Merrill [Thu, 25 May 2017 21:24:36 +0000 (17:24 -0400)]
PR c++/80605 - __is_standard_layout and zero-length array
* class.c (check_bases): Use DECL_FIELD_IS_BASE.
From-SVN: r248470
Nathan Sidwell [Thu, 25 May 2017 20:55:07 +0000 (20:55 +0000)]
Kill OVL_CURRENT, OVL_NEXT.
* cp-tree.h (OVL_CURRENT, OVL_NEXT): Delete.
* name-lookup.c (set_decl_namespace): Use ovl_iterator.
(consider_binding_level): Use OVL_FIRST.
(cp_emit_debug_info_for_using): Use lkp_iterator.
* pt.c (check_explicit_specialization): Use ovl_iterator.
From-SVN: r248469
Sebastian Peryt [Thu, 25 May 2017 19:41:29 +0000 (21:41 +0200)]
md.texi (Machine Constraints): Update x86 family machine constraints section to match 'config/i386/constraints.md'.
* doc/md.texi (Machine Constraints): Update x86 family
machine constraints section to match 'config/i386/constraints.md'.
From-SVN: r248468
Nathan Sidwell [Thu, 25 May 2017 18:52:47 +0000 (18:52 +0000)]
Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
gcc/cp/
Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
* cp-tree.h (lang_decl_ns): Remove ns_users field.
(DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS): Delete.
(TREE_INDIRECT_USING): Delete.
* name-lookup.h (is_associated_namespace): Delete.
* name-lookup.c (name_lookup::search_usings
name_lookup::do_queue_usings): Usings are always direct.
(is_associated_namespace): Delete.
(handle_namespace_attrs): Use DECL_NAMESPACE_INLINE_P.
(namespace_ancestor_1, namespace_ancestor): Delete.
(push_using_directive_1, push_using_directive): Delete.
(add_using_namespace_1): Delete.
(add_using_namespace): Reimplement.
(emit_debug_info_using_namespace): New.
(finish_namespace_using_directive, finish_local_using_directive
push_namespace): Adjust.
* tree.c (cp_free_lang_data): Remove DECL_NAMESPACE_USERS
handling.
libcc1/
* libcp1plugin.cc (plugin_make_namespace_inline): Check and set
DECL_NAMESPACE_INLINE_P.
gcc/testsuite/
* g++.dg/lookup/using56.C: New.
* g++.dg/lookup/using57.C: New.
* g++.dg/lookup/using58.C: New.
* g++.dg/lookup/using59.C: New.
From-SVN: r248467
Volker Reichelt [Thu, 25 May 2017 17:05:07 +0000 (17:05 +0000)]
invoke.texi (-Wcatch-value=): Document new warning option.
* doc/invoke.texi (-Wcatch-value=): Document new warning option.
* c.opt (Wcatch-value=): New C++ warning flag.
* semantics.c (finish_handler_parms): Warn about non-reference
* type
catch handlers.
* g++.dg/warn/Wcatch-value-1.C: New test.
* g++.dg/warn/Wcatch-value-2.C: New test.
* g++.dg/warn/Wcatch-value-3.C: New test.
From-SVN: r248466
Nathan Sidwell [Thu, 25 May 2017 16:55:43 +0000 (16:55 +0000)]
Reimplement unqualified namespace lookup.
gcc/cp/
Reimplement unqualified namespace lookup.
* name-lookup.c (name_lookup::using_pair)
name_lookup::using_queue): New typedefs.
(name_lookup::queue_namespace, name_lookup::do_queue_usings,
name_lookup::queue_usings): New.
(name_lookup::search_unqualified): New.
(merge_functions, same_entity_p, ambiguous_decl)
unqualified_namespace_lookup_1, unqualified_namespace_lookup,
lookup_using_namespace): Delete.
(lookup_name_real_1): Adjust.
gcc/testsuite/
* g++.dg/lookup/using17.C: Adjust diagnostics.
From-SVN: r248465
Martin Sebor [Thu, 25 May 2017 16:51:24 +0000 (16:51 +0000)]
overflow-warn-9.c: Adjust expected warnings to avoid false positives on ILP32.
gcc/testsuite/ChangeLog:
* gcc.dg/overflow-warn-9.c: Adjust expected warnings to avoid false
positives on ILP32.
* gcc.dg/pr59963-2.c: Replace tabs with spaces, adjust expected
column numbers.
* gcc.dg/pr60114.c: Same.
From-SVN: r248464
Nathan Sidwell [Thu, 25 May 2017 15:12:38 +0000 (15:12 +0000)]
Reimplement qualified namespace lookup.
* name-lookup.c (name_lookup::flags): New member. Adjust ctor.
(name_lookup::ambiguous, name_lookup::add_value)
name_lookup::add_type, name_lookup::process_binding): New.
(name_lookup::search_namespace_only)
name_lookup::search_namespace, name_lookup::search_usings): New.
(name_lookup::search_qualified): New.
(do_nonmember_using_decl, suggest_alternatives_for)
lookup_qualified_name): Adjust.
(tree_vec_contains): Delete.
(qualified_lookup_using_namespace): Rename to ...
(qualified_namespace_lookup): ... here. Reimplement.
(((--This line, and those below, will be ignored--
M cp/name-lookup.c
M cp/ChangeLog
From-SVN: r248462
Jan Hubicka [Thu, 25 May 2017 14:49:43 +0000 (16:49 +0200)]
* gfortran.dg/pr48636.f90: Fix template better.
From-SVN: r248460
Jonathan Wakely [Thu, 25 May 2017 13:24:46 +0000 (14:24 +0100)]
Fix bootstrap failure in Ada FE due to -Werror=ignored-qualifiers
* gcc-interface/utils2.c (compare_elmt_bitpos): Remove redundant
const qualifiers that cause -Wignored-qualifiers warnings.
From-SVN: r248458
Nathan Sidwell [Thu, 25 May 2017 12:51:30 +0000 (12:51 +0000)]
cp-tree.h (LOOKUP_SEEN_P, [...]): New.
gcc/cp/
* cp-tree.h (LOOKUP_SEEN_P, LOOKUP_FOUND_P): New.
* name-lookup.h (lookup_arg_dependent): Return plain tree.
* name-lookup.c (arg_lookup, arg_assoc, arg_assoc_args)
arg_assoc_args_vec, arg_assoc_type, add_function,
arg_assoc_namespace, arg_assoc_class_only, arg_assoc_bases,
arg_assoc_class, arg_assoc_template_arg, arg_assoc,
lookup_arg_dependent_1): Delete.
(name_lookup): New lookup object.
(name_lookup::preserve_state, name_lookup::restore_state)
name_lookup::mark_seen, name_lookup::find_and_mark,
name_lookup::add_fns, name_lookup::adl_namespace_only,
name_lookup::adl_namespace, name_lookup::adl_class_only,
name_lookup::adl_bases, name_lookup::adl_class,
name_lookup::adl_expr, name_lookup::adl_type,
name_lookup::adl_template_arg, name_lookup::search_adl): New.
(lookup_arg_dependent): Return a plain tree. Adjust.
(is_associated_namespace): Move later.
gcc/cp/
* g++.dg/lookup/koenig14.C: New.
From-SVN: r248457
Thomas Koenig [Thu, 25 May 2017 12:21:22 +0000 (12:21 +0000)]
dump-parse-tree.c (show_expr): Also replace with dumpfile for showing values for forgotten case.
2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump-parse-tree.c (show_expr): Also replace
with dumpfile for showing values for forgotten
case.
From-SVN: r248456
Nathan Sidwell [Thu, 25 May 2017 11:05:38 +0000 (11:05 +0000)]
configure.ac: Add --enable-languages=default to mean default and make --enable-languages=all...
* configure.ac: Add --enable-languages=default to mean default and
make --enable-languages=all mean all supported languages.
* configure: Regenerated.
gcc/
* doc/invoke.texi (--enable-languages): Update documentation.
From-SVN: r248454
Martin Liska [Thu, 25 May 2017 10:08:02 +0000 (12:08 +0200)]
Add -fdump*-folding suboption.
2017-05-25 Martin Liska <mliska@suse.cz>
* dumpfile.c: Add TDF_FOLDING.
* dumpfile.h (enum dump_kind): Likewise.
* genmatch.c (dt_simplify::gen_1): Use it.
From-SVN: r248452
Paolo Carlini [Thu, 25 May 2017 09:32:46 +0000 (09:32 +0000)]
re PR c++/79583 (ICE (internal compiler error) upon instantiation of class template with `auto` template parameter containing inner class template)
2017-05-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79583
* g++.dg/cpp0x/pr79583.C: New.
From-SVN: r248451