Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 26 Nov 2020 00:16:41 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 26 Nov 2020 00:16:41 +0000 (00:16 +0000)
16 files changed:
ChangeLog
config/ChangeLog
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/c-family/ChangeLog
gcc/cp/ChangeLog
gcc/fortran/ChangeLog
gcc/jit/ChangeLog
gcc/testsuite/ChangeLog
libgcc/ChangeLog
libgomp/ChangeLog
libiberty/ChangeLog
libsanitizer/ChangeLog
libstdc++-v3/ChangeLog
lto-plugin/ChangeLog

index 7b26c1b..fdb396b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * configure: Regenerate.
+       * configure.ac: Add --bootstrap-hwasan option.
+
 2020-11-23  Iain Sandoe  <iain@sandoe.co.uk>
 
        * config.guess: Import latest upstream.
index 650e8e6..6a15db4 100644 (file)
@@ -1,3 +1,12 @@
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * bootstrap-hwasan.mk: Disable random frame tags for stack-tagging
+       during bootstrap.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * bootstrap-hwasan.mk: New file.
+
 2020-09-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        Sync from binutils-gdb.
index 0f05ad1..77f5de3 100644 (file)
@@ -1,3 +1,330 @@
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/97622
+       PR bootstrap/94982
+       * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
+       Avoid -Wformat-diag.
+       * digraph.cc (struct test_edge): Same.
+       * dumpfile.c (dump_loc): Same.
+       (dump_context::begin_scope): Same.
+       * edit-context.c (edited_file::print_diff): Same.
+       (edited_file::print_diff_hunk): Same.
+       * json.cc (object::print): Same.
+       * lto-wrapper.c (merge_and_complain): Same.
+       * reload.c (find_reloads): Same.
+       * tree-diagnostic-path.cc (print_path_summary_as_text): Same.
+       * ubsan.c (ubsan_type_descriptor): Same.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * gimple.c (gimple_call_arg_flags): Also imply EAF_NODIRECTESCAPE.
+       * tree-core.h (EAF_NODRECTESCAPE): New flag.
+       * tree-ssa-structalias.c (make_indirect_escape_constraint): New
+       function.
+       (handle_rhs_call): Hanlde EAF_NODIRECTESCAPE.
+       * ipa-modref.c (dump_eaf_flags): Print EAF_NODIRECTESCAPE.
+       (deref_flags): Dereference is always EAF_NODIRECTESCAPE.
+       (modref_lattice::init): Also set EAF_NODIRECTESCAPE.
+       (analyze_ssa_name_flags): Pure functions do not affect
+       EAF_NODIRECTESCAPE.
+       (analyze_params): Likewise.
+       (ipa_merge_modref_summary_after_inlining): Likewise.
+       (modref_merge_call_site_flags): Likewise.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_summaries::duplicate,
+       modref_summaries_lto::duplicate): Copy arg_flags.
+       (remap_arg_flags): Fix remapping of arg_flags.
+
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97956
+       * gimple-fold.c (gimple_fold_builtin_memchr): Use sizetype for pointer
+       offsets.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * asan.c (asan_instrument_reads): New.
+       (asan_instrument_writes): New.
+       (asan_memintrin): New.
+       (handle_builtin_stack_restore): Account for HWASAN.
+       (handle_builtin_alloca): Account for HWASAN.
+       (get_mem_refs_of_builtin_call): Special case strlen for HWASAN.
+       (hwasan_instrument_reads): New.
+       (hwasan_instrument_writes): New.
+       (hwasan_memintrin): New.
+       (report_error_func): Assert not HWASAN.
+       (build_check_stmt): Make HWASAN_CHECK instead of ASAN_CHECK.
+       (instrument_derefs): HWASAN does not tag globals.
+       (instrument_builtin_call): Use new helper functions.
+       (maybe_instrument_call): Don't instrument `noreturn` functions.
+       (initialize_sanitizer_builtins): Add new type.
+       (asan_expand_mark_ifn): Account for HWASAN.
+       (asan_expand_check_ifn): Assert never called by HWASAN.
+       (asan_expand_poison_ifn): Account for HWASAN.
+       (asan_instrument): Branch based on whether using HWASAN or ASAN.
+       (pass_asan::gate): Return true if sanitizing HWASAN.
+       (pass_asan_O0::gate): Return true if sanitizing HWASAN.
+       (hwasan_check_func): New.
+       (hwasan_expand_check_ifn): New.
+       (hwasan_expand_mark_ifn): New.
+       (gate_hwasan): New.
+       * asan.h (hwasan_expand_check_ifn): New decl.
+       (hwasan_expand_mark_ifn): New decl.
+       (gate_hwasan): New decl.
+       (asan_intercepted_p): Always false for hwasan.
+       (asan_sanitize_use_after_scope): Account for HWASAN.
+       * builtin-types.def (BT_FN_PTR_CONST_PTR_UINT8): New.
+       * gimple-fold.c (gimple_build): New overload for building function
+       calls without arguments.
+       (gimple_build_round_up): New.
+       * gimple-fold.h (gimple_build): New decl.
+       (gimple_build): New inline function.
+       (gimple_build_round_up): New decl.
+       (gimple_build_round_up): New inline function.
+       * gimple-pretty-print.c (dump_gimple_call_args): Account for
+       HWASAN.
+       * gimplify.c (asan_poison_variable): Account for HWASAN.
+       (gimplify_function_tree): Remove requirement of
+       SANITIZE_ADDRESS, requiring asan or hwasan is accounted for in
+       `asan_sanitize_use_after_scope`.
+       * internal-fn.c (expand_HWASAN_CHECK): New.
+       (expand_HWASAN_ALLOCA_UNPOISON): New.
+       (expand_HWASAN_CHOOSE_TAG): New.
+       (expand_HWASAN_MARK): New.
+       (expand_HWASAN_SET_TAG): New.
+       * internal-fn.def (HWASAN_ALLOCA_UNPOISON): New.
+       (HWASAN_CHOOSE_TAG): New.
+       (HWASAN_CHECK): New.
+       (HWASAN_MARK): New.
+       (HWASAN_SET_TAG): New.
+       * sanitizer.def (BUILT_IN_HWASAN_LOAD1): New.
+       (BUILT_IN_HWASAN_LOAD2): New.
+       (BUILT_IN_HWASAN_LOAD4): New.
+       (BUILT_IN_HWASAN_LOAD8): New.
+       (BUILT_IN_HWASAN_LOAD16): New.
+       (BUILT_IN_HWASAN_LOADN): New.
+       (BUILT_IN_HWASAN_STORE1): New.
+       (BUILT_IN_HWASAN_STORE2): New.
+       (BUILT_IN_HWASAN_STORE4): New.
+       (BUILT_IN_HWASAN_STORE8): New.
+       (BUILT_IN_HWASAN_STORE16): New.
+       (BUILT_IN_HWASAN_STOREN): New.
+       (BUILT_IN_HWASAN_LOAD1_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD2_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD4_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD8_NOABORT): New.
+       (BUILT_IN_HWASAN_LOAD16_NOABORT): New.
+       (BUILT_IN_HWASAN_LOADN_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE1_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE2_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE4_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE8_NOABORT): New.
+       (BUILT_IN_HWASAN_STORE16_NOABORT): New.
+       (BUILT_IN_HWASAN_STOREN_NOABORT): New.
+       (BUILT_IN_HWASAN_TAG_MISMATCH4): New.
+       (BUILT_IN_HWASAN_HANDLE_LONGJMP): New.
+       (BUILT_IN_HWASAN_TAG_PTR): New.
+       * sanopt.c (sanopt_optimize_walker): Act for hwasan.
+       (pass_sanopt::execute): Act for hwasan.
+       * toplev.c (compile_file): Use `gate_hwasan` function.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * asan.c (struct hwasan_stack_var): New.
+       (hwasan_sanitize_p): New.
+       (hwasan_sanitize_stack_p): New.
+       (hwasan_sanitize_allocas_p): New.
+       (initialize_sanitizer_builtins): Define new builtins.
+       (ATTR_NOTHROW_LIST): New macro.
+       (hwasan_current_frame_tag): New.
+       (hwasan_frame_base): New.
+       (stack_vars_base_reg_p): New.
+       (hwasan_maybe_init_frame_base_init): New.
+       (hwasan_record_stack_var): New.
+       (hwasan_get_frame_extent): New.
+       (hwasan_increment_frame_tag): New.
+       (hwasan_record_frame_init): New.
+       (hwasan_emit_prologue): New.
+       (hwasan_emit_untag_frame): New.
+       (hwasan_finish_file): New.
+       (hwasan_truncate_to_tag_size): New.
+       * asan.h (hwasan_record_frame_init): New declaration.
+       (hwasan_record_stack_var): New declaration.
+       (hwasan_emit_prologue): New declaration.
+       (hwasan_emit_untag_frame): New declaration.
+       (hwasan_get_frame_extent): New declaration.
+       (hwasan_maybe_enit_frame_base_init): New declaration.
+       (hwasan_frame_base): New declaration.
+       (stack_vars_base_reg_p): New declaration.
+       (hwasan_current_frame_tag): New declaration.
+       (hwasan_increment_frame_tag): New declaration.
+       (hwasan_truncate_to_tag_size): New declaration.
+       (hwasan_finish_file): New declaration.
+       (hwasan_sanitize_p): New declaration.
+       (hwasan_sanitize_stack_p): New declaration.
+       (hwasan_sanitize_allocas_p): New declaration.
+       (HWASAN_TAG_SIZE): New macro.
+       (HWASAN_TAG_GRANULE_SIZE): New macro.
+       (HWASAN_STACK_BACKGROUND): New macro.
+       * builtin-types.def (BT_FN_VOID_PTR_UINT8_PTRMODE): New.
+       * builtins.def (DEF_SANITIZER_BUILTIN): Enable for HWASAN.
+       * cfgexpand.c (align_local_variable): When using hwasan ensure
+       alignment to tag granule.
+       (align_frame_offset): New.
+       (expand_one_stack_var_at): For hwasan use tag offset.
+       (expand_stack_vars): Record stack objects for hwasan.
+       (expand_one_stack_var_1): Record stack objects for hwasan.
+       (init_vars_expansion): Initialise hwasan state.
+       (expand_used_vars): Emit hwasan prologue and generate hwasan epilogue.
+       (pass_expand::execute): Emit hwasan base initialization if needed.
+       * doc/tm.texi (TARGET_MEMTAG_TAG_SIZE,TARGET_MEMTAG_GRANULE_SIZE,
+       TARGET_MEMTAG_INSERT_RANDOM_TAG,TARGET_MEMTAG_ADD_TAG,
+       TARGET_MEMTAG_SET_TAG,TARGET_MEMTAG_EXTRACT_TAG,
+       TARGET_MEMTAG_UNTAGGED_POINTER): Document new hooks.
+       * doc/tm.texi.in (TARGET_MEMTAG_TAG_SIZE,TARGET_MEMTAG_GRANULE_SIZE,
+       TARGET_MEMTAG_INSERT_RANDOM_TAG,TARGET_MEMTAG_ADD_TAG,
+       TARGET_MEMTAG_SET_TAG,TARGET_MEMTAG_EXTRACT_TAG,
+       TARGET_MEMTAG_UNTAGGED_POINTER): Document new hooks.
+       * explow.c (get_dynamic_stack_base): Take new `base` argument.
+       * explow.h (get_dynamic_stack_base): Take new `base` argument.
+       * sanitizer.def (BUILT_IN_HWASAN_INIT): New.
+       (BUILT_IN_HWASAN_TAG_MEM): New.
+       * target.def (target_memtag_tag_size,target_memtag_granule_size,
+       target_memtag_insert_random_tag,target_memtag_add_tag,
+       target_memtag_set_tag,target_memtag_extract_tag,
+       target_memtag_untagged_pointer): New hooks.
+       * targhooks.c (HWASAN_SHIFT): New.
+       (HWASAN_SHIFT_RTX): New.
+       (default_memtag_tag_size): New default hook.
+       (default_memtag_granule_size): New default hook.
+       (default_memtag_insert_random_tag): New default hook.
+       (default_memtag_add_tag): New default hook.
+       (default_memtag_set_tag): New default hook.
+       (default_memtag_extract_tag): New default hook.
+       (default_memtag_untagged_pointer): New default hook.
+       * targhooks.h (default_memtag_tag_size): New default hook.
+       (default_memtag_granule_size): New default hook.
+       (default_memtag_insert_random_tag): New default hook.
+       (default_memtag_add_tag): New default hook.
+       (default_memtag_set_tag): New default hook.
+       (default_memtag_extract_tag): New default hook.
+       (default_memtag_untagged_pointer): New default hook.
+       * toplev.c (compile_file): Call hwasan_finish_file when finished.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * common.opt (flag_sanitize_recover): Default for kernel
+       hwaddress.
+       (static-libhwasan): New cli option.
+       * config/aarch64/aarch64.c (aarch64_can_tag_addresses): New.
+       (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New.
+       * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): hwasan equivalent of
+       asan command line flags.
+       * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
+       Add hwasan equivalent of __SANITIZE_ADDRESS__.
+       * doc/invoke.texi: Document hwasan command line flags.
+       * doc/tm.texi: Document new hook.
+       * doc/tm.texi.in: Document new hook.
+       * flag-types.h (enum sanitize_code): New sanitizer values.
+       * gcc.c (STATIC_LIBHWASAN_LIBS): New macro.
+       (LIBHWASAN_SPEC): New macro.
+       (LIBHWASAN_EARLY_SPEC): New macro.
+       (SANITIZER_EARLY_SPEC): Update to include hwasan.
+       (SANITIZER_SPEC): Update to include hwasan.
+       (sanitize_spec_function): Use hwasan options.
+       * opts.c (finish_options): Describe conflicts between address
+       sanitizers.
+       (find_sanitizer_argument): New.
+       (report_conflicting_sanitizer_options): New.
+       (sanitizer_opts): Introduce new sanitizer flags.
+       (common_handle_option): Add defaults for kernel sanitizer.
+       * params.opt (hwasan--instrument-stack): New
+       (hwasan-random-frame-tag): New
+       (hwasan-instrument-allocas): New
+       (hwasan-instrument-reads): New
+       (hwasan-instrument-writes): New
+       (hwasan-instrument-mem-intrinsics): New
+       * target.def (HOOK_PREFIX): Add new hook.
+       (can_tag_addresses): Add new hook under memtag prefix.
+       * targhooks.c (default_memtag_can_tag_addresses): New.
+       * targhooks.h (default_memtag_can_tag_addresses): New decl.
+       * toplev.c (process_options): Ensure hwasan only on
+       architectures that advertise the possibility.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * doc/install.texi: Document new option.
+
+2020-11-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_maybe_expand_sve_subreg_move):
+       Do not optimize LRA subregs.
+       * config/aarch64/aarch64-sve.md
+       (@aarch64_pred_<SVE_INT_UNARY:optab><mode>): Tie the input to the
+       output.
+       (@aarch64_sve_revbhw_<SVE_ALL:mode><PRED_HSD:mode>): Likewise.
+       (*<ANY_EXTEND:optab><SVE_PARTIAL_I:mode><SVE_HSDI:mode>2): Likewise.
+       (@aarch64_pred_sxt<SVE_FULL_HSDI:mode><SVE_PARTIAL_I:mode>): Likewise.
+       (*cnot<mode>): Likewise.
+       (@aarch64_pred_<SVE_COND_FP_UNARY:optab><mode>): Likewise.
+       (@aarch64_sve_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_trunc<VNx2DF_ONLY:mode><VNx4SI_ONLY:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_extend<VNx4SI_ONLY:mode><VNx2DF_ONLY:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_trunc<SVE_FULL_SDF:mode><SVE_FULL_HSF:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>):
+       Likewise.
+       (@aarch64_sve_<optab>_nontrunc<SVE_FULL_HSF:mode><SVE_FULL_SDF:mode>):
+       Likewise.
+       * config/aarch64/aarch64-sve2.md
+       (@aarch64_pred_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): Likewise.
+       (@aarch64_pred_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>): Likewise.
+       (@aarch64_pred_<SVE2_U32_UNARY:sve_int_op><mode>): Likewise.
+       (@aarch64_pred_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): Likewise.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/95862
+       * internal-fn.c (get_min_precision): For narrowing conversion, recurse
+       on the operand and if the operand precision is smaller than the
+       current one, return that smaller precision.
+       (expand_mul_overflow): For s1 * u2 -> ur and s1 * s2 -> ur cases
+       if the sum of minimum precisions of both operands is smaller or equal
+       to the result precision, just perform normal multiplication and
+       set overflow to the sign bit of the multiplication result.  For
+       u1 * u2 -> sr if both arguments have the MSB known zero, use
+       normal s1 * s2 -> sr expansion.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (free_block): New function.
+       (clear_edges): Rename to ....
+       (free_cfg): ... this one; also free BBs and vectors.
+       (expunge_block): Update comment.
+       * cfg.h (clear_edges): Rename to ...
+       (free_cfg): ... this one.
+       * cgraph.c (release_function_body): Use free_cfg.
+
+2020-11-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97579
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Lower
+       VECTOR_BOOLEAN_TYPE_P, non-vector mode VEC_COND_EXPRs.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97943
+       * gimple-fold.c (clear_padding_union, clear_padding_type): Error on and
+       ignore flexible array member fields.  Ignore fields with
+       error_mark_node type.
+
 2020-11-24  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
 
        Revert:
