From 2fe5b7d1f66457c637b8bd2543a60a5faff34c40 Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Sun, 20 Sep 2020 00:16:23 +0000 Subject: [PATCH] Daily bump. --- gcc/ChangeLog | 79 +++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/c-family/ChangeLog | 76 +++++++++++++++++++++++++++++++++++++++++++++ gcc/c/ChangeLog | 56 +++++++++++++++++++++++++++++++++ gcc/cp/ChangeLog | 52 +++++++++++++++++++++++++++++++ gcc/fortran/ChangeLog | 10 ++++++ gcc/objc/ChangeLog | 5 +++ gcc/testsuite/ChangeLog | 82 +++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 361 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be428b8..41b34b2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,82 @@ +2020-09-19 Martin Sebor + + PR middle-end/82608 + PR middle-end/94195 + PR c/50584 + PR middle-end/84051 + * gimple-array-bounds.cc (get_base_decl): New function. + (get_ref_size): New function. + (trailing_array): New function. + (array_bounds_checker::check_array_ref): Call them. Handle arrays + declared in function parameters. + (array_bounds_checker::check_mem_ref): Same. Handle references to + dynamically allocated arrays. + +2020-09-19 Martin Sebor + + PR c/50584 + * builtins.c (warn_for_access): Add argument. Distinguish between + reads and writes. + (check_access): Add argument. Distinguish between reads and writes. + (gimple_call_alloc_size): Set range even on failure. + (gimple_parm_array_size): New function. + (compute_objsize): Call it. + (check_memop_access): Pass check_access an additional argument. + (expand_builtin_memchr, expand_builtin_strcat): Same. + (expand_builtin_strcpy, expand_builtin_stpcpy_1): Same. + (expand_builtin_stpncpy, check_strncat_sizes): Same. + (expand_builtin_strncat, expand_builtin_strncpy): Same. + (expand_builtin_memcmp): Same. + * builtins.h (compute_objsize): Declare a new overload. + (gimple_parm_array_size): Declare. + (check_access): Add argument. + * calls.c (append_attrname): Simplify. + (maybe_warn_rdwr_sizes): Handle internal attribute access. + * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Avoid adding + quotes. + +2020-09-19 Martin Sebor + + * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Handle attribute + access internal representation of arrays. + +2020-09-19 Martin Sebor + + PR c/50584 + * attribs.c (decl_attributes): Also pass decl along with type + attributes to handlers. + (init_attr_rdwr_indices): Change second argument to attribute chain. + Handle internal attribute representation in addition to external. + (get_parm_access): New function. + (attr_access::to_internal_string): Define new member function. + (attr_access::to_external_string): Define new member function. + (attr_access::vla_bounds): Define new member function. + * attribs.h (struct attr_access): Declare new members. + (attr_access::from_mode_char): Define new member function. + (get_parm_access): Declare new function. + * calls.c (initialize_argument_information): Pass function type + attributes to init_attr_rdwr_indices. + * doc/invoke.texi (-Warray-parameter, -Wvla-parameter): Document. + * tree-pretty-print.c (dump_generic_node): Correct handling of + qualifiers. + * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Same. + * tree.h (access_mode): Add new enumerator. + +2020-09-19 Sandra Loosemore + + * doc/generic.texi (Basic Statements): Document SWITCH_EXPR here, + not SWITCH_STMT. + (Statements for C and C++): Rename node to reflect what + the introduction already says about sharing between C and C++ + front ends. Copy-edit and correct documentation for structured + loops and switch. + +2020-09-19 liuhongt + + PR target/96861 + * config/i386/x86-tune-costs.h (skylake_cost): increase rtx + cost of sse_to_integer from 2 to 6. + 2020-09-18 Sudi Das Omar Tahir diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 795f43e..2225e46 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20200919 +20200920 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 7b30391..bc002cf 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,79 @@ +2020-09-19 Martin Sebor + + PR c/50584 + * c-common.h (warn_parm_array_mismatch): Declare new function. + (has_attribute): Move declaration of an existing function. + (build_attr_access_from_parms): Declare new function. + * c-warn.c (parm_array_as_string): Define new function. + (plus_one): Define new function. + (warn_parm_ptrarray_mismatch): Define new function. + (warn_parm_array_mismatch): Define new function. + (vla_bound_parm_decl): New function. + * c.opt (-Warray-parameter, -Wvla-parameter): New options. + * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type + qualifiers here... + (c_pretty_printer::direct_abstract_declarator): ...but instead print + them in brackets here. Also print [static]. Strip extraneous + expressions from VLA bounds. + +2020-09-19 Martin Sebor + + PR c/50584 + * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute. + (handle_argspec_attribute): New function. + (get_argument, get_argument_type): New functions. + (append_access_attrs): Add overload. Handle internal attribute + representation in addition to external. + (handle_access_attribute): Handle internal attribute representation + in addition to external. + (build_attr_access_from_parms): New function. + +2020-09-19 Sandra Loosemore + + * c-gimplify.c (genericize_c_loop): Rewrite to match + c_finish_loop in c-typeck.c. + +2020-09-19 Sandra Loosemore + + * c-common.c (c_block_may_fallthrough): New, split from + cxx_block_may_fallthrough in the cp front end. + (c_common_init_ts): Move handling of loop and switch-related + statements here from the cp front end. + * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from + cp front end. + (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise. + * c-common.h (c_block_may_fallthru): Declare. + (bc_state_t): Move here from cp front end. + (save_bc_state, restore_bc_state): Declare. + (c_genericize_control_stmt): Declare. + (WHILE_COND, WHILE_BODY): Likewise. + (DO_COND, DO_BODY): Likewise. + (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise. + (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise. + (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise. + (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise. + (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise. + * c-dump.c (dump_stmt): Copy from cp front end. + (c_dump_tree): Move code to handle structured loop and switch + tree nodes here from cp front end. + * c-gimplify.c: Adjust includes. + (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from + cp front end. + (save_bc_state, restore_bc_state): New functions using old code + from cp front end. + (get_bc_label, expr_loc_or_loc): Move from cp front end. + (genericize_c_loop): Move from cp front end. + (genericize_for_stmt, genericize_while_stmt): Likewise. + (genericize_do_stmt, genericize_switch_stmt): Likewise. + (genericize_continue_stmt, genericize_break_stmt): Likewise. + (genericize_omp_for_stmt): Likewise. + (c_genericize_control_stmt): New function using code split from + cp front end. + (c_genericize_control_r): New. + (c_genericize): Call walk_tree with c_genericize_control_r. + * c-pretty-print.c (c_pretty_printer::statement): Move code to handle + structured loop and switch tree nodes here from cp front end. + 2020-09-17 Patrick Palka PR c/80076 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index eb68b12..839bfa1 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,59 @@ +2020-09-19 Martin Sebor + + PR c/50584 + * c-decl.c (lookup_last_decl): Define new function. + (c_decl_attributes): Call it. + (start_decl): Add argument and use it. + (finish_decl): Call build_attr_access_from_parms and decl_attributes. + (get_parm_array_spec): Define new function. + (push_parm_decl): Call get_parm_array_spec. + (start_function): Call warn_parm_array_mismatch. Build attribute + access and add it to current function. + * c-parser.c (c_parser_declaration_or_fndef): Diagnose mismatches + in forms of array parameters. + * c-tree.h (start_decl): Add argument. + +2020-09-19 Sandra Loosemore + + * c-decl.c (c_break_label, c_cont_label): Delete, and replace + with... + (in_statement): New. + (start_function): Adjust for above change. + (c_push_function_context, c_pop_function_context): Likewise. + * c-lang.h (struct language_function): Likewise. + * c-objc-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define. + * c-parser.c (objc_foreach_break_label, objc_foreach_continue_label): + New. + (c_parser_statement_after_labels): Adjust calls to c_finish_bc_stmt. + (c_parser_switch_statement): Adjust break/switch context handling + and calls to renamed functions. + (c_parser_while_statement): Adjust break/switch context handling and + build a WHILE_STMT. + (c_parser_do_statement): Ditto, with DO_STMT respectively. + (c_parser_for_statement): Ditto, with FOR_STMT respectively. + (c_parser_omp_for_loop): Adjust break/switch context handling. + * c-tree.h (c_break_label, c_cont_label): Delete. + (IN_SWITCH_STMT, IN_ITERATION_STMT): Define. + (IN_OMP_BLOCK, IN_OMP_FOR, IN_OBJC_FOREACH): Define. + (in_statement, switch_statement_break_seen_p): Declare. + (c_start_case, c_finish_case): Renamed to... + (c_start_switch, c_finish_switch). + (c_finish_bc_stmt): Adjust arguments. + * c-typeck.c (build_function_call_vec): Don't try to print + statements with %qE format. + (struct c_switch): Rename switch_expr field to switch_stmt. + Add break_stmt_seen_p field. + (c_start_case): Rename to c_start_switch. Build a SWITCH_STMT + instead of a SWITCH_EXPR. Update for changes to struct c_switch. + (do_case): Update for changes to struct c_switch. + (c_finish_case): Rename to c_finish_switch. Update for changes to + struct c_switch and change of representation from SWITCH_EXPR to + SWITCH_STMT. + (c_finish_loop): Delete. + (c_finish_bc_stmt): Update to reflect changes to break/continue + state representation. Build a BREAK_STMT or CONTINUE_STMT instead + of a GOTO_EXPR except for objc foreach loops. + 2020-09-01 Jakub Jelinek PR c++/96867 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3f3de0b..8e6fd0d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,55 @@ +2020-09-19 Sandra Loosemore + + * cp-gimplify.c (enum bc_t, bc_label): Move to c-family. + (begin_bc_block, finish_bc_block, get_bc_label): Likewise. + (genericize_cp_loop): Likewise. + (genericize_for_stmt, genericize_while_stmt): Likewise. + (genericize_do_stmt, genericize_switch_stmt): Likewise. + (genericize_continue_stmt, genericize_break_stmt): Likewise. + (genericize_omp_for_stmt): Likewise. + (cp_genericize_r): Call c_genericize_control_stmt instead of + above functions directly. + (cp_genericize): Call save_bc_state and restore_bc_state instead + of manipulating bc_label directly. + * cp-objcp-common.c (cxx_block_may_fallthru): Defer to + c_block_may_fallthru instead of handling SWITCH_STMT here. + (cp_common_init_ts): Move handling of loop and switch-related + statements to c-family. + * cp-tree.def (FOR_STMT, WHILE_STMT, DO_STMT): Move to c-family. + (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise. + * cp-tree.h (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise. + (WHILE_COND, WHILE_BODY): Likewise. + (DO_COND, DO_BODY): Likewise. + (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise. + (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise. + (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise. + (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise. + * cxx-pretty-print.c (cxx_pretty_printer::statement): Move code + to handle structured loop and switch tree nodes to c-family. + * dump.c (cp_dump_tree): Likewise. + +2020-09-19 Patrick Palka + + PR c++/96531 + PR c++/97103 + * constraint.cc (map_arguments): Call template_parm_to_arg + in the self-mapping case. + (finish_shorthand_constraint): No need to build a TREE_LIST + before calling template_parm_to_arg. + * pt.c (template_parm_to_arg): Rewrite to handle TEMPLATE_PARM_P + nodes as well as DECL_TEMPLATE_PARM_P nodes, and to make the + overlying TREE_LIST node optional. + (keep_template_parm): Don't record a BOUND_TEMPLATE_TEMPLATE_PARM, + instead record its corresponding TEMPLATE_TEMPLATE_PARM. + (convert_generic_types_to_packs): Don't call + template_parm_to_arg. + +2020-09-19 Patrick Palka + + PR c++/97051 + * constraint.cc (satisfy_atom): Pass true as the + manifestly_const_eval argument to maybe_constant_value. + 2020-09-18 Jason Merrill PR bootstrap/97118 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2faf861..3c8701e 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,13 @@ +2020-09-19 Sandra Loosemore + + * interface.c (gfc_compare_actual_formal): Add assertion after + main processing loop to silence maybe-uninitialized error. + +2020-09-19 Harald Anlauf + + * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE + procedure prefix for -std=f2018. + 2020-09-17 Tobias Burnus PR fortran/96041 diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 8970c15..fd36c3d 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,8 @@ +2020-09-19 Sandra Loosemore + + * objc-act.c (objc_start_method_definition): Update to reflect + changes to break/continue state bookkeeping in C front end. + 2020-09-17 Patrick Palka PR c/80076 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4450f20..716f644 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,85 @@ +2020-09-19 Martin Sebor + + PR middle-end/82608 + PR middle-end/94195 + PR c/50584 + PR middle-end/84051 + * c-c++-common/Warray-bounds.c: Adjust. + * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Adjust. + * gcc.dg/Warray-bounds-63.c: New test. + * gcc.dg/Warray-bounds-64.c: New test. + * gcc.dg/Warray-bounds-65.c: New test. + * gcc.dg/Warray-bounds-66.c: New test. + * gcc.dg/Warray-bounds-67.c: New test. + +2020-09-19 Martin Sebor + + PR c/50584 + * c-c++-common/Wsizeof-pointer-memaccess1.c: Disable new expected + warnings. + * g++.dg/ext/attr-access.C: Update text of expected warnings. + * gcc.dg/Wstringop-overflow-23.c: Same. + * gcc.dg/Wstringop-overflow-24.c: Same. + * gcc.dg/attr-access-none.c: Same. + * gcc.dg/dfp/composite-type.c: Prune expected warnings. + * gcc.dg/torture/pr57147-1.c: Add a member to an otherwise empty + struct to avoid a warning. + * gcc.dg/torture/pr57147-3.c: Same. + * gcc.dg/Warray-bounds-30.c: Adjust. + * gcc.dg/attr-access-none.c: Same. + * gcc.dg/Wstringop-overflow-40.c: New test. + * gcc.dg/attr-access-2.c: New test. + +2020-09-19 Martin Sebor + + * gcc.dg/uninit-37.c: New test. + +2020-09-19 Martin Sebor + + PR c/50584 + * gcc.dg/attr-access-read-write-2.c: Adjust text of expected message. + * c-c++-common/Warray-bounds-6.c: Correct C++ declaration, adjust + text of expected diagnostics. + * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Prune expected warning. + * gcc.dg/Warray-parameter-2.c: New test. + * gcc.dg/Warray-parameter-3.c: New test. + * gcc.dg/Warray-parameter-4.c: New test. + * gcc.dg/Warray-parameter-5.c: New test. + * gcc.dg/Warray-parameter.c: New test. + * gcc.dg/Wvla-parameter-2.c: New test. + * gcc.dg/Wvla-parameter-3.c: New test. + * gcc.dg/Wvla-parameter.c: New test. + * gcc.dg/Wvla-parameter-4.c: New file. + +2020-09-19 Sandra Loosemore + + * gcc.dg/gomp/block-7.c: Update expected error message wording. + +2020-09-19 Harald Anlauf + + * gfortran.dg/pr97036.f90: New test. + +2020-09-19 H.J. Lu + + PR target/96861 + * gcc.target/i386/pr96861.c: New test. + +2020-09-19 Patrick Palka + + PR c++/96531 + PR c++/97103 + * g++.dg/cpp2a/concepts-ttp2.C: New test. + * g++.dg/cpp2a/concepts-variadic1.C: New test. + +2020-09-19 Patrick Palka + + PR c++/97051 + * g++.dg/cpp2a/is-constant-evaluated11.C: New test. + +2020-09-19 liuhongt + + * gcc.target/i386/pr95021-3.c: Add -mtune=generic. + 2020-09-18 Jakub Jelinek PR c++/97105 -- 2.7.4