From 80f86e78ac0b8a54e2ad208782a583d53f397aa3 Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Thu, 10 Sep 2020 00:16:28 +0000 Subject: [PATCH] Daily bump. --- config/ChangeLog | 4 + gcc/ChangeLog | 49 +++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 223 ++++++++++++++++++++++++++++++++++++++++ gcc/cp/ChangeLog | 37 +++++++ gcc/fortran/ChangeLog | 12 +++ gcc/testsuite/ChangeLog | 73 +++++++++++++ include/ChangeLog | 5 + libbacktrace/ChangeLog | 24 +++++ libgcc/ChangeLog | 5 + libphobos/ChangeLog | 6 ++ lto-plugin/ChangeLog | 7 ++ 12 files changed, 446 insertions(+), 1 deletion(-) diff --git a/config/ChangeLog b/config/ChangeLog index 40896bcc1a5..c9e7c5e0fea 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,7 @@ +2020-09-09 Rainer Orth + + * largefile.m4: Sync from binutils-gdb. + 2020-08-20 Tobias Burnus PR bootstrap/96612 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 30eb7b841a1..615c1a0e7fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,52 @@ +2020-09-09 David Malcolm + + PR analyzer/94355 + * doc/invoke.texi: Document -Wanalyzer-mismatching-deallocation. + +2020-09-09 Segher Boessenkool + + PR rtl-optimization/96475 + * bb-reorder.c (maybe_duplicate_computed_goto): Remove single_pred_p + micro-optimization. + +2020-09-09 Tom de Vries + + * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Fix Wformat + warning. + +2020-09-09 Richard Biener + + * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Do + nothing when the permutation doesn't permute. + +2020-09-09 Tom de Vries + + PR target/96991 + * config/nvptx/nvptx.c (write_fn_proto): Fix boolean type check. + +2020-09-09 Richard Biener + + * tree-vect-stmts.c (vectorizable_comparison): Allow + STMT_VINFO_LIVE_P stmts. + +2020-09-09 Richard Biener + + * tree-vect-stmts.c (vectorizable_condition): Allow + STMT_VINFO_LIVE_P stmts. + +2020-09-09 Richard Biener + + PR tree-optimization/96978 + * tree-vect-stmts.c (vectorizable_condition): Do not + look at STMT_VINFO_LIVE_P for BB vectorization. + (vectorizable_comparison): Likewise. + +2020-09-09 liuhongt + + PR target/96955 + * config/i386/i386.md (get_thread_pointer): New + expander. + 2020-09-08 Julian Brown * config/gcn/gcn-valu.md (scatter_insn_1offset_ds): diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 31cfea49579..18b8812ec43 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20200909 +20200910 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index 38a3b6b8e7b..207476347a0 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,226 @@ +2020-09-09 David Malcolm + + PR analyzer/94355 + * analyzer.opt (Wanalyzer-mismatching-deallocation): New warning. + * region-model-impl-calls.cc + (region_model::impl_call_operator_new): New. + (region_model::impl_call_operator_delete): New. + * region-model.cc (region_model::on_call_pre): Detect operator new + and operator delete. + (region_model::on_call_post): Likewise. + (region_model::maybe_update_for_edge): Detect EH edges and call... + (region_model::apply_constraints_for_exception): New function. + * region-model.h (region_model::impl_call_operator_new): New decl. + (region_model::impl_call_operator_delete): New decl. + (region_model::apply_constraints_for_exception): New decl. + * sm-malloc.cc (enum resource_state): New. + (struct allocation_state): New state subclass. + (enum wording): New. + (struct api): New. + (malloc_state_machine::custom_data_t): New typedef. + (malloc_state_machine::add_state): New decl. + (malloc_state_machine::m_unchecked) + (malloc_state_machine::m_nonnull) + (malloc_state_machine::m_freed): Delete these states in favor + of... + (malloc_state_machine::m_malloc) + (malloc_state_machine::m_scalar_new) + (malloc_state_machine::m_vector_new): ...this new api instances, + which own their own versions of these states. + (malloc_state_machine::on_allocator_call): New decl. + (malloc_state_machine::on_deallocator_call): New decl. + (api::api): New ctor. + (dyn_cast_allocation_state): New. + (as_a_allocation_state): New. + (get_rs): New. + (unchecked_p): New. + (nonnull_p): New. + (freed_p): New. + (malloc_diagnostic::describe_state_change): Use unchecked_p and + nonnull_p. + (class mismatching_deallocation): New. + (double_free::double_free): Add funcname param for initializing + m_funcname. + (double_free::emit): Use m_funcname in warning message rather + than hardcoding "free". + (double_free::describe_state_change): Likewise. Use freed_p. + (double_free::describe_call_with_state): Use freed_p. + (double_free::describe_final_event): Use m_funcname in message + rather than hardcoding "free". + (double_free::m_funcname): New field. + (possible_null::describe_state_change): Use unchecked_p. + (possible_null::describe_return_of_state): Likewise. + (use_after_free::use_after_free): Add param for initializing m_api. + (use_after_free::emit): Use m_api->m_dealloc_funcname in message + rather than hardcoding "free". + (use_after_free::describe_state_change): Use freed_p. Change the + wording of the message based on the API. + (use_after_free::describe_final_event): Use + m_api->m_dealloc_funcname in message rather than hardcoding + "free". Change the wording of the message based on the API. + (use_after_free::m_api): New field. + (malloc_leak::describe_state_change): Use unchecked_p. Update + for renaming of m_malloc_event to m_alloc_event. + (malloc_leak::describe_final_event): Update for renaming of + m_malloc_event to m_alloc_event. + (malloc_leak::m_malloc_event): Rename... + (malloc_leak::m_alloc_event): ...to this. + (free_of_non_heap::free_of_non_heap): Add param for initializing + m_funcname. + (free_of_non_heap::emit): Use m_funcname in message rather than + hardcoding "free". + (free_of_non_heap::describe_final_event): Likewise. + (free_of_non_heap::m_funcname): New field. + (allocation_state::dump_to_pp): New. + (allocation_state::get_nonnull): New. + (malloc_state_machine::malloc_state_machine): Update for changes + to state fields and new api fields. + (malloc_state_machine::add_state): New. + (malloc_state_machine::on_stmt): Move malloc/calloc handling to + on_allocator_call and call it, passing in the API pointer. + Likewise for free, moving it to on_deallocator_call. Handle calls + to operator new and delete in an analogous way. Use unchecked_p + when testing for possibly-null-arg and possibly-null-deref, and + transition to the non-null for the correct API. Remove redundant + node param from call to on_zero_assignment. Use freed_p for + use-after-free check, and pass in API. + (malloc_state_machine::on_allocator_call): New, based on code in + on_stmt. + (malloc_state_machine::on_deallocator_call): Likewise. + (malloc_state_machine::on_phi): Mark node param with + ATTRIBUTE_UNUSED; don't pass it to on_zero_assignment. + (malloc_state_machine::on_condition): Mark node param with + ATTRIBUTE_UNUSED. Replace on_transition calls with get_state and + set_next_state pairs, transitioning to the non-null state for the + appropriate API. + (malloc_state_machine::can_purge_p): Port to new state approach. + (malloc_state_machine::on_zero_assignment): Replace on_transition + calls with get_state and set_next_state pairs. Drop redundant + node param. + * sm.h (state_machine::add_custom_state): New. + +2020-09-09 David Malcolm + + * diagnostic-manager.cc + (null_assignment_sm_context::warn_for_state): Replace with... + (null_assignment_sm_context::warn): ...this. + * engine.cc (impl_sm_context::warn_for_state): Replace with... + (impl_sm_context::warn): ...this. + * sm-file.cc (fileptr_state_machine::on_stmt): Replace + warn_for_state and on_transition calls with a get_state + test guarding warn and set_next_state calls. + * sm-malloc.cc (malloc_state_machine::on_stmt): Likewise. + * sm-pattern-test.cc (pattern_test_state_machine::on_condition): + Replace warn_for_state call with warn call. + * sm-sensitive.cc + (sensitive_state_machine::warn_for_any_exposure): Replace + warn_for_state call with a get_state test guarding a warn call. + * sm-signal.cc (signal_state_machine::on_stmt): Likewise. + * sm-taint.cc (taint_state_machine::on_stmt): Replace + warn_for_state and on_transition calls with a get_state + test guarding warn and set_next_state calls. + * sm.h (sm_context::warn_for_state): Replace with... + (sm_context::warn): ...this. + +2020-09-09 David Malcolm + + * diagnostic-manager.cc + (null_assignment_sm_context::null_assignment_sm_context): Add old_state + and ext_state params, initializing m_old_state and m_ext_state. + (null_assignment_sm_context::on_transition): Split into... + (null_assignment_sm_context::get_state): ...this new vfunc + implementation and... + (null_assignment_sm_context::set_next_state): ...this new vfunc + implementation. + (null_assignment_sm_context::m_old_state): New field. + (null_assignment_sm_context::m_ext_state): New field. + (diagnostic_manager::add_events_for_eedge): Pass in old state and + ext_state when creating sm_ctxt. + * engine.cc (impl_sm_context::on_transition): Split into... + (impl_sm_context::get_state): ...this new vfunc + implementation and... + (impl_sm_context::set_next_state): ...this new vfunc + implementation. + * sm.h (sm_context::get_state): New pure virtual function. + (sm_context::set_next_state): Likewise. + (sm_context::on_transition): Convert from a pure virtual function + to a regular function implemented in terms of get_state and + set_next_state. + +2020-09-09 David Malcolm + + * checker-path.cc (state_change_event::get_desc): Update + state_machine::get_state_name calls to state::get_name. + (warning_event::get_desc): Likewise. + * diagnostic-manager.cc + (null_assignment_sm_context::on_transition): Update comparison + against 0 with comparison with m_sm.get_start_state. + (diagnostic_manager::prune_for_sm_diagnostic): Update + state_machine::get_state_name calls to state::get_name. + * engine.cc (impl_sm_context::on_transition): Likewise. + (exploded_node::get_dot_fillcolor): Use get_id when summing + the sm states. + * program-state.cc (sm_state_map::sm_state_map): Don't hardcode + 0 as the start state when initializing m_global_state. + (sm_state_map::print): Use dump_to_pp rather than get_state_name + when dumping states. + (sm_state_map::is_empty_p): Don't hardcode 0 as the start state + when examining m_global_state. + (sm_state_map::hash): Use get_id when hashing states. + (selftest::test_sm_state_map): Use state objects rather than + arbitrary hardcoded integers. + (selftest::test_program_state_merging): Likewise. + (selftest::test_program_state_merging_2): Likewise. + * sm-file.cc (fileptr_state_machine::m_start): Move to base class. + (file_diagnostic::describe_state_change): Use get_start_state. + (fileptr_state_machine::fileptr_state_machine): Drop m_start + initialization. + * sm-malloc.cc (malloc_state_machine::m_start): Move to base + class. + (malloc_diagnostic::describe_state_change): Use get_start_state. + (possible_null::describe_state_change): Likewise. + (malloc_state_machine::malloc_state_machine): Drop m_start + initialization. + * sm-pattern-test.cc (pattern_test_state_machine::m_start): Move + to base class. + (pattern_test_state_machine::pattern_test_state_machine): Drop + m_start initialization. + * sm-sensitive.cc (sensitive_state_machine::m_start): Move to base + class. + (sensitive_state_machine::sensitive_state_machine): Drop m_start + initialization. + * sm-signal.cc (signal_state_machine::m_start): Move to base + class. + (signal_state_machine::signal_state_machine): Drop m_start + initialization. + * sm-taint.cc (taint_state_machine::m_start): Move to base class. + (taint_state_machine::taint_state_machine): Drop m_start + initialization. + * sm.cc (state_machine::state::dump_to_pp): New. + (state_machine::state_machine): Move here from sm.h. Initialize + m_next_state_id and m_start. + (state_machine::add_state): Reimplement in terms of state objects. + (state_machine::get_state_name): Delete. + (state_machine::get_state_by_name): Reimplement in terms of state + objects. Make const. + (state_machine::validate): Delete. + (state_machine::dump_to_pp): Reimplement in terms of state + objects. + * sm.h (state_machine::state): New class. + (state_machine::state_t): Convert typedef from "unsigned" to + "const state_machine::state *". + (state_machine::state_machine): Move to sm.cc. + (state_machine::get_default_state): Use m_start rather than + hardcoding 0. + (state_machine::get_state_name): Delete. + (state_machine::get_state_by_name): Make const. + (state_machine::get_start_state): New accessor. + (state_machine::alloc_state_id): New. + (state_machine::m_state_names): Drop in favor of... + (state_machine::m_states): New field + (state_machine::m_start): New field + (start_start_p): Delete. + 2020-09-08 David Malcolm PR analyzer/96949 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c3eb0370bff..5a7f9217b11 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,40 @@ +2020-09-09 Marek Polacek + + PR c++/77841 + * decl.c (reshape_init): If we're initializing a char array from + a string-literal that is enclosed in braces, unwrap it. + * init.c (build_new_1): Don't handle string-initializers here. + (build_new): Handle new-expression with paren-init when the + array bound is known. Always pass string constants to build_new_1 + enclosed in braces. Don't handle string-initializers in any + special way. + +2020-09-09 Marek Polacek + + PR c++/95164 + * decl.c (reshape_init_r): When initializing an aggregate member + with an initializer from an initializer-list, also consider + COMPOUND_LITERAL_P. + +2020-09-09 Nathan Sidwell + + * parser.c (cp_parser_omp_declare_reduction): Refactor to avoid + code duplication. Update DECL_TI_TEMPLATE's context. + * pt.c (tsubst_expr): For OMP reduction function, set context to + global_namespace before pushing. + (tsubst_omp_udr): Assert current_function_decl, add comment about + decl context. + +2020-09-09 Patrick Palka + + PR c++/96647 + * class.c (resolve_address_of_overloaded_function): Check + constraints_satisfied_p and perform return-type deduction via + maybe_instantiate_decl when considering non-template functions + in the overload set. + * cp-tree.h (maybe_instantiate_decl): Declare. + * decl2.c (maybe_instantiate_decl): Remove static. + 2020-09-04 Jason Merrill * expr.c (mark_use): Use iloc_sentinel. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index ffa1980efd7..07729eb4958 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,15 @@ +2020-09-09 Tobias Burnus + + PR fortran/95109 + PR fortran/94690 + * resolve.c (gfc_resolve_code): Also call + gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'. + * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it. + (gfc_resolve_do_iterator): Remove special code for SIMD, which is + not needed. + * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD, + call simd not do processing function. + 2020-09-08 Thomas Koenig * intrinsic.texi: Fix description of FINDLOC result. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d3afde37f09..1e7e691cb0a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,76 @@ +2020-09-09 Marek Polacek + + PR c++/77841 + * g++.old-deja/g++.ext/arrnew2.C: Expect the error only in C++17 + and less. + * g++.old-deja/g++.robertl/eb58.C: Adjust dg-error. + * g++.old-deja/g++.robertl/eb63.C: Expect the error only in C++17 + and less. + * g++.dg/cpp2a/new-array5.C: New test. + * g++.dg/cpp2a/paren-init36.C: New test. + * g++.dg/cpp2a/paren-init37.C: New test. + * g++.dg/pr84729.C: Adjust dg-error. + +2020-09-09 Marek Polacek + + PR c++/95164 + * g++.dg/cpp0x/initlist123.C: New test. + +2020-09-09 David Malcolm + + PR analyzer/94355 + * g++.dg/analyzer/new-1.C: New test. + * g++.dg/analyzer/new-vs-malloc.C: New test. + +2020-09-09 Marek Polacek + + * g++.dg/warn/Wnonnull6.C: Use target c++14. + +2020-09-09 Marek Polacek + + * g++.dg/cpp0x/auto-96647.C: Moved to... + * g++.dg/cpp1y/auto-96647.C: ...here. Use target c++14. + +2020-09-09 H.J. Lu + + PR target/96955 + * gcc.target/i386/builtin_thread_pointer.c: Update scan-assembler + for x32. + +2020-09-09 Patrick Palka + + PR c++/96647 + * g++.dg/cpp0x/auto-96647.C: New test. + * g++.dg/cpp0x/error9.C: New test. + * g++.dg/cpp2a/concepts-fn6.C: New test. + +2020-09-09 Richard Biener + + * gcc.dg/vect/vect-live-6.c: New testcase. + +2020-09-09 Tobias Burnus + + * gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for + 'omp simd.*if' for nvptx even more. + +2020-09-09 Richard Biener + + * gcc.dg/vect/vect-cond-13.c: New testcase. + * gcc.target/i386/pr87007-4.c: Adjust. + * gcc.target/i386/pr87007-5.c: Likewise. + +2020-09-09 liuhongt + + * gcc.target/i386/builtin_thread_pointer.c: New test. + +2020-09-09 Tobias Burnus + + PR fortran/95109 + PR fortran/94690 + * gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for + 'omp simd.*if'. + * gfortran.dg/gomp/openmp-simd-5.f90: New test. + 2020-09-08 David Malcolm PR analyzer/96949 diff --git a/include/ChangeLog b/include/ChangeLog index 1bdedac06c3..177e722082d 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -3,6 +3,11 @@ * dwarf2.h (enum dwarf_sect_v5): A new enum section for the sections in a DWARF 5 DWP file (DWP version 5). +2020-09-09 Caroline Tice + + * dwarf2.h (enum dwarf_sect_v5): A new enum section for the + sections in a DWARF 5 DWP file (DWP version 5). + 2020-09-08 Felix Willgerodt * floatformat.h (floatformat_bfloat16_big): New. diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index b641bb07dd5..8a13ef97f24 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,27 @@ +2020-09-09 Ian Lance Taylor + + * pecoff.c (coff_initialize_syminfo): Add is_64 parameter. + (coff_add): Determine and pass is_64. + +2020-09-09 Ian Lance Taylor + + PR libbacktrace/96973 + * fileline.c (macho_get_executable_path): New static function. + (fileline_initialize): Call macho_get_executable_path. + +2020-09-09 Ian Lance Taylor + + * dwarf.c (function_addrs_search): Compare against the next entry + low address, not the high address. + (unit_addrs_search): Likewise. + (build_address_map): Add a trailing unit_addrs. + (read_function_entry): Add a trailing function_addrs. + (read_function_info): Likewise. + (report_inlined_functions): Search backward for function_addrs + match. + (dwarf_lookup_pc): Search backward for unit_addrs and + function_addrs matches. + 2020-09-08 Ian Lance Taylor * simple.c (simple_unwind): Correct comment spelling. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index ccfd6f6a840..cc66cc4b34d 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2020-09-09 Tom de Vries + + * config/nvptx/atomic.c (__SYNC_SUBWORD_COMPARE_AND_SWAP): Fix + Wbuiltin-declaration-mismatch. + 2020-08-26 Jozef Lawrynowicz * config/msp430/slli.S (__gnu_mspabi_sllp): New. diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 47482eb83c2..07ccdc78d55 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,9 @@ +2020-09-09 H.J. Lu + + PR d/95680 + * libdruntime/config/x86/switchcontext.S: Include to + generate the CET marker for -fcf-protection. + 2020-09-08 Iain Buclaw PR d/95680 diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index 73abebde502..f2568a9a1b1 100644 --- a/lto-plugin/ChangeLog +++ b/lto-plugin/ChangeLog @@ -1,3 +1,10 @@ +2020-09-09 Nick Clifton + + * lto-plugin.c (struct plugin_symtab): Add last_sym field. + (parse_symtab_extension): Only read as many entries as are + available in the buffer. Store the data read into the symbol + table indexed from last_sym. Increment last_sym. + 2020-07-30 H.J. Lu PR bootstrap/96202 -- 2.30.2