aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-05-19toplev.c (general_init): Call register dump lang hook.Nathan Sidwell17-40/+105
LANG_HOOK_REGISTER_DUMPS gcc/ * toplev.c (general_init): Call register dump lang hook. * doc/invoke.texi: Document -fdump-lang option family. * dumpfile.c (dump_files): Remove class dump here. (FIRST_AUTO_NUMBERED_DUMP): Adjust. * dumpfile.h (tree_dump_index): Remove TDI_class. * langhooks-def.h (lhd_register_dumps): Declare. (LANG_HOOKS_REGISTER_DUMPS): Define. (LANG_HOOKS_INITIALIZER): Add it. * langhooks.c (lhd_register_dumps): Define. * langhooks.h (struct lang_hooks): Add register_dumps. c-family/ * c-opts.c (class_dump_file, class_dump_flags): Delete. (c_common_parse_file): Remove class dump handling. (get_dump_info): Likewise. cp/ * class.c (class_dump_id): Define. (dump_class_hierarchy, dump_vtable, dump_vtt): Use it. * cp-objcp-common.c (cp_register_dumps): New. * cp-objcp-common.h (cp_register_dumps): Declare. (LANG_HOOKS_REGISTER_DUMPS): Override. * cp-tree.h (class_dump_id): Declare. testsuite/ * g++.dg/inherit/covariant7.C: Adjust. From-SVN: r248271
2017-05-19[ARM] Only test tls-disable-literal-pool.c if target supports native TLSPrakhar Bahuguna2-3/+8
2017-05-19 Prakhar Bahuguna <prakhar.bahuguna@arm.com> gcc/testsuite/ * gcc.target/arm/tls-disable-literal-pool.c: Change require-effective-target to tls_native. Move dg-error to return statement line and change to dg-message. From-SVN: r248270
2017-05-19re PR c++/80593 (GCC 7, aligned_storage and “dereferencing type-punned ↵Richard Biener5-5/+36
pointer will break strict-aliasing rules”) 2017-05-19 Richard Biener <rguenther@suse.de> PR c++/80593 * c-warn.c (strict_aliasing_warning): Do not warn for accesses to alias-set zero memory. * g++.dg/warn/Wstrict-aliasing-bogus-char-2.C: New testcase. * g++.dg/warn/Wstrict-aliasing-6.C: Adjust expected outcome. From-SVN: r248269
2017-05-19context.h (context::set_passes): New.Nathan Sidwell4-8/+19
* context.h (context::set_passes): New. * context.c (context::context): Do not create pass manager. * toplev.c (general_init): Create pass manager here. From-SVN: r248268
2017-05-19rs6000: Make constant formation a tiny bit betterSegher Boessenkool2-0/+7
If we cannot load a constant into a register in one insn, and that constant is a valid mask (for rotate instructions), we currently prefer to load -1 and then mask it. This patch makes us not do that if instead we could use two add or or instructions, since those are sometimes faster on certain CPUs (and never are slower). * config/rs6000/rs6000.md (splitter to load of -1 and mask): Don't use this splitter if two add or or instructions would also work for the constant we want to generate. From-SVN: r248265
2017-05-19re PR tree-optimization/80821 (genmatch conflicting predicates)Richard Biener2-0/+10
2017-05-19 Richard Biener <rguenther@suse.de> PR build/80821 * genmatch.c (dt_node::gen_kids_1): Add missing scope around predicate evaluation. From-SVN: r248264
2017-05-19ipa-inline.h (ipa_call_summary): Turn sizes into signed; add ctor.Jan Hubicka3-4/+19
* ipa-inline.h (ipa_call_summary): Turn sizes into signed; add ctor. * ipa-inline.c (want_inline_small_function_p): Do not cast to unsigned. From-SVN: r248263
2017-05-19ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove.Jan Hubicka8-145/+153
* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list, inline_edge_removal_hook, inline_edge_duplication_hook): Remove. (inline_edge_summary_vec): Turn into ... (ipa_call_summaries): ... this one. (redirect_to_unreachable, edge_set_predicate, evaluate_properties_for_edge, inline_summary_alloc, reset_ipa_call_summary, reset_inline_summary, inline_summary_t::duplicate): Update. (inline_edge_duplication_hook): Turn to ... (ipa_call_summary_t::duplicate): ... this one. (inline_edge_removal_hook): Turn to ... (ipa_call_summary_t::remove): ... this one. (dump_inline_edge_summary): Turn to ... (dump_ipa_call_summary): ... this one. (estimate_function_body_sizes): Update. (inline_update_callee_summaries): Update. (remap_edge_change_prob): Update. (remap_edge_summaries): Update. (inline_merge_summary): Update. (do_estimate_edge_time): Update. (inline_generate_summary): Update. (inline_read_section): Update. (inline_read_summary): Update. (inline_free_summary): Update. * ipa-inline.c (can_inline_edge_p): Update. (compute_inlined_call_time): Update. (want_inline_small_function_p): Update. (edge_badness): Update. (early_inliner): Update. * ipa-inline.h (inline_edge_summary): Turn to ... (ipa_call_summary): ... this one. (ipa_call_summary_t): New class. (inline_edge_summary_t, inline_edge_summary_vec): Remove. (ipa_call_summaries): New. (inline_edge_summary): Remove. (estimate_edge_growth): Update. * ipa-profile.c (ipa_propagate_frequency_1): Update. * ipa-prop.c (ipa_make_edge_direct_to_target): Update. * ipa-split.c (execute_split_functions): Update. * ipa.c (symbol_table::remove_unreachable_nodes): Update. From-SVN: r248262
2017-05-19re PR middle-end/80764 (ICE at -O3 in both 32-bit and 64-bit modes on ↵Richard Biener4-1/+28
x86_64-linux-gnu (internal compiler error: in verify_loop_structure, at cfgloop.c:1644)) 2017-05-19 Richard Biener <rguenther@suse.de> PR middle-end/80764 * cfgexpand.c (expand_gimple_cond): Fix loop fixup. * gcc.dg/torture/pr80764.c: New testcase. From-SVN: r248261
2017-05-19Daily bump.GCC Administrator1-1/+1
From-SVN: r248260
2017-05-19rs6000: Separate shrink-wrapping for FPRsSegher Boessenkool2-31/+146
This patch implements separate shrink-wrapping for the non-volatile floating point registers (FPR14..FPR31). It is pretty much exactly analogous to the code for GPRs. * config/rs6000/rs6000.c (struct machine_function): Add field fpr_is_wrapped_separately. (rs6000_get_separate_components): Use 64 components. Handle the new FPR components. (rs6000_components_for_bb): Handle the FPR components. (rs6000_emit_prologue_components): Handle the FPR components. (rs6000_emit_epilogue_components): Handle the FPR components. (rs6000_set_handled_components): Handle the FPR components. (rs6000_emit_prologue): Don't output prologue code for those FPRs that are already separately shrink-wrapped. (rs6000_emit_epilogue): Don't output epilogue code for those FPRs that are already separately shrink-wrapped. From-SVN: r248256
2017-05-18re PR target/80510 (Optimize Power7/power8 Altivec load/stores)Michael Meissner6-0/+538
[gcc] 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80510 * config/rs6000/predicates.md (simple_offsettable_mem_operand): New predicate. * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator. (define_peephole2 for Altivec d-form load): Add peepholes to catch cases where the register allocator uses a move and an offsettable memory operation to/from a FPR register on ISA 2.06/2.07. (define_peephole2 for Altivec d-form store): Likewise. [gcc/testsuite] 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/80510 * gcc.target/powerpc/pr80510-1.c: New test. * gcc.target/powerpc/pr80510-2.c: Likewise. From-SVN: r248254
2017-05-18Add testcase to ensure that #pragma GCC diagnostic push/pop works with ↵Eric Gallager2-0/+13
-Wtraditional 2017-05-18 Eric Gallager <egall@gwmail.gwu.edu> * gcc.dg/pragma-diag-7.c: New test. From-SVN: r248253
2017-05-18cp-tree.h (OVL_ARG_DEPENDENT): Delete.Nathan Sidwell6-36/+111
* cp-tree.h (OVL_ARG_DEPENDENT): Delete. (OVL_USED_P): New. (lookup_keep): Declare. * name-lookup.c (add_function): Don't set OVL_ARG_DEPENDENT. * pt.c (tsubst_copy): Assert lookup is persistent. * semantics.c (finish_call_expr): Use lkp_iterator, call lookup_keep. * tree.c (ovl_copy): New. (ovl_insert, ovl_iterator::remove_node): Copy immutable nodes. (lookup_keep): New. From-SVN: r248250
2017-05-18compiler: ignore struct field tags for type conversionIan Lance Taylor3-57/+101
Go 1.8 includes a language change (https://golang.org/doc/go1.8#language): in an explicit conversion from one struct type to another, any field tags are ignored. This CL implements this language change in the gofrontend. The tests for this are in the gc testsuite, which will be copied into the gccgo repository in due course. Updates golang/go#16085. Reviewed-on: https://go-review.googlesource.com/43614 From-SVN: r248248
2017-05-18re PR target/80799 (x86-32 bits generates MMX without EMMS)Uros Bizjak5-11/+82
PR target/80799 * config/i386/mmx.md (*mov<mode>_internal): Enable alternatives 11, 12, 13 and 14 also for 32bit targets. Remove alternatives 15, 16, 17 and 18. * config/i386/sse.md (vec_concatv2di): Change alternative (!x, *y) to (x, ?!*Yn). testsuite/ChangeLog: PR target/80799 * g++.dg/other/i386-11.C: New test. From-SVN: r248246
2017-05-18dumpfile.h (enum dump_kind): Remove stray comma.Paolo Carlini2-1/+5
2017-05-18 Paolo Carlini <paolo.carlini@oracle.com> * dumpfile.h (enum dump_kind): Remove stray comma. From-SVN: r248244
2017-05-18Makefile.in: Add ipa-predicate.o and ipa-predicate.hJan Hubicka1-0/+21
* Makefile.in: Add ipa-predicate.o and ipa-predicate.h * ipa-inline-analysis.c (NUM_CONDITIONS): turn into predicate::num_conditions (IS_NOT_CONSTANT): turn into predicate::is_not_constant. (CHANGED): turn into predicate::changed. (agg_position_info): Move to ipa-predicate.h (add_condition, predicate::add_clause, predicate::operator &=, predicate::or_with, predicate::evaluate, predicate::probability, dump_condition, dump_clause, predicate::dump, predicate::remap_after_duplication, predicate::remap_after_inlining, predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c (evaluate_conditions_for_known_args): Update. (set_cond_stmt_execution_predicate): Update. * ipa-inline.h: Include ipa-predicate.h (condition, inline_param_summary, conditions, agg_position_info, predicate): Move to ipa-predicate.h * ipa-predicate.c: New file. * ipa-predicate.h: New file. From-SVN: r248243
2017-05-18c-format.c (local_tree_type_node): Add GTY attribute.Bernd Edlinger4-2/+12
gcc/c-family: 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-format.c (local_tree_type_node): Add GTY attribute. gcc/c: 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de> * config-lang.in (gtfiles): Add c-family/c-format.c. From-SVN: r248242
2017-05-18Makefile.in: Add ipa-predicate.o and ipa-predicate.hJan Hubicka5-745/+828
* Makefile.in: Add ipa-predicate.o and ipa-predicate.h * ipa-inline-analysis.c (NUM_CONDITIONS): turn into predicate::num_conditions (IS_NOT_CONSTANT): turn into predicate::is_not_constant. (CHANGED): turn into predicate::changed. (agg_position_info): Move to ipa-predicate.h (add_condition, predicate::add_clause, predicate::operator &=, predicate::or_with, predicate::evaluate, predicate::probability, dump_condition, dump_clause, predicate::dump, predicate::remap_after_duplication, predicate::remap_after_inlining, predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c (evaluate_conditions_for_known_args): Update. (set_cond_stmt_execution_predicate): Update. * ipa-inline.h: Include ipa-predicate.h (condition, inline_param_summary, conditions, agg_position_info, predicate): Move to ipa-predicate.h * ipa-predicate.c: New file. * ipa-predicate.h: New file. From-SVN: r248241
2017-05-18Add an assert to leaf_function_p to ensure it is not called from a prolog or...Wilco Dijkstra2-0/+7
Add an assert to leaf_function_p to ensure it is not called from a prolog or epilog sequence (which would incorrectly return true in a non-leaf function). There are several targets which still call leaf_function_p, and while most appear safe or appear aware of the issue, it is likely not all such calls are safe. This check enables any such latent bugs to be found. gcc/ * final.c (leaf_function_p): Check we are not in a sequence. From-SVN: r248240
2017-05-18cp-tree.h (OVL_USED): Replace with ...Nathan Sidwell5-11/+18
* cp-tree.h (OVL_USED): Replace with ... (OVL_USING_P): ... this. (ovl_iterator::using_p): Adjust. * name-lookup.c (push_overloaded_decl_1) do_nonmember_using_decl): Adjust. * search.c (lookup_field_r): Adjust. * tree.c (ovl_insert, ovl_scope): Adjust. (--This line, and those below, will be ignored-- M cp/tree.c M cp/cp-tree.h M cp/name-lookup.c M cp/search.c M cp/ChangeLog From-SVN: r248229
2017-05-18Transform TDF_{lang,tree,ipa,rtl} to dump_kind enum.Martin Liska9-88/+131
2017-05-18 Martin Liska <mliska@suse.cz> * cfgrtl.c (rtl_verify_edges): Remove usage of TDF_RTL. * dumpfile.c (dump_register): Use new enum dump_kind. (get_dump_file_name): Likewise. (dump_enable_all): Likewise. (dump_switch_p_1): Likewise. (enable_rtl_dump_file): Remove usage of TDF_RTL. * dumpfile.h (enum dump_kind): New enum type. (struct dump_file_info): Create constructor and format fields and comments. * passes.c (pass_manager::register_one_dump_file): Use num dump_kind. * statistics.c (statistics_early_init): Likewise. * tree-ssa-loop-prefetch.c (dump_mem_details): Replace TDF_TREE with TDF_SLIM. (gather_memory_references_ref): Likewise. From-SVN: r248206
2017-05-18Define CONSTEXPR macro and use it in vec.h.Martin Liska2-4/+5
2017-05-18 Martin Liska <mliska@suse.cz> * ansidecl.h: Define CONSTEXPR macro. 2017-05-18 Martin Liska <mliska@suse.cz> * vec.h (struct vnull): Use it. From-SVN: r248205
2017-05-18ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h ↵Jan Hubicka3-557/+626
(true_predicate... * ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h (true_predicate, false_predicate, true_predicate_p, false_predicate_p): Remove. (single_cond_predicate, not_inlined_predicate): Turn to member function in ipa-inline.h (add_condition): Update. (add_clause): Turn to... (predicate::add_clause): ... this one; update; allow passing NULL as parameter. (and_predicates): Turn to ... (predicate::operator &=): ... this one. (predicates_equal_p): Move to predicate::operator == in ipa-inline.h (or_predicates): Turn to ... (predicate::or_with): ... this one. (evaluate_predicate): Turn to ... (predicate::evaluate): ... this one. (predicate_probability): Turn to ... (predicate::probability): ... this one. (dump_condition): Update. (dump_predicate): Turn to ... (predicate::dump): ... this one. (account_size_time): Update. (edge_set_predicate): Update. (set_hint_predicate): UPdate. (evaluate_conditions_for_known_args): Update. (evaluate_properties_for_edge): Update. (remap_predicate_after_duplication): Turn to... (predicate::remap_after_duplication): ... this one. (remap_hint_predicate_after_duplication): Update. (inline_summary_t::duplicate): UPdate. (dump_inline_edge_summary): Update. (dump_inline_summary): Update. (set_cond_stmt_execution_predicate): Update. (set_switch_stmt_execution_predicate): Update. (compute_bb_predicates): Update. (will_be_nonconstant_expr_predicate): Update. (will_be_nonconstant_predicate): Update. (phi_result_unknown_predicate): Update. (predicate_for_phi_result): Update. (array_index_predicate): Update. (estimate_function_body_sizes): Update. (estimate_node_size_and_time): Update. (estimate_ipcp_clone_size_and_time): Update. (remap_predicate): Rename to ... (predicate::remap_after_inlining): ... this one. (remap_hint_predicate): Update. (inline_merge_summary): Update. (inline_update_overall_summary): Update. (estimate_size_after_inlining): Update. (read_predicate): Rename to ... (predicate::stream_in): ... this one. (read_inline_edge_summary): Update. (write_predicate): Rename to ... (predicate::stream_out): ... this one. (write_inline_edge_summary): Update. * ipa-inline.h (MAX_CLAUSES): Turn to predicate::max_clauses. (clause_t): Turn to uint32_t (predicate): Turn to class; implement constructor and operators ==, !=, & (size_time_entry): Update. (inline_summary): Update. (inline_edge_summary): Update. From-SVN: r248204
2017-05-18fold-vec-div-float.c: Update dg-requires and dg-options statements.Will Schmidt19-29/+52
2017-05-18 Will Schmidt <will_schmidt@vnet.ibm.com> [gcc/testsuite] * fold-vec-div-float.c: Update dg-requires and dg-options statements. * fold-vec-div-floatdouble.c: Likewise. * fold-vec-logical-ands-char.c: Likewise. * fold-vec-logical-ands-int.c: Likewise. * fold-vec-logical-ands-short.c: Likewise. * fold-vec-logical-ors-char.c: Likewise. * fold-vec-logical-ors-int.c: Likewise. * fold-vec-logical-ors-short.c: Likewise. * fold-vec-logical-other-char.c: Likewise. * fold-vec-mule-misc.c: Likewise. * fold-vec-mult-float.c: Likewise. * fold-vec-mult-floatdouble.c: Likewise. * fold-vec-mult-int.c: Likewise. * fold-vec-mult-int128-p9.c: Likewise. * fold-vec-sub-floatdouble.c: Likewise. * fold-vec-div-longlong.c: Update dg-requires and dg-options statements. Add lp64 requirement. * fold-vec-mult-int128-p8.c: Likewise. * fold-vec-logical-ors-longlong.c: Fix comment typo. From-SVN: r248202
2017-05-18Fix up dg-option to resolve problems reported by David Edelshon for AIX.Steven Munroe27-33/+67
2017-05-17 Steven Munroe <munroesj@gcc.gnu.org> * gcc.target/powerpc/bmi-andn-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-andn-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-4.c: Fix-up dg-options. * gcc.target/powerpc/bmi-bextr-5.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsi-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsi-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsmsk-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsmsk-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsr-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-blsr-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi-tzcnt-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi-tzcnt-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-bzhi32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-bzhi64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-bzhi64-1a.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx32-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-mulx64-2.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pdep32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pdep64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pext32-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pext64-1.c: Fix-up dg-options. * gcc.target/powerpc/bmi2-pext64-1a.c: Fix-up dg-options. From-SVN: r248201
2017-05-18More dump_flags_t conversionThomas Schwinge2-1/+6
gcc/brig/ * brigfrontend/brig-to-generic.h (class brig_to_generic): Use "dump_flags_t" for "m_dump_flags" member. From-SVN: r248200
2017-05-18* c-decl.c (pushdecl_top_level): Delete unused function.Nathan Sidwell2-28/+4
From-SVN: r248199
2017-05-18cp-tree.h (lookup_add): Swap args.Nathan Sidwell5-84/+41
* cp-tree.h (lookup_add): Swap args. (ovl_cons, build_overload): Delete. * name-lookup.c (add_function, push_overloaded_decl_1) do_nonmember_using_decl, merge_functions, remove_hidden_names): Use lookup_add, ovl_insert. * pt.c (check_explicit_specialization): Use lookup_add. (do_class_deduction): Likewise. Refactor if. * tree.c (lookup_add): Swap args. (ovl_cons, build_overload): Delete. (--This line, and those below, will be ignored-- M cp/cp-tree.h M cp/name-lookup.c M cp/pt.c M cp/ChangeLog M cp/tree.c From-SVN: r248198
2017-05-18c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.Marek Polacek6-25/+49
* c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0. (c_common_fixed_point_type_for_size): Likewise. (c_common_type_for_mode): Likewise. (shorten_compare): Likewise. (c_promoting_integer_type_p): Use false/true instead of 0/1. * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0. * c-decl.c (match_builtin_function_types): Use NULL_TREE instead of 0. (check_earlier_gotos): Likewise. (define_label): Likewise. (pending_xref_error): Likewise. (smallest_type_quals_location): Likewise. (grokdeclarator): Likewise. (grokparms): Likewise. (identifier_global_value): Likewise. * c-typeck.c (set_nonincremental_init_from_string): Likewise. (find_init_member): Likewise. From-SVN: r248195
2017-05-18Move X==15-X to match.pdMarc Glisse3-24/+12
2017-05-18 Marc Glisse <marc.glisse@inria.fr> * fold-const.c (fold_binary_loc): Move transformation... * match.pd (C - X CMP X): ... here. From-SVN: r248193
2017-05-18c-common.c (self_promoting_args_p): Change the return type to bool.Marek Polacek7-39/+57
* c-common.c (self_promoting_args_p): Change the return type to bool. Use false/true instead of 0/1. * c-common.h (self_promoting_args_p): Update. * c-decl.c (start_decl): Use false/true instead of 0/1. (grokdeclarator): Likewise. (finish_struct): Likewise. (start_function): Change the return type to bool. Use false/true instead of 0/1. (declspecs_add_qual): Use UNKNOWN_LOCATION instead of 0. * c-tree.h (start_function): Update. * c-typeck.c (same_translation_unit_p): Change the return type to bool. (set_designator): Change the return type to bool. Use false/true instead of 0/1. From-SVN: r248192
2017-05-18name-lookup.c (find_local_binding): New, broken out of ...Nathan Sidwell2-38/+44
* name-lookup.c (find_local_binding): New, broken out of ... (lookup_name_innermost_nonclass_level_1): ... here. Call it. (set_namespace_binding): Swap scope & name args. (namespace_binding_1): Likewise. (pushdecl_maybe_friend_1): Adjust set_namespace_binding call. (push_overloaded_decl_1): Likewise. (set_global_binding): Likewise. (get_namespace_binding): Adjust namespace_binding_1 call. From-SVN: r248191
2017-05-18re PR fortran/79968 (diagnostics: merge similar diagnostics containing ↵Fritz Reese3-12/+26
-fdec-structure) 2017-05-18 Fritz Reese <fritzoreese@gmail.com> PR fortran/79968 gcc/fortran/ChangeLog: PR fortran/79968 * decl.c (match_attr_spec, gfc_match_automatic, gfc_match_static, gfc_match_structure_decl): Unify diagnostic errors regarding -fdec options. * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto. From-SVN: r248188
2017-05-18Minor SPARC T4 and M7 fixes and additions.Sheldon Lobo6-8/+36
* config/sparc/sparc.c (sparc_option_override): Set function alignment for -mcpu=niagara7 to 64 to match the I$ line. * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch latency to 1. * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch latency to 2. * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo. * gcc.target/sparc/niagara7-align.c: New test. From-SVN: r248184
2017-05-18re PR sanitizer/80797 (-fsanitize=null doesn't instrument &s->x)Marek Polacek4-1/+58
PR sanitizer/80797 * ubsan.c (instrument_null): Unwrap ADDR_EXPRs. (pass_ubsan::execute): Call gimple_assign_single_p instead of gimple_assign_load_p. * c-c++-common/ubsan/null-12.c: New test. From-SVN: r248179
2017-05-18Daily bump.GCC Administrator1-1/+1
From-SVN: r248178
2017-05-17Fix comparison of decimal float zeroes (PR80692)Segher Boessenkool4-3/+27
Decimal float negative zero should compare equal to positive zero. Decimal float zeroes are encoded as value class "normal" (in real.c); they need to be handled specially, but in this one case that does not yet happen. This fixes it. PR middle-end/80692 * real.c (do_compare): Give decimal_do_compare preference over comparing just the signs. gcc/testsuite/ PR middle-end/80692 * gcc.c-torture/execute/pr80692.c: New testcase. From-SVN: r248174
2017-05-17re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect ↵Jerry DeLisle1-1/+1
behaviour of namelist READ) 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/80741 * gfortran.dg/read_4.f90: New test. From-SVN: r248172
2017-05-17re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect ↵Jerry DeLisle1-0/+5
behaviour of namelist READ) 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/80741 * gfortran.dg/read_4.f90: New test. From-SVN: r248171
2017-05-17re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect ↵Jerry DeLisle3-1/+42
behaviour of namelist READ) 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/80741 * transfer.c (finalize_transfer): Reset last_char to 'empty'. * file_pos.c (formatted_backspace): Likewise. (st_endfile): Likewise. (st_rewind): Likewise. (st_flush): Likewise. PR fortran/80741 * trans-io.c (transfer_namelist_element): Change check from NULL_TREE to null_pointer_node. From-SVN: r248170
2017-05-17libgo: add "vendor" to pkgpath for vendored standard packagesIan Lance Taylor1-1/+1
Ensure that the packages vendored into the standard library do not have the same pkgpath as the actual packages. If we don't, attempts to build and test the actual packages will get confused. The specific error I was seeing was import loops, causing some of the packages to fail to get initialized, causing an obscure run time crash. Reviewed-on: https://go-review.googlesource.com/43610 From-SVN: r248168
2017-05-17pr78604.c: Fix typo in dg-options.Bill Schmidt2-1/+5
2017-05-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/pr78604.c: Fix typo in dg-options. From-SVN: r248165
2017-05-17c-common.c: Use NULL_TREE instead of 0 where appropriate.Marek Polacek6-169/+184
* c-common.c: Use NULL_TREE instead of 0 where appropriate. * c-warn.c: Likewise. * c-decl.c: Use NULL_TREE instead of 0 where appropriate. * c-typeck.c: Likewise. From-SVN: r248161
2017-05-17cp-tree.h (default_hash_traits <lang_identifier *>): New specialization.Nathan Sidwell3-126/+102
* cp-tree.h (default_hash_traits <lang_identifier *>): New specialization. * name-lookup.c (lookup_extern_c_fun_in_all_ns): Delete. (extern_c_fns): New hash table. (check_extern_c_conflict): New, broken out of ... (pushdecl_maybe_friend_1): ... here. Call it. (c_linkage_bindings): Just look in hash table. From-SVN: r248159
2017-05-17re PR fortran/80668 (wrong error message with -finit-derived)Fritz Reese5-2/+49
2017-05-17 Fritz Reese <fritzoreese@gmail.com> PR fortran/80668 gcc/fortran/ChangeLog: PR fortran/80668 * expr.c (component_initializer): Don't generate initializers for pointer components. * invoke.texi (-finit-derived): Document. gcc/testsuite/ChangeLog: PR fortran/80668 * gfortran.dg/pr80668.f90: New. From-SVN: r248158
2017-05-17* gcc.target/i386/pr80425-1.c: Add -mregparm=1 for 32bit targets.Uros Bizjak1-0/+1
From-SVN: r248157
2017-05-17md.texi (Canonicalization of Instructions): Describe the canonical form of ↵Uros Bizjak2-0/+25
instructions that inherently set a condition... * doc/md.texi (Canonicalization of Instructions): Describe the canonical form of instructions that inherently set a condition code register. From-SVN: r248156
2017-05-17re PR middle-end/80775 (-O3 produces ice in group_case_labels_stmt)Peter Bergner4-11/+48
gcc/ PR middle-end/80775 * tree-cfg.c: Move deletion of unreachable case statements to after the merging of consecutive case labels. gcc/testsuite/ PR middle-end/80775 * gcc.dg/pr80775.c: New test. From-SVN: r248155