diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | config/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/ChangeLog | 327 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/ada/ChangeLog | 202 | ||||
-rw-r--r-- | gcc/c-family/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/jit/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 365 | ||||
-rw-r--r-- | libgcc/ChangeLog | 6 | ||||
-rw-r--r-- | libgomp/ChangeLog | 10 | ||||
-rw-r--r-- | libiberty/ChangeLog | 5 | ||||
-rw-r--r-- | libsanitizer/ChangeLog | 31 | ||||
-rw-r--r-- | libstdc++-v3/ChangeLog | 74 | ||||
-rw-r--r-- | lto-plugin/ChangeLog | 5 |
16 files changed, 1076 insertions, 1 deletions
@@ -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. diff --git a/config/ChangeLog b/config/ChangeLog index 650e8e6..6a15db4 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -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. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0f05ad1..77f5de3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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: diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index a2b6885..2c90f21 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20201125 +20201126 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7fe4449..961414c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -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 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index c3af98e..8d17c44 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -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. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index be56219..16abe16 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 998ad9c..34141949 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -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 diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 28e3302..dafb480 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -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 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b189ac4..e948d75 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 62a6914..6127fbf 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -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__] diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 9296697..6a7151e 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -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. diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index aed9626..ccc8a0e 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -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 diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index 19e7661..3515cff 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -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. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a609d90..b73cddb 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -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 diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index 4f285ce0..17414a1 100644 --- a/lto-plugin/ChangeLog +++ b/lto-plugin/ChangeLog @@ -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. |