Steven Munroe [Thu, 18 May 2017 14:01:11 +0000 (14:01 +0000)]
Fix up dg-option to resolve problems reported by David Edelshon for AIX.
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
Thomas Schwinge [Thu, 18 May 2017 13:34:29 +0000 (15:34 +0200)]
More dump_flags_t conversion
gcc/brig/
* brigfrontend/brig-to-generic.h (class brig_to_generic): Use
"dump_flags_t" for "m_dump_flags" member.
From-SVN: r248200
Nathan Sidwell [Thu, 18 May 2017 13:03:55 +0000 (13:03 +0000)]
* c-decl.c (pushdecl_top_level): Delete unused function.
From-SVN: r248199
Nathan Sidwell [Thu, 18 May 2017 12:55:11 +0000 (12:55 +0000)]
cp-tree.h (lookup_add): Swap args.
* 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
Marek Polacek [Thu, 18 May 2017 11:26:25 +0000 (11:26 +0000)]
c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
* 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
Marc Glisse [Thu, 18 May 2017 11:05:55 +0000 (13:05 +0200)]
Move X==15-X to match.pd
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
Marek Polacek [Thu, 18 May 2017 10:55:59 +0000 (10:55 +0000)]
c-common.c (self_promoting_args_p): Change the return type to bool.
* 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
Nathan Sidwell [Thu, 18 May 2017 10:49:48 +0000 (10:49 +0000)]
name-lookup.c (find_local_binding): New, broken out of ...
* 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
Jonathan Wakely [Thu, 18 May 2017 10:26:02 +0000 (11:26 +0100)]
Fix typos in libstdc++ manual
* doc/xml/manual/policy_data_structures.xml: Fix typo.
* doc/xml/manual/test_policy_data_structures.xml: Likewise.
* doc/html/*: Regenerate.
From-SVN: r248189
Fritz Reese [Thu, 18 May 2017 10:24:37 +0000 (10:24 +0000)]
re PR fortran/79968 (diagnostics: merge similar diagnostics containing -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
Jonathan Wakely [Thu, 18 May 2017 10:09:32 +0000 (11:09 +0100)]
Update libstdc++ version info in manual
* doc/xml/manual/abi.xml: Document latest library versions.
* doc/xml/manual/build_hacking.xml: Document requirement to update
abi.xml when bumping library versions.
* doc/html/*: Regenerate.
From-SVN: r248186
Sheldon Lobo [Thu, 18 May 2017 09:38:47 +0000 (09:38 +0000)]
MAINTAINERS: Add self to Write After Approval
* MAINTAINERS: Add self to Write After Approval
From-SVN: r248185
Sheldon Lobo [Thu, 18 May 2017 09:34:26 +0000 (09:34 +0000)]
Minor SPARC T4 and M7 fixes and additions.
* 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
Marek Polacek [Thu, 18 May 2017 07:18:24 +0000 (07:18 +0000)]
re PR sanitizer/80797 (-fsanitize=null doesn't instrument &s->x)
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
GCC Administrator [Thu, 18 May 2017 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248178
Segher Boessenkool [Wed, 17 May 2017 21:57:23 +0000 (23:57 +0200)]
Fix comparison of decimal float zeroes (PR80692)
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
Andreas Tobler [Wed, 17 May 2017 20:54:39 +0000 (22:54 +0200)]
unwind-arm.h: Make _Unwind_GetIP...
2017-05-17 Andreas Tobler <andreast@gcc.gnu.org>
* config/arm/unwind-arm.h: Make _Unwind_GetIP, _Unwind_GetIPInfo and
_Unwind_SetIP available as functions for arm*-*-freebsd*.
* config/arm/unwind-arm.c: Implement the above.
From-SVN: r248173
Jerry DeLisle [Wed, 17 May 2017 20:33:34 +0000 (20:33 +0000)]
re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect 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
Jerry DeLisle [Wed, 17 May 2017 20:33:27 +0000 (20:33 +0000)]
re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect 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
Jerry DeLisle [Wed, 17 May 2017 20:33:20 +0000 (20:33 +0000)]
re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect 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
Ian Lance Taylor [Wed, 17 May 2017 20:16:13 +0000 (20:16 +0000)]
libgo: add "vendor" to pkgpath for vendored standard packages
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
Bill Schmidt [Wed, 17 May 2017 17:39:55 +0000 (17:39 +0000)]
pr78604.c: Fix typo in dg-options.
2017-05-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr78604.c: Fix typo in dg-options.
From-SVN: r248165
Marek Polacek [Wed, 17 May 2017 16:30:53 +0000 (16:30 +0000)]
c-common.c: Use NULL_TREE instead of 0 where appropriate.
* 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
Jonathan Wakely [Wed, 17 May 2017 16:02:33 +0000 (17:02 +0100)]
Fixes to Doxygen comments in libstdc++ headers
* include/bits/refwrap.h: Fix Doxygen warning.
* include/bits/specfun.h: Likewise.
* include/bits/std_function.h: Likewise.
* include/bits/stl_algo.h (set_union, set_intersection)
(set_difference, set_symmetric_difference): Add Doxygen @param tags
for output iterator parameters.
* include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for
iterator parameter.
* include/std/mutex (try_lock, lock): Change Mutex to Lockable in
Doxygen comments.
From-SVN: r248160
Nathan Sidwell [Wed, 17 May 2017 15:41:23 +0000 (15:41 +0000)]
cp-tree.h (default_hash_traits <lang_identifier *>): New specialization.
* 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
Fritz Reese [Wed, 17 May 2017 15:13:58 +0000 (15:13 +0000)]
re PR fortran/80668 (wrong error message with -finit-derived)
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
Uros Bizjak [Wed, 17 May 2017 15:04:58 +0000 (17:04 +0200)]
* gcc.target/i386/pr80425-1.c: Add -mregparm=1 for 32bit targets.
From-SVN: r248157
Uros Bizjak [Wed, 17 May 2017 15:01:07 +0000 (17:01 +0200)]
md.texi (Canonicalization of Instructions): Describe the canonical form of 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
Peter Bergner [Wed, 17 May 2017 14:05:21 +0000 (09:05 -0500)]
re PR middle-end/80775 (-O3 produces ice in group_case_labels_stmt)
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
Ville Voutilainen [Wed, 17 May 2017 13:54:23 +0000 (16:54 +0300)]
Implement new C++ intrinsics __is_assignable and __is_constructible.
c-family/
Implement new C++ intrinsics __is_assignable and __is_constructible.
* c-common.c (__is_assignable, __is_constructible): New.
* c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
cp/
PR c++/80654
PR c++/80682
Implement new C++ intrinsics __is_assignable and __is_constructible.
* cp-tree.h (CPTK_IS_ASSIGNABLE, CPTK_IS_CONSTRUCTIBLE): New.
(is_xible): New.
* cxx-pretty-print.c (pp_cxx_trait_expression): Handle
CPTK_IS_ASSIGNABLE and CPTK_IS_CONSTRUCTIBLE.
* method.c (constructible_expr): Set cp_unevaluated.
(is_xible_helper): New.
(is_trivially_xible): Adjust.
(is_xible): New.
* parser.c (cp_parser_primary_expression): Handle
RID_IS_ASSIGNABLE and RID_IS_CONSTRUCTIBLE.
(cp_parser_trait_expr): Likewise.
* semantics.c (trait_expr_value): Handle
CPTK_IS_ASSIGNABLE and CPTK_IS_CONSTRUCTIBLE.
testsuite/
* g++.dg/ext/80654.C: New.
libstdc++-v3/
Implement new C++ intrinsics __is_assignable and __is_constructible.
* include/std/type_traits (__do_is_static_castable_impl): Remove.
(__is_static_castable_impl, __is_static_castable_safe): Likewise.
(__is_static_castable, __do_is_direct_constructible_impl): Likewise.
(__is_direct_constructible_impl): Likewise.
(__is_direct_constructible_new_safe): Likewise.
(__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise.
(__is_direct_constructible_ref_cast): Likewise.
(__is_direct_constructible_new, __is_direct_constructible): Likewise.
(__do_is_nary_constructible_impl): Likewise.
(__is_nary_constructible_impl, __is_nary_constructible): Likewise.
(__is_constructible_impl): Likewise.
(is_constructible): Call the intrinsic.
(__is_assignable_helper): Remove.
(is_assignable): Call the intrinsic.
(is_trivially_constructible): Likewise.
(__is_trivially_copy_constructible_impl): New.
(is_trivially_copy_constructible): Use it.
(__is_trivially_move_constructible_impl): New.
(is_trivially_move_constructible): Use it.
(is_trivially_assignable): Call the intrinsic.
(__is_trivially_copy_assignable_impl): New.
(is_trivially_copy_assignable): Use it.
(__is_trivially_move_assignable_impl): New.
(is_trivially_move_assignable): Use it.
(testsuite/20_util/declval/requirements/1_neg.cc): Adjust.
(testsuite/20_util/is_trivially_copy_assignable/value.cc):
Add test for void.
(testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise.
(testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise.
(testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise.
(testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust.
(testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc):
Likewise.
From-SVN: r248153
Nathan Sidwell [Wed, 17 May 2017 12:37:30 +0000 (12:37 +0000)]
cp-tree.h (ovl_iterator::using_p): New predicate.
* cp-tree.h (ovl_iterator::using_p): New predicate.
(ovl_iterator::remove_node): New worker.
(ovl_insert): Declare.
* tree.c (ovl_insert): New.
(ovl_iterator::remove_node): New.
* class.c (add_method): Use ovl_iterator, ovl_insert.
(clone_function_decl): Fix description.
(clone_constructors_and_destructors): Use ovl_iterator.
From-SVN: r248151
Nathan Sidwell [Wed, 17 May 2017 11:21:50 +0000 (11:21 +0000)]
class.c (handle_using_decl): Use OVL_FIRST, ovl_iterator.
* class.c (handle_using_decl): Use OVL_FIRST, ovl_iterator.
(maybe_warn_about_overly_private_class): Use ovl_iterator.
(method_name_cmp, resort_method_name_cmp): Use OVL_NAME.
(resort_type_method_vec, finish_struct_methods): Use OVL_FIRST.
(get_base_fndecls): Use ovl_iterator.
(warn_hidden): Use OVL_NAME, ovl_iterator.
(add_implicitly_declared_members): Use ovl_iterator.
* constraint.cc (normalize_template_id_expression): Use OVL_FIRST,
flatten nested if.
(finish_shorthand_constraint): Simplify, use ovl_make.
* pt.c (make_constrained_auto): Simplify. Use ovl_make.
* search.c (shared_member_p): Use ovl_iterator.
(lookup_field_fuzzy_info::fuzzy_lookup_fn): Use OVL_NAME.
(lookup_conversion_operator): Use OVL_FIRST.
(lookup_fnfiels_idx_nolazy): Use OVL_FIRST, OVL_NAME.
(look_for_overrides_here): Use ovl_iterator.
(lookup_conversions_r): Use OVL_FIRST, OVL_NAME, ovl_iterator.
* typeck.c (build_x_unary_op): Use ovl_make.
From-SVN: r248144
Marek Polacek [Wed, 17 May 2017 09:59:20 +0000 (09:59 +0000)]
re PR sanitizer/80659 (-fsanitize=address evokes ICE in in gimplify_switch_expr)
PR sanitizer/80659
* c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and
DECL_IGNORED_P even for non-static compound literals.
* gcc.dg/asan/pr80659.c: New test.
From-SVN: r248143
Thomas Preud'homme [Wed, 17 May 2017 09:18:25 +0000 (09:18 +0000)]
Fix comment for cmse_nonsecure_call_clear_caller_saved
2017-05-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Refer
readers to __gnu_cmse_nonsecure_call libcall for saving, clearing and
restoring of callee-saved registers.
From-SVN: r248142
Eric Botcazou [Wed, 17 May 2017 09:12:33 +0000 (09:12 +0000)]
compare-elim.c (equivalent_reg_at_start): Adjust outdated comment.
* compare-elim.c (equivalent_reg_at_start): Adjust outdated comment.
* config/visium/visium.c (single_set_and_flags): Likewise.
* config/visium/visium.md (Substitutions): Likewise.
From-SVN: r248141
Martin Liska [Wed, 17 May 2017 09:01:36 +0000 (11:01 +0200)]
Introduce dump_flags_t type and use it instead of int type.
2017-05-17 Martin Liska <mliska@suse.cz>
* class.c (dump_class_hierarchy): Introduce dump_flags_t type and
use it instead of int type.
(dump_vtable): Likewise.
(dump_vtt): Likewise.
* decl2.c (dump_tu): Likewise.
2017-05-17 Martin Liska <mliska@suse.cz>
* c-common.h: Introduce dump_flags_t type and
use it instead of int type.
* c-gimplify.c (c_genericize): Likewise.
* c-opts.c: Likewise.
2017-05-17 Martin Liska <mliska@suse.cz>
* c-decl.c (c_parse_final_cleanups): Introduce dump_flags_t type and
use it instead of int type.
2017-05-17 Martin Liska <mliska@suse.cz>
* cfg.c: Introduce dump_flags_t type and
use it instead of int type.
* cfg.h: Likewise.
* cfghooks.c: Likewise.
* cfghooks.h (struct cfg_hooks): Likewise.
* cfgrtl.c: Likewise.
* cfgrtl.h: Likewise.
* cgraph.c (cgraph_node::get_body): Likewise.
* coretypes.h: Likewise.
* domwalk.c: Likewise.
* domwalk.h: Likewise.
* dumpfile.c (struct dump_option_value_info): Likewise.
(dump_enable_all): Likewise.
(dump_switch_p_1): Likewise.
(opt_info_switch_p): Likewise.
* dumpfile.h (enum tree_dump_index): Likewise.
(struct dump_file_info): Likewise.
* genemit.c: Likewise.
* generic-match-head.c: Likewise.
* gengtype.c (open_base_files): Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-pretty-print.h: Likewise.
* graph.c (print_graph_cfg): Likewise.
* graphite-scop-detection.c (dot_all_sese): Likewise.
* ipa-devirt.c (build_type_inheritance_graph): Likewise.
* loop-unroll.c (report_unroll): Likewise.
* passes.c (pass_manager::register_one_dump_file): Likewise.
* print-tree.c: Likewise.
* statistics.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfg.h: Likewise.
* tree-dfa.c: Likewise.
* tree-dfa.h: Likewise.
* tree-dump.c (dump_function): Likewise.
* tree-dump.h (struct dump_info): Likewise.
* tree-pretty-print.c: Likewise.
* tree-pretty-print.h: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-live.h: Likewise.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-slp.c: Likewise.
From-SVN: r248140
Marek Polacek [Wed, 17 May 2017 08:11:15 +0000 (08:11 +0000)]
Bye bye, c_save_expr.
From-SVN: r248139
Senthil Kumar Selvaraj [Wed, 17 May 2017 05:50:37 +0000 (05:50 +0000)]
Fix bogus pr78886.c failure for avr
The test fails for avr because malloc has been declared to take
an unsigned long, whereas size_t for avr is only unsigned int.
Fixed by typedef'ing __SIZE_TYPE__ to size_t and using it in the
malloc function declaration.
gcc/testsuite/
2017-05-17 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/pr78886.c: Use __SIZE_TYPE__ instead of
unsigned long.
From-SVN: r248138
Chenghua Xu [Wed, 17 May 2017 02:11:09 +0000 (02:11 +0000)]
reorgbug-1.c: Don't specify -O2.
2017-05-17 Chenghua Xu <paul.hua.gm@gmail.com>
gcc/testsuite/
* gcc.target/mips/reorgbug-1.c: Don't specify -O2.
From-SVN: r248137
GCC Administrator [Wed, 17 May 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248135
James Greenhalgh [Tue, 16 May 2017 20:18:05 +0000 (20:18 +0000)]
re PR tree-optimization/80457 (vectorizable_condition does not update the vectorizer cost model)
[gcc]
2017-05-16 James Greenhalgh <james.greenhalgh@arm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/80457
* tree-vect-stmts.c (vect_model_simple_cost): Model the cost
of all arguments to a statement as scalar_to_vec operations.
(vectorizable_call): Adjust call to vect_model_simple_cost for
new parameter.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_comparison): Likewise.
(vect_is_simple_cond): Record the def types for operands.
(vectorizable_condition): Likewise, call vect_model_simple_cost.
* tree-vectorizer.h (vect_model_simple_cost): Add new parameter
for statement argument count.
[gcc/testsuite]
2017-05-16 James Greenhalgh <james.greenhalgh@arm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/80457
* gcc.target/powerpc/pr78604.c: Verify that vectorized COND_EXPRs
call vect_model_simple_cost.
Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>
From-SVN: r248130
Paul Thomas [Tue, 16 May 2017 20:09:02 +0000 (20:09 +0000)]
re PR fortran/80554 ([f08] variable redefinition in submodule)
2017-05-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80554
* decl.c (build_sym): In a submodule allow overriding of host
associated symbols from the ancestor module with a new
declaration.
2017-05-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80554
* gfortran.dg/submodule_29.f08: New test.
From-SVN: r248129
David Malcolm [Tue, 16 May 2017 19:52:26 +0000 (19:52 +0000)]
C++: fix-it hints suggesting accessors for private fields
gcc/cp/ChangeLog:
* call.c (enforce_access): Add access_failure_info * param and use
it to record access failures.
* cp-tree.h (class access_failure_info): New class.
(enforce_access): Add access_failure_info * param, defaulting to
NULL.
(lookup_member): Likewise.
(locate_field_accessor): New function decl.
(perform_or_defer_access_check): Add access_failure_info * param,
defaulting to NULL.
* search.c (lookup_member): Add access_failure_info * param and
pass it on to call to perform_or_defer_access_check.
(matches_code_and_type_p): New function.
(field_access_p): New function.
(direct_accessor_p): New function.
(reference_accessor_p): New function.
(field_accessor_p): New function.
(struct locate_field_data): New struct.
(dfs_locate_field_accessor_pre): New function.
(locate_field_accessor): New function.
* semantics.c (perform_or_defer_access_check): Add
access_failure_info * param, and pass it on to call to
enforce_access.
* typeck.c (access_failure_info::record_access_failure): New method.
(access_failure_info::maybe_suggest_accessor): New method.
(finish_class_member_access_expr): Pass an access_failure_info
instance to the lookup_member call, and call its
maybe_suggest_accessor method afterwards.
gcc/testsuite/ChangeLog:
* g++.dg/other/accessor-fixits-1.C: New test case.
* g++.dg/other/accessor-fixits-2.C: New test case.
* g++.dg/other/accessor-fixits-3.C: New test case.
* g++.dg/other/accessor-fixits-4.C: New test case.
From-SVN: r248128
Carl Love [Tue, 16 May 2017 19:32:54 +0000 (19:32 +0000)]
rs6000-c: Add support for built-in functions vector unsigned long long vec_bperm (vector...
gcc/ChangeLog:
2017-05-16 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c: Add support for built-in functions
vector unsigned long long vec_bperm (vector unsigned long long,
vector unsigned char)
vector signed long long vec_mule (vector signed int,
vector signed int)
vector unsigned long long vec_mule (vector unsigned int,
vector unsigned int)
vector signed long long vec_mulo (vector signed int,
vector signed int)
vector unsigned long long vec_mulo (vector unsigned int,
vector unsigned int)
vector signed char vec_sldw (vector signed char,
vector signed char,
const int)
vector unsigned char vec_sldw (vector unsigned char,
vector unsigned char,
const int)
vector signed short vec_sldw (vector signed short,
vector signed short,
const int)
vector unsigned short vec_sldw (vector unsigned short,
vector unsigned short,
const int)
vector signed int vec_sldw (vector signed int,
vector signed int,
const int)
vector unsigned int vec_sldw (vector unsigned int,
vector unsigned int,
const int)
vector signed long long vec_sldw (vector signed long long,
vector signed long long,
const int)
vector unsigned long long vec_sldw (vector unsigned long long,
vector unsigned long long,
const int)
* config/rs6000/rs6000-c: Add support for built-in functions
* config/rs6000/rs6000-builtin.def: Add definition for SLDW.
* config/rs6000/altivec.h: Add defintion for vec_sldw.
* doc/extend.texi: Update the built-in documentation for the
new built-in functions.
gcc/testsuite/ChangeLog:
2017-05-16 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-3.c: New vec_mule, vec_mulo test cases.
* gcc.target/powerpc/builtins-3-p8.c: Add tests for the new Power 8
built-ins to the test suite file. Note, support for mradds exists
but no test case exists.
* gcc.target/powerpc/builtins-3-p9.c: Add tests for the new Power 9
built-ins to the test suite file.
From-SVN: r248125
Marek Polacek [Tue, 16 May 2017 19:25:04 +0000 (19:25 +0000)]
re PR sanitizer/80536 (UBSAN: compile time segfault)
PR sanitizer/80536
PR sanitizer/80386
* cp-gimplify.c (cp_fold): Handle SAVE_EXPR.
* tree.c (save_expr): Don't fold the expression.
* c-c++-common/ubsan/pr80536.c: New test.
* g++.dg/ubsan/pr80386.C: New test.
From-SVN: r248124
Nathan Sidwell [Tue, 16 May 2017 19:20:25 +0000 (19:20 +0000)]
name-lookup.c (check_local_shadow): New, broke out of ...
* name-lookup.c (check_local_shadow): New, broke out of ...
(pushdecl_maybe_friend_1): ... here. Call it.
From-SVN: r248123
Uros Bizjak [Tue, 16 May 2017 19:11:11 +0000 (21:11 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r248122
Nathan Sidwell [Tue, 16 May 2017 18:29:36 +0000 (18:29 +0000)]
cp-tree.h (OVL_NESTED_P, [...]): New.
* cp-tree.h (OVL_NESTED_P, OVL_LOOKUP_P): New.
(ovl_first): Move inline definition to end of file.
(ovl_make, lookup_add): Declare.
(get_fns, get_first_fn): Make pure.
* tree.c (ovl_cache): New.
(ovl_make, lookup_add): New.
* pt.c (do_class_deduction): Don't add candidates that will be
elided.
From-SVN: r248121
Nathan Sidwell [Tue, 16 May 2017 17:36:03 +0000 (17:36 +0000)]
call.c (build_user_type_conversion_1): Use OVL_FIRST.
* call.c (build_user_type_conversion_1): Use OVL_FIRST.
(print_error_for_call_faulure): Use OVL_NAME.
(build_op_call_1): Use ovl_iterator.
(add_candidates): Use OVL_FIRST & lkp_iterator.
(build_op_delete_call): Use MAYBE_BASELINK_FUNCTIONS &
lkp_iterator.
* class.c (deduce_noexcept_on_destructors): Use ovl_iterator.
(type_has_user_nondefault_constructor)
in_class_defaulted_default_constructor,
type_has_user_provided_constructor,
type_has_user_provided_or_explicit_constructor,
type_has_non_user_provided_default_constructor,
vbase_has_user_provided_move_assign,
type_has_move_constructor, type_has_move_assign,
type_has_user_declared_move_constructor,
type_has_user_declared_move_assign,
type_build_ctor_call, type_build_dtor_call,
type_requires_array_cookie, explain_non_literal_class): Likewise.
(finish_struct): Use lkp_iterator.
(resolve_address_of_overloaded_function): Use OVL_NAME,
lkp_iterator.
(note_name_declared_in_class): Use OVL_NAME.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Use OVL_FIRST.
(pp_cxx_qualified_id, cxx_pretty_printer::id_expression)
cxx_pretty_printer::expression): Likewise.
* decl2.c (check_classfn): Use ovl_iterator.
* pt.c (retrieve_specialization): Use ovl_iterator.
* tree.c (cp_tree_equal): Use lkp_iterator.
(type_has_nontrivial_copy_init): Use ovl_iterator.
((--This line, and those below, will be ignored--
M cp/ChangeLog
M cp/call.c
M cp/class.c
M cp/pt.c
M cp/decl2.c
M cp/tree.c
M cp/cxx-pretty-print.c
From-SVN: r248120
Nathan Sidwell [Tue, 16 May 2017 16:15:47 +0000 (16:15 +0000)]
typeck2.c (cxx_incomplete_type_diagnostic): Revert change and check is_overloaded_fn.
* typeck2.c (cxx_incomplete_type_diagnostic): Revert change and
check is_overloaded_fn.
From-SVN: r248119
Tamar Christina [Tue, 16 May 2017 15:57:28 +0000 (15:57 +0000)]
armv8_2-fp16-neon-1.c (vceqz): Fix regex.
2017-05-16 Tamar Christina <tamar.christina@arm.com>
* gcc.target/arm/armv8_2-fp16-neon-1.c (vceqz): Fix regex.
* gcc.target/arm/armv8_2-fp16-neon-2.c (vceqz): Fix regex.
From-SVN: r248117
Uros Bizjak [Tue, 16 May 2017 14:55:17 +0000 (16:55 +0200)]
i386.i386.md (*movsi_internal): Split (?rm,*y) alternative to (?r,*Yn) and (?m,*y) alternatives...
* config/i386.i386.md (*movsi_internal): Split (?rm,*y) alternative
to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
and (?*y,m). Update insn attributes.
From-SVN: r248114
Martin Liska [Tue, 16 May 2017 14:51:02 +0000 (16:51 +0200)]
Add default value for last argument of dump functions.
2017-05-16 Martin Liska <mliska@suse.cz>
* parser.c (cp_lexer_print_token): Add default value for flags
argument of print_gimple_stmt, print_gimple_expr,
print_generic_stmt and print_generic_expr.
2017-05-16 Martin Liska <mliska@suse.cz>
* cgraph.c (cgraph_edge::resolve_speculation): Add default value for flags
argument of print_gimple_stmt, print_gimple_expr,
print_generic_stmt and print_generic_expr.
* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
* coretypes.h: Likewise.
* except.c (dump_eh_tree): Likewise.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
* gimple-pretty-print.h: Likewise.
* gimple-ssa-backprop.c (dump_usage_prefix): Likewise.
(backprop::push_to_worklist): Likewise.
(backprop::pop_from_worklist): Likewise.
(backprop::process_use): Likewise.
(backprop::intersect_uses): Likewise.
(note_replacement): Likewise.
* gimple-ssa-store-merging.c (pass_store_merging::terminate_all_aliasing_chains): Likewise.
(imm_store_chain_info::coalesce_immediate_stores): Likewise.
(pass_store_merging::execute): Likewise.
* gimple-ssa-strength-reduction.c (dump_candidate): Likewise.
(ssa_base_cand_dump_callback): Likewise.
(dump_incr_vec): Likewise.
(replace_refs): Likewise.
(replace_mult_candidate): Likewise.
(create_add_on_incoming_edge): Likewise.
(create_phi_basis): Likewise.
(insert_initializers): Likewise.
(all_phi_incrs_profitable): Likewise.
(introduce_cast_before_cand): Likewise.
(replace_one_candidate): Likewise.
* gimplify.c (gimplify_expr): Likewise.
* graphite-isl-ast-to-gimple.c (is_valid_rename): Likewise.
(set_rename): Likewise.
(rename_uses): Likewise.
(copy_loop_phi_nodes): Likewise.
(add_close_phis_to_merge_points): Likewise.
(copy_loop_close_phi_args): Likewise.
(copy_cond_phi_args): Likewise.
(graphite_copy_stmts_from_block): Likewise.
(translate_pending_phi_nodes): Likewise.
* graphite-poly.c (print_pdr): Likewise.
(dump_gbb_cases): Likewise.
(dump_gbb_conditions): Likewise.
(print_scop_params): Likewise.
* graphite-scop-detection.c (build_cross_bb_scalars_def): Likewise.
(build_cross_bb_scalars_use): Likewise.
(gather_bbs::before_dom_children): Likewise.
* hsa-dump.c (dump_hsa_immed): Likewise.
* ipa-cp.c (print_ipcp_constant_value): Likewise.
(get_replacement_map): Likewise.
* ipa-inline-analysis.c (dump_condition): Likewise.
(estimate_function_body_sizes): Likewise.
* ipa-polymorphic-call.c (check_stmt_for_type_change): Likewise.
(ipa_polymorphic_call_context::get_dynamic_type): Likewise.
* ipa-prop.c (ipa_dump_param): Likewise.
(ipa_print_node_jump_functions_for_edge): Likewise.
(ipa_modify_call_arguments): Likewise.
(ipa_modify_expr): Likewise.
(ipa_dump_param_adjustments): Likewise.
(ipa_dump_agg_replacement_values): Likewise.
(ipcp_modif_dom_walker::before_dom_children): Likewise.
* ipa-pure-const.c (check_stmt): Likewise.
(pass_nothrow::execute): Likewise.
* ipa-split.c (execute_split_functions): Likewise.
* omp-offload.c (dump_oacc_loop_part): Likewise.
(dump_oacc_loop): Likewise.
* trans-mem.c (tm_log_emit): Likewise.
(tm_memopt_accumulate_memops): Likewise.
(dump_tm_memopt_set): Likewise.
(dump_tm_memopt_transform): Likewise.
* tree-cfg.c (gimple_verify_flow_info): Likewise.
(print_loop): Likewise.
* tree-chkp-opt.c (chkp_print_addr): Likewise.
(chkp_gather_checks_info): Likewise.
(chkp_get_check_result): Likewise.
(chkp_remove_check_if_pass): Likewise.
(chkp_use_outer_bounds_if_possible): Likewise.
(chkp_reduce_bounds_lifetime): Likewise.
* tree-chkp.c (chkp_register_addr_bounds): Likewise.
(chkp_mark_completed_bounds): Likewise.
(chkp_register_incomplete_bounds): Likewise.
(chkp_mark_invalid_bounds): Likewise.
(chkp_maybe_copy_and_register_bounds): Likewise.
(chkp_build_returned_bound): Likewise.
(chkp_get_bound_for_parm): Likewise.
(chkp_build_bndldx): Likewise.
(chkp_get_bounds_by_definition): Likewise.
(chkp_generate_extern_var_bounds): Likewise.
(chkp_get_bounds_for_decl_addr): Likewise.
* tree-chrec.c (chrec_apply): Likewise.
* tree-data-ref.c (dump_data_reference): Likewise.
(dump_subscript): Likewise.
(dump_data_dependence_relation): Likewise.
(analyze_overlapping_iterations): Likewise.
* tree-inline.c (expand_call_inline): Likewise.
(tree_function_versioning): Likewise.
* tree-into-ssa.c (dump_defs_stack): Likewise.
(dump_currdefs): Likewise.
(dump_names_replaced_by): Likewise.
(dump_update_ssa): Likewise.
(update_ssa): Likewise.
* tree-object-size.c (pass_object_sizes::execute): Likewise.
* tree-parloops.c (build_new_reduction): Likewise.
(try_create_reduction_list): Likewise.
(ref_conflicts_with_region): Likewise.
(oacc_entry_exit_ok_1): Likewise.
(oacc_entry_exit_single_gang): Likewise.
* tree-pretty-print.h: Likewise.
* tree-scalar-evolution.c (set_scalar_evolution): Likewise.
(get_scalar_evolution): Likewise.
(add_to_evolution): Likewise.
(get_loop_exit_condition): Likewise.
(analyze_evolution_in_loop): Likewise.
(analyze_initial_condition): Likewise.
(analyze_scalar_evolution): Likewise.
(instantiate_scev): Likewise.
(number_of_latch_executions): Likewise.
(gather_chrec_stats): Likewise.
(final_value_replacement_loop): Likewise.
(scev_const_prop): Likewise.
* tree-sra.c (dump_access): Likewise.
(disqualify_candidate): Likewise.
(create_access): Likewise.
(reject): Likewise.
(maybe_add_sra_candidate): Likewise.
(create_access_replacement): Likewise.
(analyze_access_subtree): Likewise.
(analyze_all_variable_accesses): Likewise.
(sra_modify_assign): Likewise.
(initialize_constant_pool_replacements): Likewise.
(find_param_candidates): Likewise.
(decide_one_param_reduction): Likewise.
(replace_removed_params_ssa_names): Likewise.
* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
* tree-ssa-copy.c (dump_copy_of): Likewise.
(copy_prop_visit_cond_stmt): Likewise.
* tree-ssa-dce.c (mark_operand_necessary): Likewise.
* tree-ssa-dom.c (pass_dominator::execute): Likewise.
(record_equivalences_from_stmt): Likewise.
* tree-ssa-dse.c (compute_trims): Likewise.
(delete_dead_call): Likewise.
(delete_dead_assignment): Likewise.
* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise.
(forward_propagate_into_cond): Likewise.
(pass_forwprop::execute): Likewise.
* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
* tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children): Likewise.
(move_computations_worker): Likewise.
(execute_sm): Likewise.
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
(remove_exits_and_undefined_stmts): Likewise.
(remove_redundant_iv_tests): Likewise.
* tree-ssa-loop-ivopts.c (dump_use): Likewise.
(adjust_iv_update_pos): Likewise.
* tree-ssa-math-opts.c (bswap_replace): Likewise.
* tree-ssa-phiopt.c (factor_out_conditional_conversion): Likewise.
(value_replacement): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-ssa-pre.c (print_pre_expr): Likewise.
(get_representative_for): Likewise.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.
(eliminate_insert): Likewise.
(eliminate_dom_walker::before_dom_children): Likewise.
(eliminate): Likewise.
(remove_dead_inserted_code): Likewise.
* tree-ssa-propagate.c (substitute_and_fold): Likewise.
* tree-ssa-reassoc.c (get_rank): Likewise.
(eliminate_duplicate_pair): Likewise.
(eliminate_plus_minus_pair): Likewise.
(eliminate_not_pairs): Likewise.
(undistribute_ops_list): Likewise.
(eliminate_redundant_comparison): Likewise.
(update_range_test): Likewise.
(optimize_range_tests_var_bound): Likewise.
(optimize_vec_cond_expr): Likewise.
(rewrite_expr_tree): Likewise.
(rewrite_expr_tree_parallel): Likewise.
(linearize_expr): Likewise.
(break_up_subtract): Likewise.
(linearize_expr_tree): Likewise.
(attempt_builtin_powi): Likewise.
(attempt_builtin_copysign): Likewise.
(transform_stmt_to_copy): Likewise.
(transform_stmt_to_multiply): Likewise.
(dump_ops_vector): Likewise.
* tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Likewise.
(print_scc): Likewise.
(set_ssa_val_to): Likewise.
(visit_reference_op_store): Likewise.
(visit_use): Likewise.
(sccvn_dom_walker::before_dom_children): Likewise.
(run_scc_vn): Likewise.
* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Likewise.
(expr_hash_elt::print): Likewise.
(const_and_copies::pop_to_marker): Likewise.
(const_and_copies::record_const_or_copy_raw): Likewise.
* tree-ssa-structalias.c (compute_dependence_clique): Likewise.
* tree-ssa-uninit.c (collect_phi_def_edges): Likewise.
(dump_predicates): Likewise.
(find_uninit_use): Likewise.
(warn_uninitialized_phi): Likewise.
(pass_late_warn_uninitialized::execute): Likewise.
* tree-ssa.c (verify_vssa): Likewise.
(verify_ssa): Likewise.
(maybe_optimize_var): Likewise.
* tree-vrp.c (dump_value_range): Likewise.
(dump_all_value_ranges): Likewise.
(dump_asserts_for): Likewise.
(register_edge_assert_for_2): Likewise.
(vrp_visit_cond_stmt): Likewise.
(vrp_visit_switch_stmt): Likewise.
(vrp_visit_stmt): Likewise.
(vrp_visit_phi_node): Likewise.
(simplify_cond_using_ranges_1): Likewise.
(fold_predicate_in): Likewise.
(evrp_dom_walker::before_dom_children): Likewise.
(evrp_dom_walker::push_value_range): Likewise.
(evrp_dom_walker::pop_value_range): Likewise.
(execute_early_vrp): Likewise.
From-SVN: r248113
Nathan Sidwell [Tue, 16 May 2017 14:46:30 +0000 (14:46 +0000)]
cp-tree.h (class ovl_iterator, [...]): New OVERLOAD iterators.
* cp-tree.h (class ovl_iterator, class lkp_iterator): New OVERLOAD
iterators.
(MAYBE_BASELINK_FUNCTIONS): New.
* constraint.cc (resolve_constraint_check): Use lkp_iterator.
* decl2.c (maybe_warn_sized_delete): Use ovl_iterator.
* lambda.c (maybe_generic_this_capture): Use lkp_iterator.
* method.c (inherited_ctor_binfo): Use ovl_iterator.
(binfo_inherited_from): Likewise.
* parser.c (lookup_literal_operator): Use lkp_iterator.
* pt.c (iterative_hash_template_arg): Use lkp_iterator.
(print_candidates_1): Likewise.
(determine_specialization): Likewise.
(resolve_overloaded_unification): Likewise.
(resolve_nondeduced_context): Likewise.
(type_dependent_expression_p): Likewise.
(dependent_template_p): Likewise.
* ptree.c (cxx_print_xnode): Likewise.
* semantics.c (omp_reduction_lookup): Use lkp_iterator.
(classtype_has_nothrow_assign_or_copy_p): Use ovl_iterator.
* typeck.c (check_template_keyword): Use lkp_iterator.
From-SVN: r248112
Jonathan Wakely [Tue, 16 May 2017 14:26:14 +0000 (15:26 +0100)]
Test source_location::current() in default member initializer
* testsuite/experimental/source_location/1.cc: Change expected result
for source_location::current() used in default member initializer.
From-SVN: r248111
Jonathan Wakely [Tue, 16 May 2017 13:37:52 +0000 (14:37 +0100)]
Implement std::experimental::source_location (N4519)
* configure: Regenerate.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/*: Regenerate.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/source_location: New header implementing N4519.
* testsuite/experimental/source_location/1.cc: New test.
From-SVN: r248110
Jonathan Wakely [Tue, 16 May 2017 13:16:34 +0000 (14:16 +0100)]
Fix forward declaration of std::type_info for versioned-namespace
PR libstdc++/80285
* include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare
outside versioned namespace.
From-SVN: r248109
Nathan Sidwell [Tue, 16 May 2017 13:15:53 +0000 (13:15 +0000)]
cp-tree.h (OVL_FIRST, OVL_NAME): New.
* cp-tree.h (OVL_FIRST, OVL_NAME): New.
(ovl_first): New.
* constexpr.c (function_concept_check): Use OVL_FIRST.
* cvt.c (build_expr_type_conversion): Likewise.
* decl.c (poplevel, grokdeclarator): Use OVL_NAME.
* decl2.c (mark_used): Use OVL_FIRST.
* error.c (dump_decl): Use OVL_FIRST, OVL_NAME.
(dump_expr, location_of): Use OVL_FIRST.
* friend.c (do_friend): Use OVL_NAME.
* init.c (build_offset_ref): Use OVL_FIRST.
* mangle.c (write_member_name): Likewise.
(write_expression): Use OVL_NAME.
* method.c (strip_inheriting_ctors): Use OVL_FIRST.
* name-lookup.c (pushdecl_class_level): Use OVL_NAME.
* pt.c (check_explicit_specialization): Use OVL_FIRST.
(check_template_shadow): Likewise.
(tsubst_template_args): Use OVL_NAME.
(tsubst_baselink): Use OVL_FIRST.
* semantics.c (perform_koenig_lookup): Use OVL_NAME.
* tree.c (get_first_fn): Use OVL_FIRST.
* typeck.c (finish_class_member_access_expr): Use OVL_NAME.
(cp_build_addr_expr_1): Use OVL_FIRST.
From-SVN: r248108
Jonathan Wakely [Tue, 16 May 2017 13:12:16 +0000 (14:12 +0100)]
Regenerate libstdc++-v3/configure for versioned-namespace soname
* configure: Regenerate.
From-SVN: r248107
Nathan Sidwell [Tue, 16 May 2017 13:12:01 +0000 (13:12 +0000)]
pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF peeking.
* pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF
peeking.
* semantics.c (finish_id_expression): Directly init local var.
(finish_omp_reduction_clause): Use really_overloaded_fn.
* tree.c (get_fns): Document. Assert we got an overload.
(get_first_fn) Document.
* typeck.c (cp_build_addr_expr_1): Pass arg directly to
really_overloaded_fn.
* typeck2.c (cxx_inomplete_type_diagnostic): Use get_first_fn directly.
From-SVN: r248106
Marc Glisse [Tue, 16 May 2017 12:54:16 +0000 (14:54 +0200)]
optional (_Optional_base::_M_get): Check precondition.
2017-05-16 Marc Glisse <marc.glisse@inria.fr>
* include/std/optional (_Optional_base::_M_get): Check precondition.
* testsuite/20_util/optional/cons/value_neg.cc: Update line numbers.
From-SVN: r248099
Nathan Sidwell [Tue, 16 May 2017 11:32:40 +0000 (11:32 +0000)]
cp-tree.h (SCOPE_DEPTH): New.
* cp-tree.h (SCOPE_DEPTH): New.
* name-lookup.h (is_nested_namespace): Declare.
* name-lookup.c (is_nested_namespace): New.
(is_ancestor): Use it.
(set_decl_namespace): Likewise.
(push_namespace): Set SCOPE_DEPTH.
* pt.c (check_specialization_namespace): Use is_nested_namespace.
(check_unqualigied_spec_or_inst): Likewise.
From-SVN: r248095
Richard Biener [Tue, 16 May 2017 11:00:59 +0000 (11:00 +0000)]
dwarf2out.c (loc_list_from_tree_1): Do not create DW_OP_GNU_variable_value for DECL_IGNORED_P decls.
2017-05-16 Richard Biener <rguenther@suse.de>
* dwarf2out.c (loc_list_from_tree_1): Do not create
DW_OP_GNU_variable_value for DECL_IGNORED_P decls.
From-SVN: r248094
Richard Biener [Tue, 16 May 2017 10:58:54 +0000 (10:58 +0000)]
dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated.
2017-05-16 Richard Biener <rguenther@suse.de>
* dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE
just generated.
(note_variable_value_in_expr): If we resolved the decl ref
do not push to the stack.
From-SVN: r248093
Jonathan Wakely [Tue, 16 May 2017 10:37:22 +0000 (11:37 +0100)]
Add cross-reference for test permutations in libstdc++ manual
* doc/xml/manual/appendix_contributing.xml: Link to test docs and
note higher DejaGnu version requirement.
* doc/html/*: Regenerate.
From-SVN: r248092
Jonathan Wakely [Tue, 16 May 2017 09:46:21 +0000 (10:46 +0100)]
Add cross-reference for BADNAMES in libstdc++ manual
* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
identifiers.
* doc/html/*: Regenerate.
From-SVN: r248091
Matthew Wahab [Tue, 16 May 2017 09:23:42 +0000 (09:23 +0000)]
Committed on behalf of Matthew Wahab
gcc/
2017-05-16 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm_neon.h (vadd_f16): Use standard arithmetic
operations in fast-math mode.
(vaddq_f16): Likewise.
(vmul_f16): Likewise.
(vmulq_f16): Likewise.
(vsub_f16): Likewise.
(vsubq_f16): Likewise.
* config/arm/neon.md (add<mode>3): New.
(sub<mode>3): New.
(fma:<VH:mode>3): New. Also remove outdated comment.
(mul<mode>3): New.
testsuite/
2017-05-16 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/armv8_2-fp16-arith-1.c: Expand comment. Update
expected output of vadd, vsub and vmul instructions.
* gcc.target/arm/armv8_2-fp16-arith-2.c: New.
* gcc.target/arm/armv8_2-fp16-neon-2.c: New.
* gcc.target/arm/armv8_2-fp16-neon-3.c: New.
From-SVN: r248090
Martin Liska [Tue, 16 May 2017 08:57:05 +0000 (10:57 +0200)]
Fix 2 typos in ipa-devirt.c.
2017-05-16 Martin Liska <mliska@suse.cz>
PR ipa/79849.
PR ipa/79850.
* ipa-devirt.c (warn_types_mismatch): Fix typo.
(odr_types_equivalent_p): Likewise.
From-SVN: r248089
Sylvestre Ledru [Tue, 16 May 2017 07:44:33 +0000 (07:44 +0000)]
plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637)
From-SVN: r248088
Sylvestre Ledru [Tue, 16 May 2017 07:31:15 +0000 (07:31 +0000)]
objc-runtime-shared-support.c (build_module_descriptor): Remove unnecessary conditional when building instance of objc_module.
2017-05-16 Sylvestre Ledru <sylvestre@debian.org>
* objc-runtime-shared-support.c (build_module_descriptor):
Remove unnecessary conditional when building instance of
objc_module. CID
1406758
From-SVN: r248087
GCC Administrator [Tue, 16 May 2017 00:16:23 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248086
Ian Lance Taylor [Tue, 16 May 2017 00:05:05 +0000 (00:05 +0000)]
compiler: better error messages for slicing invalid types
Reviewed-on: https://go-review.googlesource.com/43457
From-SVN: r248082
Ian Lance Taylor [Tue, 16 May 2017 00:02:03 +0000 (00:02 +0000)]
compiler: report correct errors for sink methods
If somebody writes
func (s []int) _() {}
we should report an error. Before this patch we were silently
accepting this code, because we didn't report any errors about the
receiver if the method was a sink.
This patch is unfortunately slightly complex to handle the case of
func (x int) _() {}
which we can only detect after define_global_names.
This fixes blank1.go in the current gc testsuite.
Reviewed-on: https://go-review.googlesource.com/43456
From-SVN: r248081
Jerry DeLisle [Mon, 15 May 2017 23:48:39 +0000 (23:48 +0000)]
re PR libfortran/80727 (Crash of runtime gfortran library during integer transformation)
2017-05-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/80727
* transfer.c (read_sf_internal): Remove bogus code to detect EOR.
(read_block_form): For internal units, generate EOR if no more
bytes left in unit and we are trying to read with ADVANCE='NO'.
* gfortran.dg/read_3.f90: New test.
From-SVN: r248080
Steven G. Kargl [Mon, 15 May 2017 23:46:23 +0000 (23:46 +0000)]
re PR fortran/80674 (trunk/gcc/fortran/trans-stmt.c:2578]: (style) Redundant condition)
2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/80674
* trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
From-SVN: r248079
Nathan Sidwell [Mon, 15 May 2017 20:26:19 +0000 (20:26 +0000)]
re PR c++/79369 (namespace definition with qualified id)
PR c++/79369
* g++.dg/cpp1z/nested-namespace-def1.C: Adjust.
From-SVN: r248075
Thomas Koenig [Mon, 15 May 2017 20:06:06 +0000 (20:06 +0000)]
re PR fortran/80765 (178.galgel in SPEC CPU 2000 fails to run)
2017-05-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/80765
* m4/matmul_internal.m4: Set bystride to correct value in
vector-matrix multiplicatin for later calculation of buffer
size.
* 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.
From-SVN: r248074
Nathan Sidwell [Mon, 15 May 2017 19:35:52 +0000 (19:35 +0000)]
re PR c++/79369 (namespace definition with qualified id)
gcc/cp/
PR c++/79369
* cp-tree.h (DECL_NAMESPACE_INLINE_P): New.
* name-lookup.h (push_namespace): Return int, add make_inline arg.
* name-lookup.c (push_namespace): Deal with inline directly.
Return pushed count.
* parser.c (cp_parser_namespace_definition): Adjust for
push_namespace change.
gcc/testsuite/
* g++.dg/cpp0x/pr65558.C: Adjust diagnostic location.
* g++.dg/cpp0x/pr79369.C: New.
From-SVN: r248073
Steven G. Kargl [Mon, 15 May 2017 19:34:52 +0000 (19:34 +0000)]
re PR fortran/80752 (ICE with wrong type initialization)
2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/80752
* expr.c (gfc_generate_initializer): If type conversion fails,
check for error and return NULL.
2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/80752
gfortran.dg/pr80752.f90: New test.
From-SVN: r248072
Uros Bizjak [Mon, 15 May 2017 19:20:50 +0000 (21:20 +0200)]
ChangeLog: Add missing PR number.
* ChangeLog: Add missing PR number.
* testsuite/ChangeLog: Ditto.
From-SVN: r248071
Uros Bizjak [Mon, 15 May 2017 19:04:35 +0000 (21:04 +0200)]
i386.i386.md (*zero_extendsidi2): Do not penalize non-interunit SSE move alternatives with '?'.
* config/i386.i386.md (*zero_extendsidi2): Do not penalize
non-interunit SSE move alternatives with '?'.
(zero-extendsidi peephole2): New peephole to skip intermediate
general register in SSE zero-extend sequence.
testsuite/ChangeLog:
* gcc.target/i386/pr80425-1.c: New test.
* gcc.target/i386/pr80425-2.c: Ditto.
From-SVN: r248070
Jeff Law [Mon, 15 May 2017 17:21:31 +0000 (11:21 -0600)]
reorg.c (relax_delay_slots): Create a new variable to hold the temporary target rather than clobbering...
* reorg.c (relax_delay_slots): Create a new variable to hold
the temporary target rather than clobbering TARGET_LABEL.
* gcc.target/mips/reorgbug-1.c: New test.
From-SVN: r248067
Jeff Law [Mon, 15 May 2017 16:27:07 +0000 (10:27 -0600)]
tilegx.c (tilegx_expand_unaligned_load): Add missing argument to extract_bit_field call.
* config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Add
missing argument to extract_bit_field call.
* config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
From-SVN: r248066
Joseph Myers [Mon, 15 May 2017 14:20:15 +0000 (15:20 +0100)]
* sv.po: Update.
From-SVN: r248064
Jonathan Wakely [Mon, 15 May 2017 13:47:40 +0000 (14:47 +0100)]
Fix order and types of members in C++17 insert_return_type structs
PR libstdc++/80761
* include/bits/node_handle.h (_Node_insert_return): Reorder members.
(tuple_size, tuple_element): Remove partial specializations.
* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
const_iterator for std::set.
* testsuite/23_containers/map/modifiers/extract.cc: New.
* testsuite/23_containers/set/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
From-SVN: r248062
Martin Liska [Mon, 15 May 2017 12:48:35 +0000 (14:48 +0200)]
Do not allow empty argument of -o option (PR driver/31468).
2017-05-15 Martin Liska <mliska@suse.cz>
PR driver/31468
* gcc.c (process_command): Do not allow empty argument of -o option.
From-SVN: r248060
Renlin Li [Mon, 15 May 2017 11:24:56 +0000 (11:24 +0000)]
[PATCH][AARCH64]Simplify call, call_value, sibcall, sibcall_value patterns.
gcc/ChangeLog
2017-05-15 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64-protos.h (aarch64_expand_call): Declare.
* config/aarch64/aarch64.c (aarch64_expand_call): Define.
* config/aarch64/constraints.md (Usf): Add long call check.
* config/aarch64/aarch64.md (call): Use aarch64_expand_call.
(call_value): Likewise.
(sibcall): Likewise.
(sibcall_value): Likewise.
(call_insn): New.
(call_value_insn): New.
(sibcall_insn): Update rtx pattern.
(sibcall_value_insn): Likewise.
(call_internal): Remove.
(call_value_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(call_reg): Likewise.
(call_symbol): Likewise.
(call_value_reg): Likewise.
(call_value_symbol): Likewise.
From-SVN: r248056
Eric Botcazou [Mon, 15 May 2017 09:07:18 +0000 (09:07 +0000)]
gigi.h (get_elaboration_procedure): Delete.
* gcc-interface/gigi.h (get_elaboration_procedure): Delete.
* gcc-interface/trans.c (get_elaboration_procedure): Make static.
From-SVN: r248055
Pierre-Marie de Rodat [Mon, 15 May 2017 08:58:56 +0000 (08:58 +0000)]
utils.c (can_materialize_object_renaming_p): Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration...
* gcc-interface/utils.c (can_materialize_object_renaming_p):
Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration:
process Original_Node instead of expanded names.
From-SVN: r248054
Eric Botcazou [Mon, 15 May 2017 08:43:25 +0000 (08:43 +0000)]
trans.c (return_value_ok_for_nrv_p): Only apply the addressability check in the constrained case.
* gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
addressability check in the constrained case.
From-SVN: r248053
Eric Botcazou [Mon, 15 May 2017 08:38:37 +0000 (08:38 +0000)]
trans.c (Identifier_to_gnu): Also accept incomplete types not coming from a limited context.
* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
types not coming from a limited context.
From-SVN: r248052
Eric Botcazou [Mon, 15 May 2017 08:27:44 +0000 (08:27 +0000)]
trans.c (Compilation_Unit_to_gnu): Skip subprograms on the inlined list that are not public.
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
the inlined list that are not public.
* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
there is a pragma Inline_Always on the subprogram.
From-SVN: r248051
Eric Botcazou [Mon, 15 May 2017 08:14:32 +0000 (08:14 +0000)]
trans.c (gnat_to_gnu): Fix formatting.
* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
<N_Allocator>: Use properly typed constants.
(extract_values): Move around.
(pos_to_constructor): Minor tweaks.
(Sloc_to_locus): Fix formatting.
* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
(Gigi_Equivalent_Type): Adjust head comment.
* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.
From-SVN: r248050
Eric Botcazou [Mon, 15 May 2017 08:00:41 +0000 (08:00 +0000)]
decl.c (gnat_to_gnu_entity): When there is a representation clause on an extension...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
is a representation clause on an extension, propagate the alignment of
the parent type only if the platform requires strict alignment.
From-SVN: r248049
Adhemerval Zanella [Mon, 15 May 2017 07:36:18 +0000 (07:36 +0000)]
lb1spc.S: Emit .note.GNU-stack section for a non-executable stack.
* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
section for a non-executable stack.
From-SVN: r248043
GCC Administrator [Mon, 15 May 2017 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r248041
Krister Walfridsson [Sun, 14 May 2017 22:49:03 +0000 (22:49 +0000)]
PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO
gcc/ChangeLog:
PR target/80600
* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
libgcc/ChangeLog:
PR target/80600
* config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.
From-SVN: r248037
Uros Bizjak [Sun, 14 May 2017 18:00:48 +0000 (20:00 +0200)]
i386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and with CCZmode.
* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
compatible with CCGOCmode and with CCZmode.
From-SVN: r248036
Martin Sebor [Sun, 14 May 2017 17:50:28 +0000 (17:50 +0000)]
PR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s
gcc/ChangeLog:
PR middle-end/77671
* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
(gimple_fold_builtin_snprintf): Same.
* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
(gimple_fold_builtin_snprintf): Same.
* gimple-ssa-sprintf.c (get_format_string): Correct the detection
of character types.
(is_call_safe): New function.
(try_substitute_return_value): Call it.
(try_simplify_call): New function.
(pass_sprintf_length::handle_gimple_call): Call it.
gcc/testsuite/ChangeLog:
PR middle-end/77671
* gcc.dg/tree-ssa/builtin-sprintf-7.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-8.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.
From-SVN: r248035
Martin Sebor [Sun, 14 May 2017 16:06:41 +0000 (16:06 +0000)]
PR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy
gcc/ChangeLog:
PR middle-end/80669
* builtins.c (expand_builtin_stpncpy): Simplify.
gcc/testsuite/ChangeLog:
PR middle-end/80669
* gcc.dg/builtin-stpncpy.c: New test.
From-SVN: r248034