index a2b6885..2c90f21 100644 (file)
@@ -1 +1 @@
-20201125
+20201126
index 7fe4449..961414c 100644 (file)
@@ -1,3 +1,205 @@
+2020-11-25  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Is_Uninitialized_Aggregate): Move...
+       * exp_util.adb (Is_Uninitialized_Aggregate): ... here.
+       (Expand_Subtype_From_Expr): If the expression is an
+       uninitialized aggregate, capture subtype for declared object and
+       remove expression to suppress further superfluous expansion.
+
+2020-11-25  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_eval.adb (Subtypes_Statically_Compatible): Scalar types
+       with compatible static bounds are statically compatible if
+       predicates are compatible, even if they are not static subtypes.
+       Same for private types without discriminants.
+
+2020-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch11.adb (Expand_N_Raise_Statement): Use Is_Entity_Name
+       consistently in tests on the name of the statement.
+       * exp_prag.adb (Expand_Pragma_Check): In the local propagation
+       case, wrap the raise statement in a block statement.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration): Move
+       "Nam" constant after the body of a nested subprogram; change "T"
+       from variable to constant.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * make.adb (Scan_Make_Arg): Merge ELSIF branches for -u and -U.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * doc/gnat_rm/implementation_defined_attributes.rst
+       (Has_Tagged_Values): Document based on the existing description
+       of Has_Access_Type and the comment for Has_Tagged_Component,
+       which is where frontend evaluates this attribute.
+       * gnat_rm.texi: Regenerate.
+       * sem_attr.adb (Analyze_Attribute): Merge processing of
+       Has_Access_Type and Has_Tagged_Component attributes.
+       * sem_util.adb (Has_Access_Type): Fix casing in comment.
+       * sem_util.ads (Has_Tagged_Component): Remove wrong (or
+       outdated) comment about the use of this routine to implement the
+       equality operator.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_Size_Attribute): Remove whitespace;
+       simplify with a membership test, which are now allowed in the
+       frontend code.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Fix inconsistent calls to
+       Make_Aitem_Pragma.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Check_Expr_Constants): Simplify with
+       Is_Named_Number.
+       * sem_prag.adb (Process_Convention): Likewise.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Detect aspect identifiers
+       with membership tests.
+       (Check_Aspect_At_End_Of_Declarations): Likewise.
+       (Freeze_Entity_Checks): Likewise; a local constant is no longer
+       needed.
+       (Is_Operational_Item): Similar simplification for attribute
+       identifiers.
+       (Is_Type_Related_Rep_Item): Likewise.
+       (Resolve_Iterable_Operation): Detect names with a membership
+       test.
+       (Validate_Independence): Replace repeated Ekind with a
+       membership test.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Replace duplicate of
+       Effective_Reads.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb: Use composite wrappers (e.g.
+       Is_Subprogram_Or_Entry) and membership tests where it appears to
+       improve clarity.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb (Is_Standard_Character_Type,
+       Is_Standard_String_Type): Simplify.
+       (Last_Formal): Use procedural variant of Next_Formal.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * einfo.adb: Replace "E" with Entity_Id in local object
+       declarations.
+
+2020-11-25  Steve Baird  <baird@adacore.com>
+
+       * exp_ch2.adb (Expand_Entity_Reference): A new local predicate
+       Is_Object_Renaming_Name indicates whether a given expression
+       occurs (after looking through qualified expressions and type
+       conversions) as the name of an object renaming declaration. If
+       Current_Value is available but this new predicate is True, then
+       ignore the availability of Current_Value.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Type): Remove extra whitespace.
+       (Validate_Access_Type_Instance): Remove dead (and duplicated)
+       code.
+
+2020-11-25  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Possible_Side_Effect_In_SPARK): Replace hyphen
+       with a space in "side-effect" (two instances).
+
+2020-11-25  Justin Squirek  <squirek@adacore.com>
+
+       * doc/gnat_rm/intrinsic_subprograms.rst (Shifts and Rotates):
+       Document behavior on negative numbers
+       * gnat_rm.texi: Regenerate.
+       * sem_eval.adb (Fold_Shift): Set modulus to be based on the RM
+       size for non-modular integer types.
+
+2020-11-25  Olivier Hainque  <hainque@adacore.com>
+
+       * adaint.c (__gnat_copy_attribs): Reinstate code based on utime
+       for timestamp processing on VxWorks 6.
+
+2020-11-25  Yannick Moy  <moy@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): Only remove side-effects
+       in GNATprove mode when this is useful.
+       * sem_res.adb (Set_Slice_Subtype): Make sure in GNATprove mode
+       to define the Itype when needed, so that run-time errors can be
+       analyzed.
+       * sem_util.adb (Enclosing_Declaration): Correctly take into
+       account renaming declarations.
+
+2020-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/s-rannum.adb (Random_Discrete): Specifically deal with
+       the case where the size of the base type is larger than 64 bits.
+
+2020-11-25  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch3.adb (Access_Type_Declaration): Set Etype before
+       checking for volatility compatibility.
+
+2020-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * libgnat/g-rannum.ads (Random): New functions returning 128-bit.
+       * libgnat/g-rannum.adb (Random): Implement them and alphabetize.
+       (To_Signed): New unchecked conversion function for 128-bit.
+
+2020-11-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch7.adb (Build_Finalization_Master, Build_Finalizer,
+       Build_Object_Declarations, Make_Deep_Array_Body,
+       Wrap_Transient_Expression): Call Set_Debug_Info_Needed on
+       temporaries when Debug_Generated_Code is True.
+
+2020-11-25  Liaiss Merzougue  <merzougue@adacore.com>
+
+       * libgnat/s-imagei.adb
+       (Set_Digits): Rewrite the procedure to remove recursion.
+       (Image_Integer, Set_Image_Integer): Update assertions and remove
+       redundant ones.
+       * libgnat/s-imageu.adb
+       (Set_Image_Unsigned): Rewrite the procedure to remove recursion.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_util.adb (Attribute_Constrained_Static_Value): Fix body
+       box.
+       * sem_attr.adb (Eval_Attribute): Replace repeated calls to
+       Attribute_Name with a captured value of the Attribute_Id; also,
+       remove extra parens around Is_Generic_Type.
+
+2020-11-25  Ghjuvan Lacambre  <lacambre@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Emit error on wrong argument
+       nkind.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_attr.adb, sem_prag.adb: Use Is_Named_Number.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb, exp_util.adb: Fix style and typos in comments.
+
+2020-11-25  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): A variable that
+       is only incremented in the code has now type Nat; conversion is
+       now unnecessary.
+
 2020-11-24  Piotr Trojanek  <trojanek@adacore.com>
 
        * sem_prag.adb (Analyze_Global_Item): Call SPARK_Msg_NE with the
