Daily bump.
This commit is contained in:
parent
ca23341b28
commit
360258daf5
16 changed files with 1076 additions and 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.
|
||||
|
|
|
@ -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.
|
||||
|
|
327
gcc/ChangeLog
327
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:
|
||||
|
|
|
@ -1 +1 @@
|
|||
20201125
|
||||
20201126
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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__]
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue