aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
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
2017-05-17Implement new C++ intrinsics __is_assignable and __is_constructible.Ville Voutilainen10-8/+111
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
2017-05-17cp-tree.h (ovl_iterator::using_p): New predicate.Nathan Sidwell4-42/+110
* 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
2017-05-17class.c (handle_using_decl): Use OVL_FIRST, ovl_iterator.Nathan Sidwell6-123/+108
* 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
2017-05-17re PR sanitizer/80659 (-fsanitize=address evokes ICE in in gimplify_switch_expr)Marek Polacek4-2/+26
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
2017-05-17Fix comment for cmse_nonsecure_call_clear_caller_savedThomas Preud'homme2-3/+10
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
2017-05-17compare-elim.c (equivalent_reg_at_start): Adjust outdated comment.Eric Botcazou4-8/+14
* 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
2017-05-17Introduce dump_flags_t type and use it instead of int type.Martin Liska47-194/+300
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
2017-05-17Bye bye, c_save_expr.Marek Polacek10-70/+64
From-SVN: r248139
2017-05-17Fix bogus pr78886.c failure for avrSenthil Kumar Selvaraj2-1/+8
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
2017-05-17reorgbug-1.c: Don't specify -O2.Chenghua Xu2-1/+5
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
2017-05-17Daily bump.GCC Administrator1-1/+1
From-SVN: r248135
2017-05-16re PR tree-optimization/80457 (vectorizable_condition does not update the ↵James Greenhalgh5-27/+76
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
2017-05-16re PR fortran/80554 ([f08] variable redefinition in submodule)Paul Thomas4-4/+92
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
2017-05-16C++: fix-it hints suggesting accessors for private fieldsDavid Malcolm11-11/+703
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
2017-05-16rs6000-c: Add support for built-in functions vector unsigned long long ↵Carl Love9-28/+256
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
2017-05-16re PR sanitizer/80536 (UBSAN: compile time segfault)Marek Polacek7-9/+57
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
2017-05-16name-lookup.c (check_local_shadow): New, broke out of ...Nathan Sidwell2-215/+215
* name-lookup.c (check_local_shadow): New, broke out of ... (pushdecl_maybe_friend_1): ... here. Call it. From-SVN: r248123
2017-05-16* ChangeLog: Fix whitespace.Uros Bizjak1-19/+19
From-SVN: r248122
2017-05-16cp-tree.h (OVL_NESTED_P, [...]): New.Nathan Sidwell4-42/+123
* 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
2017-05-16call.c (build_user_type_conversion_1): Use OVL_FIRST.Nathan Sidwell7-164/+161
* 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
2017-05-16typeck2.c (cxx_incomplete_type_diagnostic): Revert change and check ↵Nathan Sidwell2-2/+9
is_overloaded_fn. * typeck2.c (cxx_incomplete_type_diagnostic): Revert change and check is_overloaded_fn. From-SVN: r248119
2017-05-16armv8_2-fp16-neon-1.c (vceqz): Fix regex.Tamar Christina3-2/+7
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
2017-05-16i386.i386.md (*movsi_internal): Split (?rm,*y) alternative to (?r,*Yn) and ↵Uros Bizjak2-18/+27
(?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
2017-05-16Add default value for last argument of dump functions.Martin Liska58-488/+715
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
2017-05-16cp-tree.h (class ovl_iterator, [...]): New OVERLOAD iterators.Nathan Sidwell11-91/+171
* 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
2017-05-16cp-tree.h (OVL_FIRST, OVL_NAME): New.Nathan Sidwell16-54/+64
* 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
2017-05-16pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF peeking.Nathan Sidwell6-14/+25
* 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
2017-05-16cp-tree.h (SCOPE_DEPTH): New.Nathan Sidwell5-13/+56
* 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
2017-05-16dwarf2out.c (loc_list_from_tree_1): Do not create DW_OP_GNU_variable_value ↵Richard Biener2-0/+6
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
2017-05-16dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated.Richard Biener2-2/+11
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
2017-05-16Committed on behalf of Matthew WahabMatthew Wahab8-6/+818
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
2017-05-16Fix 2 typos in ipa-devirt.c.Martin Liska2-2/+9
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
2017-05-16plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637)Sylvestre Ledru2-1/+8
From-SVN: r248088
2017-05-16objc-runtime-shared-support.c (build_module_descriptor): Remove unnecessary ↵Sylvestre Ledru2-5/+7
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