index c3af98e..8d17c44 100644 (file)
@@ -1,3 +1,9 @@
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/94982
+       * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
+       -Wformat-diag.
+
 2020-11-24  Martin Sebor  <msebor@redhat.com>
 
        * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
index be56219..16abe16 100644 (file)
@@ -1,3 +1,20 @@
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/94982
+       * constraint.cc (debug_argument_list): Avoid -Wformat-diag.
+       * error.c (function_category): Same.
+       (print_template_differences): Same.
+       * logic.cc (debug): Same.
+       * name-lookup.c (lookup_using_decl): Same.
+       * parser.c (maybe_add_cast_fixit): Same.
+       (cp_parser_template_introduction): Same.
+       * typeck.c (access_failure_info::add_fixit_hint): Same.
+
+2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * pt.c (tsubst_omp_clauses): Handle 'OMP_CLAUSE__CACHE_'.
+       (tsubst_expr): Handle 'OACC_CACHE'.
+
 2020-11-24  Jason Merrill  <jason@redhat.com>
 
        PR c++/97899
index 998ad9c..3414194 100644 (file)
@@ -1,3 +1,9 @@
+2020-11-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/85796
+       * resolve.c (traverse_data_list): Fix copy&paste errors; catch
+       step=0 in implied do loop.
+
 2020-11-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR other/97911
index 28e3302..dafb480 100644 (file)
@@ -1,3 +1,10 @@
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/94982
+       * jit-recording.c (recording::function::dump_to_dot): Avoid
+       -Wformat-diag.
+       (recording::block::dump_to_dot): Same.
+
 2020-11-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR other/97911
index b189ac4..e948d75 100644 (file)
@@ -1,3 +1,368 @@
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/94982
+       * c-c++-common/patchable_function_entry-error-3.c: Adjust text
+       of expected warning.
+
+2020-11-25  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/lto/modref-3_0.c: New test.
+       * gcc.dg/lto/modref-3_1.c: New test.
+       * gcc.dg/lto/modref-4_0.c: New test.
+       * gcc.dg/lto/modref-4_1.c: New test.
+       * gcc.dg/tree-ssa/modref-5.c: New test.
+
+2020-11-25  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/85796
+       * gfortran.dg/pr85796.f90: New test.
+
+2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * g++.dg/gomp/map-1.C: New.
+       * g++.dg/gomp/map-2.C: Likewise.
+       * c-c++-common/gomp/map-1.c: Adjust.
+       * c-c++-common/gomp/map-2.c: Likewise.
+
+2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c-c++-common/goacc/cache-1.c: Update.
+       * c-c++-common/goacc/cache-2.c: Likewise.
+       * g++.dg/goacc/cache-1.C: New.
+       * g++.dg/goacc/cache-2.C: Likewise.
+
+2020-11-25  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97956
+       * gcc.dg/memchr-3.c: New test.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * c-c++-common/ubsan/sanitize-recover-7.c: Update error message format.
+       * lib/asan-dg.exp (asan_link_flags): Implement as a helper
+       function asan_link_flags_1 which asan_link_flags and
+       hwasan_link_flags use.
+       (asan_link_flags_1): Parametrised version of asan_link_flags.
+       * c-c++-common/hwasan/aligned-alloc.c: New test.
+       * c-c++-common/hwasan/alloca-array-accessible.c: New test.
+       * c-c++-common/hwasan/alloca-base-init.c: New test.
+       * c-c++-common/hwasan/alloca-gets-different-tag.c: New test.
+       * c-c++-common/hwasan/alloca-outside-caught.c: New test.
+       * c-c++-common/hwasan/arguments-1.c: New test.
+       * c-c++-common/hwasan/arguments-2.c: New test.
+       * c-c++-common/hwasan/arguments-3.c: New test.
+       * c-c++-common/hwasan/arguments.c: New test.
+       * c-c++-common/hwasan/asan-pr63316.c: New test.
+       * c-c++-common/hwasan/asan-pr70541.c: New test.
+       * c-c++-common/hwasan/asan-pr78106.c: New test.
+       * c-c++-common/hwasan/asan-pr79944.c: New test.
+       * c-c++-common/hwasan/asan-rlimit-mmap-test-1.c: New test.
+       * c-c++-common/hwasan/bitfield-1.c: New test.
+       * c-c++-common/hwasan/bitfield-2.c: New test.
+       * c-c++-common/hwasan/builtin-special-handling.c: New test.
+       * c-c++-common/hwasan/check-interface.c: New test.
+       * c-c++-common/hwasan/halt_on_error-1.c: New test.
+       * c-c++-common/hwasan/handles-poly_int-marked-vars.c: New test.
+       * c-c++-common/hwasan/heap-overflow.c: New test.
+       * c-c++-common/hwasan/hwasan-poison-optimisation.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-access-parent.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-basic-failure.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-clears-stack.c: New test.
+       * c-c++-common/hwasan/hwasan-thread-success.c: New test.
+       * c-c++-common/hwasan/kernel-defaults.c: New test.
+       * c-c++-common/hwasan/large-aligned-0.c: New test.
+       * c-c++-common/hwasan/large-aligned-1.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-0.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-1.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-2.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-3.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-4.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-5.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-6.c: New test.
+       * c-c++-common/hwasan/large-aligned-untagging-7.c: New test.
+       * c-c++-common/hwasan/macro-definition.c: New test.
+       * c-c++-common/hwasan/no-sanitize-attribute.c: New test.
+       * c-c++-common/hwasan/param-instrument-mem-intrinsics.c: New test.
+       * c-c++-common/hwasan/param-instrument-reads-and-writes.c: New test.
+       * c-c++-common/hwasan/param-instrument-reads.c: New test.
+       * c-c++-common/hwasan/param-instrument-writes.c: New test.
+       * c-c++-common/hwasan/random-frame-tag.c: New test.
+       * c-c++-common/hwasan/sanity-check-pure-c.c: New test.
+       * c-c++-common/hwasan/setjmp-longjmp-0.c: New test.
+       * c-c++-common/hwasan/setjmp-longjmp-1.c: New test.
+       * c-c++-common/hwasan/stack-tagging-basic-0.c: New test.
+       * c-c++-common/hwasan/stack-tagging-basic-1.c: New test.
+       * c-c++-common/hwasan/stack-tagging-disable.c: New test.
+       * c-c++-common/hwasan/unprotected-allocas-0.c: New test.
+       * c-c++-common/hwasan/unprotected-allocas-1.c: New test.
+       * c-c++-common/hwasan/use-after-free.c: New test.
+       * c-c++-common/hwasan/vararray-outside-caught.c: New test.
+       * c-c++-common/hwasan/vararray-stack-restore-correct.c: New test.
+       * c-c++-common/hwasan/very-large-objects.c: New test.
+       * g++.dg/hwasan/hwasan.exp: New test.
+       * g++.dg/hwasan/rvo-handled.C: New test.
+       * gcc.dg/hwasan/hwasan.exp: New test.
+       * gcc.dg/hwasan/nested-functions-0.c: New test.
+       * gcc.dg/hwasan/nested-functions-1.c: New test.
+       * gcc.dg/hwasan/nested-functions-2.c: New test.
+       * lib/hwasan-dg.exp: New file.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/95862
+       * gcc.dg/builtin-artih-overflow-5.c: Renamed to ...
+       * gcc.dg/builtin-arith-overflow-5.c: ... this.
+
+2020-11-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/acle/asm/abs_f16.c (abs_f16_x_untied): Expect
+       a MOVPRFX instruction.
+       * gcc.target/aarch64/sve/acle/asm/abs_f32.c (abs_f32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_f64.c (abs_f64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s16.c (abs_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s32.c (abs_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s64.c (abs_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/abs_s8.c (abs_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s16.c (cls_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s32.c (cls_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s64.c (cls_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cls_s8.c (cls_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s16.c (clz_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s32.c (clz_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s64.c (clz_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_s8.c (clz_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u16.c (clz_u16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u32.c (clz_u32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u64.c (clz_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/clz_u8.c (clz_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s16.c (cnot_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s32.c (cnot_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s64.c (cnot_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_s8.c (cnot_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u16.c (cnot_u16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u32.c (cnot_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u64.c (cnot_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnot_u8.c (cnot_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_bf16.c (cnt_bf16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_f16.c (cnt_f16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_f32.c (cnt_f32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_f64.c (cnt_f64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s16.c (cnt_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s32.c (cnt_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s64.c (cnt_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_s8.c (cnt_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u16.c (cnt_u16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u32.c (cnt_u32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u64.c (cnt_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cnt_u8.c (cnt_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_bf16.c (cvt_bf16_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_f16.c (cvt_f16_f32_x_untied)
+       (cvt_f16_f64_x_untied, cvt_f16_s16_x_untied, cvt_f16_s32_x_untied)
+       (cvt_f16_s64_x_untied, cvt_f16_u16_x_untied, cvt_f16_u32_x_untied)
+       (cvt_f16_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_f32.c (cvt_f32_f16_x_untied)
+       (cvt_f32_f64_x_untied, cvt_f32_s16_x_untied, cvt_f32_s32_x_untied)
+       (cvt_f32_s64_x_untied, cvt_f32_u16_x_untied, cvt_f32_u32_x_untied)
+       (cvt_f32_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_f64.c (cvt_f64_f16_x_untied)
+       (cvt_f64_f32_x_untied, cvt_f64_s16_x_untied, cvt_f64_s32_x_untied)
+       (cvt_f64_s64_x_untied, cvt_f64_u16_x_untied, cvt_f64_u32_x_untied)
+       (cvt_f64_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_s16.c (cvt_s16_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_s32.c (cvt_s32_f16_x_untied)
+       (cvt_s32_f32_x_untied, cvt_s32_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_s64.c (cvt_s64_f16_x_untied)
+       (cvt_s64_f32_x_untied, cvt_s64_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_u16.c (cvt_u16_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_u32.c (cvt_u32_f16_x_untied)
+       (cvt_u32_f32_x_untied, cvt_u32_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/cvt_u64.c (cvt_u64_f16_x_untied)
+       (cvt_u64_f32_x_untied, cvt_u64_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extb_s16.c (extb_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extb_s32.c (extb_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extb_s64.c (extb_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/exth_s32.c (exth_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/exth_s64.c (exth_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/extw_s64.c (extw_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_f16.c (neg_f16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_f32.c (neg_f32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_f64.c (neg_f64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s16.c (neg_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s32.c (neg_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s64.c (neg_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/neg_s8.c (neg_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s16.c (not_s16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s32.c (not_s32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s64.c (not_s64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_s8.c (not_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u16.c (not_u16_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u32.c (not_u32_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u64.c (not_u64_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/not_u8.c (not_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s16.c (rbit_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s32.c (rbit_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s64.c (rbit_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_s8.c (rbit_s8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u16.c (rbit_u16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u32.c (rbit_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u64.c (rbit_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rbit_u8.c (rbit_u8_x_untied): Ditto.
+       * gcc.target/aarch64/sve/acle/asm/recpx_f16.c (recpx_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/recpx_f32.c (recpx_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/recpx_f64.c (recpx_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_s16.c (revb_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_s32.c (revb_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_s64.c (revb_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_u16.c (revb_u16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_u32.c (revb_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revb_u64.c (revb_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_s32.c (revh_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_s64.c (revh_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_u32.c (revh_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revh_u64.c (revh_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revw_s64.c (revw_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/revw_u64.c (revw_u64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinta_f16.c (rinta_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinta_f32.c (rinta_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinta_f64.c (rinta_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinti_f16.c (rinti_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinti_f32.c (rinti_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rinti_f64.c (rinti_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintm_f16.c (rintm_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintm_f32.c (rintm_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintm_f64.c (rintm_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintn_f16.c (rintn_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintn_f32.c (rintn_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintn_f64.c (rintn_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintp_f16.c (rintp_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintp_f32.c (rintp_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintp_f64.c (rintp_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintx_f16.c (rintx_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintx_f32.c (rintx_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintx_f64.c (rintx_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintz_f16.c (rintz_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintz_f32.c (rintz_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/rintz_f64.c (rintz_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/sqrt_f16.c (sqrt_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/sqrt_f32.c (sqrt_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve/acle/asm/sqrt_f64.c (sqrt_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/cvtx_f32.c (cvtx_f32_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/logb_f16.c (logb_f16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/logb_f32.c (logb_f32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/logb_f64.c (logb_f64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s16.c (qabs_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s32.c (qabs_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s64.c (qabs_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qabs_s8.c (qabs_s8_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s16.c (qneg_s16_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s32.c (qneg_s32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s64.c (qneg_s64_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/qneg_s8.c (qneg_s8_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/recpe_u32.c (recpe_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/rsqrte_u32.c (rsqrte_u32_x_untied):
+       Ditto.
+       * gcc.target/aarch64/sve2/acle/asm/cvtlt_f32.c
+       (cvtlt_f32_f16_x_untied): Expect a MOV instruction.
+       * gcc.target/aarch64/sve2/acle/asm/cvtlt_f64.c
+       (cvtlt_f64_f32_x_untied): Likewise.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/95862
+       * gcc.dg/builtin-artih-overflow-5.c: New test.
+
+2020-11-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97579
+       * gcc.dg/pr97579.c: New testcase.
+
+2020-11-25  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
+
+       PR target/91816
+       * gcc.target/arm/pr91816.c: New test.
+
+2020-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97943
+       * c-c++-common/builtin-clear-padding-2.c: New test.
+       * c-c++-common/builtin-clear-padding-3.c: New test.
+       * g++.dg/ext/builtin-clear-padding-1.C: New test.
+       * gcc.dg/builtin-clear-padding-2.c: New test.
+
 2020-11-24  Martin Sebor  <msebor@redhat.com>
 
        * gcc.dg/pr97955.c: New test.
index 62a6914..6127fbf 100644 (file)
@@ -1,3 +1,9 @@
+2020-11-25  Stefan Kanthak  <stefan.kanthak@nexgo.de>
+
+       * libgcc2.c (absvSI2): Simplify/improve implementation by using
+       builtin_add_overflow.
+       (absvsi2, absvDI2): Likewise.
+
 2020-11-20  Maciej W. Rozycki  <macro@linux-mips.org>
 
        * unwind-dw2-fde-dip.c [__OpenBSD__ || __NetBSD__]
index 9296697..6a7151e 100644 (file)
@@ -1,3 +1,13 @@
+2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c++/cache-1.C: New.
+       * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
+
+2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
+       expected results.
+
 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
 
        * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
index aed9626..ccc8a0e 100644 (file)
@@ -1,3 +1,8 @@
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * configure: Regenerate.
+       * configure.ac: Avoid using sanitizer.
+
 2020-11-13  Eduard-Mihai Burtescu  <eddyb@lyken.rs>
 
        * rust-demangle.c (struct rust_demangler): Add
index 19e7661..3515cff 100644 (file)
@@ -1,3 +1,34 @@
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * LOCAL_PATCHES: Add one commit.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * Makefile.am: Condition Build hwasan directory.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Set HWASAN_SUPPORTED based on target
+       architecture.
+       * configure.tgt: Likewise.
+
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * Makefile.am:  Build libhwasan.
+       * Makefile.in:  Build libhwasan.
+       * asan/Makefile.in:  Build libhwasan.
+       * configure:  Build libhwasan.
+       * configure.ac:  Build libhwasan.
+       * hwasan/Makefile.am: New file.
+       * hwasan/Makefile.in: New file.
+       * hwasan/libtool-version: New file.
+       * interception/Makefile.in: Build libhwasan.
+       * libbacktrace/Makefile.in: Build libhwasan.
+       * libsanitizer.spec.in: Build libhwasan.
+       * lsan/Makefile.in: Build libhwasan.
+       * sanitizer_common/Makefile.in: Build libhwasan.
+       * tsan/Makefile.in: Build libhwasan.
+       * ubsan/Makefile.in: Build libhwasan.
+
 2020-11-21  Iain Sandoe  <iain@sandoe.co.uk>
 
        * configure.tgt: Allow x86_64 Darwin2x.
index a609d90..b73cddb 100644 (file)
@@ -1,3 +1,77 @@
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h (__cond_wait_until): Do not
+       perform redundant conversions to the same clock.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_timed_wait.h (__cond_wait_until_impl):
+       Do not define when _GLIBCXX_HAVE_LINUX_FUTEX is defined. Use
+       __condvar and mutex instead of __gthread_cond_t and
+       unique_lock<mutex>.
+       (__cond_wait_until): Likewise. Fix test for return value of
+       __cond_wait_until_impl.
+       (__timed_waiters::_M_do_wait_until): Use __condvar instead
+       of __gthread_cond_t.
+       * include/bits/atomic_wait.h: Remove <bits/unique_lock.h>
+       include. Only include <bits/std_mutex.h> if not using futexes.
+       (__platform_wait_max_value): Remove unused variable.
+       (__waiters::lock_t): Use lock_guard instead of unique_lock.
+       (__waiters::_M_cv): Use __condvar instead of __gthread_cond_t.
+       (__waiters::_M_do_wait(__platform_wait_t)): Likewise.
+       (__waiters::_M_notify()): Likewise. Use notify_one() if not
+       asked to notify all.
+       * include/bits/std_mutex.h (__condvar): New type.
+       * include/std/condition_variable (condition_variable::_M_cond)
+       (condition_variable::wait_until): Use __condvar instead of
+       __gthread_cond_t.
+       * src/c++11/condition_variable.cc (condition_variable): Define
+       default constructor and destructor as defaulted.
+       (condition_variable::wait, condition_variable::notify_one)
+       (condition_variable::notify_all): Forward to corresponding
+       member function of __condvar.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       * testsuite/29_atomics/atomic/wait_notify/bool.cc: Re-eneable
+       test.
+       * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
+       * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+       * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+       * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
+       * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
+       * testsuite/util/atomic/wait_notify_util.h: Fix missed
+       notifications by making the new thread wait until the parent
+       thread is waiting on the condition variable.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97935
+       * include/bits/iterator_concepts.h (__detail::__iter_without_category):
+       New helper concept.
+       (__iterator_traits::__cat): Use __detail::__iter_without_category.
+       * testsuite/24_iterators/associated_types/iterator.traits.cc: New test.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/17_intro/names.cc: Do not test 'v' on AIX.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       * include/bits/atomic_wait.h (__platform_wait): Check errno,
+       not just the value of EAGAIN.
+       (__waiters::__waiters()): Fix name of data member.
+
+2020-11-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/97936
+       * include/bits/atomic_wait.h (__platform_wait): Return if futex
+       sets EAGAIN.
+       * testsuite/30_threads/latch/3.cc: Re-enable test.
+       * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
+
 2020-11-24  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/97936
index 4f285ce..17414a1 100644 (file)
@@ -1,3 +1,8 @@
+2020-11-25  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * Makefile.am: Avoid using sanitizer.
+       * Makefile.in: Regenerate.
+
 2020-09-10  Jonathan Yong  <10walls@gmail.com>
 
        * Makefile.am: drop versioning from libtool completely.