From 6123f29a18a77eb1a0597f403c4424ae375351fd Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 3 Jan 2022 10:23:34 +0100 Subject: Rotate ChangeLog files - step 2 - remove 2021 entries from ChangeLog files. Can't be committed together with the previous one due to the ChangeLog vs. other files restrictions. --- gcc/ChangeLog | 35689 +--------------------------------------------- gcc/ada/ChangeLog | 12132 +--------------- gcc/cp/ChangeLog | 5509 +------ gcc/d/ChangeLog | 1065 +- gcc/fortran/ChangeLog | 2560 +--- gcc/testsuite/ChangeLog | 20643 +-------------------------- libgfortran/ChangeLog | 381 +- libstdc++-v3/ChangeLog | 9010 +----------- 8 files changed, 8 insertions(+), 86981 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index efa0902..d8b898a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -22,35695 +22,8 @@ convert memory address to Pmode. (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. -2021-12-30 Jakub Jelinek - - PR rtl-optimization/103756 - * regrename.c (find_rename_reg): Test noop_move_p on the first - non-debug insn in the chain rather than on the first insn. - -2021-12-30 Jakub Jelinek - - PR debug/103808 - * emit-rtl.c (gen_rtx_REG_offset): Use gen_raw_REG instead of - gen_rtx_REG. - -2021-12-30 Martin Liska - - * doc/cpp.texi: Add missing dash for argument. - -2021-12-30 Jakub Jelinek - - PR c++/103012 - * config/i386/i386-c.c (ix86_pragma_target_parse): Perform - cpp_define/cpp_undef calls with forced token locations - BUILTINS_LOCATION. - * config/arm/arm-c.c (arm_pragma_target_parse): Likewise. - * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Likewise. - * config/s390/s390-c.c (s390_pragma_target_parse): Likewise. - -2021-12-30 Jakub Jelinek - - PR rtl-optimization/103860 - * shrink-wrap.c (try_shrink_wrapping): Make sure can_get_prologue is - called on pro even if nothing further is pushed into vec. - -2021-12-30 Xionghu Luo - - * loop-invariant.c (find_invariants_bb): Check profile count - before motion. - (find_invariants_body): Add argument. - -2021-12-29 Ian Lance Taylor - - PR go/103847 - * godump.c (go_force_record_alignment): Name the alignment - field "_". - -2021-12-29 Jakub Jelinek - - PR debug/103742 - * tree-ssa-dce.c (make_forwarders_with_degenerate_phis): If any phi - argument is not CONSTANT_CLASS_P or SSA_NAME and any arguments are - equal, change second from hash value to lowest dest_idx from the - edges which have equal argument and resort to ensure -fcompare-debug - stability. - -2021-12-29 Martin Liska - - * collect2.c (main): Add ld.mold. - * common.opt: Add -fuse-ld=mold. - * doc/invoke.texi: Document it. - * gcc.c (driver_handle_option): Handle -fuse-ld=mold. - * opts.c (common_handle_option): Likewise. - -2021-12-29 Uroš Bizjak - - * config/i386/sse.md (vec_pack_float_): - Perform gen_avx512dq_floatv2div2sf2 into a - pseudo and emit move insn into operands[0]. - (fix_truncv2sfv2di2): Use lowpart_subreg - instead of simplify_gen_subreg. - (trunc2): Perform - gen_avx512vl_truncatevqi2 into a - pseudo and emit move insn into operands[0]. - (trunc2): Perform - gen_avx512vl_truncatevhi2 into a - pseudo and emit move insn into operands[0]. - (truncv2div2si2): Perform gen_avx512vl_truncatev2div2si2 into a - pseudo and emit move insn into operands[0]. - (truncv8div8qi2): Perform gen_avx512f_truncatev8div16qi2 into a - pseudo and emit move insn into operands[0]. - (v8qiv8hi2): Use lowpart_subreg - instead of simplify_gen_subreg. - (v8qiv8si2): Ditto. - (v4qiv4si2): Ditto. - (v4hiv4si2): Ditto. - (v8qiv8di2): Ditto. - (v4qiv4di2): Ditto. - (v2qiv2di2): Ditto. - (v4hiv4di2): Ditto. - (v2hiv2di2): Ditto. - (v2siv2di2): Ditto. - -2021-12-29 Xionghu Luo - - PR tree-optimization/103793 - * tree-ssa-loop-split.c (fix_loop_bb_probability): New function. - (split_loop): Use multiply to scale loop1's exit probability. - (do_split_loop_on_cond): Call fix_loop_bb_probability. - -2021-12-28 Jason Merrill - - PR c++/99968 - * tree.c (verify_type): Allow enumerator with BOOLEAN_TYPE. - -2021-12-28 Jakub Jelinek - - PR middle-end/103813 - * fold-const.c (fold_truth_andor_1): Punt of const_binop LSHIFT_EXPR - or RSHIFT_EXPR returns NULL. Formatting fix. - -2021-12-28 Jakub Jelinek - - PR rtl-optimization/103837 - * loop-invariant.c (can_move_invariant_reg): Ignore DEBUG_INSNs in - the decisions whether to return false or continue and right before - returning true reset those debug insns that previously caused - returning false. - -2021-12-28 Jakub Jelinek - - PR debug/103838 - * optabs.c (expand_doubleword_mod, expand_doubleword_divmod): Only - check newly added insns for CALL_P, not the last insn of previous - code. - -2021-12-28 Martin Liska - - PR driver/103465 - * opts.c (finish_options): More part of diagnostics to ... - (diagnose_options): ... here. Call the function from both - finish_options and process_options. - * opts.h (diagnose_options): Declare. - * toplev.c (process_options): Call diagnose_options. - -2021-12-28 Martin Liska - - * doc/contrib.texi: Replace http:// with https. - * doc/contribute.texi: Likewise. - * doc/extend.texi: Likewise. - * doc/gccint.texi: Likewise. - * doc/gnu.texi: Likewise. - * doc/implement-c.texi: Likewise. - * doc/implement-cxx.texi: Likewise. - * doc/include/fdl.texi: Likewise. - * doc/include/gpl_v3.texi: Likewise. - * doc/install.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/passes.texi: Likewise. - * doc/service.texi: Likewise. - * doc/sourcebuild.texi: Likewise. - * doc/standards.texi: Likewise. - -2021-12-28 Jakub Jelinek - - PR target/103842 - * config/i386/mmx.md (divv2sf3): Use force_reg on op1. Always perform - divv4sf3 into a pseudo and emit_move_insn into operands[0]. - -2021-12-27 John David Anglin - - * config/pa/pa-protos.h: Delete - pa_maybe_emit_compare_and_swap_exchange_loop() declaration. - * config/pa/pa.c (pa_expand_compare_and_swap_loop): Delete. - (pa_maybe_emit_compare_and_swap_exchange_loop): Delete. - * config/pa/pa.md (atomic_storeq): Use __sync_lock_test_and_set - instead of pa_maybe_emit_compare_and_swap_exchange_loop. - (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. - -2021-12-27 H.J. Lu - - PR target/103762 - * config/i386/constraints.md (BM): New constraint. - * config/i386/i386.md (m): New mode attribute. - Replace the 'm' constraint on with the '' - constraint. - Replace the 'm' constraint on x86_64_general_operand with the - 'BM' constraint. - -2021-12-26 H.J. Lu - - PR target/103785 - * config/i386/i386.md: Swap operand order in comments and check - AX input in any_mul_highpart peepholes. - -2021-12-24 Uroš Bizjak - - PR target/95046 - PR target/103797 - * config/i386/mmx.md (divv2sf3): New instruction pattern. - -2021-12-24 Iain Sandoe - - * config/darwin.c (darwin_override_options): Make a comment - more inclusive. - -2021-12-24 Iain Sandoe - - * config.gcc: Emit L2_MAX_OFILE_ALIGNMENT with suitable - values for the host. - * config/darwin.c (darwin_emit_common): Error for alignment - values > 32768. - * config/darwin.h (MAX_OFILE_ALIGNMENT): Rework to use the - configured L2_MAX_OFILE_ALIGNMENT. - -2021-12-24 Iain Sandoe - - * config/darwin.c (darwin_override_options): When checking for the - flag-reorder-and-partition case, also check that it is set on. - -2021-12-24 Iain Sandoe - - * config/darwin.h (OBJECT_FORMAT_MACHO): New. - -2021-12-23 Roger Sayle - Uroš Bizjak - - PR target/103773 - * config/i386/i386.md (*mov_and): New define_insn for - writing a zero to memory using AND. - (*mov_or): Extend to allow memory destination and HImode. - (*movdi_internal): Remove -Oz push/pop optimization from here. - (*movsi_internal): Likewise. - (peephole2): Perform -Oz push/pop optimization here, only for - register destinations, values other than zero, and in functions - that don't used the red zone. - (peephole2): With -Oz, convert writes of 0 or -1 to memory into - their clobber forms, i.e. *mov_and and *mov_or resp. - -2021-12-23 konglin1 - - * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Add new intrinsic. - (_mm512_cvtpbh_ps): Likewise. - (_mm512_maskz_cvtpbh_ps): Likewise. - (_mm512_mask_cvtpbh_ps): Likewise. - * config/i386/avx512bf16vlintrin.h (_mm_cvtness_sbh): Likewise. - (_mm_cvtpbh_ps): Likewise. - (_mm256_cvtpbh_ps): Likewise. - (_mm_maskz_cvtpbh_ps): Likewise. - (_mm256_maskz_cvtpbh_ps): Likewise. - (_mm_mask_cvtpbh_ps): Likewise. - (_mm256_mask_cvtpbh_ps): Likewise. - -2021-12-23 Feng Xue - - PR ipa/103786 - * tree.c (verify_type): Fix typo. - -2021-12-23 liuhongt - - PR target/103750 - * config/i386/sse.md - (*_cmp3_zero_extend): - New pre_reload define_insn_and_split. - (*_cmp3_zero_extend): - Ditto. - (*_ucmp3_zero_extend): - Ditto. - (*_ucmp3_zero_extend): - Ditto. - (*_cmp3_zero_extend_2): - Ditto. - (*_cmp3_zero_extend_2): - Ditto. - (*_ucmp3_zero_extend_2): - Ditto. - (*_ucmp3_zero_extend_2): - Ditto. - -2021-12-22 Murray Steele - - * config.gcc (arm*-*-*): Add arm-mve-builtins.o to extra_objs. - * config/arm/arm-c.c (arm_pragma_arm): Handle "#pragma GCC arm". - (arm_register_target_pragmas): Register it. - * config/arm/arm-protos.h: (arm_mve::arm_handle_mve_types_h): New - prototype. - * config/arm/arm_mve_types.h: Replace MVE type definitions with - new pragma. - * config/arm/t-arm: (arm-mve-builtins.o): New target rule. - * config/arm/arm-mve-builtins.cc: New file. - * config/arm/arm-mve-builtins.def: New file. - * config/arm/arm-mve-builtins.h: New file. - -2021-12-22 Murray Steele - - * config/arm/arm-builtins.c (enum arm_type_qualifiers): Move to - arm_builtins.h. - (enum arm_simd_type): Move to arm-builtins.h. - (struct arm_simd_type_info): Move to arm-builtins.h. - * config/arm/arm-builtins.h (enum arm_simd_type): Move from - arm-builtins.c. - (enum arm_type_qualifiers): Move from arm-builtins.c. - (struct arm_simd_type_info): Move from arm-builtins.c. - -2021-12-22 Martin Liska - - * doc/extend.texi: Unify all function declarations in examples - where some miss trailing ';'. - -2021-12-22 Martin Liska - - * doc/extend.texi: Unify all function declarations in examples - where some miss trailing ';'. - -2021-12-22 Martin Liska - - * doc/extend.texi: Unify all function declarations in examples - where some miss trailing ';'. - -2021-12-22 Martin Liska - - * doc/extend.texi: Use uppercase letters for SSEx. - -2021-12-21 Jiang Haochen - - * config/i386/bmiintrin.h (_tzcnt_u16): New intrinsic. - (_andn_u32): Ditto. - (_andn_u64): Ditto. - -2021-12-21 Xionghu Luo - - * tree-ssa-loop-im.c (bb_colder_than_loop_preheader): New - function. - (get_coldest_out_loop): New function. - (determine_max_movement): Use get_coldest_out_loop. - (move_computations_worker): Adjust and fix iteration udpate. - (class ref_in_loop_hot_body): New functor. - (ref_in_loop_hot_body::operator): New. - (can_sm_ref_p): Use for_all_locs_in_loop. - (fill_coldest_and_hotter_out_loop): New. - (tree_ssa_lim_finalize): Free coldest_outermost_loop and - hotter_than_inner_loop. - (loop_invariant_motion_in_fun): Call fill_coldest_and_hotter_out_loop. - -2021-12-21 Xionghu Luo - - * tree-ssa-loop-split.c (split_loop): Fix incorrect - profile_count and probability. - (do_split_loop_on_cond): Likewise. - -2021-12-21 Xionghu Luo - - PR middle-end/103270 - * predict.c (predict_extra_loop_exits): Add loop parameter. - (predict_loops): Call with loop argument. - -2021-12-21 Xionghu Luo - - * config/rs6000/altivec.md (altivec_vaddus): Replace - UNSPEC_VADDU with us_plus. - (altivec_vaddss): Replace UNSPEC_VADDS with ss_plus. - (altivec_vsubus): Replace UNSPEC_VSUBU with us_minus. - (altivec_vsubss): Replace UNSPEC_VSUBS with ss_minus. - (altivec_abss_): Likewise. - -2021-12-20 Uroš Bizjak - - PR target/103772 - * config/i386/sse.md (_pinsr): Add - earlyclobber to (x,x,x,i) alternative. - (_pinsr peephole2): Remove. - (_pinsr splitter): Use output - operand as a temporary register. Split after reload_completed. - -2021-12-20 Roger Sayle - Uroš Bizjak - - * config/i386/i386.md (any_mul_highpart): New code iterator. - (sgnprefix, s): Add attribute support for [su]mul_highpart. - (mul3_highpart): Delete expander. - (mul3_highpart, mulsi32_highpart_zext): - New define_insn patterns. - (define_peephole2): Tweak the register allocation for the above - instructions after reload. - -2021-12-20 Joel Sherrill - - * config.gcc: Obsolete m32c-*-rtems* target. - -2021-12-20 Martin Liska - - * opts.c (default_options_optimization): Support -Oz in -Ox option hints. - -2021-12-20 Jan Hubicka - - PR ipa/103669 - * ipa-modref.c (modref_eaf_analysis::analyze_ssa_name): Add deferred - parameter. - (modref_eaf_analysis::propagate): Use it. - -2021-12-20 liuhongt - - PR target/98468 - * config/i386/sse.md (*bit_and_float_vector_all_ones): New - pre-reload splitter. - -2021-12-19 Jan Hubicka - - PR ipa/103766 - * ipa-modref.c (modref_merge_call_site_flags): Fix early exit condition - -2021-12-19 Patrick Palka - - * print-tree.c (print_node) : Dump - DECL_LANG_FLAG_8. - -2021-12-19 Andrew Pinski - - * tree-ssa-phiopt.c (gimple_simplify_phiopt): Annotate the - new sequence with the location of the conditional statement. - -2021-12-18 Roger Sayle - Uroš Bizjak - - PR target/103611 - * config/i386/i386.md (any_or_plus): New code iterator. - (define_split): Split (HI<<32)|zext(LO) into piece-wise - move instructions on !TARGET_64BIT. - * config/i386/sse.md (*vec_extractv4si_0_zext_sse4): - Restrict to TARGET_64BIT. - -2021-12-18 Roger Sayle - - PR target/32803 - * common.opt (Oz): New command line option. - * doc/invoke.texi: Document the new -Oz option. - * lto-wrapper.c (merge_and_complain, append_compiler_options): - Treat OPT_Oz as synonymous with OPT_Os. - * optc-save-gen.awk: Increase maximum value of optimize_size to 2. - * opts.c (default_options_optimization) [OPT_Oz]: Handle OPT_Oz - just like OPT_Os, except set opt->x_optimize_size to 2. - (common_handle_option): Skip OPT_Oz just like OPT_Os. - * config/i386/i386.md (*movdi_internal): Use a push/pop sequence - for suitable SImode TYPE_IMOV moves when optimize_size > 1. - (*movsi_internal): Likewise. - -2021-12-18 Siddhesh Poyarekar - - PR tree-optimization/103759 - * tree-object-size.c (unknown, initval): Remove functions. - (size_unknown, size_initval, size_unknown_p): Operate directly - on trees. - -2021-12-18 François-Xavier Coudert - - * config/darwin-driver.c: Make version code more future-proof. - * config.gcc: Homogeneize darwin versions. - * configure.ac: Homogeneize darwin versions. - * configure: Regenerate. - -2021-12-17 Marek Polacek - - PR c/103649 - * attribs.c (handle_ignored_attributes_option): Create the fake - attribute with max_length == -2. - (attribute_ignored_p): New overloads. - * attribs.h (attribute_ignored_p): Declare them. - * tree-core.h (struct attribute_spec): Document that max_length - can be -2. - -2021-12-17 Segher Boessenkool - - PR target/103624 - * config/rs6000/rs6000-builtins.def (__builtin_darn): Expand to - darn_64_di. Add {32bit} attribute. Return long. - (__builtin_darn_32): Expand to darn_32_di. Add {32bit} attribute. - Return long. - (__builtin_darn_raw): Expand to darn_raw_di. Add {32bit} attribute. - Return long. - * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Expand the darn - builtins to the _si variants for -m32. - * config/rs6000/rs6000.md (UNSPECV_DARN_32, UNSPECV_DARN_RAW): Delete. - (UNSPECV_DARN): Update comment. - (darn_32, darn_raw, darn): Delete. - (darn_32_, darn_64_, darn_raw_ for GPR): New. - (@darn for GPR): New. - -2021-12-17 Bill Schmidt - - * config/rs6000/rs6000-overload.def (__builtin_vec_promote): Add second - argument. - -2021-12-17 Richard Sandiford - - PR tree-optimization/103744 - * tree-vect-stmts.c (vectorizable_load): Handle multi-vector - SLP gather loads. - -2021-12-17 Martin Liska - - * doc/invoke.texi: Rename to -fstack-protector. - -2021-12-17 Martin Liska - - * doc/invoke.texi: Fix spelling issues. - -2021-12-17 Tamar Christina - - PR tree-optimization/103741 - * tree-vect-stmts.c (vectorizable_operation): Check for boolean. - -2021-12-17 Iain Sandoe - - * config/darwin-driver.c (darwin_driver_init): Exit from the - option handling early if the command line is definitely enpty. - * config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Remove - setting for the default content of weak_reference_mismatches. - -2021-12-17 Iain Sandoe - - * config/rs6000/darwin.h: Drop trailing _x from the - builtin_decls array name. - -2021-12-17 Haochen Jiang - - PR target/100738 - * config/i386/sse.md (*avx_cmp3_lt, *avx_cmp3_ltint): - Remove MEM_P restriction and add force_reg for operands[2]. - (*avx_cmp3_ltint_not): Add new define_insn_and_split. - -2021-12-17 Siddhesh Poyarekar - - * builtins.def (BUILT_IN_DYNAMIC_OBJECT_SIZE): New builtin. - * tree-object-size.h: Move object size type bits enum from - tree-object-size.c and add new value OST_DYNAMIC. - * builtins.c (expand_builtin, fold_builtin_2): Handle it. - (fold_builtin_object_size): Handle new builtin and adjust for - change to compute_builtin_object_size. - * tree-object-size.c: Include builtins.h. - (compute_builtin_object_size): Adjust. - (early_object_sizes_execute_one, - dynamic_object_sizes_execute_one): New functions. - (object_sizes_execute): Rename insert_min_max_p argument to - early. Handle BUILT_IN_DYNAMIC_OBJECT_SIZE and call the new - functions. - * doc/extend.texi (__builtin_dynamic_object_size): Document new - builtin. - -2021-12-17 Siddhesh Poyarekar - - * tree-object-size.h (compute_builtin_object_size): Return tree - instead of HOST_WIDE_INT. - * builtins.c (fold_builtin_object_size): Adjust. - * gimple-fold.c (gimple_fold_builtin_strncat): Likewise. - * ubsan.c (instrument_object_size): Likewise. - * tree-object-size.c (object_size): New structure. - (object_sizes): Change type to vec. - (initval): New function. - (unknown): Use it. - (size_unknown_p, size_initval, size_unknown): New functions. - (object_sizes_unknown_p): Use it. - (object_sizes_get): Return tree. - (object_sizes_initialize): Rename from object_sizes_set_force - and set VAL parameter type as tree. Add new parameter WHOLEVAL. - (object_sizes_set): Set VAL parameter type as tree and adjust - implementation. Add new parameter WHOLEVAL. - (size_for_offset): New function. - (decl_init_size): Adjust comment. - (addr_object_size): Change PSIZE parameter to tree and adjust - implementation. Add new parameter PWHOLESIZE. - (alloc_object_size): Return tree. - (compute_builtin_object_size): Return tree in PSIZE. - (expr_object_size, call_object_size, unknown_object_size): - Adjust for object_sizes_set change. - (merge_object_sizes): Drop OFFSET parameter and adjust - implementation for tree change. - (plus_stmt_object_size): Call collect_object_sizes_for directly - instead of merge_object_size and call size_for_offset to get net - size. - (cond_expr_object_size, collect_object_sizes_for, - object_sizes_execute): Adjust for change of type from - HOST_WIDE_INT to tree. - (check_for_plus_in_loops_1): Likewise and skip non-positive - offsets. - -2021-12-17 Jason Merrill - - PR c++/103681 - * common.opt (fabi-version): Add v17. - -2021-12-16 Uroš Bizjak - - PR target/103571 - * config/i386/i386.h (VALID_AVX256_REG_MODE): Add V16HFmode. - (VALID_AVX256_REG_OR_OI_VHF_MODE): Replace with ... - (VALID_AVX256_REG_OR_OI_MODE): ... this. Remove V16HFmode. - (VALID_AVX512F_SCALAR_MODE): Remove HImode and HFmode. - (VALID_AVX512FP16_SCALAR_MODE): New. - (VALID_AVX512F_REG_MODE): Add V32HFmode. - (VALID_SSE2_REG_MODE): Add V8HFmode, V4HFmode and V2HFmode. - (VALID_SSE2_REG_VHF_MODE): Remove. - (VALID_INT_MODE_P): Add V2HFmode. - * config/i386/i386.c (function_arg_advance_64): - Remove explicit mention of V16HFmode and V32HFmode. - (ix86_hard_regno_mode_ok): Remove explicit mention of XImode - and V32HFmode, use VALID_AVX512F_REG_OR_XI_MODE instead. - Use VALID_AVX512FP_SCALAR_MODE for TARGET_aVX512FP16. - Use VALID_AVX256_REG_OR_OI_MODE instead of - VALID_AVX256_REG_OR_OI_VHF_MODE and VALID_SSE2_REG_MODE instead - of VALID_SSE2_REG_VHF_MODE. - (ix86_set_reg_reg_cost): Remove usge of VALID_AVX512FP16_REG_MODE. - (ix86_vector_mode_supported): Ditto. - -2021-12-16 Martin Liska - - PR c++/103696 - * attribs.c (decl_attributes): Check if - target_option_current_node is changed. - -2021-12-16 Martin Liska - - * doc/invoke.texi: Add missing dash. - -2021-12-16 Bill Schmidt - - * config/rs6000/rs6000-c.c (resolution): New enum. - (resolve_vec_mul): New function. - (resolve_vec_cmpne): Likewise. - (resolve_vec_adde_sube): Likewise. - (resolve_vec_addec_subec): Likewise. - (resolve_vec_splats): Likewise. - (resolve_vec_extract): Likewise. - (resolve_vec_insert): Likewise. - (resolve_vec_step): Likewise. - (find_instance): Likewise. - (altivec_resolve_overloaded_builtin): Many cleanups. Call factored-out - functions. Move variable declarations closer to uses. Add commentary. - Remove unnecessary levels of braces. Avoid use of gotos. Change - misleading variable names. Use switches over if-else-if chains. - -2021-12-16 Przemyslaw Wirkus - - PR target/103729 - * config/aarch64/aarch64-simd.md (aarch64_movv8di): Allow big endian - targets to move V8DI. - -2021-12-16 Tobias Burnus - - PR driver/103644 - * gcc.c (check_offload_target_name): Add 'default' and 'disable' - to the candidate list. - -2021-12-15 Iain Sandoe - - * configure: Regenerate. - -2021-12-15 Roger Sayle - - * config/nvptx/nvptx-opts.h (ptx_isa): PTX_ISA_SM75 and PTX_ISA_SM80 - ISA levels. - * config/nvptx/nvptx.opt: Add sm_75 and sm_80 to -misa. - * config/nvptx/nvptx.h (TARGET_SM75, TARGET_SM80): - New helper macros to conditionalize functionality on target ISA. - * config/nvptx/nvptx-c.c (nvptx_cpu_cpp_builtins): Add __PTX_SM__ - support for the new ISA levels. - * config/nvptx/nvptx.c (nvptx_file_start): Add support for TARGET_SM75 - and TARGET_SM80. - * config/nvptx/nvptx.md (define_c_enum "unspec"): New UNSPEC_TANH. - (define_mode_iterator HSFM): New iterator for HFmode and SFmode. - (exp2hf2): New define_insn controlled by TARGET_SM75. - (tanh2): New define_insn controlled by TARGET_SM75. - (sminhf3, smaxhf3): New define_isnns controlled by TARGET_SM80. - -2021-12-15 Tom de Vries - - * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_7_0. - * config/nvptx/nvptx.c (nvptx_file_start): Handle TARGET_PTX_7_0. - * config/nvptx/nvptx.h (TARGET_PTX_7_0): New macro. - * config/nvptx/nvptx.opt (ptx_version): Add 7.0. - -2021-12-15 Richard Sandiford - Tamar Christina - - PR target/103094 - * config/aarch64/aarch64.c (aarch64_short_vector_p): Return false - for structure modes, rather than ignoring the type in that case. - -2021-12-15 Tamar Christina - - PR rtl-optimization/103350 - * ree.c (add_removable_extension): Don't stop at first definition but - inspect all. - -2021-12-15 Jakub Jelinek - - PR debug/103619 - * dwarf2cfi.c (dwf_cfa_reg): Remove gcc_assert. - (operator==, operator!=): New overloaded operators. - (dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_offset, - dwarf2out_frame_debug_expr): Compare vars with cfa_reg type directly - with REG rtxes rather than with dwf_cfa_reg results on those REGs. - (create_cie_data): Use stack_pointer_rtx instead of - gen_rtx_REG (Pmode, STACK_POINTER_REGNUM). - (execute_dwarf2_frame): Use hard_frame_pointer_rtx instead of - gen_rtx_REG (Pmode, HARD_FRAME_POINTER_REGNUM). - -2021-12-15 Martin Liska - - PR target/103661 - * config/i386/i386-builtins.c (fold_builtin_cpu): Compare to 0 - as API expects that non-zero values are returned (do that - it mask == 31). - For "avx512vbmi2" argument, we return now 1 << 31, which is a - negative integer value. - -2021-12-15 Haochen Jiang - - PR target/101796 - * config/i386/predicates.md (const_vector_operand): - Add new predicate. - * config/i386/sse.md(3): - Add new define_split below. - -2021-12-15 Michael Meissner - - * config/rs6000/rs6000.md (UNSPEC_XXSPLTIDP_CONST): New unspec. - (UNSPEC_XXSPLTIW_CONST): New unspec. - (movsf_hardfloat): Add support for generating XXSPLTIDP. - (mov_hardfloat32): Likewise. - (mov_hardfloat64): Likewise. - (xxspltidp__internal): New insns. - (xxspltiw__internal): New insns. - (splitters for SF/DFmode): Add new splitters for XXSPLTIDP. - -2021-12-15 Michael Meissner - - * config/rs6000/predicates.md (easy_fp_constant): Add support for - generating XXSPLTIDP. - (vsx_prefixed_constant): Likewise. - (easy_vector_constant): Likewise. - * config/rs6000/rs6000-protos.h (constant_generates_xxspltidp): - New declaration. - * config/rs6000/rs6000.c (output_vec_const_move): Add support for - generating XXSPLTIDP. - (prefixed_xxsplti_p): Likewise. - (constant_generates_xxspltidp): New function. - * config/rs6000/rs6000.opt (-msplat-float-constant): New debug option. - -2021-12-15 Michael Meissner - - * config/rs6000/constraints.md (eP): Update comment. - * config/rs6000/predicates.md (easy_fp_constant): Add support for - generating XXSPLTIW. - (vsx_prefixed_constant): New predicate. - (easy_vector_constant): Add support for - generating XXSPLTIW. - * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): New - declaration. - (constant_generates_xxspltiw): Likewise. - * config/rs6000/rs6000.c (xxspltib_constant_p): Generate XXSPLTIW - if possible instead of XXSPLTIB and sign extending the constant. - (output_vec_const_move): Add support for XXSPLTIW. - (prefixed_xxsplti_p): New function. - (constant_generates_xxspltiw): New function. - * config/rs6000/rs6000.md (prefixed attribute): Add support to - mark XXSPLTI* instructions as being prefixed. - * config/rs6000/rs6000.opt (-msplat-word-constant): New debug - switch. - * config/rs6000/vsx.md (vsx_mov_64bit): Add support for - generating XXSPLTIW or XXSPLTIDP. - (vsx_mov_32bit): Likewise. - * doc/md.texi (PowerPC and IBM RS6000 constraints): Document the - eP constraint. - -2021-12-15 Michael Meissner - - * config/rs6000/constraints.md (eQ): New constraint. - * config/rs6000/predicates.md (easy_fp_constant): Add support for - generating the LXVKQ instruction. - (easy_vector_constant_ieee128): New predicate. - (easy_vector_constant): Add support for generating the LXVKQ - instruction. - * config/rs6000/rs6000-protos.h (constant_generates_lxvkq): New - declaration. - * config/rs6000/rs6000.c (output_vec_const_move): Add support for - generating LXVKQ. - (constant_generates_lxvkq): New function. - * config/rs6000/rs6000.opt (-mieee128-constant): New debug - option. - * config/rs6000/vsx.md (vsx_mov_64bit): Add support for - generating LXVKQ. - (vsx_mov_32bit): Likewise. - * doc/md.texi (PowerPC and IBM RS6000 constraints): Document the - eQ constraint. - -2021-12-15 Michael Meissner - - * config/rs6000/rs6000-protos.h (VECTOR_128BIT_BITS): New macro. - (VECTOR_128BIT_BYTES): Likewise. - (VECTOR_128BIT_HALF_WORDS): Likewise. - (VECTOR_128BIT_WORDS): Likewise. - (VECTOR_128BIT_DOUBLE_WORDS): Likewise. - (vec_const_128bit_type): New structure type. - (vec_const_128bit_to_bytes): New declaration. - * config/rs6000/rs6000.c (constant_int_to_128bit_vector): New - helper function. - (constant_fp_to_128bit_vector): New helper function. - (vec_const_128bit_to_bytes): New function. - -2021-12-15 Alexandre Oliva - - PR target/100518 - * builtins.c (try_store_by_multiple_pieces): Drop address - conversion to ptr_mode. - -2021-12-15 Alexandre Oliva - - PR middle-end/100843 - * builtins.c (try_store_by_multiple_pieces): Fail if min_len - is greater than max_len. - -2021-12-14 liuhongt - - PR target/103682 - * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Check - is_gimple_assign before gimple_assign_rhs_code. - -2021-12-14 Sören Tempel - - * ginclude/stddef.h (__DEFINED_ptrdiff_t): Add support for musl - libc typedef macro guard. - (__DEFINED_size_t): Ditto. - (__DEFINED_wchar_t): Ditto. - -2021-12-14 JoJo R - - * regrename.c (find_rename_reg): Return satisfied regno - if instruction is noop move. - -2021-12-14 Bill Schmidt - - * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Rename - rs6000_builtin_decls_x to rs6000_builtin_decls. - (altivec_resolve_overloaded_builtin): Likewise. Also rename - rs6000_builtin_info_x to rs6000_builtin_info. - * config/rs6000/rs6000-call.c (rs6000_invalid_builtin): Rename - rs6000_builtin_info_x to rs6000_builtin_info. - (rs6000_builtin_is_supported): Likewise. - (rs6000_gimple_fold_mma_builtin): Likewise. Also rename - rs6000_builtin_decls_x to rs6000_builtin_decls. - (rs6000_gimple_fold_builtin): Rename rs6000_builtin_info_x to - rs6000_builtin_info. - (cpu_expand_builtin): Likewise. - (rs6000_expand_builtin): Likewise. - (rs6000_init_builtins): Likewise. Also rename rs6000_builtin_decls_x - to rs6000_builtin_decls. - (rs6000_builtin_decl): Rename rs6000_builtin_decls_x to - rs6000_builtin_decls. - * config/rs6000/rs6000-gen-builtins.c (write_decls): In generated code, - rename rs6000_builtin_decls_x to rs6000_builtin_decls, and rename - rs6000_builtin_info_x to rs6000_builtin_info. - (write_bif_static_init): In generated code, rename - rs6000_builtin_info_x to rs6000_builtin_info. - (write_init_bif_table): In generated code, rename - rs6000_builtin_decls_x to rs6000_builtin_decls, and rename - rs6000_builtin_info_x to rs6000_builtin_info. - (write_init_ovld_table): In generated code, rename - rs6000_builtin_decls_x to rs6000_builtin_decls. - (write_init_file): Likewise. - * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): - Likewise. - (rs6000_builtin_md_vectorized_function): Likewise. - (rs6000_builtin_reciprocal): Likewise. - (add_condition_to_bb): Likewise. - (rs6000_atomic_assign_expand_fenv): Likewise. - -2021-12-14 Bill Schmidt - - * config/rs6000/rs6000-c.c (altivec_resolve_new_overloaded_builtin): - Remove forward declaration. - (rs6000_new_builtin_type_compatible): Rename to - rs6000_builtin_type_compatible. - (rs6000_builtin_type_compatible): Remove. - (altivec_resolve_overloaded_builtin): Remove. - (altivec_build_new_resolved_builtin): Rename to - altivec_build_resolved_builtin. - (altivec_resolve_new_overloaded_builtin): Rename to - altivec_resolve_overloaded_builtin. Remove static keyword. Adjust - called function names. - * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Remove - forward declaration. - (rs6000_gimple_fold_new_builtin): Likewise. - (rs6000_invalid_new_builtin): Rename to rs6000_invalid_builtin. - (rs6000_gimple_fold_builtin): Remove. - (rs6000_new_builtin_valid_without_lhs): Rename to - rs6000_builtin_valid_without_lhs. - (rs6000_new_builtin_is_supported): Rename to - rs6000_builtin_is_supported. - (rs6000_gimple_fold_new_mma_builtin): Rename to - rs6000_gimple_fold_mma_builtin. - (rs6000_gimple_fold_new_builtin): Rename to - rs6000_gimple_fold_builtin. Remove static keyword. Adjust called - function names. - (rs6000_expand_builtin): Remove. - (new_cpu_expand_builtin): Rename to cpu_expand_builtin. - (new_mma_expand_builtin): Rename to mma_expand_builtin. - (new_htm_spr_num): Rename to htm_spr_num. - (new_htm_expand_builtin): Rename to htm_expand_builtin. Change name - of called function. - (rs6000_expand_new_builtin): Rename to rs6000_expand_builtin. Remove - static keyword. Adjust called function names. - (rs6000_new_builtin_decl): Rename to rs6000_builtin_decl. Remove - static keyword. - (rs6000_builtin_decl): Remove. - * config/rs6000/rs6000-gen-builtins.c (write_decls): In gnerated code, - rename rs6000_new_builtin_is_supported to rs6000_builtin_is_supported. - * config/rs6000/rs6000-internal.h (rs6000_invalid_new_builtin): Rename - to rs6000_invalid_builtin. - * config/rs6000/rs6000.c (rs6000_new_builtin_vectorized_function): - Rename to rs6000_builtin_vectorized_function. - (rs6000_new_builtin_md_vectorized_function): Rename to - rs6000_builtin_md_vectorized_function. - (rs6000_builtin_vectorized_function): Remove. - (rs6000_builtin_md_vectorized_function): Remove. - -2021-12-14 Bill Schmidt - - * config/rs6000/rs6000-builtin.def: Delete. - * config/rs6000/rs6000-call.c (builtin_compatibility): Delete. - (builtin_description): Delete. - (builtin_hash_struct): Delete. - (builtin_hasher): Delete. - (builtin_hash_table): Delete. - (builtin_hasher::hash): Delete. - (builtin_hasher::equal): Delete. - (rs6000_builtin_info_type): Delete. - (rs6000_builtin_info): Delete. - (bdesc_compat): Delete. - (bdesc_3arg): Delete. - (bdesc_4arg): Delete. - (bdesc_dst): Delete. - (bdesc_2arg): Delete. - (bdesc_altivec_preds): Delete. - (bdesc_abs): Delete. - (bdesc_1arg): Delete. - (bdesc_0arg): Delete. - (bdesc_htm): Delete. - (bdesc_mma): Delete. - (rs6000_overloaded_builtin_p): Delete. - (rs6000_overloaded_builtin_name): Delete. - (htm_spr_num): Delete. - (rs6000_builtin_is_supported_p): Delete. - (rs6000_gimple_fold_mma_builtin): Delete. - (gt-rs6000-call.h): Remove include directive. - * config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_p): Delete. - (rs6000_builtin_is_supported_p): Delete. - (rs6000_overloaded_builtin_name): Delete. - * config/rs6000/rs6000.c (rs6000_builtin_decls): Delete. - (rs6000_debug_reg_global): Remove reference to RS6000_BUILTIN_COUNT. - * config/rs6000/rs6000.h (rs6000_builtins): Delete. - (altivec_builtin_types): Delete. - (rs6000_builtin_decls): Delete. - * config/rs6000/t-rs6000 (TM_H): Don't add rs6000-builtin.def. - -2021-12-14 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Rename to... - * config/rs6000/rs6000-builtins.def: ...this. - * config/rs6000/rs6000-gen-builtins.c: Adjust header commentary. - * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Rename - rs6000-builtin-new.def to rs6000-builtins.def. - (rs6000-builtins.c): Likewise. - -2021-12-14 Bill Schmidt - - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Remove. - * config/rs6000/rs6000.h (altivec_overloaded_builtins): Remove. - -2021-12-14 Peter Bergner - - PR target/103548 - * config/rs6000/mma.md (UNSPEC_MMA_ASSEMBLE): Rename unspec from this... - (UNSPEC_VSX_ASSEMBLE): ...to this. - (UNSPECV_MMA_ASSEMBLE): New unspecv. - (vsx_assemble_pair): Use UNSPEC_VSX_ASSEMBLE. - (*vsx_assemble_pair): Likewise. - (mma_assemble_acc): Use UNSPECV_MMA_ASSEMBLE. - (*mma_assemble_acc): Likewise. - * config/rs6000/rs6000.c (rs6000_split_multireg_move): Handle - UNSPEC_VOLATILE. Use UNSPEC_VSX_ASSEMBLE and UNSPECV_MMA_ASSEMBLE. - -2021-12-14 Uroš Bizjak - - PR target/103571 - * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate) - : Implement for TARGET_SSE2. - : Implement for TARGET_AVX. - : Implement for TARGET_AVX512F. - (ix86_expand_vector_set_var): Handle V32HFmode - without TARGET_AVX512BW. - (ix86_expand_vector_extract) - : Implement for TARGET_SSE2. - : Implement for TARGET_AVX. - : Implement for TARGET_AVX512BW. - (expand_vec_perm_broadcast_1) : New. - * config/i386/sse.md (VI12HF_AVX512VL): Remove - TARGET_AVX512FP16 condition. - (V): Ditto. - (V_256_512): Ditto. - (avx_vbroadcastf128_): Use V_256H mode iterator. - -2021-12-14 Bill Schmidt - - * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Remove - test for new_builtins_are_live and simplify. - * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Remove - dead function. - (altivec_resolve_overloaded_builtin): Remove test for - new_builtins_are_live and simplify. - * config/rs6000/rs6000-call.c (altivec_init_builtins): Remove forward - declaration. - (builtin_function_type): Likewise. - (rs6000_common_init_builtins): Likewise. - (htm_init_builtins): Likewise. - (mma_init_builtins): Likewise. - (def_builtin): Remove dead function. - (rs6000_expand_zeroop_builtin): Likewise. - (rs6000_expand_mtfsf_builtin): Likewise. - (rs6000_expand_mtfsb_builtin): Likewise. - (rs6000_expand_set_fpscr_rn_builtin): Likewise. - (rs6000_expand_set_fpscr_drn_builtin): Likewise. - (rs6000_expand_unop_builtin): Likewise. - (altivec_expand_abs_builtin): Likewise. - (rs6000_expand_binop_builtin): Likewise. - (altivec_expand_lxvr_builtin): Likewise. - (altivec_expand_lv_builtin): Likewise. - (altivec_expand_stxvl_builtin): Likewise. - (altivec_expand_stv_builtin): Likewise. - (mma_expand_builtin): Likewise. - (htm_expand_builtin): Likewise. - (cpu_expand_builtin): Likewise. - (rs6000_expand_quaternop_builtin): Likewise. - (rs6000_expand_ternop_builtin): Likewise. - (altivec_expand_dst_builtin): Likewise. - (altivec_expand_vec_sel_builtin): Likewise. - (altivec_expand_builtin): Likewise. - (rs6000_invalid_builtin): Likewise. - (rs6000_builtin_valid_without_lhs): Likewise. - (rs6000_gimple_fold_builtin): Remove test for new_builtins_are_live and - simplify. - (rs6000_expand_builtin): Likewise. - (rs6000_init_builtins): Remove tests for new_builtins_are_live and - simplify. - (rs6000_builtin_decl): Likewise. - (altivec_init_builtins): Remove dead function. - (mma_init_builtins): Likewise. - (htm_init_builtins): Likewise. - (builtin_quaternary_function_type): Likewise. - (builtin_function_type): Likewise. - (rs6000_common_init_builtins): Likewise. - * config/rs6000/rs6000-gen-builtins.c (write_header_file): Don't - declare new_builtins_are_live. - (write_init_bif_table): In generated code, remove test for - new_builtins_are_live and simplify. - (write_init_ovld_table): Likewise. - (write_init_file): Don't initialize new_builtins_are_live. - * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove - test for new_builtins_are_live and simplify. - (rs6000_builtin_md_vectorized_function): Likewise. - (rs6000_builtin_reciprocal): Likewise. - (add_condition_to_bb): Likewise. - (rs6000_atomic_assign_expand_fenv): Likewise. - -2021-12-14 Bill Schmidt - - PR target/103625 - * config/rs6000/rs6000-builtin-new.def (__builtin_altivec_vcmpequd): - Move to power8-vector stanza. - (__builtin_altivec_vcmpequd_p): Likewise. - (__builtin_altivec_vcmpgtsd): Likewise. - (__builtin_altivec_vcmpgtsd_p): Likewise. - (__builtin_altivec_vcmpgtud): Likewise. - (__builtin_altivec_vcmpgtud_p): Likewise. - -2021-12-14 Bill Schmidt - - PR target/103623 - * config/rs6000/rs6000-builtin-new.def (__builtin_pack_longdouble): Add - ibmld attribute. - (__builtin_unpack_longdouble): Likewise. - * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Add special - handling for ibmld attribute. - * config/rs6000/rs6000-gen-builtins.c (attrinfo): Add isibmld. - (parse_bif_attrs): Handle ibmld. - (write_decls): Likewise. - (write_bif_static_init): Likewise. - -2021-12-14 Jan Hubicka - - PR ipa/103585 - * ipa-modref-tree.c (modref_access_node::range_info_useful_p): Handle - MODREF_GLOBAL_MEMORY_PARM. - (modref_access_node::dump): Likewise. - (modref_access_node::get_call_arg): Likewise. - * ipa-modref-tree.h (enum modref_special_parms): Add - MODREF_GLOBAL_MEMORY_PARM. - (modref_access_node::useful_for_kill): Handle - MODREF_GLOBAL_MEMORY_PARM. - (modref:tree::merge): Add promote_unknown_to_global. - * ipa-modref.c (verify_arg):New function. - (may_access_nonescaping_parm_p): New function. - (modref_access_analysis::record_global_memory_load): New member - function. - (modref_access_analysis::record_global_memory_store): Likewise. - (modref_access_analysis::process_fnspec): Distingush global and local - memory. - (modref_access_analysis::analyze_call): Likewise. - * tree-ssa-alias.c (ref_may_access_global_memory_p): New function. - (modref_may_conflict): Use it. - -2021-12-14 Przemyslaw Wirkus - - * config/aarch64/aarch64-builtins.c (enum aarch64_builtins): - Define AARCH64_LS64_BUILTIN_LD64B, AARCH64_LS64_BUILTIN_ST64B, - AARCH64_LS64_BUILTIN_ST64BV, AARCH64_LS64_BUILTIN_ST64BV0. - (aarch64_init_ls64_builtin_decl): Helper function. - (aarch64_init_ls64_builtins): Helper function. - (aarch64_init_ls64_builtins_types): Helper function. - (aarch64_general_init_builtins): Init LS64 intrisics for - TARGET_LS64. - (aarch64_expand_builtin_ls64): LS64 intrinsics expander. - (aarch64_general_expand_builtin): Handle aarch64_expand_builtin_ls64. - (ls64_builtins_data): New helper struct. - (v8di_UP): New define. - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define - __ARM_FEATURE_LS64. - * config/aarch64/aarch64.c (aarch64_classify_address): Enforce the - V8DI range (7-bit signed scaled) for both ends of the range. - * config/aarch64/aarch64-simd.md (movv8di): New pattern. - (aarch64_movv8di): New pattern. - * config/aarch64/aarch64.h (AARCH64_ISA_LS64): New define. - (TARGET_LS64): New define. - * config/aarch64/aarch64.md: Add UNSPEC_LD64B, UNSPEC_ST64B, - UNSPEC_ST64BV and UNSPEC_ST64BV0. - (ld64b): New define_insn. - (st64b): New define_insn. - (st64bv): New define_insn. - (st64bv0): New define_insn. - * config/aarch64/arm_acle.h (data512_t): New type derived from - __arm_data512_t. - (__arm_data512_t): New internal type. - (__arm_ld64b): New intrinsic. - (__arm_st64b): New intrinsic. - (__arm_st64bv): New intrinsic. - (__arm_st64bv0): New intrinsic. - * config/arm/types.md: Add new type ls64. - -2021-12-14 Olivier Hainque - - * config/i386/t-vxworks: Drop the fPIC multilibs. - -2021-12-14 Fred Konrad - - * config/rs6000/t-vxworks: Drop the fPIC multilib. - -2021-12-13 Vladimir N. Makarov - - PR target/99531 - * ira-costs.c (record_operand_costs): Do not take pseudo class - calculated on the 1st iteration into account when processing move - involving the pseudo and a hard register. - -2021-12-13 Roger Sayle - - * config/i386/i386.md (define_split any_or:SWI248 -> orb %?h): - Optimize the case where the integer constant operand is zero. - -2021-12-13 Doug Rupp - Olivier Hainque - - * config/vxworks.h (VXWORKS_LINK_OS_SPEC): New spec. - (VXWORKS_BASE_LINK_SPEC): New spec, using the former. - (VXWORKS_EXTRA_LINK_SPEC): New spec for old and new VxWorks. - (VXWORKS_LINK_SPEC): Combo of BASE and EXTRA specs. - * config/rs6000/vxworks.h (VXWORKS_LINK_OS_SPEC): Empty. - (LINK_OS_EXTRA_SPEC32): Use VXWORKS_LINK_SPEC. - (LINK_OS_EXTRA_SPEC64): Likewise. - -2021-12-13 Fred Konrad - Olivier Hainque - - * config/vxworks.h (VXWORKS_BASE_LIBS_RTP): Guard -lc_internal - on !shared+!non-static and document. - (VXWORKS_LIB_SPEC): Remove the bits intended to drag the - init/fini functions from libc_internal in the shared lib case. - (VX_CRTBEGIN_SPEC/VX_CRTEND_SPEC): Use vxcrtstuff objects also in - configurations with shared lib and INITFINI_ARRAY support. - -2021-12-13 Fred Konrad - Olivier Hainque - - * config/vx-common.h: Define REAL_LIBGCC_SPEC since the - '-non-static' option is not standard. - * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Implement the LIBGCC_SPEC - since REAL_LIBGCC_SPEC is used now. - (STARTFILE_PREFIX_SPEC): Use the PIC VSB when building shared libraries - or non-static binaries. - -2021-12-13 Jan Hubicka - - * common.opt: Add -fipa-strict-aliasing. - * doc/invoke.texi: Document -fipa-strict-aliasing. - * ipa-modref.c (modref_access_analysis::record_access): Honor - -fipa-strict-aliasing. - (modref_access_analysis::record_access_lto): Likewise. - -2021-12-13 Kyrylo Tkachov - - * config/aarch64/aarch64-arches.def (armv8.8-a): Define. - * config/aarch64/aarch64.h (AARCH64_FL_V8_8): Define. - (AARCH64_FL_FOR_ARCH8_8): Define. - * doc/invoke.texi: Document -march=armv8.8-a. - -2021-12-13 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_expand_setmem_mops): Define. - (aarch64_expand_setmem): Adjust for TARGET_MOPS. - * config/aarch64/aarch64.h (CLEAR_RATIO): Adjust for TARGET_MOPS. - (SET_RATIO): Likewise. - * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_SETMEM. - (aarch64_setmemdi): Define. - (setmemdi): Adjust for TARGET_MOPS. - * config/aarch64/aarch64.opt (aarch64-mops-memset-size-threshold): - New param. - -2021-12-13 Kyrylo Tkachov - - * config/aarch64/aarch64.md (aarch64_movmemdi): Define. - (movmemdi): Define. - (unspec): Add UNSPEC_MOVMEM. - * config/aarch64/aarch64.opt (aarch64-mops-memmove-size-threshold): - New param. - -2021-12-13 Kyrylo Tkachov - - * config/aarch64/aarch64-option-extensions.def (mops): Define. - * config/aarch64/aarch64.c (aarch64_expand_cpymem_mops): Define. - (aarch64_expand_cpymem): Define. - * config/aarch64/aarch64.h (AARCH64_FL_MOPS): Define. - (AARCH64_ISA_MOPS): Define. - (TARGET_MOPS): Define. - (MOVE_RATIO): Adjust for TARGET_MOPS. - * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_CPYMEM. - (aarch64_cpymemdi): New pattern. - (cpymemdi): Adjust for TARGET_MOPS. - * config/aarch64/aarch64.opt (aarch64-mops-memcpy-size-threshol): - New param. - * doc/invoke.texi (AArch64 Options): Document +mops. - -2021-12-13 Martin Liska - - PR ipa/103636 - * ipa-inline.c (can_inline_edge_p): Move logic checking - no_profile_instrument_function logic to ... - (can_early_inline_edge_p): ... here. - -2021-12-13 Olivier Hainque - - * config/vxworks/_yvals.h: #include yvals.h also if - defined(__RTP__). - -2021-12-13 Olivier Hainque - - * config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): Define - _C99 for C++. - -2021-12-13 Olivier Hainque - - * config/t-vxworks: Clear NATIVE_SYSTEM_HEADER_DIR. - * config/vxworks.h (SYSROOT_HEADERS_SUFFIX_SPEC): Define, for - VxWorks 7 and earlier. - (VXWORKS_ADDITIONAL_CPP_SPEC): Simplify accordingly. - (STARTFILE_PREFIX_SPEC): Adjust accordingly. - * config/rs6000/vxworks.h (STARTFILE_PREFIX_SPEC): Adjust. - -2021-12-13 Martin Liska - - * doc/extend.texi: Use @item for the first @itemx entry. - -2021-12-13 Jakub Jelinek - - * machmode.h (gt_pch_nx): Use gt_pointer_operator as type of second - argument instead of equivalent void (*) (void *, void *, void *). - * poly-int.h (gt_pch_nx): Likewise. - * wide-int.h (gt_pch_nx): Likewise. - * config/aarch64/aarch64-sve-builtins.cc (gt_pch_nx): Likewise. - -2021-12-13 Jan Hubicka - - PR ipa/103513 - * ipa-fnsummary.c (evaluate_conditions_for_known_args): Do not ICE - on ternary expression. - -2021-12-13 Kewen Lin - - PR target/103515 - * attribs.c (decl_attributes): Check if target options change and - create one node if so. - -2021-12-12 Jonathan Wakely - - * Makefile.in: Remove unique-ptr-tests.o. - * selftest-run-tests.c (selftest::run_tests): Remove - unique_ptr_tests_cc_tests. - * selftest.h (unique_ptr_tests_cc_tests): Remove. - * system.h: Check INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR - and include instead of "unique-ptr.h". - * unique-ptr-tests.cc: Removed. - -2021-12-12 Roger Sayle - - * config/nvptx/nvptx-opts.h (ptx_isa): Add PTX_ISA_SM53 ISA level - to enumeration. - * config/nvptx/nvptx.opt: Add sm_53 to -misa. - * config/nvptx/nvptx-modes.def: Add support for HFmode. - * config/nvptx/nvptx.h (TARGET_SM53): - New helper macro to conditionalize functionality on target ISA. - * config/nvptx/nvptx-c.c (nvptx_cpu_cpp_builtins): Add __PTX_SM__ - support for the new ISA levels. - * config/nvptx/nvptx.c (nvtx_ptx_type_from_mode): Support new HFmode - with the ".f16" suffix/qualifier. - (nvptx_file_start): Add support for TARGET_SM53. - (nvptx_omp_device_kind_arch_isa): Add support for TARGET_SM53 - and tweak TARGET_SM35. - (nvptx_scalar_mode_supported_p): Target hook with conditional - HFmode support on TARGET_SM53 and higher. - (nvptx_libgcc_floating_mode_supported_p): Likewise. - (TARGET_SCALAR_MODE_SUPPORTED_P): Use nvptx_scalar_mode_supported_p. - (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Likewise, use new hook. - * config/nvptx/nvptx.md (*movhf_insn): New define_insn. - (movhf): New define_expand for HFmode moves. - (addhf3, subhf3, mulhf, extendhf2, trunchf2): New - instructions conditional on TARGET_SM53 (i.e. -misa=sm_53). - -2021-12-12 Jan Hubicka - - PR ipa/103665 - * ipa-modref.c (modref_access_analysis::analyze): Terminate BB - analysis on NULL memory access. - * ipa-pure-const.c (analyze_function): Likewise. - -2021-12-11 Jan Hubicka - - * ipa-profile.c (ipa_profile): Do not update hot bb threshold. - -2021-12-11 Jan Hubicka - - * ipa-modref.c (get_modref_function_summary): Use ultimate_alias_target. - (ignore_edge): Likewise. - (compute_parm_map): Likewise. - (modref_propagate_in_scc): Likewise. - (modref_propagate_flags_in_scc): Likewise. - -2021-12-10 Jason Merrill - - * symtab.c (symtab_node::equal_address_to): Fix comment typo. - -2021-12-10 Doug Rupp - - * config/vxworks.h (LINK_SPEC): Remove %(link_target). - Change %{v:-v} to %{v:-V}. - -2021-12-10 Olivier Hainque - - * config/t-vxworks: Remove assignment to STMP_FIXINC. - -2021-12-10 Martin Liska - - * params.opt: Add missing dot. - -2021-12-10 Roger Sayle - - PR ipa/103601 - * ipa-modref-tree.h (useful_for_kill_p): Zero width accesses aren't - useful for kill tracking. - -2021-12-10 Andrew Stubbs - - * config/gcn/mkoffload.c (process_asm): Process the variable table - completely differently. - (process_obj): Encode the varaible data differently. - -2021-12-10 Joel Hutton - - PR tree-optimization/103523 - * tree-vect-loop.c (vectorizable_induction): Check for - PLUS_EXPR/MINUS_EXPR support. - -2021-12-10 Cui,Lili - - * config/i386/i386.c (ix86_vector_costs::add_stmt_cost): Remove Tremont. - -2021-12-09 Jan Hubicka - - * doc/invoke.texi (max-inline-functions-called-once-loop-depth, - max-inline-functions-called-once-insns): New parameters. - * ipa-inline.c (check_callers): Handle - param_inline_functions_called_once_loop_depth and - param_inline_functions_called_once_insns. - (edge_badness): Fix linebreaks. - * params.opt (param=max-inline-functions-called-once-loop-depth, - param=max-inline-functions-called-once-insn): New params. - -2021-12-09 Martin Sebor - - PR tree-optimization/103215 - * pointer-query.cc (access_ref::merge_ref): Extend the offset and - size of the merged object instead of using the larger. - -2021-12-09 Martin Sebor - - PR middle-end/101751 - * doc/extend.texi (attribute access): Adjust. - * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): - Treat access mode none on a void* argument as expecting as few as - zero bytes. - -2021-12-09 Jakub Jelinek - - PR pch/71934 - * config/aarch64/aarch64-sve-builtins.cc (gt_pch_nx): Change type of - second argument from function with 2 pointer arguments to function - with 3 pointer arguments. - -2021-12-09 Olivier Hainque - - * config/aarch64/aarch64-vxworks.h (TARGET_OS_CPP_BUILTINS): - Use VX_CPU_PREFIX in CPU definitions. - -2021-12-09 Martin Sebor - - * pointer-query.cc (access_ref::dump): Define new function - (pointer_query::dump): Call it. - * pointer-query.h (access_ref::dump): Declare new function. - -2021-12-09 Martin Sebor - - * pointer-query.cc (compute_objsize_r): Add an argument. - (gimple_call_return_array): Pass a new argument to compute_objsize_r. - (access_ref::merge_ref): Same. - (access_ref::inform_access): Add an argument and use it. - (access_data::access_data): Initialize new member. - (handle_min_max_size): Pass a new argument to compute_objsize_r. - (handle_decl): New function. - (handle_array_ref): Pass a new argument to compute_objsize_r. - Avoid incrementing deref. - (set_component_ref_size): New function. - (handle_component_ref): New function. - (handle_mem_ref): Pass a new argument to compute_objsize_r. - Only increment deref after successfully computing object size. - (handle_ssa_name): New function. - (compute_objsize_r): Move code into helpers and call them. - (compute_objsize): Pass a new argument to compute_objsize_r. - * pointer-query.h (access_ref::inform_access): Add an argument. - (access_data::ostype): New member. - -2021-12-09 Martin Sebor - - * pointer-query.cc (access_ref::merge_ref): Define new function. - (access_ref::get_ref): Move code into merge_ref and call it. - * pointer-query.h (access_ref::merge_ref): Declare new function. - -2021-12-09 Martin Sebor - - * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Pass - GIMPLE statement to compute_objsize. - * pointer-query.cc (compute_objsize): Add a statement argument. - * pointer-query.h (compute_objsize): Define a new overload. - -2021-12-09 Martin Sebor - - * gimple-ssa-warn-access.cc (check_access): Adjust to member name - change. - (pass_waccess::check_strncmp): Same. - * pointer-query.cc (access_ref::access_ref): Remove arguments. - Simpilfy. - (access_data::access_data): Define new ctors. - (access_data::set_bound): Define new member function. - (compute_objsize_r): Remove unnecessary code. - * pointer-query.h (struct access_ref): Remove ctor arguments. - (struct access_data): Declare ctor overloads. - (access_data::dst_bndrng): New member. - (access_data::src_bndrng): New member. - -2021-12-09 Martin Sebor - - PR middle-end/103143 - * pointer-query.cc (gimple_call_return_array): Call compute_objsize_r. - -2021-12-09 Olivier Hainque - Rasmus Villemoes - - * Makefile.in (T_STDINT_GCC_H): New variable, path to - stdint-gcc.h that a target configuration may override when - use_gcc_stdint is "provide". - (stmp-int-hdrs): Depend on it and copy that for - USE_GCC_INT=provide. - * config.gcc (vxworks): Revert to use_gcc_stdint=provide. - * config/t-vxworks (T_STDINT_GCC_H): Define, as vxw-stdint-gcc.h. - (vxw-stdint-gcc.h): New target, produced from the original - stdint-gcc.h. - (vxw-glimits.h): Use an automatic variable to designate the - first and only prerequisite. - * config/vxworks/stdint.h: Remove. - -2021-12-09 Iain Sandoe - - PR pch/71934 - * config/host-darwin.c (SAFE_ALLOC_SIZE): Remove. - (darwin_gt_pch_get_address): Rework for relocatable PCH. - (darwin_gt_pch_use_address): Likewise. - -2021-12-09 Jakub Jelinek - - PR pch/71934 - * config/host-darwin.c (darwin_gt_pch_use_address): When reading - manually the file into mapped area, update mapped_addr as - an automatic variable rather than addr which is a reference parameter. - * config/host-hpux.c (hpux_gt_pch_use_address): When reading - manually the file into mapped area, update addr as - an automatic variable rather than base which is a reference parameter. - -2021-12-09 Jakub Jelinek - - PR pch/71934 - * coretypes.h (gt_pointer_operator): Use 3 pointer arguments instead - of two. - * gengtype.c (struct walk_type_data): Add in_nested_ptr argument. - (walk_type): Temporarily set d->in_nested_ptr around nested_ptr - handling. - (write_types_local_user_process_field): Pass a new middle pointer - to gt_pointer_operator op calls, if d->in_nested_ptr pass there - address of d->prev_val[2], otherwise NULL. - (write_types_local_process_field): Likewise. - * ggc-common.c (relocate_ptrs): Add real_ptr_p argument. If equal - to ptr_p, do nothing, otherwise if NULL remember ptr_p's - or if non-NULL real_ptr_p's corresponding new address in - reloc_addrs_vec. - (reloc_addrs_vec): New variable. - (compare_ptr, read_uleb128, write_uleb128): New functions. - (gt_pch_save): When iterating over objects through relocate_ptrs, - save current i into state.ptrs_i. Sort reloc_addrs_vec and emit - it as uleb128 of differences between pointer addresses into the - PCH file. - (gt_pch_restore): Allow restoring of PCH to a different address - than the preferred one, in that case adjust global pointers by bias - and also adjust by bias addresses read from the relocation table - as uleb128 differences. Otherwise fseek over it. Perform - gt_pch_restore_stringpool only after adjusting callbacks and for - callback adjustments also take into account the bias. - (default_gt_pch_use_address): Change type of first argument from - void * to void *&. - (mmap_gt_pch_use_address): Likewise. - * ggc-tests.c (gt_pch_nx): Pass NULL as new middle argument to op. - * hash-map.h (hash_map::pch_nx_helper): Likewise. - (gt_pch_nx): Likewise. - * hash-set.h (gt_pch_nx): Likewise. - * hash-table.h (gt_pch_nx): Likewise. - * hash-traits.h (ggc_remove::pch_nx): Likewise. - * hosthooks-def.h (default_gt_pch_use_address): Change type of first - argument from void * to void *&. - (mmap_gt_pch_use_address): Likewise. - * hosthooks.h (struct host_hooks): Change type of first argument of - gt_pch_use_address hook from void * to void *&. - * machmode.h (gt_pch_nx): Expect a callback with 3 pointers instead of - two in the middle argument. - * poly-int.h (gt_pch_nx): Likewise. - * stringpool.c (gt_pch_nx): Pass NULL as new middle argument to op. - * tree-cfg.c (gt_pch_nx): Likewise, except for LOCATION_BLOCK pass - the same &(block) twice. - * value-range.h (gt_pch_nx): Pass NULL as new middle argument to op. - * vec.h (gt_pch_nx): Likewise. - * wide-int.h (gt_pch_nx): Likewise. - * config/host-darwin.c (darwin_gt_pch_use_address): Change type of - first argument from void * to void *&. - * config/host-darwin.h (darwin_gt_pch_use_address): Likewise. - * config/host-hpux.c (hpux_gt_pch_use_address): Likewise. - * config/host-linux.c (linux_gt_pch_use_address): Likewise. If - it couldn't succeed to mmap at the preferred location, set base - to the actual one. Update addr in the manual reading loop instead of - base. - * config/host-netbsd.c (netbsd_gt_pch_use_address): Change type of - first argument from void * to void *&. - * config/host-openbsd.c (openbsd_gt_pch_use_address): Likewise. - * config/host-solaris.c (sol_gt_pch_use_address): Likewise. - * config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Likewise. - * config/rs6000/rs6000-gen-builtins.c (write_init_file): Pass NULL - as new middle argument to op in the generated code. - * doc/gty.texi: Adjust samples for the addition of middle pointer - to gt_pointer_operator callback. - -2021-12-09 Alexandre Oliva - - PR target/103097 - * reg-stack.c (convert_regs_1): Move any_malformed_asm - resetting... - (reg_to_stack): ... here. - -2021-12-09 Alexandre Oliva - - PR target/103302 - * expr.c (emit_move_multi_word): Skip clobber during lra. - -2021-12-09 Alexandre Oliva - - PR tree-optimization/103024 - PR middle-end/103530 - * gimple-harden-conditionals.cc (non_eh_succ_edge): New. - (pass_harden_compares::execute): Accept 1-bit integral types, - and cope with throwing compares. - -2021-12-08 Iain Sandoe - - * config/darwin.h (DARWIN_PIE_SPEC): Add -no_pie when - linking mdynamic-no-pic code on macOS > 10.7. - -2021-12-08 Dimitar Dimitrov - - * config/pru/pru.c (pru_section_type_flags): New function. - (TARGET_SECTION_TYPE_FLAGS): Wire it. - -2021-12-08 David Faust - - * config/bpf/bpf.c (handle_attr_preserve): Avoid calling - is_gimple_assign with a NULL pointer. - -2021-12-08 Martin Liska - - * profile-count.c (profile_count::dump): Add function - that can dump to a provided buffer. - (profile_probability::dump): Likewise. - * profile-count.h: Likewise. - * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): - Use dump_printf_loc infrastructure. - (tree_unswitch_outer_loop): Likewise. - (find_loop_guard): Likewise. - (hoist_guard): Likewise. - -2021-12-08 Chung-Lin Tang - - * gimplify.c (extract_base_bit_offset): Add 'tree *offsetp' parameter, - accomodate case where 'offset' return of get_inner_reference is - non-NULL. - (is_or_contains_p): Further robustify conditions. - (omp_target_reorder_clauses): In alloc/to/from sorting phase, also - move following GOMP_MAP_ALWAYS_POINTER maps along. Add new sorting - phase where we make sure pointers with an attach/detach map are ordered - correctly. - (gimplify_scan_omp_clauses): Add modifications to avoid creating - GOMP_MAP_STRUCT and associated alloc map for attach/detach maps. - -2021-12-08 Roger Sayle - - * config/nvptx/nvptx.md (*extend_trunc_2_qi, - *extend_trunc_2_hi, *extend_trunc_di2_si): New insns. - Use cvt to perform sign-extension of truncation in one step. - -2021-12-08 Chung-Lin Tang - - PR middle-end/92120 - * gimplify.c ("tree-hash-traits.h"): Add include. - (gimplify_scan_omp_clauses): Change struct_map_to_clause to type - hash_map *. Adjust struct map handling to handle - cases of *A and A->B expressions. Under !DECL_P case of - GOMP_CLAUSE_MAP handling, add STRIP_NOPS for indir_p case, add to - struct_deref_set for map(*ptr_to_struct) cases. Add MEM_REF case when - handling component_ref_p case. Add unshare_expr and gimplification - when created GOMP_MAP_STRUCT is not a DECL. Add code to add - firstprivate pointer for *pointer-to-struct case. - (gimplify_adjust_omp_clauses): Move GOMP_MAP_STRUCT removal code for - exit data directives code to earlier position. - * omp-low.c (lower_omp_target): - Handle GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and - GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION map kinds. - * tree-pretty-print.c (dump_omp_clause): Likewise. - -2021-12-08 Andrew Stubbs - Hafiz Abid Qadeer - - * dwarf2cfi.c (dw_stack_pointer_regnum): Change type to struct cfa_reg. - (dw_frame_pointer_regnum): Likewise. - (new_cfi_row): Use set_by_dwreg. - (get_cfa_from_loc_descr): Use set_by_dwreg. Support register spans. - handle DW_OP_bregx with DW_OP_breg{0-31}. Support DW_OP_lit*, - DW_OP_const*, DW_OP_minus, DW_OP_shl and DW_OP_plus. - (lookup_cfa_1): Use set_by_dwreg. - (def_cfa_0): Update for cfa_reg and support register spans. - (reg_save): Change sreg parameter to struct cfa_reg. Support register - spans. - (dwf_cfa_reg): New function. - (dwarf2out_flush_queued_reg_saves): Use dwf_cfa_reg instead of - dwf_regno. - (dwarf2out_frame_debug_def_cfa): Likewise. - (dwarf2out_frame_debug_adjust_cfa): Likewise. - (dwarf2out_frame_debug_cfa_offset): Likewise. Update reg_save usage. - (dwarf2out_frame_debug_cfa_register): Likewise. - (dwarf2out_frame_debug_expr): Likewise. - (create_pseudo_cfg): Use set_by_dwreg. - (initial_return_save): Use set_by_dwreg and dwf_cfa_reg, - (create_cie_data): Use dwf_cfa_reg. - (execute_dwarf2_frame): Use dwf_cfa_reg. - (dump_cfi_row): Use set_by_dwreg. - * dwarf2out.c (build_span_loc, build_breg_loc): New function. - (build_cfa_loc): Support register spans. - (build_cfa_aligned_loc): Update cfa_reg usage. - (convert_cfa_to_fb_loc_list): Use set_by_dwreg. - * dwarf2out.h (struct cfa_reg): New type. - (struct dw_cfa_location): Use struct cfa_reg. - (build_span_loc): New prototype. - -2021-12-08 Haochen Jiang - - PR target/100738 - * config/i386/sse.md - (*_blendv_not_ltint): - Add new define_insn_and_split. - -2021-12-08 Alexandre Oliva - - PR middle-end/103149 - * gimple-harden-conditionals.cc (detach_value): Use memory if - general regs won't do. - -2021-12-07 Martin Liska - - PR middle-end/103438 - * config/s390/s390.c (s390_valid_target_attribute_inner_p): - Use new enum CLVC_INTEGER. - * opt-functions.awk: Use new CLVC_INTEGER. - * opts-common.c (set_option): Likewise. - (option_enabled): Return -1,0,1 for CLVC_INTEGER. - (get_option_state): Use new CLVC_INTEGER. - (control_warning_option): Likewise. - * opts.h (enum cl_var_type): Likewise. - -2021-12-07 H.J. Lu - - PR target/103594 - * config/i386/i386.c (ix86_call_use_plt_p): Check FUNCTION_DECL - before calling cgraph_node::get. - -2021-12-07 Richard Biener - - PR tree-optimization/103596 - * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): - Note we are not propagating into a PHI argument to may_propagate_copy. - * tree-ssa-propagate.h (may_propagate_copy): Add - argument specifying whether we propagate into a PHI arg. - * tree-ssa-propagate.c (may_propagate_copy): Likewise. - When not doing so we can replace an abnormal with - something else. - (may_propagate_into_stmt): Update may_propagate_copy calls. - (replace_exp_1): Move propagation checking code to - propagate_value and rename to ... - (replace_exp): ... this and elide previous wrapper. - (propagate_value): Perform checking with adjusted - may_propagate_copy call and dispatch to replace_exp. - -2021-12-07 Matthias Kretz - - * hash-map.h (hash_map::traverse): Let both overloads behave the - same. - * predict.c (assert_is_empty): Return true, thus not changing - behavior. - -2021-12-07 YunQiang Su - - * config/mips/mips.h (ISA_HAS_UNALIGNED_ACCESS, STRICT_ALIGNMENT): - R6 can unaligned access. - * config/mips/mips.md (movmisalign): Likewise. - * config/mips/mips.opt: add -m(no-)unaligned-access - * doc/invoke.texi: Likewise. - -2021-12-07 Eugene Rozenfeld - - * auto-profile.c (afdo_propagate_edge): Improve count propagation algorithm. - -2021-12-06 Paul A. Clarke - - PR target/103545 - * config/rs6000/xmmintrin.h (_mm_movemask_ps): Replace "vector" with - "__vector". - -2021-12-06 Jose E. Marchesi - - * config/bpf/bpf.c (bpf_handle_preserve_access_index_attribute): - Mark arguments `args' and flags' as unused. - (bpf_core_newdecl): Remove unused local `newdecl'. - (bpf_core_newdecl): Remove unused argument `loc'. - (ctfc_debuginfo_early_finish_p): Remove unused function. - (TARGET_CTFC_DEBUGINFO_EARLY_FINISH_P): Remove definition. - (bpf_core_walk): Do not pass a location to bpf_core_newdecl. - -2021-12-06 Richard Sandiford - - * gimple-range-edge.cc (gimple_outgoing_range::edge_range_p): Add - a shortcut for blocks with single successors. - * gimple-range-gori.cc (gori_map::calculate_gori): Likewise. - -2021-12-06 Richard Sandiford - - * value-range.cc (irange::irange_union): Use quick_push rather - than safe_push. Use widest_int rather than wide_int. Avoid - assigning wi::to_* results to wide*_int temporaries. - -2021-12-06 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Check for - a range from dominators before filling the cache. - (ranger_cache::range_from_dom): New. - * gimple-range-cache.h (ranger_cache::range_from_dom): Add prototype. - -2021-12-06 Andrew MacLeod - - * gimple-range-gori.h (class gori_compute):: Add prototypes. - * gimple-range-gori.cc (gori_compute::has_edge_range_p): Add alternate - API for basic block. Call for edge alterantive. - (gori_compute::may_recompute_p): Ditto. - -2021-12-06 Richard Biener - - PR tree-optimization/103581 - * tree-vect-stmts.c (vect_build_gather_load_calls): Properly - guard all the AVX512 mask cases. - -2021-12-06 Richard Biener - - PR tree-optimization/103544 - * tree-vect-slp.c (vect_analyze_slp): Only add a SLP reduction - opportunity if the stmt in question is the reduction root. - (dot_slp_tree): Add missing check for NULL child. - -2021-12-06 Jakub Jelinek - - PR pch/71934 - * config/avr/avr.c (avr_output_data_section_asm_op, - avr_output_bss_section_asm_op): Change argument type from const void * - to const char *. - -2021-12-06 Tamar Christina - - PR rtl-optimization/103404 - * cse.c (find_sets_in_insn): Don't select elements out of a V1 mode - subreg. - -2021-12-06 Hongtao Liu - Uroš Bizjak - - PR target/95740 - * config/i386/i386.c (ix86_preferred_reload_class): Allow - integer regs when moves between register units are cheap. - * config/i386/i386.h (INT_SSE_CLASS_P): New. - -2021-12-05 David Edelsohn - - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move - AIX math builtin initialization before new_builtins_are_live. - -2021-12-04 Jakub Jelinek - - * config/i386/x86-tune.def (X86_TUNE_PARTIAL_REG_DEPENDENCY): Fix - comment typo, Preffer -> prefer. - * ipa-modref-tree.c (modref_access_node::closer_pair_p): Likewise. - -2021-12-04 Alexandre Oliva - - PR rtl-optimization/103028 - * ifcvt.c (find_cond_trap): Validate new insns more strictly - after reload. - -2021-12-03 Martin Liska - Peter Bergner - - PR target/101324 - * config/rs6000/rs6000.c (rs6000_option_override_internal): Move the - disabling of shrink-wrapping when using -mrop-protect from here... - (rs6000_override_options_after_change): ...to here. - -2021-12-03 H.J. Lu - - PR target/103269 - * config/i386/i386-expand.c (ix86_expand_builtin): Pass PVW_NONE - and PVW_NONE to ix86_target_string. - * config/i386/i386-options.c (ix86_target_string): Add arguments - for move_max and store_max. - (ix86_target_string::add_vector_width): New lambda. - (ix86_debug_options): Pass ix86_move_max and ix86_store_max to - ix86_target_string. - (ix86_function_specific_print): Pass ptr->x_ix86_move_max and - ptr->x_ix86_store_max to ix86_target_string. - (ix86_valid_target_attribute_tree): Handle x_ix86_move_max and - x_ix86_store_max. - (ix86_option_override_internal): Set the default x_ix86_move_max - and x_ix86_store_max. - * config/i386/i386-options.h (ix86_target_string): Add - prefer_vector_width and prefer_vector_width. - * config/i386/i386.h (TARGET_AVX256_MOVE_BY_PIECES): Removed. - (TARGET_AVX256_STORE_BY_PIECES): Likewise. - (MOVE_MAX): Use 64 if ix86_move_max or ix86_store_max == - PVW_AVX512. Use 32 if ix86_move_max or ix86_store_max >= - PVW_AVX256. - (STORE_MAX_PIECES): Use 64 if ix86_store_max == PVW_AVX512. - Use 32 if ix86_store_max >= PVW_AVX256. - * config/i386/i386.opt: Add -mmove-max=bits and -mstore-max=bits. - * config/i386/x86-tune.def (X86_TUNE_AVX512_MOVE_BY_PIECES): New. - (X86_TUNE_AVX512_STORE_BY_PIECES): Likewise. - * doc/invoke.texi: Document -mmove-max=bits and -mstore-max=bits. - -2021-12-03 Bill Schmidt - - * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Fix builtin - identifiers. - -2021-12-03 SiYu Wu - - * common/config/riscv/riscv-common.c (riscv_implied_info): - Add K-ext related entry. - (riscv_supported_std_ext): Add 'k'. - * config/riscv/arch-canonicalize (CANONICAL_ORDER): Add 'k'. - (IMPLIED_EXT): Add K-ext related entry. - -2021-12-03 SiYu Wu - - * common/config/riscv/riscv-common.c (riscv_ext_version_table): - Add zbk* and zk*. - * config/riscv/riscv-opts.h (MASK_ZBKB): New. - (MASK_ZBKC): Ditto. - (MASK_ZBKX): Ditto. - (MASK_ZKNE): Ditto. - (MASK_ZKND): Ditto. - (MASK_ZKNH): Ditto. - (MASK_ZKR): Ditto. - (MASK_ZKSED): Ditto. - (MASK_ZKSH): Ditto. - (MASK_ZKT): Ditto. - (TARGET_ZBKB): Ditto. - (TARGET_ZBKC): Ditto. - (TARGET_ZBKX): Ditto. - (TARGET_ZKNE): Ditto. - (TARGET_ZKND): Ditto. - (TARGET_ZKNH): Ditto. - (TARGET_ZKR): Ditto. - (TARGET_ZKSED): Ditto. - (TARGET_ZKSH): Ditto. - (TARGET_ZKT): Ditto. - * config/riscv/riscv.opt (riscv_zk_subext): New. - -2021-12-03 Tamar Christina - - * tree-vect-stmts.c (prepare_load_store_mask): Rename to... - (prepare_vec_mask): ...This and record operations that have already been - masked. - (vectorizable_call): Use it. - (vectorizable_operation): Likewise. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - * tree-vectorizer.h (class _loop_vec_info): Add vec_cond_masked_set. - (vec_cond_masked_set_type, tree_cond_mask_hash): New. - -2021-12-03 H.J. Lu - - PR target/51469 - PR target/83782 - * target.def (ifunc_ref_local_ok): Add a target hook. - * varasm.c (default_binds_local_p_3): Force indirect function - resolver non-local only if targetm.ifunc_ref_local_ok returns - false. - * config/i386/i386-expand.c (ix86_expand_call): Call - ix86_call_use_plt_p to check if PLT should be used. - * config/i386/i386-protos.h (ix86_call_use_plt_p): New. - * config/i386/i386.c (output_pic_addr_const): Call - ix86_call_use_plt_p to check if "@PLT" is needed. - (ix86_call_use_plt_p): New. - (TARGET_IFUNC_REF_LOCAL_OK): New. - * doc/tm.texi.in: Add TARGET_IFUNC_REF_LOCAL_OK. - * doc/tm.texi: Regenerated. - -2021-12-03 Jakub Jelinek - - * attribs.h (simple_cst_list_equal): Declare. - * attribs.c (simple_cst_list_equal): No longer static. - * config/i386/i386-options.c (target_attribute_cache): New variable. - (ix86_valid_target_attribute_p): Cache DECL_FUNCTION_SPECIFIC_TARGET - and DECL_FUNCTION_SPECIFIC_OPTIMIZATION based on args. - -2021-12-03 Jakub Jelinek - - PR pch/71934 - * ggc.h (gt_pch_note_callback): Declare. - * gengtype.h (enum typekind): Add TYPE_CALLBACK. - (callback_type): Declare. - * gengtype.c (dbgprint_count_type_at): Handle TYPE_CALLBACK. - (callback_type): New variable. - (process_gc_options): Add CALLBACK argument, handle callback - option. - (set_gc_used_type): Adjust process_gc_options caller, if callback, - set type to &callback_type. - (output_mangled_typename): Handle TYPE_CALLBACK. - (walk_type): Likewise. Handle callback option. - (write_types_process_field): Handle TYPE_CALLBACK. - (write_types_local_user_process_field): Likewise. - (write_types_local_process_field): Likewise. - (write_root): Likewise. - (dump_typekind): Likewise. - (dump_type): Likewise. - * gengtype-state.c (type_lineloc): Handle TYPE_CALLBACK. - (state_writer::write_state_callback_type): New method. - (state_writer::write_state_type): Handle TYPE_CALLBACK. - (read_state_callback_type): New function. - (read_state_type): Handle TYPE_CALLBACK. - * ggc-common.c (callback_vec): New variable. - (gt_pch_note_callback): New function. - (gt_pch_save): Stream out gt_pch_save function address and relocation - table. - (gt_pch_restore): Stream in saved gt_pch_save function address and - relocation table and apply relocations if needed. - * doc/gty.texi (callback): Document new GTY option. - * varasm.c (get_unnamed_section): Change callback argument's type and - last argument's type from const void * to const char *. - (output_section_asm_op): Change argument's type from const void * - to const char *, remove unnecessary cast. - * tree-core.h (struct tree_translation_unit_decl): Drop GTY((skip)) - from language member. - * output.h (unnamed_section_callback): Change argument type from - const void * to const char *. - (struct unnamed_section): Use GTY((callback)) instead of GTY((skip)) - for callback member. Change data member type from const void * - to const char *. - (struct noswitch_section): Use GTY((callback)) instead of GTY((skip)) - for callback member. - (get_unnamed_section): Change callback argument's type and - last argument's type from const void * to const char *. - (output_section_asm_op): Change argument's type from const void * - to const char *. - * config/avr/avr.c (avr_output_progmem_section_asm_op): Likewise. - Remove unneeded cast. - * config/darwin.c (output_objc_section_asm_op): Change argument's type - from const void * to const char *. - * config/pa/pa.c (som_output_text_section_asm_op): Likewise. - (som_output_comdat_data_section_asm_op): Likewise. - * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op): - Likewise. - (rs6000_xcoff_output_readonly_section_asm_op): Likewise. Instead - of dereferencing directive hardcode variable names and decide based on - whether directive is NULL or not. - (rs6000_xcoff_output_readwrite_section_asm_op): Change argument's type - from const void * to const char *. - (rs6000_xcoff_output_tls_section_asm_op): Likewise. Instead - of dereferencing directive hardcode variable names and decide based on - whether directive is NULL or not. - (rs6000_xcoff_output_toc_section_asm_op): Change argument's type - from const void * to const char *. - (rs6000_xcoff_asm_init_sections): Adjust get_unnamed_section callers. - -2021-12-03 Richard Purdie - - * Makefile.in: Fix "argument list too long" from install-plugins. - -2021-12-03 Matt Jacobson - - * config.gcc: For the AVR target, populate TM_MULTILIB_CONFIG. - * config/avr/genmultilib.awk: Add ability to filter generated multilib - list. - * config/avr/t-avr: Pass TM_MULTILIB_CONFIG to genmultilib.awk. - * configure.ac: Update help string for --with-multilib-list. - * configure: Regenerate. - -2021-12-02 Ilya Lipnitskiy - - * configure: Regenerate. - * configure.ac: Define TARGET_LIBC_GNUSTACK on musl. - -2021-12-02 Iain Sandoe - - PR target/55610 - * config/host-darwin.c (TRY_EMPTY_VM_SPACE, - SAFE_ALLOC_SIZE): New. - (darwin_gt_pch_get_address): Rewrite to use nominated - memory segments rather than part of the compiler __DATA - segment. - (darwin_gt_pch_use_address): Likewise. - -2021-12-02 Gerald Pfeifer - - * doc/install.texi (*-*-freebsd*): Remove references to - FreeBSD 1 and FreeBSD 2. - -2021-12-02 Vladimir N. Makarov - - PR rtl-optimization/103437 - * ira-color.c (setup_allocno_priorities): Switch off backup code - for overflow if compiler has __builtin_smul_overflow. Use < - for comparison with -INT_MAX. - -2021-12-02 Bill Schmidt - - * config/rs6000/altivec.h: Delete a number of #defines that are now - superfluous. Alphabetize. Include rs6000-vecdefines.h. Include some - synonyms. - * config/rs6000/rs6000-builtin-new.def (CMPB): Flag as no32bit. - (BPERMD): Flag as 32bit (needing special handling for 32-bit). - (UNPACK_TD): Return unsigned long long instead of unsigned long. - (GET_TEXASR): Return unsigned long instead of unsigned long long. - (GET_TEXASRU): Likewise. - (GET_TFHAR): Likewise. - (GET_TFIAR): Likewise. - (SET_TEXASR): Pass unsigned long instead of unsigned long long. - (SET_TEXASRU): Likewise. - (SET_TFHAR): Likewise. - (SET_TFIAR): Likewise. - (TABORTDC): Likewise. - (TABORTDCI): Likewise. - * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): Fix error - handling for no32bit. Add 32bit handling for RS6000_BIF_BPERMD. - * config/rs6000/rs6000-gen-builtins.c (write_init_file): Initialize - new_builtins_are_live to 1. - -2021-12-02 Vladimir N. Makarov - - PR rtl-optimization/103437 - * ira-color.c (setup_allocno_priorities): Use long long - multiplication as backup for overflow processing. - -2021-12-02 Tamar Christina - - * config/aarch64/aarch64-protos.h (aarch64_gen_shareable_zero): New. - * config/aarch64/aarch64-simd.md (aarch64_rshrn, - aarch64_rshrn2): Generate rounding half-ing add when appropriate. - * config/aarch64/aarch64.c (aarch64_gen_shareable_zero): New. - -2021-12-02 Vladimir N. Makarov - - PR rtl-optimization/103437 - * ira-color.c (setup_allocno_priorities): Process multiplication - overflow. - -2021-12-02 Martin Liska - - PR gcov-profile/96092 - * common.opt: New option. - * coverage.c (coverage_begin_function): Emit filename with - remap_profile_filename. - * doc/invoke.texi: Document the new option. - * file-prefix-map.c (add_profile_prefix_map): New. - (remap_profile_filename): Likewise. - * file-prefix-map.h (add_profile_prefix_map): Likewise. - (remap_profile_filename): Likewise. - * lto-opts.c (lto_write_options): Handle - OPT_fprofile_prefix_map_. - * opts-global.c (handle_common_deferred_options): Likewise. - * opts.c (common_handle_option): Likewise. - (gen_command_line_string): Likewise. - * profile.c (output_location): Emit filename with - remap_profile_filename. - -2021-12-02 Richard Biener - - PR middle-end/103271 - * internal-fn.c (expand_DEFERRED_INIT): When the base - of the LHS is a decl with matching constant size use - that as the initialization target instead of an - eventual VLA typed one. - -2021-12-02 Richard Biener - - PR tree-optimization/103527 - * tree-vect-stmts.c (vect_build_gather_load_calls): Always - use a truth type for building the vector mask. - -2021-12-02 Rasmus Villemoes - - * config/vxworks.h (LTO_PLUGIN_SPEC): Adapt to corrected - spelling of -linker-output-auto-nolto-rel. - -2021-12-01 Uroš Bizjak - - PR target/102811 - * config/i386/sse.md (VI2F): Remove mode iterator. - (VI2F_256_512): New mode iterator. - (vec_set_0): New insn pattern. - (vec_set_0>): Rename from vec_setmode. - Use VI2F_256_512 mode iterator instead of VI2F. - (*axv512fp16_movsh): Remove. - (_pinsr): Add (x,x,x) AVX2 alternative. - Do not disable V8HF mode insn on AVX2 targets. - (pinsrw -> pbroadcast + pblendw peephole2): New peephole. - (pinsrw -> pbroadcast + pblendw splitter): New post-reload splitter. - * config/i386/i386.md (extendhfsf): Call gen_vec_setv8hf_0. - * config/i386/i386-expand.c (ix86_expand_vector_set) - : Use vec_merge path for TARGET_AVX2. - -2021-12-01 Roger Sayle - Richard Biener - - * tree-ssa-loop-niter.c (number_of_iterations_until_wrap): - Check if simplify_using_initial_conditions allows us to - simplify the expression for may_be_zero. - * match.pd (X != C ? -X : -C -> -X): New transform. - (X != C ? ~X : ~C -> ~X): Likewise. - ((X+1) > Y ? -X : 1 -> X >= Y ? -X : 1): Likewise. - -2021-12-01 Peter Bergner - - PR middle-end/103127 - * gimplify.c (is_var_need_auto_init): Handle opaque types. - -2021-12-01 Iain Buclaw - - * common.opt (static-libphobos): Add option. - * config/darwin.h (LINK_SPEC): Substitute -lgphobos with libgphobos.a - when linking statically. - * gcc.c (driver_handle_option): Set -static-libphobos as always valid. - -2021-12-01 Jason Merrill - - PR c++/103310 - * fold-const.c (maybe_nonzero_address): Use get_create or get - depending on folding_initializer. - (fold_binary_initializer_loc): New. - * fold-const.h (fold_binary_initializer_loc): Declare. - * varasm.c (mark_weak): Don't use the decl location. - * doc/invoke.texi: Document -fconstexpr-fp-except. - -2021-12-01 Bill Schmidt - - PR target/102347 - * config/rs6000/rs6000-c.c (rs6000-builtins.h): Stop including. - (rs6000-internal.h): Include. - (altivec_resolve_new_overloaded_builtin): Move call to - rs6000_invalid_new_builtin here from rs6000_new_builtin_decl. - * config/rs6000/rs6000-call.c (rs6000-builtins.h): Stop including. - (rs6000_invalid_new_builtin): Remove static qualifier. - (rs6000_new_builtin_decl): Remove test for supported builtin. - * config/rs6000/rs6000-internal.h (rs6000-builtins.h): Include. - (rs6000_invalid_new_builtin): Declare. - * config/rs6000/rs6000.c (rs6000-builtins.h): Don't include. - -2021-12-01 Aldy Hernandez - - PR tree-optimization/103409 - * gimple-range-path.cc (path_range_query::compute_ranges_in_phis): - Do all the work with just one ssa_global_cache. - * gimple-range-path.h: Remove m_tmp_phi_cache. - -2021-12-01 Richard Sandiford - - PR tree-optimization/103517 - * tree-vect-slp.c (vect_build_slp_tree_1): When allowing two - different component references, check the codes of both them, - rather than just the first. - -2021-12-01 Andrew MacLeod - - PR tree-optimization/103464 - * gimple-range.cc (gimple_ranger::prefill_name): Process phis also. - (gimple_ranger::prefill_stmt_dependencies): Ditto. - -2021-12-01 Iain Buclaw - - * doc/install.texi (Prerequisites): Add note that D front end now - requires GDC installed in order to bootstrap. - (Building): Add D compiler section, referencing prerequisites. - -2021-12-01 Jakub Jelinek - - * config/i386/x86-tune.def (X86_TUNE_SCHEDULE, - X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY, - X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Formatting fixes. - (X86_TUNE_USE_GATHER): Put m_GENERIC last for consistency. - -2021-12-01 Jakub Jelinek - - PR rtl-optimization/102356 - * rtl.h (simplify_context): Add assoc_count member and - max_assoc_count static member. - * simplify-rtx.c (simplify_associative_operation): Don't reassociate - more than max_assoc_count times within one outermost simplify_* call. - * dwarf2out.c (mem_loc_descriptor): Optimize binary operation - with both operands the same using DW_OP_dup. - -2021-12-01 Tamar Christina - - * match.pd: Move below pattern that rewrites to EQ, NE. - * tree.c (bitmask_inv_cst_vector_p): Correct do .. while indentation. - -2021-12-01 Siddhesh Poyarekar - Martin Liška - - PR tree-optimization/103456 - * tree-object-size.c (merge_object_sizes): Update osi->changed - only if object_sizes_set succeeded. - -2021-11-30 liuhongt - - PR target/103463 - PR target/103484 - * config/i386/i386.md (*x86_64_shld_1): Set_attr - length_immediate to 1. - (*x86_shld_1): Ditto. - (*x86_64_shrd_1): Ditto. - (*x86_shrd_1): Ditto. - -2021-11-30 Bill Schmidt - - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - Clarify diagnostic. - (altivec_resolve_new_overloaded_builtin): Likewise. - -2021-11-30 Martin Jambor - - PR ipa/103267 - * ipa-sra.c (scan_function): Also check ECF_LOOPING_CONST_OR_PURE flag. - -2021-11-30 Richard Sandiford - - PR tree-optimization/103494 - * tree-vect-stmts.c (vect_get_gather_scatter_ops): Remove ncopies - argument and calculate ncopies from gs_info->offset_vectype - where necessary. - (vectorizable_store, vectorizable_load): Update accordingly. - -2021-11-30 Iain Buclaw - - * Makefile.in (GDC): New variable. - (GDCFLAGS): New variable. - * configure: Regenerate. - * configure.ac: Add call to ACX_PROG_GDC. Substitute GDCFLAGS. - -2021-11-30 Martin Liska - Martin Jambor - - PR ipa/103449 - * ipa-param-manipulation.c - (ipa_param_body_adjustments::prepare_debug_expressions): Be - careful about hash_map reallocating itself. Simpify a return - which always returns true. - -2021-11-30 Andrew MacLeod - - PR tree-optimization/103440 - * gimple-range-fold.cc (fold_using_range::range_of_phi): Continue - normal param processing for equiv params. - -2021-11-30 Richard Biener - - * config/i386/i386.c (ix86_shift_rotate_cost): Remove - unreachable return. - * tree-chrec.c (evolution_function_is_invariant_rec_p): - Likewise. - * tree-if-conv.c (if_convertible_stmt_p): Likewise. - * tree-ssa-pre.c (fully_constant_expression): Likewise. - * tree-vrp.c (operand_less_p): Likewise. - * reload.c (reg_overlap_mentioned_for_reload_p): Remove - unreachable gcc_unreachable (). - * sel-sched-ir.h (bb_next_bb): Likewise. - * varasm.c (compare_constant): Likewise. - -2021-11-30 Richard Biener - - PR tree-optimization/103489 - * tree-vect-loop.c (vectorizable_phi): Verify argument - vector type compatibility to mitigate bool pattern recog - bug. - -2021-11-30 Thomas Schwinge - - * omp-offload.c (oacc_loop_auto_partitions): Remove erroneous - "Orphan reductions cannot have gang partitioning" handling. - -2021-11-30 Thomas Schwinge - - * omp-offload.c (oacc_loop_process): Implement "gang reduction on - an orphan loop" checking. - -2021-11-30 Cesar Philippidis - Thomas Schwinge - - * omp-general.h (enum oacc_loop_flags): Add OLF_REDUCTION enum. - * omp-low.c (lower_oacc_head_mark): Use it to mark OpenACC - reductions. - * omp-offload.c (oacc_loop_auto_partitions): Don't assign gang - level parallelism to orphan reductions. - -2021-11-30 Aldy Hernandez - - PR tree-optimization/103451 - * range-op.cc (operator_div::wi_fold): Remove - can_throw_non_call_exceptions special case. - * tree-ssa-sink.c (sink_code_in_bb): Same. - -2021-11-30 Richard Sandiford - - * tree-vect-slp.c (arg1_arg4_map): New variable. - (vect_get_operand_map): Handle IFN_MASK_GATHER_LOAD. - (vect_build_slp_tree_1): Likewise. - (vect_build_slp_tree_2): Likewise. - * tree-vect-stmts.c (vectorizable_load): Expect the mask to be - the last SLP child node rather than the first. - -2021-11-30 Richard Sandiford - - * tree-if-conv.c: Include tree-eh.h. - (predicate_statements): Remove pe argument. Don't hoist - statements here. - (combine_blocks): Remove pe argument. - (ifcvt_available_on_edge_p, ifcvt_can_hoist): New functions. - (ifcvt_hoist_invariants): Likewise. - (tree_if_conversion): Update call to combine_blocks. Call - ifcvt_hoist_invariants after VN. - -2021-11-30 Richard Sandiford - - PR tree-optimization/102467 - * doc/sourcebuild.texi (vect_gather_load_ifn): Document. - * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): - Commonize safelen handling. Punt for anything involving - gathers and scatters unless safelen says otherwise. - * tree-vect-slp.c (arg1_map): New variable. - (vect_get_operand_map): Handle IFN_GATHER_LOAD. - (vect_build_slp_tree_1): Likewise. - (vect_build_slp_tree_2): Likewise. - (compatible_calls_p): If vect_get_operand_map returns nonnull, - check that any skipped arguments are equal. - (vect_slp_analyze_node_operations_1): Tighten reduction check. - * tree-vect-stmts.c (check_load_store_for_partial_vectors): Take - an ncopies argument. - (vect_get_gather_scatter_ops): Take slp_node and ncopies arguments. - Handle SLP nodes. - (vectorizable_store, vectorizable_load): Adjust accordingly. - -2021-11-30 Richard Sandiford - - * gimple.h (gimple_num_args, gimple_arg, gimple_arg_ptr): New - functions. - * tree-vect-slp.c (cond_expr_maps, arg2_map): New variables. - (vect_get_operand_map): New function. - (vect_get_and_check_slp_defs): Fix outdated comment. - Use vect_get_operand_map and new gimple argument accessors. - (vect_build_slp_tree_2): Likewise. - -2021-11-30 Richard Sandiford - - * tree-vect-slp.c (vect_build_slp_tree_1): Use code_helper - to record the operations performed by statements, only using - CALL_EXPR for things that don't map to built-in or internal - functions. For shifts, require all shift amounts to be equal - if optab_vector is not supported but optab_scalar is. - -2021-11-30 Richard Sandiford - - * tree-vect-data-refs.c (vect_check_gather_scatter): Continue - processing conversions if the current offset is a pointer. - -2021-11-30 Richard Sandiford - - * tree-vectorizer.h (vect_is_reduction): Use STMT_VINFO_REDUC_IDX. - -2021-11-30 Richard Sandiford - - * genopinit.c (main): Turn supports_vec_gather_load and - supports_vec_scatter_store into signed char arrays and remove - supports_vec_gather_load_cached and supports_vec_scatter_store_cached. - * optabs-query.c (supports_vec_convert_optab_p): Add a mode parameter. - If the mode is not VOIDmode, test only for that mode. - (supports_vec_gather_load_p): Likewise. - (supports_vec_scatter_store_p): Likewise. - * optabs-query.h (supports_vec_gather_load_p): Likewise. - (supports_vec_scatter_store_p): Likewise. - * tree-vect-data-refs.c (vect_check_gather_scatter): Pass the - vector mode to supports_vec_gather_load_p and - supports_vec_scatter_store_p. - -2021-11-30 Richard Sandiford - - * internal-fn.c (commutative_binary_fn_p): Handle IFN_ADD_OVERFLOW - and IFN_MUL_OVERFLOW. - -2021-11-30 Richard Sandiford - - * internal-fn.c (commutative_binary_fn_p): Handle IFN_UBSAN_CHECK_ADD - and IFN_UBSAN_CHECK_MUL. - -2021-11-30 Richard Sandiford - - * internal-fn.c (commutative_binary_fn_p): Handle IFN_COMPLEX_MUL. - -2021-11-30 Richard Sandiford - - * gimple-fold.c: Include internal-fn.h. - (fold_stmt_1): If a function maps to an internal one, use - first_commutative_argument to canonicalize the order of - commutative arguments. - * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3) - (gimple_resimplify4, gimple_resimplify5): Extend commutativity - checks to functions. - -2021-11-30 Richard Sandiford - - * doc/md.texi (reduc_fmin_scal_@var{m}): Document. - (reduc_fmax_scal_@var{m}): Likewise. - * optabs.def (reduc_fmax_scal_optab): New optab. - (reduc_fmin_scal_optab): Likewise - * internal-fn.def (REDUC_FMAX, REDUC_FMIN): New functions. - * tree-vect-loop.c (reduction_fn_for_scalar_code): Handle - CASE_CFN_FMAX and CASE_CFN_FMIN. - (neutral_op_for_reduction): Likewise. - (needs_fold_left_reduction_p): Likewise. - * config/aarch64/iterators.md (FMAXMINV): New iterator. - (fmaxmin): Handle UNSPEC_FMAXNMV and UNSPEC_FMINNMV. - * config/aarch64/aarch64-simd.md (reduc__scal_): Fix - unspec mode. - (reduc__scal_): New pattern. - * config/aarch64/aarch64-sve.md (reduc__scal_): - Likewise. - -2021-11-30 Richard Sandiford - - * builtins.h (associated_internal_fn): Declare overload that - takes a (combined_cfn, return type) pair. - * builtins.c (associated_internal_fn): Split new overload out - of original fndecl version. Also provide an overload that takes - a (combined_cfn, return type) pair. - * internal-fn.h (commutative_binary_fn_p): Declare. - (commutative_ternary_fn_p): Likewise. - (associative_binary_fn_p): Likewise. - * internal-fn.c (commutative_binary_fn_p, commutative_ternary_fn_p): - New functions, split out from... - (first_commutative_argument): ...here. - (associative_binary_fn_p): New function. - * gimple-match.h (code_helper): Add a constructor that takes - internal functions. - (commutative_binary_op_p): Declare. - (commutative_ternary_op_p): Likewise. - (first_commutative_argument): Likewise. - (associative_binary_op_p): Likewise. - (canonicalize_code): Likewise. - (directly_supported_p): Likewise. - (get_conditional_internal_fn): Likewise. - (gimple_build): New overloads that takes a code_helper. - * gimple-fold.c (gimple_build): Likewise. - * gimple-match-head.c (commutative_binary_op_p): New function. - (commutative_ternary_op_p): Likewise. - (first_commutative_argument): Likewise. - (associative_binary_op_p): Likewise. - (canonicalize_code): Likewise. - (directly_supported_p): Likewise. - (get_conditional_internal_fn): Likewise. - * tree-vectorizer.h: Include gimple-match.h. - (neutral_op_for_reduction): Take a code_helper instead of a tree_code. - (needs_fold_left_reduction_p): Likewise. - (reduction_fn_for_scalar_code): Likewise. - (vect_can_vectorize_without_simd_p): Declare a nNew overload that takes - a code_helper. - * tree-vect-loop.c: Include case-cfn-macros.h. - (fold_left_reduction_fn): Take a code_helper instead of a tree_code. - (reduction_fn_for_scalar_code): Likewise. - (neutral_op_for_reduction): Likewise. - (needs_fold_left_reduction_p): Likewise. - (use_mask_by_cond_expr_p): Likewise. - (build_vect_cond_expr): Likewise. - (vect_create_partial_epilog): Likewise. Use gimple_build rather - than gimple_build_assign. - (check_reduction_path): Handle calls and operate on code_helpers - rather than tree_codes. - (vect_is_simple_reduction): Likewise. - (vect_model_reduction_cost): Likewise. - (vect_find_reusable_accumulator): Likewise. - (vect_create_epilog_for_reduction): Likewise. - (vect_transform_cycle_phi): Likewise. - (vectorizable_reduction): Likewise. Make more use of - lane_reduc_code_p. - (vect_transform_reduction): Use gimple_extract_op but expect - a tree_code for now. - (vect_can_vectorize_without_simd_p): New overload that takes - a code_helper. - * tree-vect-stmts.c (vectorizable_call): Handle reductions in - fully-masked loops. - * tree-vect-patterns.c (vect_mark_pattern_stmts): Use - gimple_extract_op when updating STMT_VINFO_REDUC_IDX. - -2021-11-30 Richard Sandiford - - * gimple-match.h (code_helper): Provide == and != overloads. - (code_helper::operator tree_code): Make explicit. - (code_helper::operator combined_fn): Likewise. - * gimple-match-head.c (convert_conditional_op): Use explicit - conversions where necessary. - (gimple_resimplify1, gimple_resimplify2, gimple_resimplify3): Likewise. - (maybe_push_res_to_seq, gimple_simplify): Likewise. - * gimple-fold.c (replace_stmt_with_simplification): Likewise. - -2021-11-30 Richard Sandiford - - * gimple-match.h (code_helper): Add functions for querying whether - the code represents an internal_fn or a built_in_function. - Provide explicit conversion operators for both cases. - (gimple_extract_op): Declare. - * gimple-match-head.c (gimple_extract): New function, extracted from... - (gimple_simplify): ...here. - (gimple_extract_op): New function. - -2021-11-30 Eric Botcazou - - PR target/103274 - * config/i386/i386.c (ix86_output_call_insn): Beef up comment about - nops emitted with SEH. - * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to - the cold section, emit a nop before the directive if the previous - active instruction is a call. - -2021-11-30 Roger Sayle - Uroš Bizjak - - PR target/100711 - * config/i386/sse.md (define_split): New splitters to simplify - not;vec_duplicate;and as vec_duplicate;andn. - -2021-11-30 Richard Biener - - PR middle-end/103485 - * match.pd (-((int)x >> (prec - 1)) to (unsigned)x >> (prec - 1)): - Use VIEW_CONVERT_EXPR for vectors. - -2021-11-30 Richard Biener - - * cfgrtl.c (skip_insns_after_block): Refactor code to - be more easily readable. - * expr.c (op_by_pieces_d::run): Remove unreachable - assert. - * sched-deps.c (sched_analyze): Remove unreachable - gcc_unreachable. - * sel-sched-ir.c (in_same_ebb_p): Likewise. - * tree-ssa-alias.c (nonoverlapping_refs_since_match_p): - Remove unreachable code. - * tree-vect-slp.c (vectorize_slp_instance_root_stmt): - Refactor to avoid unreachable loop iteration. - * tree.c (walk_tree_1): Remove unreachable break. - * vec-perm-indices.c (vec_perm_indices::series_p): Remove - unreachable return. - -2021-11-30 Kewen Lin - - PR target/102347 - * config/rs6000/rs6000-call.c (rs6000_builtin_decl): Remove builtin mask - check. - -2021-11-30 Kewen Lin - - * config/rs6000/rs6000.c - (rs6000_cost_data::update_target_cost_per_stmt): Adjust the way to - compute extra penalized cost. Remove useless parameter. - (rs6000_cost_data::rs6000_add_stmt_cost): Adjust the call to function - update_target_cost_per_stmt. - -2021-11-30 Kewen Lin - - Revert: - 2021-11-17 Kewen Lin - - * config/visium/visium.md (*add3_insn, *addsi3_insn, *addi3_insn, - *sub3_insn, *subsi3_insn, *subdi3_insn, *neg2_insn, - *negdi2_insn, *and3_insn, *ior3_insn, *xor3_insn, - *one_cmpl2_insn, *ashl3_insn, *ashr3_insn, - *lshr3_insn, *trunchiqi2_insn, *truncsihi2_insn, - *truncdisi2_insn, *extendqihi2_insn, *extendqisi2_insn, - *extendhisi2_insn, *extendsidi2_insn, *zero_extendqihi2_insn, - *zero_extendqisi2_insn, *zero_extendsidi2_insn): Fix split condition. - -2021-11-30 Andrew MacLeod - - PR tree-optimization/103467 - * gimple-range-gori.cc (range_def_chain::register_dependency): Don't - use an object reference after a potential resize. - -2021-11-29 Uroš Bizjak - - PR target/102811 - * config/i386/i386.md (*movhi_internal): Introduce (*v,C) alternative. - Do not allocate non-GPR registers. Optimize xmm->xmm moves when - optimizing for size. Fix vpinsrw insn template. - (*movhf_internal): Fix pinsrw and pextrw insn templates for - AVX targets. Use sselog1 type instead of sselog. Optimize GPR moves. - Optimize xmm->xmm moves for TARGET_SSE_PARTIAL_REG_DEPENDENCY - and TARGET_SSE_SPLIT_REGS targets. - -2021-11-29 Eric Gallager - - * configure: Re-regenerate. - -2021-11-29 Eric Gallager - - PR other/103021 - * Makefile.in: Substitute CTAGS, ETAGS, and CSCOPE - variables. Use ETAGS variable in TAGS target. - * configure: Regenerate. - * configure.ac: Allow CTAGS, ETAGS, and CSCOPE - variables to be overridden. - -2021-11-29 Paul A. Clarke - - * config/rs6000/xmmintrin.h (_mm_movemask_ps): Use vec_extractm - when _ARCH_PWR10. - * config/rs6000/emmintrin.h (_mm_movemask_pd): Likewise. - (_mm_movemask_epi8): Likewise. - -2021-11-29 Richard Biener - - * read-rtl-function.c (function_reader::read_rtx_operand): - Return only after resetting m_in_call_function_usage. - -2021-11-29 Roger Sayle - - * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Perform the - conversion via V2DImode using vec_extractv2didi on TARGET_SSE2. - * config/i386/sse.md (rotlv1ti3, rotrv1ti3): Change constraint - on QImode shift amounts from const_int_operand to general_operand. - -2021-11-29 Richard Biener - - * tree.h (reverse_storage_order_for_component_p): Remove - spurious gcc_unreachable. - * cfganal.c (dfs_find_deadend): Likewise. - * fold-const-call.c (fold_const_logb): Likewise. - (fold_const_significand): Likewise. - * gimple-ssa-store-merging.c (lhs_valid_for_store_merging_p): - Likewise. - -2021-11-29 Richard Biener - - * vec.c (qsort_chk): Do not return the void return value - from the noreturn qsort_chk_error. - * ccmp.c (expand_ccmp_expr_1): Remove unreachable return. - * df-scan.c (df_ref_equal_p): Likewise. - * dwarf2out.c (is_base_type): Likewise. - (add_const_value_attribute): Likewise. - * fixed-value.c (fixed_arithmetic): Likewise. - * gimple-fold.c (gimple_fold_builtin_fputs): Likewise. - * gimple-ssa-strength-reduction.c (stmt_cost): Likewise. - * graphite-isl-ast-to-gimple.c - (gcc_expression_from_isl_expr_op): Likewise. - (gcc_expression_from_isl_expression): Likewise. - * ipa-fnsummary.c (will_be_nonconstant_expr_predicate): - Likewise. - * lto-streamer-in.c (lto_input_mode_table): Likewise. - -2021-11-29 liuhongt - - PR target/102811 - * config/i386/i386.c (inline_secondary_memory_needed): HImode - move between GPR and SSE registers is supported under - TARGET_SSE2 and above. - * config/i386/i386.md (extendhfsf2): Optimize expander. - (truncsfhf2): Ditto. - * config/i386/sse.md (sse2p4_1): Adjust attr for V8HFmode to - align with V8HImode. - -2021-11-29 liuhongt - - PR target/102811 - PR target/103463 - * config/i386/i386.c (ix86_secondary_reload): Without - TARGET_SSE4_1, General register is needed to move HImode from - sse register to memory. - * config/i386/sse.md (*vec_extrachf): Use %vpextrw instead of - pextrw in output templates. - * config/i386/i386.md (movhi_internal): Ditto, also fix typo of - MEM_P (operands[1]) and adjust mode/prefix/type attribute for - alternatives related to sse register. - -2021-11-29 Richard Biener - - PR tree-optimization/103458 - * tree-ssa-dce.c (make_forwarders_with_degenerate_phis): Do not - create forwarders for blocks with abnormal predecessors. - -2021-11-29 Richard Biener - - * gimple-predicate-analysis.cc (can_be_invalidated_p): - Restore semantics to the one before the split from - tree-ssa-uninit.c. - -2021-11-28 Jan Hubicka - - * profile.c: Include sreal.h - (struct bb_stats): New. - (cmp_stats): New function. - (compute_branch_probabilities): Output bb stats. - -2021-11-28 Jan Hubicka - - * cfghooks.c: Include sreal.h, profile.h. - (profile_record_check_consistency): Fix checking of count counsistency; - record also dynamic mismatches. - * cfgrtl.c (rtl_account_profile_record): Similarly. - * tree-cfg.c (gimple_account_profile_record): Likewise. - * cfghooks.h (struct profile_record): Remove num_mismatched_freq_in, - num_mismatched_freq_out, turn time to double, add - dyn_mismatched_prob_out, dyn_mismatched_count_in, - num_mismatched_prob_out; remove num_mismatched_count_out. - * passes.c (account_profile_1): New function. - (account_profile_in_list): New function. - (pass_manager::dump_profile_report): Rewrite. - (execute_one_ipa_transform_pass): Check profile consistency after - running all passes. - (execute_all_ipa_transforms): Remove cfun test; record all transform - methods. - (execute_one_pass): Fix collecting of profile stats. - -2021-11-27 Jakub Jelinek - - PR middle-end/103431 - * config/i386/i386.md (x86_64_shld, x86_shld, x86_64_shrd, x86_shrd): - Change insn pattern to accurately describe the instructions. - (*x86_64_shld_1, *x86_shld_1, *x86_64_shrd_1, *x86_shrd_1): New - define_insn patterns. - (*x86_64_shld_2, *x86_shld_2, *x86_64_shrd_2, *x86_shrd_2): New - define_insn_and_split patterns. - (*ashl3_doubleword_mask, *ashl3_doubleword_mask_1, - *3_doubleword_mask, *3_doubleword_mask_1, - ix86_rotl3_doubleword, ix86_rotr3_doubleword): Adjust - splitters for x86_{,64_}sh{l,r}d pattern changes. - -2021-11-27 Jakub Jelinek - - PR tree-optimization/103435 - * gimple-ssa-store-merging.c (find_bswap_or_nop_finalize): Avoid UB if - n->range - rsize == 8, just clear both *cmpnop and *cmpxchg in that - case. - -2021-11-27 Martin Jambor - - PR ipa/103441 - * ipa-prop.c (ipcp_transform_function): Call - delete_unreachable_blocks_update_callgraph instead of returning - TODO_cleanup_cfg. - -2021-11-26 Siddhesh Poyarekar - - * tree-object-size.c (object_sizes_grow, object_sizes_release, - object_sizes_unknown_p, object_sizes_get, object_size_set_force, - object_sizes_set): New functions. - (addr_object_size, compute_builtin_object_size, - expr_object_size, call_object_size, unknown_object_size, - merge_object_sizes, plus_stmt_object_size, - cond_expr_object_size, collect_object_sizes_for, - check_for_plus_in_loops_1, init_object_sizes, - fini_object_sizes): Adjust. - -2021-11-26 Siddhesh Poyarekar - - * tree-object-size.c: New enum. - (object_sizes, computed, addr_object_size, - compute_builtin_object_size, expr_object_size, call_object_size, - merge_object_sizes, plus_stmt_object_size, - collect_object_sizes_for, init_object_sizes, fini_object_sizes, - object_sizes_execute): Replace magic numbers with enums. - -2021-11-26 Roger Sayle - - * tree-ssa-loop-ivopts.c (cand_value_at): Take a class - tree_niter_desc* argument instead of just a tree for NITER. - If we require the iv candidate value at the end of the final - loop iteration, try using the original loop bound as the - NITER for sufficiently simple loops. - (may_eliminate_iv): Update (only) call to cand_value_at. - -2021-11-26 Jan Hubicka - - * ipa-modref.c (analyze_function): Drop parameter F and dump - cgraph node name rather than cfun name. - (modref_generate): Update. - (modref_summaries::insert):Update. - (modref_summaries_lto::insert):Update. - (pass_modref::execute):Update. - (ipa_merge_modref_summary_after_inlining): Improve combining of - ECF_FLAGS. - -2021-11-26 Jan Hubicka - - PR ipa/102943 - * ipa-modref.c (update_escape_summary_1): Fix handling of min_flags. - -2021-11-26 konglin1 - - PR target/102811 - * config/i386/i386.c (ix86_can_change_mode_class): Allow 16 bit data in XMM register - for TARGET_SSE2. - * config/i386/i386.md (extendhfsf2): Add extenndhfsf2 for TARGET_F16C. - (extendhfdf2): Restrict extendhfdf for TARGET_AVX512FP16 only. - (*extendhf2): Rename from extendhf2. - (truncsfhf2): Likewise. - (truncdfhf2): Likewise. - (*trunc2): Likewise. - -2021-11-26 liuhongt - - PR middle-end/103419 - * match.pd: Fix typo, use the type of second parameter, not - first one. - -2021-11-25 Jan Hubicka - - * ipa-cp.c (ipa_value_range_from_jfunc): Remove forgotten early return. - -2021-11-25 Roger Sayle - - PR middle-end/103406 - * match.pd (minus @0 @0): Check tree_expr_maybe_infinite_p. - -2021-11-25 Martin Jambor - - PR ipa/103227 - * ipa-prop.h (ipa_get_param): New overload. Move bits of the existing - one to the new one. - * ipa-param-manipulation.h (ipa_param_adjustments): New member - function get_updated_index_or_split. - * ipa-param-manipulation.c - (ipa_param_adjustments::get_updated_index_or_split): New function. - * ipa-prop.c (adjust_agg_replacement_values): Reimplement, add - capability to identify scalarized parameters and perform substitution - on them. - (ipcp_transform_function): Create descriptors earlier, handle new - return values of adjust_agg_replacement_values. - -2021-11-25 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::compute_ranges_defined): Remove. - (path_range_query::compute_ranges_in_block): Revert to bitmap order. - * gimple-range-path.h: Remove compute_ranges_defined. - -2021-11-25 Andrew Stubbs - - PR target/103396 - * config/gcn/gcn.c (move_callee_saved_registers): Ensure that the - number of spilled registers is counted correctly. - -2021-11-25 Jan Hubicka - - * ipa-prop.h (ipa_node_params::ipa_node_params): Initialize - node_is_self_scc. - -2021-11-25 Andrew MacLeod - - PR tree-optimization/103359 - * gimple-range-fold.cc (fold_using_range::range_of_phi): If arg is - equivalent to def, don't initially include it's range. - -2021-11-25 Jan Hubicka - - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Do not check - gimple_static_chain. - -2021-11-25 Richard Biener - - * cgraphunit.c (symbol_table::output_weakrefs): Remove - unreachable init. - (get_alias_symbol): Remove now unused function. - -2021-11-25 Richard Biener - - * cfgrtl.c (rtl_verify_fallthru): Do not stop verifying - with fatal_insn. - (skip_insns_after_block): Remove unreachable break and continue. - -2021-11-25 Richard Biener - - * cfgexpand.c (label_rtx_for_bb): Remove dead loop construct. - -2021-11-25 Richard Biener - - * regset.h (REG_SET_EMPTY_P): New macro. - * cfgcleanup.c (thread_jump): Use REG_SET_EMPTY_P. - -2021-11-25 Martin Liska - - * doc/invoke.texi: Use @option for -Wuninitialized. - -2021-11-25 Aldy Hernandez - - PR tree-optimization/103254 - * gimple-range-path.cc (path_range_query::compute_ranges): Move - exported boolean code... - (path_range_query::compute_imports): ...here. - -2021-11-25 Aldy Hernandez - - PR tree-optimization/103254 - * gimple-range-path.cc (path_range_query::compute_ranges_defined): New - (path_range_query::compute_ranges_in_block): Move to - compute_ranges_defined. - * gimple-range-path.h (compute_ranges_defined): New. - -2021-11-25 Jakub Jelinek - - PR tree-optimization/103417 - * match.pd ((X & Y) CMP 0): Only handle eq and ne. Commonalize - common tests. - -2021-11-25 Jakub Jelinek - - PR tree-optimization/103376 - * gimple-ssa-store-merging.c (perform_symbolic_merge): For - BIT_IOR_EXPR, if masked1 && masked2 && masked1 != masked2, don't - punt, but set the corresponding result byte to MARKER_BYTE_UNKNOWN. - For BIT_XOR_EXPR similarly and if masked1 == masked2 and the - byte isn't MARKER_BYTE_UNKNOWN, set the corresponding result byte to - 0. - -2021-11-25 Jakub Jelinek - - PR c++/102611 - * doc/invoke.texi (-Wcomma-subscript): Document that for - -std=c++20 the option isn't enabled by default with -Wno-deprecated - but for -std=c++23 it is. - -2021-11-24 Jan Hubicka - - * ipa-modref.c (implicit_eaf_flags_for_edge_and_arg): Break out from... - (modref_merge_call_site_flags): ... here. - (ipa_merge_modref_summary_after_inlining): Use it. - -2021-11-24 Thomas Schwinge - - * cfgloop.c (verify_loop_structure): Reduce scope of - 'class loop *loop' variable. - * ipa-fnsummary.c (analyze_function_body): Likewise. - * loop-init.c (fix_loop_structure): Likewise. - * loop-invariant.c (calculate_loop_reg_pressure): Likewise. - * predict.c (predict_loops): Likewise. - * tree-loop-distribution.c (loop_distribution::execute): Likewise. - * tree-vectorizer.c (pass_vectorize::execute): Likewise. - -2021-11-24 Andrew MacLeod - - PR tree-optimization/103231 - * gimple-range.cc (gimple_ranger::gimple_ranger): Create stmt stack. - (gimple_ranger::gimple_ranger): Delete stmt stack. - (gimple_ranger::range_of_stmt): Process depenedencies if they have no - global cache entry. - (gimple_ranger::prefill_name): New. - (gimple_ranger::prefill_stmt_dependencies): New. - * gimple-range.h (class gimple_ranger): Add prototypes. - -2021-11-24 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::get_global_range): Always - return a range, return if it came from the cache or not. - (get_non_stale_global_range): Rename to get_global_range, and return - the temporal state in a flag. - * gimple-range-cache.h (get_non_stale_global_range): Rename and adjust. - * gimple-range.cc (gimple_ranger::range_of_expr): No need to query - get_global_range. - (gimple_ranger::range_of_stmt): Adjust for global cache temporal state - returned in a flag. - -2021-11-24 Andrew MacLeod - - * gimple-range.cc (gimple_ranger::range_on_edge): Call trailer when - a constant is encountered to terminate the trace. - -2021-11-24 Maciej W. Rozycki - - PR middle-end/103059 - * reload.c (find_reloads_address_1): Also accept the ASHIFT form - of indexed addressing. - (find_reloads): Adjust accordingly. - -2021-11-24 Richard Biener - Jan Hubicka - - PR tree-optimization/103168 - * ipa-modref.h (struct modref_summary): Add load_accesses. - * ipa-modref.c (modref_summary::finalize): Initialize load_accesses. - * tree-ssa-sccvn.c (visit_reference_op_call): Use modref - info to walk the virtual use->def chain to CSE const/pure - function calls possibly reading from memory. - -2021-11-24 Thomas Schwinge - - PR middle-end/103244 - * gimplify.c (gimplify_adjust_omp_clauses): Restore previous - OpenACC behavior. - -2021-11-24 Richard Biener - - PR middle-end/103193 - * match.pd: Avoid canonicalizing (le/ge @0 @0) to (eq @0 @0) - with NaNs and -ftrapping-math. - -2021-11-24 Jakub Jelinek - - PR middle-end/103384 - * omp-general.c (omp_context_selector_matches): For ACCEL_COMPILER, - return 0 for kind(host) and continue for kind(nohost). - -2021-11-24 Jakub Jelinek - - PR middle-end/103365 - * attribs.h (lookup_attribute): Allow attr_name to start with - underscore, as long as canonicalize_attr_name returns false. - (lookup_attribute_by_prefix): Don't call get_attribute_name twice. - * attribs.c (extract_attribute_substring): Reimplement using - canonicalize_attr_name. - (register_scoped_attribute): Change gcc_assert into - gcc_checking_assert, verify !canonicalize_attr_name rather than - that str.str doesn't start with '_'. - -2021-11-24 Jakub Jelinek - - PR tree-optimization/103376 - * gimple-ssa-store-merging.c (perform_symbolic_merge): Add CODE - argument. If CODE is not BIT_IOR_EXPR, ensure that one of masked1 - or masked2 is 0. - (find_bswap_or_nop_1, find_bswap_or_nop, - imm_store_chain_info::try_coalesce_bswap): Adjust - perform_symbolic_merge callers. - -2021-11-24 Richard Biener - - * tree-ssa-loop-ivopts.c (find_givs): Take loop body as - argument instead of re-computing it. - (find_interesting_uses): Likewise. - (find_induction_variables): Pass through loop body. - (tree_ssa_iv_optimize_loop): Pass down loop body. - -2021-11-24 Tamar Christina - - * tree-ssa-phiopt.c (spaceship_replacement): Handle new canonical - codegen. - -2021-11-24 Tamar Christina - - * tree.c (bitmask_inv_cst_vector_p): New. - * tree.h (bitmask_inv_cst_vector_p): New. - * match.pd: Use it in new bitmask compare pattern. - -2021-11-24 Jason Merrill - - * timevar.h (class auto_cond_timevar): New. - -2021-11-24 Hongtao Liu - H.J. Lu - - PR tree-optimization/103194 - * match.pd (gimple_nop_atomic_bit_test_and_p): Extended to - match truncation. - * tree-ssa-ccp.c (gimple_nop_convert): Declare. - (optimize_atomic_bit_test_and): Enhance - optimize_atomic_bit_test_and to handle truncation. - -2021-11-23 Martin Sebor - - PR middle-end/88232 - * Makefile.in (OBJS): Add gimple-warn-recursion.o. - * common.opt: Add -Winfinite-recursion. - * doc/invoke.texi (-Winfinite-recursion): Document. - * passes.def (pass_warn_recursion): Schedule a new pass. - * tree-pass.h (make_pass_warn_recursion): Declare. - * gimple-warn-recursion.c: New file. - -2021-11-23 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): Change - error messages for ENB_P8V and ENB_P9V. - -2021-11-23 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add power6-64 stanza. Move - CMPB to power6-64 stanza. - * config/rs6000/rs6000-call.c (rs6000_invalid_new_builtin): Handle - ENB_P6_64 case. - (rs6000_new_builtin_is_supported): Likewise. - (rs6000_expand_new_builtin): Likewise. Clean up formatting. - (rs6000_init_builtins): Handle ENB_P6_64 case. - * config/rs6000/rs6000-gen-builtins.c (bif_stanza): Add BSTZ_P6_64. - (stanza_map): Add entry mapping power6-64 to BSTZ_P6_64. - (enable_string): Add "ENB_P6_64". - (write_decls): Add ENB_P6_64 to bif_enable enum. - -2021-11-23 Jan Hubicka - - * ipa-modref-tree.h (struct modref_tree): Remove max_bases, max_refs - and max_accesses. - (modref_tree::modref_tree): Remove parametr. - (modref_tree::insert_base): Add max_bases parameter. - (modref_tree::insert): Add max_bases, max_refs, max_accesses - parameters. - (modref_tree::insert): New member function. - (modref_tree::merge): Add max_bases, max_refs, max_accesses - parameters. - (modref_tree::insert): New member function. - * ipa-modref-tree.c (test_insert_search_collapse): Update. - (test_merge): Update. - * ipa-modref.c (dump_records): Don't dump max_refs and max_bases. - (dump_lto_records): Likewise. - (modref_summary::finalize): Fix whitespace. - (get_modref_function_summary): Likewise. - (modref_access_analysis::record_access): Update. - (modref_access_analysis::record_access_lto): Update. - (modref_access_analysis::process_fnspec): Update. - (analyze_function): Update. - (modref_summaries::duplicate): Update. - (modref_summaries_lto::duplicate): Update. - (write_modref_records): Update. - (read_modref_records): Update. - (read_section): Update. - (propagate_unknown_call): Update. - (modref_propagate_in_scc): Update. - (ipa_merge_modref_summary_after_inlining): Update. - -2021-11-23 Martin Liska - - * doc/invoke.texi: Remove 2 more duplicite param descriptions. - -2021-11-23 Richard Biener - - PR tree-optimization/103361 - * gimple-loop-jam.c (adjust_unroll_factor): Use lambda_int - for the dependence distance. - * tree-data-ref.c (print_lambda_vector): Properly print a lambda_int. - -2021-11-23 Jakub Jelinek - - * tree-inline.h (struct copy_body_data): Remove - transform_lang_insert_block member. - * tree-inline.c (remap_block): Don't call - id->transform_lang_insert_block. - (optimize_inline_calls, copy_gimple_seq_and_replace_locals, - tree_function_versioning, maybe_inline_call_in_expr, - copy_fn): Don't initialize id.transform_lang_insert_block. - * gimplify.c (gimplify_omp_loop): Likewise. - -2021-11-23 Jan Hubicka - - PR tree-optimization/103335 - * tree-ssa-dse.c (valid_ao_ref_for_dse): Rename to ... - (valid_ao_ref_kill_for_dse): ... this; do not check that boundaries - are divisible by BITS_PER_UNIT. - (get_byte_aligned_range_containing_ref): New function. - (get_byte_aligned_range_contained_in_ref): New function. - (normalize_ref): Rename to ... - (get_byte_range): ... this one; handle accesses not aligned to byte - boundary; return range in bytes rater than updating ao_ref. - (clear_live_bytes_for_ref): Take write ref by reference; simplify using - get_byte_access. - (setup_live_bytes_from_ref): Likewise. - (clear_bytes_written_by): Update. - (live_bytes_read): Update. - (dse_classify_store): Simplify tech before live_bytes_read checks. - -2021-11-23 Andrew Pinski - - PR tree-optimization/102216 - * gimple-fold.c (fold_stmt_1): Add canonicalization - of "&MEM[ssa_n, CST]" to "ssa_n p+ CST", note this - can only be done if !in_place. - -2021-11-23 Jakub Jelinek - - PR middle-end/102431 - * gimplify.c (replace_reduction_placeholders): Remove. - (note_no_context_vars): New function. - (gimplify_omp_loop): For OMP_PARALLEL's BIND_EXPR create a new - BLOCK. Use copy_tree_body_r with walk_tree instead of unshare_expr - and replace_reduction_placeholders for duplication of - OMP_CLAUSE_REDUCTION_{INIT,MERGE} expressions. Ensure all mentioned - automatic vars have DECL_CONTEXT set to non-NULL before doing so - and reset it afterwards for those vars and their corresponding - vars. - -2021-11-23 Haochen Gui - - PR target/100868 - * config/rs6000/altivec.md (altivec_vreve2 for VEC_K): Use - xxbrq for v16qi, xxbrq + xxbrh for v8hi and xxbrq + xxbrw for v4si - or v4sf when p9_vector is set. - (altivec_vreve2 for VEC_64): Defined. Implemented by xxswapd. - -2021-11-23 Navid Rahimi - - PR tree-optimization/102232 - * match.pd (x * (1 + y / x) - y) -> (x - y % x): New optimization. - -2021-11-23 Navid Rahimi - - PR tree-optimization/96779 - * match.pd (-x == x) -> (x == 0): New optimization. - -2021-11-22 Roger Sayle - - PR tree-optimization/98953 - PR tree-optimization/103345 - * gimple-ssa-store-merging.c (find_bswap_or_nop_1): Handle - BIT_XOR_EXPR and PLUS_EXPR the same as BIT_IOR_EXPR. - (pass_optimize_bswap::execute): Likewise. - -2021-11-22 Martin Liska - - * doc/invoke.texi: Remove duplicate documentation for 3 params. - -2021-11-22 Richard Biener - - PR tree-optimization/103351 - * tree-ssa-dce.c (sort_phi_args): Sort after e->dest_idx as - second key. - -2021-11-22 liuhongt - - PR target/103275 - * config/i386/constraints.md (Bk): New - define_memory_constraint. - * config/i386/i386-protos.h (ix86_gpr_tls_address_pattern_p): - Declare. - * config/i386/i386.c (ix86_gpr_tls_address_pattern_p): New - function. - * config/i386/i386.md (*movsi_internal): Don't allow - mask/sse/mmx move in TLS code sequences. - (*movdi_internal): Ditto. - -2021-11-22 Kewen Lin - - * config/xtensa/xtensa.md (movdi_internal, movdf_internal): Fix split - condition. - -2021-11-21 Jakub Jelinek - - PR c++/101180 - * config/i386/i386-options.c (ix86_valid_target_attribute_p): If - fndecl already has DECL_FUNCTION_SPECIFIC_TARGET, use that as base - instead of target_option_default_node. - -2021-11-21 Jan Hubicka - - PR ipa/103227 - * ipa-modref.c (parm_map_for_arg): Rename to ... - (parm_map_for_ptr): .. this one; handle static chain and calls to - malloc functions. - (modref_access_analysis::get_access): Use parm_map_for_ptr. - (modref_access_analysis::process_fnspec): Update. - (modref_access_analysis::analyze_load): Update. - (modref_access_analysis::analyze_store): Update. - -2021-11-21 Jan Hubicka - - * ipa-modref.c (ignore_nondeterminism_p): Move earlier in source - code. - (ignore_retval_p): Likewise. - (ignore_stores_p): Likewise. - (parm_map_for_arg): Likewise. - (class modref_access_analysis): New class. - (modref_access_analysis::set_side_effects): New member function. - (modref_access_analysis::set_nondeterministic): New member function. - (get_access): Turn to ... - (modref_access_analysis::get_access): ... this one. - (record_access): Turn to ... - (modref_access_analysis::record_access): ... this one. - (record_access_lto): Turn to ... - (modref_access_analysis::record_access_lto): ... This one. - (record_access_p): Turn to ... - (modref_access_analysis::record_access_p): ... This one - (modref_access_analysis::record_unknown_load): New member function. - (modref_access_analysis::record_unknown_store): New member function. - (get_access_for_fnspec): Turn to ... - (modref_access_analysis::get_access_for_fnspec): ... this one. - (merge_call_side_effects): Turn to ... - (moderf_access_analysis::merge_call_side_effects): Turn to ... - (collapse_loads): Move later in source code. - (collapse_stores): Move later in source code. - (process_fnspec): Turn to ... - (modref_access_analysis::process_fnspec): ... this one. - (analyze_call): Turn to ... - (modref_access_analysis::analyze_call): ... this one. - (struct summary_ptrs): Remove. - (analyze_load): Turn to ... - (modref_access_analysis::analyze_load): ... this one. - (analyze_store): Turn to ... - (modref_access_analysis::analyze_store): ... this one. - (analyze_stmt): Turn to ... - (modref_access_analysis::analyze_stmt): ... This one. - (remove_summary): Remove. - (modref_access_analysis::propagate): Break out from ... - (modref_access_analysis::analyze): Break out from ... - (analyze_function): ... here. - -2021-11-21 Roger Sayle - Robin Dapp - - PR target/102117 - * tree-ssa-math-opts.c (convert_mult_to_widen): Recognize - signed WIDEN_MULT_EXPR if the target supports umul_widen_optab. - -2021-11-20 Jan Hubicka - - PR ipa/103052 - * ipa-modref.c (ignore_nondeterminism_p): Allow looping pure/cont. - (merge_call_side_effects): Improve debug output. - -2021-11-20 Jan Hubicka - - PR ipa/103052 - * ipa-pure-const.c (propagate_pure_const): Fix merging of loping flag. - -2021-11-20 Jeff Law - - PR tree-optimization/103226 - * config/bfin/bfin.md (doloop pattern, splitter and expander): Clobber - CC. - -2021-11-20 Andrew Pinski - - PR tree-optimization/103220 - * match.pd ((type) X bitop CST): Don't check if CST - fits into the type if only the sign changes. - -2021-11-20 Alexandre Oliva - - PR tree-optimization/102988 - * gimple-harden-conditionals.cc (detach_value): Copy SSA_NAME - without decl sharing. - -2021-11-19 Iain Sandoe - - * doc/invoke.texi: Remove whitespace after an @option. - -2021-11-19 Paul A. Clarke - - * config/rs6000/emmintrin.h (_mm_sad_epu8): Use vec_absd when - _ARCH_PWR9, optimize vec_sum2s when LE. - -2021-11-19 Iain Sandoe - - PR target/80556 - * config/darwin-driver.c (darwin_driver_init): Handle exported - symbols and symbol lists (suppress automatic export of the TLS - symbols). - * config/darwin.c (darwin_rename_builtins): Remove workaround. - * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. - (REAL_LIBGCC_SPEC): Handle revised library uses. - * config/darwin.opt (nodefaultexport): New. - * config/i386/darwin.h (PR80556_WORKAROUND): Remove. - * config/i386/darwin32-biarch.h (PR80556_WORKAROUND): Likewise. - * config/i386/darwin64-biarch.h (PR80556_WORKAROUND): Likewise. - -2021-11-19 Martin Jambor - - * opts.c (default_options_table): Switch off - flag_semantic_interposition at Ofast. - * doc/invoke.texi (Optimize Options): Document that Ofast switches off - -fsemantic-interposition. - -2021-11-19 Jan Hubicka - - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Do not guard modref - by !gimple_call_chain. - -2021-11-19 Martin Sebor - - PR c++/33925 - PR c/102867 - * doc/invoke.texi (-Waddress): Update. - -2021-11-19 Andrew MacLeod - - PR tree-optimization/103254 - * gimple-range-gori.cc (range_def_chain::get_def_chain): Limit the - depth for all statements with multple ssa names. - -2021-11-19 Stefan Schulze Frielinghaus - - * config/s390/s390.md (define_peephole2): Variable insn points - to the first matched insn. Use peep2_next_insn(1) to refer to - the second matched insn. - -2021-11-19 Tamar Christina - - PR tree-optimization/103311 - PR target/103330 - * tree-vect-slp-patterns.c (vect_validate_multiplication): Fix CONJ - test to new codegen. - (complex_mul_pattern::matches): Move check downwards. - -2021-11-19 Martin Liska - - Revert: - 2021-11-19 Martin Liska - - * cfgexpand.c (pass_expand::execute): Use option directly. - * function.c (allocate_struct_function): Likewise. - * gimple-low.c (lower_function_body): Likewise. - (lower_stmt): Likewise. - * gimple-ssa-backprop.c (backprop::prepare_change): Likewise. - * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Likewise. - * ipa-split.c (split_function): Likewise. - * lto-streamer-in.c (input_function): Likewise. - * sese.c (sese_insert_phis_for_liveouts): Likewise. - * ssa-iterators.h (num_imm_uses): Likewise. - * tree-cfg.c (make_blocks): Likewise. - (gimple_merge_blocks): Likewise. - * tree-inline.c (tree_function_versioning): Likewise. - * tree-loop-distribution.c (generate_loops_for_partition): Likewise. - * tree-sra.c (analyze_access_subtree): Likewise. - * tree-ssa-dce.c (remove_dead_stmt): Likewise. - * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise. - * tree-ssa-phiopt.c (spaceship_replacement): Likewise. - * tree-ssa-reassoc.c (reassoc_remove_stmt): Likewise. - * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise. - * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): Likewise. - * tree-ssa.c (gimple_replace_ssa_lhs): Likewise. - (target_for_debug_bind): Likewise. - (insert_debug_temp_for_var_def): Likewise. - (insert_debug_temps_for_defs): Likewise. - (reset_debug_uses): Likewise. - * tree-ssanames.c (release_ssa_name_fn): Likewise. - * tree-vect-loop-manip.c (adjust_vec_debug_stmts): Likewise. - (adjust_debug_stmts): Likewise. - (adjust_phi_and_debug_stmts): Likewise. - (vect_do_peeling): Likewise. - * tree-vect-loop.c (vect_transform_loop_stmt): Likewise. - (vect_transform_loop): Likewise. - * tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): Remove - (MAY_HAVE_DEBUG_BIND_STMTS): Remove. - (MAY_HAVE_DEBUG_STMTS): Use options directly. - -2021-11-19 Giuliano Belinassi - - * gcc.c (process_command): Skip dumpdir override if file is a - not_actual_file_p. - * doc/invoke.texi: Update -dumpdir documentation. - -2021-11-19 Andrew Pinski - - PR tree-optimization/103314 - * match.pd ((type) X op CST): Restrict the equal - TYPE_PRECISION case to GIMPLE only. - -2021-11-19 Martin Liska - - PR ipa/103230 - * ipa-modref-tree.h (struct modref_parm_map): Add default - constructor. - * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Use it. - -2021-11-19 Richard Biener - - PR middle-end/103248 - * tree-eh.c (operation_could_trap_helper_p): Properly handle - fixed-point RDIV_EXPR. - -2021-11-19 Richard Biener - - PR tree-optimization/102436 - * tree-ssa-loop-im.c (execute_sm_if_changed): Add mode - to just create the if structure and return the then block. - (execute_sm): Add flag to indicate the var will re-use - another flag var. - (hoist_memory_references): Support a single conditional - block with all stores as special case. - -2021-11-19 Andrew Pinski - - PR tree-optimization/103317 - * tree-ssa-phiopt.c (minmax_replacement): For the non empty - middle bb case, check to make sure it has a single predecessor. - -2021-11-19 Andrew Pinski - - PR tree-optimization/103257 - * match.pd - ((m1 >/=/<= m2) * d -> (m1 >/=/<= m2) ? d : 0): - Disable until !canonicalize_math_p (). - -2021-11-19 Marek Polacek - - PR c++/19808 - PR c++/96121 - * doc/invoke.texi: Update documentation for -Wuninitialized. - * tree.c (stabilize_reference): Set location. - -2021-11-19 liuhongt - - PR target/102543 - * config/i386/x86-tune-costs.h (skylake_cost): Reduce cost of - storing 256/512-bit SSE register to be equal to cost of - unaligned store to avoid odd alignment peeling. - (icelake_cost): Ditto. - -2021-11-18 David Edelsohn - - * config/rs6000/predicates.md (current_file_function_operand): - Add flag_semantic_interposition to call of decl_replaceable_p. - -2021-11-18 Martin Liska - - * ipa-modref.c (analyze_function): Do not execute the code - only if dump_file != NULL. - -2021-11-18 Martin Liska - - * ipa-modref.c (analyze_function): Use fnode instead of repeated - cgraph_node::get (current_function_decl). - -2021-11-18 Jan Hubicka - - * cgraph.c (cgraph_node::get_availability): Update call of - decl_replaceable_p. - (cgraph_node::verify_node): Verify that semantic_interposition flag - is set correclty. - * cgraph.h: (symtab_node): Add semantic_interposition flag. - * cgraphclones.c (set_new_clone_decl_and_node_flags): Clear - semantic_interposition flag. - * cgraphunit.c (cgraph_node::finalize_function): Set - semantic_interposition flag. - (cgraph_node::add_new_function): Likewise. - (varpool_node::finalize_decl): Likewise. - (cgraph_node::create_wrapper): Likewise. - * common.opt (fsemantic-interposition): Turn to optimization node. - * lto-cgraph.c (lto_output_node): Stream semantic_interposition. - (lto_output_varpool_node): Likewise. - (input_overwrite_node): Likewise. - (input_varpool_node): Likewise. - * symtab.c (symtab_node::dump_base): Dump new flag. - * varasm.c (decl_replaceable_p): Add semantic_interposition_p - parameter. - * varasm.h (decl_replaceable_p): Update declaration. - * varpool.c (varpool_node::ctor_useable_for_folding_p): - Use semantic_interposition flag. - (varpool_node::get_availability): Likewise. - (varpool_node::create_alias): Copy semantic_interposition flag. - -2021-11-18 Jan Hubicka - - PR ipa/103266 - * ipa-modref.c (modref_eaf_analysis::merge_call_lhs_flags): Unused - parameter may still be returned. - (modref_eaf_analysis::analyze_ssa_name): Call merge_call_lhs_flags - even for unused function args. - -2021-11-18 Tamar Christina - - PR tree-optimization/103311 - * tree-vect-slp-patterns.c (complex_mul_pattern::matches, - complex_fms_pattern::matches): Check for multiplications. - -2021-11-18 H.J. Lu - - PR target/102952 - * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): Emit - CS prefix for -mindirect-branch-cs-prefix. - (ix86_output_indirect_branch_via_reg): Likewise. - * config/i386/i386.opt: Add -mindirect-branch-cs-prefix. - * doc/invoke.texi: Document -mindirect-branch-cs-prefix. - -2021-11-18 David Edelsohn - - * config/rs6000/driver-rs6000.c (detect_processor_aix): Add - power10. - -2021-11-18 Tamar Christina - - PR tree-optimization/103253 - * tree-ssa-math-opts.c (convert_mult_to_fma): Check for LHS. - -2021-11-18 Matthias Kretz - - * doc/extend.texi: Document __builtin_assoc_barrier. - -2021-11-18 Martin Liska - - * cfgexpand.c (pass_expand::execute): Use option directly. - * function.c (allocate_struct_function): Likewise. - * gimple-low.c (lower_function_body): Likewise. - (lower_stmt): Likewise. - * gimple-ssa-backprop.c (backprop::prepare_change): Likewise. - * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Likewise. - * ipa-split.c (split_function): Likewise. - * lto-streamer-in.c (input_function): Likewise. - * sese.c (sese_insert_phis_for_liveouts): Likewise. - * ssa-iterators.h (num_imm_uses): Likewise. - * tree-cfg.c (make_blocks): Likewise. - (gimple_merge_blocks): Likewise. - * tree-inline.c (tree_function_versioning): Likewise. - * tree-loop-distribution.c (generate_loops_for_partition): Likewise. - * tree-sra.c (analyze_access_subtree): Likewise. - * tree-ssa-dce.c (remove_dead_stmt): Likewise. - * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise. - * tree-ssa-phiopt.c (spaceship_replacement): Likewise. - * tree-ssa-reassoc.c (reassoc_remove_stmt): Likewise. - * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise. - * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): Likewise. - * tree-ssa.c (gimple_replace_ssa_lhs): Likewise. - (target_for_debug_bind): Likewise. - (insert_debug_temp_for_var_def): Likewise. - (insert_debug_temps_for_defs): Likewise. - (reset_debug_uses): Likewise. - * tree-ssanames.c (release_ssa_name_fn): Likewise. - * tree-vect-loop-manip.c (adjust_vec_debug_stmts): Likewise. - (adjust_debug_stmts): Likewise. - (adjust_phi_and_debug_stmts): Likewise. - (vect_do_peeling): Likewise. - * tree-vect-loop.c (vect_transform_loop_stmt): Likewise. - (vect_transform_loop): Likewise. - * tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): Remove - (MAY_HAVE_DEBUG_BIND_STMTS): Remove. - (MAY_HAVE_DEBUG_STMTS): Use options directly. - -2021-11-18 Richard Biener - - PR tree-optimization/103277 - * tree-ssa-dse.c (need_ab_cleanup): New. - (dse_optimize_redundant_stores): Adjust. - (delete_dead_or_redundant_assignment): Get extra - need_ab_cleanup argument and set when abnormal cleanup is - needed. - (dse_optimize_call): Adjust. - (dse_optimize_stmt): Likewise. - (pass_dse::execute): Allocate and deallocate need_ab_cleanup. - Perform abnormal cleanup. - * tree-ssa-dse.h (delete_dead_or_redundant_assignment): Adjust. - -2021-11-18 Hongyu Wang - - * config/i386/i386-expand.c (ix86_expand_atomic_fetch_op_loop): - Adjust generated cfg to avoid infinite loop. - -2021-11-18 konglin1 - - * config/i386/avx512fp16intrin.h (_mm512_mul_pch): Add alias for _mm512_fmul_pch. - (_mm512_mask_mul_pch): Likewise. - (_mm512_maskz_mul_pch): Likewise. - (_mm512_mul_round_pch): Likewise. - (_mm512_mask_mul_round_pch): Likewise. - (_mm512_maskz_mul_round_pch): Likewise. - (_mm512_cmul_pch): Likewise. - (_mm512_mask_cmul_pch): Likewise. - (_mm512_maskz_cmul_pch): Likewise. - (_mm512_cmul_round_pch): Likewise. - (_mm512_mask_cmul_round_pch): Likewise. - (_mm512_maskz_cmul_round_pch): Likewise. - (_mm_mul_sch): Likewise. - (_mm_mask_mul_sch): Likewise. - (_mm_maskz_mul_sch): Likewise. - (_mm_mul_round_sch): Likewise. - (_mm_mask_mul_round_sch): Likewise. - (_mm_maskz_mul_round_sch): Likewise. - (_mm_cmul_sch): Likewise. - (_mm_mask_cmul_sch): Likewise. - (_mm_maskz_cmul_sch): Likewise. - (_mm_cmul_round_sch): Likewise. - (_mm_mask_cmul_round_sch): Likewise. - (_mm_maskz_cmul_round_sch): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_mul_pch): Likewise. - (_mm_mask_mul_pch): Likewise. - (_mm_maskz_mul_pch): Likewise. - (_mm256_mul_pch): Likewise. - (_mm256_mask_mul_pch): Likewise. - (_mm256_maskz_mul_pch): Likewise. - (_mm_cmul_pch): Likewise. - (_mm_mask_cmul_pch): Likewise. - (_mm_maskz_cmul_pch): Likewise. - (_mm256_cmul_pch): Likewise. - (_mm256_mask_cmul_pch): Likewise. - (_mm256_maskz_cmul_pch): Likewise. - -2021-11-17 Andrew Pinski - - PR tree-optimization/103228 - PR tree-optimization/55177 - * match.pd ((type) X bitop CST): Also do this - transformation for nop conversions. - -2021-11-17 Martin Sebor - - PR tree-optimization/102759 - * gimple-array-bounds.cc (build_printable_array_type): Move... - * gimple-ssa-warn-access.cc (build_printable_array_type): Avoid - pathological function redeclarations that remove a previously - declared prototype. - Improve formatting of function arguments in informational notes. - * pointer-query.cc (build_printable_array_type): ...to here. - * pointer-query.h (build_printable_array_type): Declared. - -2021-11-17 H.J. Lu - - PR target/102952 - * config/i386/i386-opts.h (harden_sls): New enum. - * config/i386/i386.c (output_indirect_thunk): Mitigate against - SLS for function return. - (ix86_output_function_return): Likewise. - (ix86_output_jmp_thunk_or_indirect): Mitigate against indirect - branch. - (ix86_output_indirect_jmp): Likewise. - (ix86_output_call_insn): Likewise. - * config/i386/i386.opt: Add -mharden-sls=. - * doc/invoke.texi: Document -mharden-sls=. - -2021-11-17 H.J. Lu - - PR target/103307 - * config/i386/i386.c (ix86_code_end): Remove "%!" before ret. - (ix86_output_function_return): Likewise. - * config/i386/i386.md (simple_return_pop_internal): Likewise. - -2021-11-17 Jan Hubicka - - PR ipa/103246 - * ipa-modref.c (read_modref_records): Fix streaminig in of every_access - flag. - -2021-11-17 Uroš Bizjak - - * config/i386/i386.c (indirect_thunks_used): Redefine as HARD_REG_SET. - (ix86_code_end): Use TEST_HARD_REG_BIT on indirect_thunks_used. - (ix86_output_indirect_branch_via_reg): Use SET_HARD_REG_BIT - on indirect_thunks_used. - (ix86_output_indirect_function_return): Ditto. - -2021-11-17 Jan Hubicka - - * ipa-modref-tree.c: Include cgraph.h and tree-streamer.h. - (modref_access_node::stream_out): New member function. - (modref_access_node::stream_in): New member function. - * ipa-modref-tree.h (modref_access_node::stream_out, - modref_access_node::stream_in): Declare. - * ipa-modref.c (modref_summary_lto::useful_p): Free useless kills. - (modref_summary_lto::dump): Dump kills. - (analyze_store): Record kills for LTO - (analyze_stmt): Likewise. - (modref_summaries_lto::duplicate): Duplicate kills. - (write_modref_records): Use new stream_out member function. - (read_modref_records): Likewise. - (modref_write): Stream out kills. - (read_section): Stream in kills - (remap_kills): New function. - (update_signature): Use it. - -2021-11-17 Uroš Bizjak - - * config/i386/i386.h (LEGACY_SSE_REGNO_P): New predicate. - (SSE_REGNO_P): Use LEGACY_SSE_REGNO_P predicate. - * config/i386/i386.c (zero_all_vector_registers): - Use LEGACY_SSE_REGNO_P predicate. - (ix86_register_priority): Use REX_INT_REGNO_P, REX_SSE_REGNO_P - and EXT_REG_SSE_REGNO_P predicates. - (ix86_hard_regno_call_part_clobbered): Use REX_SSE_REGNO_P - and LEGACY_SSE_REGNO_P predicates. - -2021-11-17 Jason Merrill - - * doc/invoke.texi (C++ Dialect Options): Document - -fimplicit-constexpr. - -2021-11-17 Przemyslaw Wirkus - - * config/aarch64/aarch64-modes.def (VECTOR_MODE): New V8DI mode. - * config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Handle - V8DImode. - * config/aarch64/iterators.md (define_mode_attr nunits): Add entry - for V8DI. - -2021-11-17 Martin Uecker - - PR c/91038 - PR c/29970 - * gimplify.c (gimplify_var_or_parm_decl): Update comment. - (gimplify_compound_lval): Gimplify base expression first. - (gimplify_target_expr): Add comment. - -2021-11-17 Jakub Jelinek - - PR tree-optimization/103192 - * tree-ssa-loop-im.c (move_computations_worker): Use - reset_flow_sensitive_info instead of manually clearing - SSA_NAME_RANGE_INFO and do it for all SSA_NAMEs, not just ones - with integral types. - -2021-11-17 Jakub Jelinek - - PR tree-optimization/103255 - * gimple-range-fold.cc (fold_using_range::range_of_address): Return - range_nonzero rather than unadjusted base's range. Formatting fixes. - -2021-11-17 Richard Sandiford - - * doc/md.texi (cond_fmin@var{mode}, cond_fmax@var{mode}): Document. - * optabs.def (cond_fmin_optab, cond_fmax_optab): New optabs. - * internal-fn.def (COND_FMIN, COND_FMAX): New functions. - * internal-fn.c (first_commutative_argument): Handle them. - (FOR_EACH_COND_FN_PAIR): Likewise. - * match.pd (UNCOND_BINARY, COND_BINARY): Likewise. - * config/aarch64/aarch64-sve.md (cond_): New - pattern. - -2021-11-17 Kewen Lin - - * config/i386/i386.md (*add3_doubleword, *addv4_doubleword, - *addv4_doubleword_1, *sub3_doubleword, - *subv4_doubleword, *subv4_doubleword_1, - *add3_doubleword_cc_overflow_1, *divmodsi4_const, - *neg2_doubleword, *tls_dynamic_gnu2_combine_64_): Fix split - condition. - -2021-11-17 Andrew Pinski - - PR tree-optimization/103288 - * tree-ssa-phiopt.c (value_replacement): Return early if middle - block has more than one pred. - -2021-11-17 Kewen Lin - - * config/visium/visium.md (*add3_insn, *addsi3_insn, *addi3_insn, - *sub3_insn, *subsi3_insn, *subdi3_insn, *neg2_insn, - *negdi2_insn, *and3_insn, *ior3_insn, *xor3_insn, - *one_cmpl2_insn, *ashl3_insn, *ashr3_insn, - *lshr3_insn, *trunchiqi2_insn, *truncsihi2_insn, - *truncdisi2_insn, *extendqihi2_insn, *extendqisi2_insn, - *extendhisi2_insn, *extendsidi2_insn, *zero_extendqihi2_insn, - *zero_extendqisi2_insn, *zero_extendsidi2_insn): Fix split condition. - -2021-11-17 Marek Polacek - - PR preprocessor/103026 - * doc/invoke.texi: Document -Wbidi-chars. - -2021-11-17 Jan Hubicka - - PR ipa/103246 - * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Fix clearing - of to_info_lto - -2021-11-16 Jan Hubicka - - * ipa-modref.c (get_modref_function_summary): Declare. - * ipa-modref.h (get_modref_function_summary): New function. - * tree-ssa-dse.c (clear_live_bytes_for_ref): Break out from ... - (clear_bytes_written_by): ... here; also clear memory killed by - calls. - -2021-11-16 Iain Sandoe - - * ggc-common.c (gt_pch_save): If we cannot find a suitable - memory segment for save, then error-out, do not try to - continue. - (gt_pch_restore): Save the existing line table, and when - the replacement is being read, use that when constructing - diagnostics. - -2021-11-16 Peter Bergner - - PR target/102976 - * config/rs6000/mma.md (*vsx_assemble_pair): Add early-clobber for - output operand. - (*mma_assemble_acc): Likewise. - -2021-11-16 Martin Sebor - - PR tree-optimization/102960 - * gimple-fold.c (get_range_strlen): Take bitmap as an argument rather - than a pointer to it. - (get_range_strlen_tree): Same. Remove bitmap allocation. Use - an auto_bitmap. - (get_maxval_strlen): Use an auto_bitmap. - * tree-ssa-strlen.c (get_range_strlen_dynamic): Factor out PHI - handling... - (get_range_strlen_phi): ...into this function. - Avoid assuming maximum string length is constant - (printf_strlen_execute): Dump pointer query cache contents when - details are requisted. - -2021-11-16 Jason Merrill - - * langhooks.h (struct lang_hooks): Adjust comment. - * print-tree.c (print_node): Also call print_xnode hook for - tcc_constant class. - -2021-11-16 Andrew Pinski - - PR tree-optimization/103218 - * match.pd: New pattern for "((type)(a<0)) << SIGNBITOFA". - -2021-11-16 Claudiu Zissulescu - - * config/arc/arc.md (maddhisi4): Use a single move to accumulator. - (umaddhisi4): Likewise. - (machi): Update pattern. - (umachi): Likewise. - -2021-11-16 Richard Biener - - PR tree-optimization/102880 - * tree-ssa-dce.c (sort_phi_args): New function. - (make_forwarders_with_degenerate_phis): Likewise. - (perform_tree_ssa_dce): Call - make_forwarders_with_degenerate_phis. - -2021-11-16 Richard Biener - - PR tree-optimization/102880 - * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Push - single_pred (bb1) condition to places that really need it. - (match_simplify_replacement): Likewise. - (value_replacement): Likewise. - (replace_phi_edge_with_variable): Deal with extra edges - into the middle BB. - -2021-11-16 Martin Jambor - - * cfgexpand.c (expand_gimple_basic_block): Use build_debug_expr_decl, - add a fixme note about the mode assignment perhaps being unnecessary. - * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): - Likewise. - (ipa_param_body_adjustments::mark_dead_statements): Likewise. - (ipa_param_body_adjustments::reset_debug_stmts): Likewise. - * tree-inline.c (remap_ssa_name): Likewise. - (tree_function_versioning): Likewise. - * tree-into-ssa.c (rewrite_debug_stmt_uses): Likewise. - * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise. - * tree-ssa.c (insert_debug_temp_for_var_def): Likewise. - -2021-11-16 Jakub Jelinek - - PR tree-optimization/103208 - * omp-expand.c (expand_omp_build_cond): New function. - (expand_omp_for_init_counts, expand_omp_for_init_vars, - expand_omp_for_static_nochunk, expand_omp_for_static_chunk): Use it. - -2021-11-16 Jakub Jelinek - - PR tree-optimization/102009 - * gimple-ssa-warn-access.cc (pass_waccess::check_alloc_size_call): - Punt if any of alloc_size arguments is out of bounds vs. number of - call arguments. - -2021-11-16 Roger Sayle - - * config/i386/i386.md (*bmi2_rorx_1): Make conditional - on !optimize_function_for_size_p. - (*3_1): Add preferred_for_size attribute. - (define_splits): Conditionalize on !optimize_function_for_size_p. - (*bmi2_rorxsi3_1_zext): Likewise. - (*si2_1_zext): Add preferred_for_size attribute. - (define_splits): Conditionalize on !optimize_function_for_size_p. - -2021-11-16 Jan Hubicka - - PR ipa/103262 - * ipa-modref.c (merge_call_side_effects): Fix uninitialized - access. - -2021-11-16 Andrew Pinski - - PR tree-optimization/103245 - * match.pd: Combine the abs pattern matching using multiplication. - Adding optional nop_convert too. - -2021-11-16 H.J. Lu - - PR middle-end/103268 - * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Add a missing - return. - -2021-11-15 Siddhesh Poyarekar - - * gimple-fold.c (gimple_fold_builtin_strncat): Use ranges to - determine if it is safe to transform to strcat. - (gimple_fold_builtin_snprintf): Likewise. - -2021-11-15 Siddhesh Poyarekar - - * gimple-fold.c (known_lower): New function. - (gimple_fold_builtin_strncat_chk, - gimple_fold_builtin_memory_chk, gimple_fold_builtin_stxcpy_chk, - gimple_fold_builtin_stxncpy_chk, - gimple_fold_builtin_snprintf_chk, - gimple_fold_builtin_sprintf_chk): Use it. - -2021-11-15 Siddhesh Poyarekar - - * gimple-fold.c (dump_transformation): New function. - (gimple_fold_builtin_stxcpy_chk, - gimple_fold_builtin_stxncpy_chk): Use it. Simplify to - BUILT_IN_STRNCPY if return value is not used. - -2021-11-15 H.J. Lu - - PR middle-end/103184 - * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Check optab - before transforming equivalent, but slighly different cases to - their canonical forms. - -2021-11-15 Iain Sandoe - - PR fortran/102992 - * config/darwin.h (TARGET_DTORS_FROM_CXA_ATEXIT): New. - * doc/tm.texi: Regenerated. - * doc/tm.texi.in: Add TARGET_DTORS_FROM_CXA_ATEXIT hook. - * ipa.c (cgraph_build_static_cdtor_1): Return the built - function decl. - (build_cxa_atexit_decl): New. - (build_dso_handle_decl): New. - (build_cxa_dtor_registrations): New. - (compare_cdtor_tu_order): New. - (build_cxa_atexit_fns): New. - (ipa_cdtor_merge): If dtors_from_cxa_atexit is set, - process the DTORs/CTORs accordingly. - (pass_ipa_cdtor_merge::gate): Also run if - dtors_from_cxa_atexit is set. - * target.def (dtors_from_cxa_atexit): New hook. - -2021-11-15 Iain Sandoe - - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Test ld64 for -platform-version support. - -2021-11-15 Thomas Schwinge - - * diagnostic-spec.h (typedef xint_hash_t) - (typedef xint_hash_map_t): Replace with... - (typedef nowarn_map_t): ... this. - (nowarn_map): Adjust. - * diagnostic-spec.c (nowarn_map, suppress_warning_at): Likewise. - -2021-11-15 Thomas Schwinge - - * profile.c (branch_prob): Use 'location_hash' for - 'seen_locations'. - -2021-11-15 Aldy Hernandez - - PR tree-optimization/103207 - * value-range.cc (irange::set): Drop overflow. - -2021-11-15 Jakub Jelinek - - * gimplify.c (optimize_target_teams): Only add OMP_CLAUSE_THREAD_LIMIT - to OMP_TARGET_CLAUSES if it isn't there already. - -2021-11-15 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::internal_range_of_expr): - Remove useless code. - (path_range_query::ssa_defined_in_bb): New. - (path_range_query::ssa_range_in_phi): Avoid fold_range call that - could trigger additional lookups. - Do not use the cache for ARGs defined in this block. - (path_range_query::compute_ranges_in_block): Use ssa_defined_in_bb. - (path_range_query::maybe_register_phi_relation): Same. - (path_range_query::range_of_stmt): Adjust comment. - * gimple-range-path.h (ssa_defined_in_bb): New. - -2021-11-15 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::internal_range_of_expr): - Default to global range if nothing found. - -2021-11-15 Richard Biener - - PR tree-optimization/103237 - * tree-vect-loop.c (vect_is_simple_reduction): Fail for - double reductions with multiple inner loop LC PHI nodes. - -2021-11-15 Hongyu Wang - - PR target/103069 - * config/i386/i386-expand.c (ix86_expand_atomic_fetch_op_loop): - New expand function. - * config/i386/i386-options.c (ix86_target_string): Add - -mrelax-cmpxchg-loop flag. - (ix86_valid_target_attribute_inner_p): Likewise. - * config/i386/i386-protos.h (ix86_expand_atomic_fetch_op_loop): - New expand function prototype. - * config/i386/i386.opt: Add -mrelax-cmpxchg-loop. - * config/i386/sync.md (atomic_fetch_): New expander - for SI,HI,QI modes. - (atomic__fetch): Likewise. - (atomic_fetch_nand): Likewise. - (atomic_nand_fetch): Likewise. - (atomic_fetch_): New expander for DI,TI modes. - (atomic__fetch): Likewise. - (atomic_fetch_nand): Likewise. - (atomic_nand_fetch): Likewise. - * doc/invoke.texi: Document -mrelax-cmpxchg-loop. - -2021-11-15 Richard Biener - - PR tree-optimization/103219 - * gimple-loop-jam.c (tree_loop_unroll_and_jam): Use single_exit - to determine the exit for the VN region. - -2021-11-15 Prathamesh Kulkarni - - * tree-ssa-loop.c (pass_vectorize): Move to tree-vectorizer.c. - (pass_data_vectorize): Likewise. - (make_pass_vectorize): Likewise. - * tree-vectorizer.c (vectorize_loops): Merge with - pass_vectorize::execute and replace cfun occurences with fun param. - (adjust_simduid_builtins): Add fun param, replace cfun occurences with - fun, and adjust callers approrpiately. - (note_simd_array_uses): Likewise. - (vect_loop_dist_alias_call): Likewise. - (set_uid_loop_bbs): Likewise. - (vect_transform_loops): Likewise. - (try_vectorize_loop_1): Likewise. - (try_vectorize_loop): Likewise. - -2021-11-15 Jakub Jelinek - - PR target/103205 - * config/i386/sync.md (atomic_bit_test_and_set, - atomic_bit_test_and_complement, - atomic_bit_test_and_reset): Use OPTAB_WIDEN instead of - OPTAB_DIRECT. - -2021-11-15 Maciej W. Rozycki - - * config/vax/vax.c (vax_lra_p): New prototype and function. - (TARGET_LRA_P): Wire it. - * config/vax/vax.opt (mlra): New option. - * doc/invoke.texi (Option Summary, VAX Options): Document the - new option. - -2021-11-14 Jan Hubicka - - * ipa-modref.h (struct modref_summary): Add nondeterministic - and calls_interposable flags. - * ipa-modref.c (modref_summary::modref_summary): Initialize new flags. - (modref_summary::useful_p): Check new flags. - (struct modref_summary_lto): Add nondeterministic and - calls_interposable flags. - (modref_summary_lto::modref_summary_lto): Initialize new flags. - (modref_summary_lto::useful_p): Check new flags. - (modref_summary::dump): Dump new flags. - (modref_summary_lto::dump): Dump new flags. - (ignore_nondeterminism_p): New function. - (merge_call_side_effects): Merge new flags. - (process_fnspec): Likewise. - (analyze_load): Volatile access is nondeterministic. - (analyze_store): Liekwise. - (analyze_stmt): Volatile ASM is nondeterministic. - (analyze_function): Clear new flags. - (modref_summaries::duplicate): Duplicate new flags. - (modref_summaries_lto::duplicate): Duplicate new flags. - (modref_write): Stream new flags. - (read_section): Stream new flags. - (propagate_unknown_call): Update new flags. - (modref_propagate_in_scc): Propagate new flags. - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check - calls_interposable. - * tree-ssa-structalias.c (determine_global_memory_access): - Likewise. - -2021-11-14 Maciej W. Rozycki - - * config/vax/vax.h (SET_RATIO): New macro. - * config/vax/vax.md (UNSPEC_SETMEM_FILL): New constant. - (setmemhi): New expander. - (setmemhi1): New insn and splitter. - (*setmemhi1): New insn. - -2021-11-14 Jan Hubicka - - * ipa-modref-tree.c (modref_access_node::update_for_kills): New - member function. - (modref_access_node::merge_for_kills): Likewise. - (modref_access_node::insert_kill): Likewise. - * ipa-modref-tree.h (modref_access_node::update_for_kills, - modref_access_node::merge_for_kills, modref_access_node::insert_kill): - Declare. - (modref_access_node::useful_for_kill): New member function. - * ipa-modref.c (modref_summary::useful_p): Release useless kills. - (lto_modref_summary): Add kills. - (modref_summary::dump): Dump kills. - (record_access): Add mdoref_access_node parameter. - (record_access_lto): Likewise. - (merge_call_side_effects): Merge kills. - (analyze_call): Add ALWAYS_EXECUTED param and pass it around. - (struct summary_ptrs): Add always_executed filed. - (analyze_load): Update. - (analyze_store): Update; record kills. - (analyze_stmt): Add always_executed; record kills in clobbers. - (analyze_function): Track always_executed. - (modref_summaries::duplicate): Duplicate kills. - (update_signature): Release kills. - * ipa-modref.h (struct modref_summary): Add kills. - * tree-ssa-alias.c (alias_stats): Add kill stats. - (dump_alias_stats): Dump kill stats. - (store_kills_ref_p): Break out from ... - (stmt_kills_ref_p): Use it; handle modref info based kills. - -2021-11-14 Aldy Hernandez - - PR tree-optimization/103229 - * gimple-range-cache.cc (ssa_global_cache::clear): Do not pass - null value to memset. - -2021-11-14 Jan Hubicka - - * ipa-modref-tree.c (modref_access_node::get_call_arg): New member - function. - (modref_access_node::get_ao_ref): Likewise. - * ipa-modref-tree.h (modref_access_node::get_call_arg): Declare. - (modref_access_node::get_ao_ref): Declare. - * tree-ssa-alias.c (modref_may_conflict): Use new accessors. - * tree-ssa-dse.c (dse_optimize_call): Use new accessors. - -2021-11-13 Jan Hubicka - - PR lto/103211 - * dbgcnt.def (ipa_attr): New counters. - * ipa-pure-const.c: Include dbgcnt.c - (ipa_make_function_const): Use debug counter. - (ipa_make_function_pure): Likewise. - (propagate_pure_const): Fix bug in my previous change. - -2021-11-13 Jan Hubicka - - * ipa-modref-tree.c (modref_access_node::range_info_useful_p): - Offline from ipa-modref-tree.h. - (modref_access_node::dump): Move from ipa-modref.c; make member - function. - * ipa-modref-tree.h (modref_access_node::range_info_useful_p. - modref_access_node::dump): Declare. - * ipa-modref.c (dump_access): Remove. - (dump_records): Update. - (dump_lto_records): Update. - (record_access): Update. - (record_access_lto): Update. - -2021-11-13 Jan Hubicka - - * ipa-modref.c (modref_summary::modref_summary): Clear new flags. - (modref_summary::dump): Dump try_dse. - (modref_summary::finalize): Add FUN attribute; compute try-dse. - (analyze_function): Update. - (read_section): Update. - (update_signature): Update. - (pass_ipa_modref::execute): Update. - * ipa-modref.h (struct modref_summary): - * tree-ssa-alias.c (ao_ref_init_from_ptr_and_range): Export. - * tree-ssa-alias.h (ao_ref_init_from_ptr_and_range): Declare. - * tree-ssa-dse.c (dse_optimize_call): New function. - (dse_optimize_stmt): Use it. - -2021-11-13 Jan Hubicka - - * ipa-modref-tree.c: Move #if CHECKING_P to proper place. - -2021-11-13 Jan Hubicka - - * ipa-modref-tree.h - (struct modref_access_node): Move longer member functions to - ipa-modref-tree.c - (modref_ref_node::try_merge_with): Turn into modreef_acces_node member - function. - * ipa-modref-tree.c (modref_access_node::contains): Move here - from ipa-modref-tree.h. - (modref_access_node::update): Likewise. - (modref_access_node::merge): Likewise. - (modref_access_node::closer_pair_p): Likewise. - (modref_access_node::forced_merge): Likewise. - (modref_access_node::update2): Likewise. - (modref_access_node::combined_offsets): Likewise. - (modref_access_node::try_merge_with): Likewise. - (modref_access_node::insert): Likewise. - -2021-11-13 Jan Hubicka - - * ipa-modref.c (modref_summary::global_memory_read_p): Remove. - (modref_summary::global_memory_written_p): Remove. - (modref_summary::dump): Dump new flags. - (modref_summary::finalize): New member function. - (analyze_function): Call it. - (read_section): Call it. - (update_signature): Call it. - (pass_ipa_modref::execute): Call it. - * ipa-modref.h (struct modref_summary): Remove - global_memory_read_p and global_memory_written_p. - Add global_memory_read, global_memory_written. - * tree-ssa-structalias.c (determine_global_memory_access): - Update. - -2021-11-13 Jan Hubicka - - * ipa-fnsummary.c (compute_fn_summary): Use type_attribut_allowed_p - * ipa-param-manipulation.c - (ipa_param_adjustments::type_attribute_allowed_p): - New member function. - (drop_type_attribute_if_params_changed_p): New function. - (build_adjusted_function_type): Use it. - * ipa-param-manipulation.h: Add type_attribute_allowed_p. - -2021-11-13 David Malcolm - - * doc/invoke.texi (Static Analyzer Options): Add - -Wno-analyzer-tainted-allocation-size, - -Wno-analyzer-tainted-divisor, -Wno-analyzer-tainted-offset, and - -Wno-analyzer-tainted-size to list. Add - -Wanalyzer-tainted-allocation-size, -Wanalyzer-tainted-divisor, - -Wanalyzer-tainted-offset, and -Wanalyzer-tainted-size to list - of options effectively enabled by -fanalyzer. - (-Wanalyzer-tainted-allocation-size): New. - (-Wanalyzer-tainted-array-index): Tweak wording; add link to CWE. - (-Wanalyzer-tainted-divisor): New. - (-Wanalyzer-tainted-offset): New. - (-Wanalyzer-tainted-size): New. - -2021-11-13 Jan Hubicka - - * attr-fnspec.h (attr_fnspec::arg_eaf_flags): Break out from ... - * gimple.c (gimple_call_arg_flags): ... here. - * ipa-modref.c (analyze_parms): Record flags known from fnspec. - (modref_merge_call_site_flags): Use arg_eaf_flags. - -2021-11-13 Aldy Hernandez - - PR tree-optimization/103222 - * gimple-range-path.cc (path_range_query::compute_ranges_in_phis): - New. - (path_range_query::compute_ranges_in_block): Call - compute_ranges_in_phis. - * gimple-range-path.h (path_range_query::compute_ranges_in_phis): - New. - -2021-11-13 Jan Hubicka - - * ipa-fnsummary.c (compute_fn_summary): Do not give up on signature - changes on "fn spec" attribute; give up on varadic types. - * ipa-param-manipulation.c: Include attribs.h. - (build_adjusted_function_type): New parameter ARG_MODIFIED; if it is - true remove "fn spec" attribute. - (ipa_param_adjustments::build_new_function_type): Update. - (ipa_param_body_adjustments::modify_formal_parameters): update. - * ipa-sra.c: Include attribs.h. - (ipa_sra_preliminary_function_checks): Do not check for TYPE_ATTRIBUTES. - -2021-11-13 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::path_range_query): Merge - ctors. - (path_range_query::import_p): Move from header file. - (path_range_query::~path_range_query): Adjust for combined ctors. - * gimple-range-path.h: Merge ctors. - (path_range_query::import_p): Move to .cc file. - -2021-11-13 Jan Hubicka - - PR tree-optimization/103182 - * ipa-modref.c (callee_to_caller_flags): Fix merging of flags. - (modref_eaf_analysis::analyze_ssa_name): Fix merging of flags. - -2021-11-12 Stafford Horne - - * config/or1k/or1k-protos.h (or1k_profile_hook): New function. - * config/or1k/or1k.h (PROFILE_HOOK): Change macro to reference - new function or1k_profile_hook. - * config/or1k/or1k.c (struct machine_function): Add new field - set_mcount_arg_insn. - (or1k_profile_hook): New function. - (or1k_init_pic_reg): Update to inject pic rtx after _mcount arg - when profiling. - (or1k_frame_pointer_required): Frame pointer no longer needed - when profiling. - -2021-11-12 Jan Hubicka - - PR tree-optimization/103209 - * tree-ssa-structalias.c (find_func_aliases_for_call): Fix - use of handle_rhs_call - -2021-11-12 Aldy Hernandez - - PR tree-optimization/103202 - * gimple-range-path.cc - (path_range_query::compute_ranges_in_block): Solve PHI imports first. - -2021-11-12 Jan Hubicka - - * ipa-pure-const.c (propagate_pure_const): Remove redundant check; - fix call of ipa_make_function_const and ipa_make_function_pure. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_vector_op::n_advsimd_ops): Delete. - (aarch64_vector_op::m_seen_loads): Likewise. - (aarch64_vector_costs::aarch64_vector_costs): Don't push to - m_advsimd_ops. - (aarch64_vector_op::count_ops): Remove vectype and factor parameters. - Remove code that tries to predict different vec_flags from the - current loop's. - (aarch64_vector_costs::add_stmt_cost): Update accordingly. - Remove m_advsimd_ops handling. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_vector_costs::m_saw_sve_only_op) - (aarch64_sve_only_stmt_p): Delete. - (aarch64_vector_costs::prefer_unrolled_loop): New function, - extracted from adjust_body_cost. - (aarch64_vector_costs::better_main_loop_than_p): New function, - using heuristics extracted from adjust_body_cost and - adjust_body_cost_sve. - (aarch64_vector_costs::adjust_body_cost_sve): Remove - advsimd_cycles_per_iter and could_use_advsimd parameters. - Update after changes above. - (aarch64_vector_costs::adjust_body_cost): Update after changes above. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_vec_op_count::m_vf_factor): - New member variable. - (aarch64_vec_op_count::aarch64_vec_op_count): Add a parameter for it. - (aarch64_vec_op_count::vf_factor): New function. - (aarch64_vector_costs::aarch64_vector_costs): When costing for - neoverse-512tvb, pass a vf_factor of 2 for the Neoverse V1 version - of an SVE loop. - (aarch64_vector_costs::adjust_body_cost): Read the vf factor - instead of hard-coding 2. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c - (aarch64_vec_op_count::rename_cycles_per_iter): New function. - (aarch64_vec_op_count::min_nonpred_cycles_per_iter): Likewise. - (aarch64_vec_op_count::min_pred_cycles_per_iter): Likewise. - (aarch64_vec_op_count::min_cycles_per_iter): Likewise. - (aarch64_vec_op_count::dump): Move earlier in file. Dump the - above properties too. - (aarch64_estimate_min_cycles_per_iter): Delete. - (adjust_body_cost): Use aarch64_vec_op_count::min_cycles_per_iter - instead of aarch64_estimate_min_cycles_per_iter. Rely on the dump - routine to print CPI estimates. - (adjust_body_cost_sve): Likewise. Use the other functions above - instead of doing the work inline. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_vec_op_count): Allow default - initialization. - (aarch64_vec_op_count::base_issue_info): Remove handling of null - issue_infos. - (aarch64_vec_op_count::simd_issue_info): Likewise. - (aarch64_vec_op_count::sve_issue_info): Likewise. - (aarch64_vector_costs::m_ops): Turn into a vector. - (aarch64_vector_costs::m_advsimd_ops): Likewise. - (aarch64_vector_costs::aarch64_vector_costs): Add entries to - the vectors based on aarch64_tune_params. - (aarch64_vector_costs::analyze_loop_vinfo): Update the pred_ops - of all entries in m_ops. - (aarch64_vector_costs::add_stmt_cost): Call count_ops for all - entries in m_ops. - (aarch64_estimate_min_cycles_per_iter): Remove issue_info - parameter and get the information from the ops instead. - (aarch64_vector_costs::adjust_body_cost_sve): Take a - aarch64_vec_issue_info instead of a aarch64_vec_op_count. - (aarch64_vector_costs::adjust_body_cost): Update call accordingly. - Exit earlier if m_ops is empty for either cost structure. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_vector_costs::m_scalar_ops) - (aarch64_vector_costs::m_sve_ops): Replace with... - (aarch64_vector_costs::m_ops): ...this. - (aarch64_vector_costs::analyze_loop_vinfo): Update accordingly. - (aarch64_vector_costs::adjust_body_cost_sve): Likewise. - (aarch64_vector_costs::aarch64_vector_costs): Likewise. - Initialize m_vec_flags here rather than in add_stmt_cost. - (aarch64_vector_costs::count_ops): Test for scalar reductions too. - Allow vectype to be null. - (aarch64_vector_costs::add_stmt_cost): Call count_ops for scalar - code too. Don't require vectype to be nonnull. - (aarch64_vector_costs::adjust_body_cost): Take the loop_vec_info - and scalar costs as parameters. Use the scalar costs to determine - the cycles per iteration of the scalar loop, then multiply it - by the estimated VF. - (aarch64_vector_costs::finish_cost): Update call accordingly. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_dr_type): New function. - (aarch64_vector_costs::count_ops): Use it rather than the - vectype to determine floatness. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_sve_in_loop_reduction_latency): - Remove vectype parameter and get floatness from the type of the - stmt lhs instead. - (arch64_in_loop_reduction_latency): Likewise. - (aarch64_detect_vector_stmt_subtype): Update caller. - (aarch64_vector_costs::count_ops): Likewise. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_sve_op_count): Fold into... - (aarch64_vec_op_count): ...this. Add a constructor. - (aarch64_vec_op_count::vec_flags): New function. - (aarch64_vec_op_count::base_issue_info): Likewise. - (aarch64_vec_op_count::simd_issue_info): Likewise. - (aarch64_vec_op_count::sve_issue_info): Likewise. - (aarch64_vec_op_count::m_issue_info): New member variable. - (aarch64_vec_op_count::m_vec_flags): Likewise. - (aarch64_vector_costs): Add a constructor. - (aarch64_vector_costs::m_sve_ops): Change type to aarch64_vec_op_count. - (aarch64_vector_costs::aarch64_vector_costs): New function. - Initialize m_scalar_ops, m_advsimd_ops and m_sve_ops. - (aarch64_vector_costs::count_ops): Remove vec_flags and - issue_info parameters, using the new aarch64_vec_op_count - functions instead. - (aarch64_vector_costs::add_stmt_cost): Update call accordingly. - (aarch64_sve_op_count::dump): Fold into... - (aarch64_vec_op_count::dump): ..here. - -2021-11-12 Richard Sandiford - - * config/aarch64/aarch64.c: Include tree-dfa.h. - (aarch64_check_consecutive_mems): New function that takes MEM_EXPR - and MEM_OFFSET into account. - (aarch64_swap_ldrstr_operands): Use it. - (aarch64_operands_ok_for_ldpstp): Likewise. Check that the - address of the second memory doesn't depend on the result of - the first load. - -2021-11-12 Jan Hubicka - - * ipa-pure-const.c (ipa_make_function_pure): Fix exit condition. - -2021-11-12 Jan Hubicka - - PR tree-optimization/103175 - * ipa-modref.c (modref_lattice::merge): Add sanity check. - (callee_to_caller_flags): Make flags adjustment sane. - (modref_eaf_analysis::analyze_ssa_name): Likewise. - -2021-11-12 Jan Hubicka - - PR ipa/103200 - * ipa-modref.c (analyze_function, modref_propagate_in_scc): Do - not mark pure/const function if there are side-effects. - -2021-11-12 Chung-Lin Tang - - * tree.h (OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P): New access macro for - 'implicit' bit, using 'base.deprecated_flag' field of tree_node. - * tree-pretty-print.c (dump_omp_clause): Add support for printing - implicit attribute in tree dumping. - * gimplify.c (gimplify_adjust_omp_clauses_1): - Set OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P to 1 if map clause is implicitly - created. - (gimplify_adjust_omp_clauses): Adjust place of adding implicitly created - clauses, from simple append, to starting of list, after non-map clauses. - * omp-low.c (lower_omp_target): Add GOMP_MAP_IMPLICIT bits into kind - values passed to libgomp for implicit maps. - -2021-11-12 Jakub Jelinek - - * omp-builtins.def (BUILT_IN_GOMP_TEAMS): Remove. - (BUILT_IN_GOMP_TEAMS4): New. - * builtin-types.def (BT_FN_VOID_UINT_UINT): Remove. - (BT_FN_BOOL_UINT_UINT_UINT_BOOL): New. - * omp-low.c (lower_omp_teams): Use GOMP_teams4 instead of - GOMP_teams, pass to it also num_teams lower-bound expression - or a dup of upper-bound if it is missing and a flag whether - it is the first call or not. - -2021-11-12 Martin Liska - - PR tree-optimization/102497 - * gimple-predicate-analysis.cc (add_pred): Remove unused - function: - -2021-11-12 Richard Biener - - PR tree-optimization/103204 - * tree-ssa-sccvn.c (valueize_refs_1): Re-valueize the - top operand after folding in an address. - -2021-11-11 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::path_range_query): New - ctor without a ranger. - (path_range_query::~path_range_query): Free ranger if necessary. - (path_range_query::range_on_path_entry): Adjust m_ranger for pointer. - (path_range_query::ssa_range_in_phi): Same. - (path_range_query::compute_ranges_in_block): Same. - (path_range_query::compute_imports): Same. - (path_range_query::compute_ranges): Same. - (path_range_query::range_of_stmt): Same. - (path_range_query::compute_outgoing_relations): Same. - * gimple-range-path.h (class path_range_query): New ctor. - * tree-ssa-loop-ch.c (ch_base::copy_headers): Remove gimple_ranger - as path_range_query allocates one. - * tree-ssa-threadbackward.c (class back_threader): Remove m_ranger. - (back_threader::~back_threader): Same. - -2021-11-11 Aldy Hernandez - - * tree-ssa-threadbackward.c - (back_threader_profitability::profitable_path_p): Remove loop - crossing restriction. - -2021-11-11 Jan Hubicka - - * ipa-modref.c (analyze_function): Do pure/const discovery, return - true on success. - (pass_modref::execute): If pure/const is discovered fixup cfg. - (ignore_edge): Do not ignore pure/const edges. - (modref_propagate_in_scc): Do pure/const discovery, return true if - cdtor was promoted pure/const. - (pass_ipa_modref::execute): If needed remove unreachable functions. - * ipa-pure-const.c (warn_function_noreturn): Fix whitespace. - (warn_function_cold): Likewise. - (skip_function_for_local_pure_const): Move earlier. - (ipa_make_function_const): Break out from ... - (ipa_make_function_pure): Break out from ... - (propagate_pure_const): ... here. - (pass_local_pure_const::execute): Use it. - * ipa-utils.h (ipa_make_function_const): Declare. - (ipa_make_function_pure): Declare. - * passes.def: Move early modref after pure-const. - -2021-11-11 David Malcolm - - PR other/103129 - * diagnostic-show-locus.c (def_policy): Use def_tabstop. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-builtins.c (TYPES_COMBINE): Delete. - (TYPES_COMBINEP): Delete. - * config/aarch64/aarch64-simd-builtins.def: Declare type- - qualified builtins for vcombine_* intrinsics. - * config/aarch64/arm_neon.h (vcombine_s8): Remove unnecessary - cast. - (vcombine_s16): Likewise. - (vcombine_s32): Likewise. - (vcombine_f32): Likewise. - (vcombine_u8): Use type-qualified builtin and remove casts. - (vcombine_u16): Likewise. - (vcombine_u32): Likewise. - (vcombine_u64): Likewise. - (vcombine_p8): Likewise. - (vcombine_p16): Likewise. - (vcombine_p64): Likewise. - (vcombine_bf16): Remove unnecessary cast. - * config/aarch64/iterators.md (VD_I): New mode iterator. - (VDC_P): New mode iterator. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-builtins.c (TYPES_LOAD1_U): Define. - (TYPES_LOAD1_P): Define. - (TYPES_STORE1_U): Define. - (TYPES_STORE1P): Rename to... - (TYPES_STORE1_P): This. - (get_mem_type_for_load_store): Add unsigned and poly types. - (aarch64_general_gimple_fold_builtin): Add unsigned and poly - type-qualified builtin declarations. - * config/aarch64/aarch64-simd-builtins.def: Declare type- - qualified builtins for LD1/ST1. - * config/aarch64/arm_neon.h (vld1_p8): Use type-qualified - builtin and remove cast. - (vld1_p16): Likewise. - (vld1_u8): Likewise. - (vld1_u16): Likewise. - (vld1_u32): Likewise. - (vld1q_p8): Likewise. - (vld1q_p16): Likewise. - (vld1q_p64): Likewise. - (vld1q_u8): Likewise. - (vld1q_u16): Likewise. - (vld1q_u32): Likewise. - (vld1q_u64): Likewise. - (vst1_p8): Likewise. - (vst1_p16): Likewise. - (vst1_u8): Likewise. - (vst1_u16): Likewise. - (vst1_u32): Likewise. - (vst1q_p8): Likewise. - (vst1q_p16): Likewise. - (vst1q_p64): Likewise. - (vst1q_u8): Likewise. - (vst1q_u16): Likewise. - (vst1q_u32): Likewise. - (vst1q_u64): Likewise. - * config/aarch64/iterators.md (VALLP_NO_DI): New iterator. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Declare unsigned - builtins for vector reduction. - * config/aarch64/arm_neon.h (vaddv_u8): Use type-qualified - builtin and remove casts. - (vaddv_u16): Likewise. - (vaddv_u32): Likewise. - (vaddvq_u8): Likewise. - (vaddvq_u16): Likewise. - (vaddvq_u32): Likewise. - (vaddvq_u64): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: - * config/aarch64/arm_neon.h (vpaddq_u8): Use type-qualified - builtin and remove casts. - (vpaddq_u16): Likewise. - (vpaddq_u32): Likewise. - (vpaddq_u64): Likewise. - (vpadd_u8): Likewise. - (vpadd_u16): Likewise. - (vpadd_u32): Likewise. - (vpaddd_u64): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Declare unsigned - builtins for [r]subhn[2]. - * config/aarch64/arm_neon.h (vsubhn_s16): Remove unnecessary - cast. - (vsubhn_s32): Likewise. - (vsubhn_s64): Likewise. - (vsubhn_u16): Use type-qualified builtin and remove casts. - (vsubhn_u32): Likewise. - (vsubhn_u64): Likewise. - (vrsubhn_s16): Remove unnecessary cast. - (vrsubhn_s32): Likewise. - (vrsubhn_s64): Likewise. - (vrsubhn_u16): Use type-qualified builtin and remove casts. - (vrsubhn_u32): Likewise. - (vrsubhn_u64): Likewise. - (vrsubhn_high_s16): Remove unnecessary cast. - (vrsubhn_high_s32): Likewise. - (vrsubhn_high_s64): Likewise. - (vrsubhn_high_u16): Use type-qualified builtin and remove - casts. - (vrsubhn_high_u32): Likewise. - (vrsubhn_high_u64): Likewise. - (vsubhn_high_s16): Remove unnecessary cast. - (vsubhn_high_s32): Likewise. - (vsubhn_high_s64): Likewise. - (vsubhn_high_u16): Use type-qualified builtin and remove - casts. - (vsubhn_high_u32): Likewise. - (vsubhn_high_u64): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Declare unsigned - builtins for [r]addhn[2]. - * config/aarch64/arm_neon.h (vaddhn_s16): Remove unnecessary - cast. - (vaddhn_s32): Likewise. - (vaddhn_s64): Likewise. - (vaddhn_u16): Use type-qualified builtin and remove casts. - (vaddhn_u32): Likewise. - (vaddhn_u64): Likewise. - (vraddhn_s16): Remove unnecessary cast. - (vraddhn_s32): Likewise. - (vraddhn_s64): Likewise. - (vraddhn_u16): Use type-qualified builtin and remove casts. - (vraddhn_u32): Likewise. - (vraddhn_u64): Likewise. - (vaddhn_high_s16): Remove unnecessary cast. - (vaddhn_high_s32): Likewise. - (vaddhn_high_s64): Likewise. - (vaddhn_high_u16): Use type-qualified builtin and remove - casts. - (vaddhn_high_u32): Likewise. - (vaddhn_high_u64): Likewise. - (vraddhn_high_s16): Remove unnecessary cast. - (vraddhn_high_s32): Likewise. - (vraddhn_high_s64): Likewise. - (vraddhn_high_u16): Use type-qualified builtin and remove - casts. - (vraddhn_high_u32): Likewise. - (vraddhn_high_u64): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type - qualifiers in generator macros for uhsub builtins. - * config/aarch64/arm_neon.h (vhsub_s8): Remove unnecessary - cast. - (vhsub_s16): Likewise. - (vhsub_s32): Likewise. - (vhsub_u8): Use type-qualified builtin and remove casts. - (vhsub_u16): Likewise. - (vhsub_u32): Likewise. - (vhsubq_s8): Remove unnecessary cast. - (vhsubq_s16): Likewise. - (vhsubq_s32): Likewise. - (vhsubq_u8): Use type-qualified builtin and remove casts. - (vhsubq_u16): Likewise. - (vhsubq_u32): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type - qualifiers in generator macros for u[r]hadd builtins. - * config/aarch64/arm_neon.h (vhadd_s8): Remove unnecessary - cast. - (vhadd_s16): Likewise. - (vhadd_s32): Likewise. - (vhadd_u8): Use type-qualified builtin and remove casts. - (vhadd_u16): Likewise. - (vhadd_u32): Likewise. - (vhaddq_s8): Remove unnecessary cast. - (vhaddq_s16): Likewise. - (vhaddq_s32): Likewise. - (vhaddq_u8): Use type-qualified builtin and remove casts. - (vhaddq_u16): Likewise. - (vhaddq_u32): Likewise. - (vrhadd_s8): Remove unnecessary cast. - (vrhadd_s16): Likewise. - (vrhadd_s32): Likewise. - (vrhadd_u8): Use type-qualified builtin and remove casts. - (vrhadd_u16): Likewise. - (vrhadd_u32): Likewise. - (vrhaddq_s8): Remove unnecessary cast. - (vrhaddq_s16): Likewise. - (vrhaddq_s32): Likewise. - (vrhaddq_u8): Use type-wualified builtin and remove casts. - (vrhaddq_u16): Likewise. - (vrhaddq_u32): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type - qualifiers in generator macros for usub[lw][2] builtins. - * config/aarch64/arm_neon.h (vsubl_s8): Remove unnecessary - cast. - (vsubl_s16): Likewise. - (vsubl_s32): Likewise. - (vsubl_u8): Use type-qualified builtin and remove casts. - (vsubl_u16): Likewise. - (vsubl_u32): Likewise. - (vsubl_high_s8): Remove unnecessary cast. - (vsubl_high_s16): Likewise. - (vsubl_high_s32): Likewise. - (vsubl_high_u8): Use type-qualified builtin and remove casts. - (vsubl_high_u16): Likewise. - (vsubl_high_u32): Likewise. - (vsubw_s8): Remove unnecessary casts. - (vsubw_s16): Likewise. - (vsubw_s32): Likewise. - (vsubw_u8): Use type-qualified builtin and remove casts. - (vsubw_u16): Likewise. - (vsubw_u32): Likewise. - (vsubw_high_s8): Remove unnecessary cast. - (vsubw_high_s16): Likewise. - (vsubw_high_s32): Likewise. - (vsubw_high_u8): Use type-qualified builtin and remove casts. - (vsubw_high_u16): Likewise. - (vsubw_high_u32): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use BINOPU type - qualifiers in generator macros for uadd[lw][2] builtins. - * config/aarch64/arm_neon.h (vaddl_s8): Remove unnecessary - cast. - (vaddl_s16): Likewise. - (vaddl_s32): Likewise. - (vaddl_u8): Use type-qualified builtin and remove casts. - (vaddl_u16): Likewise. - (vaddl_u32): Likewise. - (vaddl_high_s8): Remove unnecessary cast. - (vaddl_high_s16): Likewise. - (vaddl_high_s32): Likewise. - (vaddl_high_u8): Use type-qualified builtin and remove casts. - (vaddl_high_u16): Likewise. - (vaddl_high_u32): Likewise. - (vaddw_s8): Remove unnecessary cast. - (vaddw_s16): Likewise. - (vaddw_s32): Likewise. - (vaddw_u8): Use type-qualified builtin and remove casts. - (vaddw_u16): Likewise. - (vaddw_u32): Likewise. - (vaddw_high_s8): Remove unnecessary cast. - (vaddw_high_s16): Likewise. - (vaddw_high_s32): Likewise. - (vaddw_high_u8): Use type-qualified builtin and remove casts. - (vaddw_high_u16): Likewise. - (vaddw_high_u32): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Declare type- - qualified builtins for [R]SHRN[2]. - * config/aarch64/arm_neon.h (vshrn_n_u16): Use type-qualified - builtin and remove casts. - (vshrn_n_u32): Likewise. - (vshrn_n_u64): Likewise. - (vrshrn_high_n_u16): Likewise. - (vrshrn_high_n_u32): Likewise. - (vrshrn_high_n_u64): Likewise. - (vrshrn_n_u16): Likewise. - (vrshrn_n_u32): Likewise. - (vrshrn_n_u64): Likewise. - (vshrn_high_n_u16): Likewise. - (vshrn_high_n_u32): Likewise. - (vshrn_high_n_u64): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Declare unsigned - type-qualified builtins for XTN[2]. - * config/aarch64/arm_neon.h (vmovn_high_u16): Use type- - qualified builtin and remove casts. - (vmovn_high_u32): Likewise. - (vmovn_high_u64): Likewise. - (vmovn_u16): Likewise. - (vmovn_u32): Likewise. - (vmovn_u64): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use poly type - qualifier in builtin generator macros. - * config/aarch64/arm_neon.h (vmul_p8): Use type-qualified - builtin and remove casts. - (vmulq_p8): Likewise. - (vmull_high_p8): Likewise. - (vmull_p8): Likewise. - -2021-11-11 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Declare type- - qualified builtin generators for unsigned MLA/MLS intrinsics. - * config/aarch64/arm_neon.h (vmla_n_u16): Use type-qualified - builtin. - (vmla_n_u32): Likewise. - (vmla_u8): Likewise. - (vmla_u16): Likewise. - (vmla_u32): Likewise. - (vmlaq_n_u16): Likewise. - (vmlaq_n_u32): Likewise. - (vmlaq_u8): Likewise. - (vmlaq_u16): Likewise. - (vmlaq_u32): Likewise. - (vmls_n_u16): Likewise. - (vmls_n_u32): Likewise. - (vmls_u8): Likewise. - (vmls_u16): Likewise. - (vmls_u32): Likewise. - (vmlsq_n_u16): Likewise. - (vmlsq_n_u32): Likewise. - (vmlsq_u8): Likewise. - (vmlsq_u16): Likewise. - (vmlsq_u32): Likewise. - -2021-11-11 Jan Hubicka - - * ipa-modref.c (modref_summary::useful_p): Check also for side-effects - with looping const/pure. - (modref_summary_lto::useful_p): Likewise. - (merge_call_side_effects): Merge side effects before early exit - for pure/const. - (process_fnspec): Also handle pure functions. - (analyze_call): Do not early exit on looping pure const. - (propagate_unknown_call): Also handle nontrivial SCC as side-effect. - (modref_propagate_in_scc): Update. - -2021-11-11 Richard Biener - - PR tree-optimization/103190 - * tree-ssa-reassoc.c (insert_stmt_after): Only assert on asm goto. - -2021-11-11 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::add_copies_to_imports): - Rename to... - (path_range_query::compute_imports): ...this. Adapt it so it can - be passed the imports bitmap instead of working on m_imports. - (path_range_query::compute_ranges): Call compute_imports in all - cases unless an imports bitmap is passed. - * gimple-range-path.h (path_range_query::compute_imports): New. - (path_range_query::add_copies_to_imports): Remove. - * tree-ssa-threadbackward.c (back_threader::resolve_def): Remove. - (back_threader::find_paths_to_names): Inline resolve_def. - (back_threader::find_paths): Call compute_imports. - (back_threader::resolve_phi): Adjust comment. - -2021-11-11 Richard Biener - - PR tree-optimization/103188 - * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): - Remove query parameter, split out check for size - optimization. - (ch_base::m_ranger, cb_base::m_query): Remove. - (ch_base::copy_headers): Split processing loop into - analysis around which we allocate and use ranger and - transform where we do not. - (pass_ch::execute): Do not allocate/free ranger here. - (pass_ch_vect::execute): Likewise. - -2021-11-11 Jan Hubicka - - * ipa-pure-const.c (propagate_pure_const): Self recursion is - a side effects. - -2021-11-11 Jan Hubicka - - * cgraph.c (set_noreturn_flag_1): New function. - (cgraph_node::set_noreturn_flag): New member function - * cgraph.h (cgraph_node::set_noreturn_flags): Declare. - * ipa-pure-const.c (pass_local_pure_const::execute): Use it. - -2021-11-11 Aldy Hernandez - Richard Biener - - * tree-ssa-loop-ch.c (entry_loop_condition_is_static): Resolve - statically to the edge remaining in the loop. - -2021-11-11 Richard Biener - - PR middle-end/103181 - * tree-eh.c (operation_could_trap_helper_p): Properly - check vector constants for a zero element for integer - division. Separate floating point and integer division code. - -2021-11-11 Jakub Jelinek - - PR debug/101378 - * dwarf2out.c (field_byte_offset): Do the PCC_BITFIELD_TYPE_MATTERS - handling only for DECL_BIT_FIELD_TYPE decls. - -2021-11-11 Prathamesh Kulkarni - - PR target/102376 - * config/aarch64/aarch64.c (aarch64_process_target_attr): Check if - token is arch extension without leading '+' and emit appropriate - diagnostic for the same. - -2021-11-11 Jakub Jelinek - - * tree.h (OMP_CLAUSE_NUM_TEAMS_EXPR): Rename to ... - (OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR): ... this. - (OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR): Define. - * tree.c (omp_clause_num_ops): Increase num ops for - OMP_CLAUSE_NUM_TEAMS to 2. - * tree-pretty-print.c (dump_omp_clause): Print optional lower bound - for OMP_CLAUSE_NUM_TEAMS. - * gimplify.c (gimplify_scan_omp_clauses): Gimplify - OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR if non-NULL. - (optimize_target_teams): Use OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR instead - of OMP_CLAUSE_NUM_TEAMS_EXPR. Handle OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR. - * omp-low.c (lower_omp_teams): Use OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR - instead of OMP_CLAUSE_NUM_TEAMS_EXPR. - * omp-expand.c (expand_teams_call, get_target_arguments): Likewise. - -2021-11-11 Richard Biener - - * cfganal.c (find_pdom): Remove. - (control_dependences::find_control_dependence): Remove - special-casing of entry block, call get_immediate_dominator - directly. - * gimple-predicate-analysis.cc (find_pdom): Remove. - (find_dom): Likewise. - (find_control_equiv_block): Call get_immediate_dominator - directly. - (compute_control_dep_chain): Likewise. - (predicate::init_from_phi_def): Likewise. - -2021-11-11 Richard Biener - - * cfganal.h (control_dependences::control_dependence_map): - Embed bitmap_head. - (control_dependences::m_bitmaps): New. - * cfganal.c (control_dependences::set_control_dependence_map_bit): - Adjust. - (control_dependences::clear_control_dependence_bitmap): - Likewise. - (control_dependences::find_control_dependence): Do not - find_edge for the abnormal edge test. - (control_dependences::control_dependences): Instead do not - add abnormal edges to the edge list. Adjust. - (control_dependences::~control_dependences): Likewise. - (control_dependences::get_edges_dependent_on): Likewise. - * function-tests.c: Include bitmap.h. - -2021-11-11 Kewen Lin - - * doc/invoke.texi: Change references to "future cpu" to "power10", - "-mcpu=future" to "-mcpu=power10". Adjust words for float128. - -2021-11-11 Cui,Lili - - * config/i386/i386-options.c (m_CORE_AVX2): Remove Alderlake - from m_CORE_AVX2. - (processor_cost_table): Use alderlake_cost for Alderlake. - * config/i386/i386.c (ix86_sched_init_global): Handle Alderlake. - * config/i386/x86-tune-costs.h (struct processor_costs): Add alderlake - cost. - * config/i386/x86-tune-sched.c (ix86_issue_rate): Change Alderlake - issue rate to 4. - (ix86_adjust_cost): Handle Alderlake. - * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Enable for Alderlake. - (X86_TUNE_PARTIAL_REG_DEPENDENCY): Likewise. - (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Likewise. - (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Likewise. - (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise. - (X86_TUNE_MEMORY_MISMATCH_STALL): Likewise. - (X86_TUNE_USE_LEAVE): Likewise. - (X86_TUNE_PUSH_MEMORY): Likewise. - (X86_TUNE_USE_INCDEC): Likewise. - (X86_TUNE_INTEGER_DFMODE_MOVES): Likewise. - (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Likewise. - (X86_TUNE_USE_SAHF): Likewise. - (X86_TUNE_USE_BT): Likewise. - (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Likewise. - (X86_TUNE_ONE_IF_CONV_INSN): Likewise. - (X86_TUNE_AVOID_MFENCE): Likewise. - (X86_TUNE_USE_SIMODE_FIOP): Likewise. - (X86_TUNE_EXT_80387_CONSTANTS): Likewise. - (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Likewise. - (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Likewise. - (X86_TUNE_SSE_TYPELESS_STORES): Likewise. - (X86_TUNE_SSE_LOAD0_BY_PXOR): Likewise. - (X86_TUNE_AVOID_4BYTE_PREFIXES): Likewise. - (X86_TUNE_USE_GATHER): Disable for Alderlake. - (X86_TUNE_AVX256_MOVE_BY_PIECES): Likewise. - (X86_TUNE_AVX256_STORE_BY_PIECES): Likewise. - -2021-11-11 liuhongt - - PR target/103151 - * config/i386/sse.md (V_128_256): Extend to V8HF/V16HF. - (avxsizesuffix): Ditto. - -2021-11-11 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_subset_list::to_string): Fix - wrong marco checking. - -2021-11-10 Aldy Hernandez - - PR tree-optimization/102906 - * tree-ssa-loop-ch.c (entry_loop_condition_is_static): New. - (should_duplicate_loop_header_p): Call entry_loop_condition_is_static. - (class ch_base): Add m_ranger and m_query. - (ch_base::copy_headers): Pass m_query to - entry_loop_condition_is_static. - (pass_ch::execute): Allocate and deallocate m_ranger and - m_query. - (pass_ch_vect::execute): Same. - -2021-11-10 Andrew Pinski - - PR target/103170 - * config/aarch64/aarch64-simd.md (aarch64_simd_dup): - Use vwcore iterator for the r constraint output string. - -2021-11-10 qing zhao - - * internal-fn.c (expand_DEFERRED_INIT): Apply pattern initialization - only when have_insn_for return true for the mode. Fix a memory leak. - -2021-11-10 Christophe Lyon - - * config/arm/arm.c (cortexa9_extra_costs, cortexa8_extra_costs, - cortexa5_extra_costs, cortexa7_extra_costs, - cortexa12_extra_costs, cortexa15_extra_costs, v7m_extra_costs): - Initialize movi, dup and extract costing fields. - -2021-11-10 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::path_range_query): Do - not init m_path. - (path_range_query::dump): Change m_path uses to non-pointer. - (path_range_query::defined_outside_path): Same. - (path_range_query::set_path): Same. - (path_range_query::add_copies_to_imports): Same. - (path_range_query::range_of_stmt): Same. - (path_range_query::compute_outgoing_relations): Same. - (path_range_query::compute_ranges): Imports are now optional. - Implement overload that takes an edge. - * gimple-range-path.h (class path_range_query): Make imports - optional for compute_ranges. Add compute_ranges(edge) overload. - Make m_path an auto_vec instead of a pointer and adjust - accordingly. - -2021-11-10 Tamar Christina - - * tree-vectorizer.h (struct scalar_cond_masked_key): Add inverted_p. - (default_hash_traits): Likewise. - * tree-vect-stmts.c (vectorizable_condition): Check if inverse of mask - is live. - * tree-vectorizer.c (scalar_cond_masked_key::get_cond_ops_from_tree): - Register mask inverses. - -2021-11-10 Tamar Christina - - * tree-vectorizer.c (vectorize_loops): Do local CSE through RPVN upon - successful vectorization. - -2021-11-10 Andrew MacLeod - - * gimple-range-cache.cc (sbr_vector::grow): New. - (sbr_vector::set_bb_range): Call grow. - (sbr_vector::get_bb_range): Same. - (sbr_vector::bb_range_p): Remove assert. - -2021-11-10 Tamar Christina - - * config/aarch64/aarch64-simd.md (*aarch64_topbits_shuffle_le - ,*aarch64_topbits_shuffle_be): Remove. - -2021-11-10 Jan Hubicka - - * ipa-modref.c: Include tree-eh.h - (modref_summary::modref_summary): Initialize side_effects. - (struct modref_summary_lto): New bool field side_effects. - (modref_summary_lto::modref_summary_lto): Initialize side_effects. - (modref_summary::dump): Dump side_effects. - (modref_summary_lto::dump): Dump side_effects. - (merge_call_side_effects): Merge side effects. - (process_fnspec): Calls to non-const/pure or looping - function is a side effect. - (analyze_call): Self-recursion is a side-effect; handle - special builtins. - (analyze_load): Watch for volatile and throwing memory. - (analyze_store): Likewise. - (analyze_stmt): Watch for volatitle asm. - (analyze_function): Handle side_effects. - (modref_summaries::duplicate): Duplicate side_effects. - (modref_summaries_lto::duplicate): Likewise. - (modref_write): Stream side_effects. - (read_section): Likewise. - (update_signature): Update. - (propagate_unknown_call): Handle side_effects. - (modref_propagate_in_scc): Likewise. - * ipa-modref.h (struct modref_summary): Add side_effects. - * ipa-pure-const.c (special_builtin_state): Rename to ... - (builtin_safe_for_const_function_p): ... this one. - (check_call): Update. - (finite_function_p): Break out from ... - (propagate_pure_const): ... here - * ipa-utils.h (finite_function): Declare. - -2021-11-10 Lucas A. M. Magalhães - - * config.gcc (powerpc*-*-*): Remove -rpath from - --with-advance-toolchain. - -2021-11-10 Marek Polacek - - PR c++/101940 - * attribs.c (struct scoped_attributes): Add a bool member. - (lookup_scoped_attribute_spec): Forward declare. - (register_scoped_attributes): New bool parameter, defaulted to - false. Use it. - (handle_ignored_attributes_option): New function. - (free_attr_data): New function. - (init_attributes): Call handle_ignored_attributes_option. - (attr_namespace_ignored_p): New function. - (decl_attributes): Check attr_namespace_ignored_p before - warning. - * attribs.h (free_attr_data): Declare. - (register_scoped_attributes): Adjust declaration. - (handle_ignored_attributes_option): Declare. - (canonicalize_attr_name): New function template. - (canonicalize_attr_name): Use it. - * common.opt (Wattributes=): New option with a variable. - * doc/extend.texi: Document #pragma GCC diagnostic ignored_attributes. - * doc/invoke.texi: Document -Wno-attributes=. - * opts.c (common_handle_option) : Handle. - * plugin.h (register_scoped_attributes): Adjust declaration. - * toplev.c (compile_file): Call free_attr_data. - -2021-11-10 Przemyslaw Wirkus - - * config/arm/arm-cpus.in (cortex-a710): New CPU. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2021-11-10 Andre Vieira - - * config/aarch64/aarch64-builtins.c - (aarch64_general_gimple_fold_builtin): Mark argument as unused. - -2021-11-10 Martin Liska - - * lto-wrapper.c (merge_and_complain): Make the first argument - a reference type. - -2021-11-10 Richard Sandiford - - * config/aarch64/iterators.md (optab): Use fmax_nan instead of - smax_nan and fmin_nan instead of smin_nan. - (maxmin_uns): Rename to... - (fmaxmin): ...this and make the same changes. Remove entries - unrelated to fmax* and fmin*. - * config/aarch64/aarch64.md (3): Rename to... - (3): ...this. - * config/aarch64/aarch64-simd.md (aarch64_p): - Rename to... - (aarch64_p): ...this. - (3): Rename to... - (3): ...this. - (reduc__scal_): Rename to... - (reduc__scal_): ...this and update gen* call. - (aarch64_reduc__internal): Rename to... - (aarch64_reduc__internal): ...this. - (aarch64_reduc__internalv2si): Rename to... - (aarch64_reduc__internalv2si): ...this. - * config/aarch64/aarch64-sve.md (3): Rename to... - (3): ...this. - * config/aarch64/aarch64-simd-builtins.def (smax_nan, smin_nan) - Rename to... - (fmax_nan, fmin_nan): ...this. - * config/aarch64/arm_neon.h (vmax_f32, vmax_f64, vmaxq_f32, vmaxq_f64) - (vmin_f32, vmin_f64, vminq_f32, vminq_f64, vmax_f16, vmaxq_f16) - (vmin_f16, vminq_f16): Update accordingly. - -2021-11-10 Richard Sandiford - - * tree-vectorizer.h (vector_costs::finish_cost): Take the - corresponding scalar costs as a parameter. - (finish_cost): Likewise. - * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost) - (vect_estimate_min_profitable_iters): Update accordingly. - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Likewise. - * tree-vectorizer.c (vector_costs::finish_cost): Likewise. - * config/aarch64/aarch64.c (aarch64_vector_costs::finish_cost): - Likewise. - * config/rs6000/rs6000.c (rs6000_cost_data::finish_cost): Likewise. - -2021-11-10 Richard Sandiford - - * tree-vectorizer.h (_loop_vec_info::scalar_costs): New member - variable. - (_loop_vec_info::single_scalar_iteration_cost): Delete. - (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Delete. - (vector_costs::total_cost): New function. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Update - after above changes. - (_loop_vec_info::~_loop_vec_info): Delete scalar_costs. - (vect_compute_single_scalar_iteration_cost): Store the costs - in loop_vinfo->scalar_costs. - (vect_estimate_min_profitable_iters): Get the scalar cost from - loop_vinfo->scalar_costs. - -2021-11-10 Richard Sandiford - - * tree-vectorizer.h (vector_costs::better_main_loop_than_p) - (vector_costs::better_epilogue_loop_than_p) - (vector_costs::compare_inside_loop_cost) - (vector_costs::compare_outside_loop_cost): Likewise. - * tree-vectorizer.c (vector_costs::better_main_loop_than_p) - (vector_costs::better_epilogue_loop_than_p) - (vector_costs::compare_inside_loop_cost) - (vector_costs::compare_outside_loop_cost): New functions, - containing code moved from... - * tree-vect-loop.c (vect_better_loop_vinfo_p): ...here. - -2021-11-10 Richard Sandiford - - * tree-vectorizer.h (_loop_vec_info): Remove vec_outside_cost - and vec_inside_cost. - (vector_costs::outside_cost): New function. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Update - after above. - (vect_estimate_min_profitable_iters): Likewise. - (vect_better_loop_vinfo_p): Get the inside and outside costs - from the loop_vec_infos' vector_costs. - -2021-11-10 Richard Sandiford - - * tree-vectorizer.h (vec_info::target_cost_data): Replace with... - (_loop_vec_info::vector_costs): ...this. - (LOOP_VINFO_TARGET_COST_DATA): Delete. - * tree-vectorizer.c (vec_info::vec_info): Remove target_cost_data - initialization. - (vec_info::~vec_info): Remove corresponding delete. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize - vector_costs to null. - (_loop_vec_info::~_loop_vec_info): Delete vector_costs. - (vect_analyze_loop_operations): Update after above changes. - (vect_analyze_loop_2): Likewise. - (vect_estimate_min_profitable_iters): Likewise. - * tree-vect-slp.c (vect_slp_analyze_operations): Likewise. - -2021-11-10 Jan Hubicka - - * tree-core.h (EAF_DIRECT): Remove. - (EAF_NOCLOBBER): Remove. - (EAF_UNUSED): Remove. - (EAF_NOESCAPE): Remove. - (EAF_NO_DIRECT_CLOBBER): New. - (EAF_NO_INDIRECT_CLOBBER): New. - (EAF_NODIRECTESCAPE): Remove. - (EAF_NO_DIRECT_ESCAPE): New. - (EAF_NO_INDIRECT_ESCAPE): New. - (EAF_NOT_RETURNED): Remove. - (EAF_NOT_RETURNED_INDIRECTLY): New. - (EAF_NOREAD): Remove. - (EAF_NO_DIRECT_READ): New. - (EAF_NO_INDIRECT_READ): New. - * gimple.c (gimple_call_arg_flags): Update for new flags. - (gimple_call_retslot_flags): Update for new flags. - * ipa-modref.c (dump_eaf_flags): Likewise. - (remove_useless_eaf_flags): Likewise. - (deref_flags): Likewise. - (modref_lattice::init): Likewise. - (modref_lattice::merge): Likewise. - (modref_lattice::merge_direct_load): Likewise. - (modref_lattice::merge_direct_store): Likewise. - (modref_eaf_analysis::merge_call_lhs_flags): Likewise. - (callee_to_caller_flags): Likewise. - (modref_eaf_analysis::analyze_ssa_name): Likewise. - (modref_eaf_analysis::propagate): Likewise. - (modref_merge_call_site_flags): Likewise. - * ipa-modref.h (interposable_eaf_flags): Likewise. - * tree-ssa-alias.c: (ref_maybe_used_by_call_p_1) Likewise. - * tree-ssa-structalias.c (handle_call_arg): Likewise. - (handle_rhs_call): Likewise. - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Likewise. - -2021-11-10 Tamar Christina - - * tree-vect-slp-patterns.c (complex_mul_pattern::matches): Remove l1node. - -2021-11-10 Andre Vieira - - * config/aarch64/aarch64-builtins.c - (aarch64_general_gimple_fold_builtin): Change pointer alignment and - alias. - -2021-11-10 Jan Hubicka - - * ipa-modref-tree.h (modref_tree::remap_params): Fix off-by-one error. - -2021-11-10 H.J. Lu - Hongtao Liu - - PR middle-end/102566 - * match.pd (nop_atomic_bit_test_and_p): New match. - * tree-ssa-ccp.c (convert_atomic_bit_not): New function. - (gimple_nop_atomic_bit_test_and_p): New prototype. - (optimize_atomic_bit_test_and): Transform equivalent, but slighly - different cases to their canonical forms. - -2021-11-10 liuhongt - - PR tree-optimization/103126 - * tree-vect-loop.c (neutral_op_for_reduction): Remove static. - * tree-vectorizer.h (neutral_op_for_reduction): Declare. - * tree-if-conv.c : Include tree-vectorizer.h. - (is_cond_scalar_reduction): Handle - BIT_XOR_EXPR/BIT_IOR_EXPR/BIT_AND_EXPR. - (convert_scalar_cond_reduction): Ditto. - -2021-11-10 konglin1 - - * config/i386/sse.md (cmul3): add new define_expand. - (cmla4): Likewise - -2021-11-10 Aldy Hernandez - - * tree-ssa-threadedge.c: Do not include - gimple-ssa-evrp-analyze.h. - * value-pointer-equiv.cc: Same. - -2021-11-10 Aldy Hernandez - - * tree-ssa-threadbackward.c - (back_threader::maybe_register_path_dump): Abstract path dumping... - (dump_path): ...here. - (back_threader::resolve_phi): Call dump_path. - (debug): Same. - -2021-11-10 konglin1 - - * config/i386/sse.md (fma___pair): - Add new define_insn. - (fma__fmaddc_bcst): Add new define_insn_and_split. - (fma__fcmaddc_bcst): Likewise - -2021-11-10 liuhongt - - PR target/102464 - * match.pd: Simplify (trunc)fmax/fmin((extend)a, (extend)b) to - MAX/MIN(a,b) - -2021-11-10 Andrew Pinski - - PR target/101529 - * config/aarch64/aarch64.c (aarch64_evpc_ins): Don't use target - as an input, use original one. - -2021-11-10 Sandra Loosemore - - * config/nios2/nios2.c (nios2_can_inline_p): New. - (TARGET_CAN_INLINE_P): Define. - -2021-11-09 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_builtin): - Disable gimple fold for RS6000_BIF_{XVMINDP,XVMINSP,VMINFP} and - RS6000_BIF_{XVMAXDP,XVMAXSP,VMAXFP} when fast-math is not set. - (lxvrse_expand_builtin): Modify the expansion for sign extension. - All extensions are done within VSX registers. - -2021-11-09 Andrew Pinski - - PR tree-optimization/10352 - * match.pd: Remove check of TYPE_PRECISION for - the a?0:pow2 case. - -2021-11-09 Andrew MacLeod - - * function.c (allocate_struct_function): Don't set x_range_query. - * function.h (get_range_query): Move to value-query.h. - * gimple-range.cc (enable_ranger): Check that query is currently NULL. - (disable_ranger): Clear function current query field. - * value-query.cc (get_global_range_query): Relocate to: - * value-query.h (get_global_range_query): Here and inline. - (get_range_query): Relocate here from function.h. - -2021-11-09 Aldy Hernandez - - * tree-ssa-threadbackward.c - (back_threader::maybe_register_path_dump): New. - (back_threader::maybe_register_path): Call maybe_register_path_dump. - -2021-11-09 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::maybe_register_path): - Return NULL when unprofitable. - -2021-11-09 Martin Jambor - - * tree.h (build_debug_expr_decl): Declare. - * tree.c (build_debug_expr_decl): New function. - * cfgexpand.c (avoid_deep_ter_for_debug): Use build_debug_expr_decl - instead of building a DEBUG_EXPR_DECL. - * ipa-param-manipulation.c - (ipa_param_body_adjustments::prepare_debug_expressions): Likewise. - * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Likewise. - * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise. - * tree-ssa-phiopt.c (spaceship_replacement): Likewise. - * tree-ssa-reassoc.c (make_new_ssa_for_def): Likewise. - -2021-11-09 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_type_string): New function. - (def_builtin): Change debug formatting for easier parsing and - include more information. - (rs6000_init_builtins): Add dump of autogenerated builtins. - (altivec_init_builtins): Dump __builtin_altivec_mask_for_load for - completeness. - -2021-11-09 Marek Polacek - - * ipa-modref.c (analyze_parms): Fix a typo. - -2021-11-09 Kito Cheng - - PR target/102957 - * common/config/riscv/riscv-common.c (multi_letter_subset_rank): Remove - assertion for Z*-ext. - -2021-11-09 Jan Hubicka - - * ipa-modref.c (analyze_parms): Add past_flags, past_retslot_flags - and past_static_chain; merge past summary with current one. - (analyze_function): Update. - -2021-11-09 Aldy Hernandez - - * doc/invoke.texi (Invoking GCC): Document --param=threader-debug. - -2021-11-09 Martin Liska - - * print-rtl.c (rtx_writer::rtx_writer): Make the compilation - conditional based on - * print-rtl.h (class rtx_writer): Likewise. - -2021-11-09 Thomas Schwinge - - * input.h (location_hash): Use 'BUILTINS_LOCATION' as spare value - for 'Deleted'. Turn into a '#define'. - -2021-11-09 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::dump): Clean up. - (path_range_query::compute_ranges): Same. - * value-relation.cc (path_oracle::dump): Same. - -2021-11-09 Aldy Hernandez - - * dumpfile.c (dump_options): Remove TDF_THREADING entry. - * dumpfile.h (enum dump_flag): Remove TDF_THREADING and adjust - remaining entries. - * flag-types.h (enum threader_debug): New. - * gimple-range-path.cc (DEBUG_SOLVER): Use param_threader_debug. - * params.opt: Add entry for --param=threader-debug=. - -2021-11-09 Thomas Schwinge - - PR middle-end/101204 - PR other/103157 - * diagnostic-spec.h (typedef xint_hash_t): Turn into... - (struct xint_hash_t): ... this. - * doc/gty.texi: Update. - -2021-11-09 Przemyslaw Wirkus - - * config/arm/arm-cpus.in (armv9): New define. - (ARMv9a): New group. - (armv9-a): New arch definition. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm.h (BASE_ARCH_9A): New arch enum value. - * config/arm/t-aprofile: Added armv9-a and armv9+simd. - * config/arm/t-arm-elf: Added arm9-a, v9_fps and all_v9_archs - to MULTILIB_MATCHES. - * config/arm/t-multilib: Added v9_a_nosimd_variants and - v9_a_simd_variants to MULTILIB_MATCHES. - * doc/invoke.texi: Update docs. - -2021-11-09 Martin Jambor - - PR ipa/103132 - * ipa-param-manipulation.c (replace_with_mapped_expr): Early - return with error_mark_mode when part of expression is mapped to - NULL. - (ipa_param_body_adjustments::remap_with_debug_expressions): Set - mapped value to NULL if walk_tree returns error_mark_mode. - -2021-11-09 Aldy Hernandez - - * tree-ssa-strlen.c (compare_nonzero_chars): Pass statement - context to ranger. - (get_addr_stridx): Same. - (get_stridx): Same. - (get_range_strlen_dynamic): Same. - (handle_builtin_strlen): Same. - (handle_builtin_strchr): Same. - (handle_builtin_strcpy): Same. - (maybe_diag_stxncpy_trunc): Same. - (handle_builtin_stxncpy_strncat): Same. - (handle_builtin_memcpy): Same. - (handle_builtin_strcat): Same. - (handle_alloc_call): Same. - (handle_builtin_memset): Same. - (handle_builtin_string_cmp): Same. - (handle_pointer_plus): Same. - (count_nonzero_bytes_addr): Same. - (count_nonzero_bytes): Same. - (handle_store): Same. - (fold_strstr_to_strncmp): Same. - (handle_integral_assign): Same. - (check_and_optimize_stmt): Same. - (class strlen_dom_walker): Replace evrp with ranger. - (strlen_dom_walker::before_dom_children): Remove evrp. - (strlen_dom_walker::after_dom_children): Remove evrp. - * gimple-ssa-warn-access.cc (maybe_check_access_sizes): - Restrict sprintf output. - -2021-11-09 Martin Liska - - * genconditions.c (write_one_condition): Add const qualifier - to pointer casting. - -2021-11-09 Jeff Law - - * match.pd: New pattern to simplify (1 << n) & M ==/!= 0 for M - being a power of 2. - -2021-11-08 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def (VEC_INIT_V16QI): Use - escape-newline support. - (VEC_INIT_V4SI): Likewise. - (VEC_INIT_V8HI): Likewise. - (PACK_V1TI): Likewise. - (DIVDEU): Likewise. - (VFIRSTMISMATCHOREOSINDEX_V16QI): Likewise. - (VFIRSTMISMATCHOREOSINDEX_V8HI): Likewise. - (VFIRSTMISMATCHOREOSINDEX_V4SI): Likewise. - (CMPRB2): Likewise. - (VSTDCP): Likewise. - (VSIEDP): Likewise. - (FMAF128_ODD): Likewise. - (VSCEQPUO): Likewise. - (VSIEQP): Likewise. - (VSIEQPF): Likewise. - (VSTDCQP): Likewise. - (PACK_TD): Likewise. - (TABORTDC): Likewise. - (TABORTDCI): Likewise. - (SE_LXVRBX): Likewise. - (SE_LXVRHX): Likewise. - (SE_LXVRWX): Likewise. - (SE_LXVRDX): Likewise. - (VREPLACE_UN_UV2DI): Likewise. - (VREPLACE_UN_UV4SI): Likewise. - (VREPLACE_UN_V2DI): Likewise. - (VREPLACE_ELT_UV2DI): Likewise. - (VREPLACE_ELT_V2DI): Likewise. - (ZE_LXVRBX): Likewise. - (ZE_LXVRHX): Likewise. - (ZE_LXVRWX): Likewise. - (ZE_LXVRDX): Likewise. - (CFUGED): Likewise. - (CNTLZDM): Likewise. - (CNTTZDM): Likewise. - (PDEPD): Likewise. - (PEXTD): Likewise. - (PMXVBF16GER2): Likewise. - (PMXVBF16GER2_INTERNAL): Likewise. - (PMXVBF16GER2NN): Likewise. - (PMXVBF16GER2NN_INTERNAL): Likewise. - (PMXVBF16GER2NP): Likewise. - (PMXVBF16GER2NP_INTERNAL): Likewise. - (PMXVBF16GER2PN): Likewise. - (PMXVBF16GER2PN_INTERNAL): Likewise. - (PMXVBF16GER2PP): Likewise. - (PMXVBF16GER2PP_INTERNAL): Likewise. - (PMXVF16GER2): Likewise. - (PMXVF16GER2_INTERNAL): Likewise. - (PMXVF16GER2NN): Likewise. - (PMXVF16GER2NN_INTERNAL): Likewise. - (PMXVF16GER2NP): Likewise. - (PMXVF16GER2NP_INTERNAL): Likewise. - (PMXVF16GER2PN): Likewise. - (PMXVF16GER2PN_INTERNAL): Likewise. - (PMXVF16GER2PP): Likewise. - (PMXVF16GER2PP_INTERNAL): Likewise. - (PMXVF32GER_INTERNAL): Likewise. - (PMXVF32GERNN): Likewise. - (PMXVF32GERNN_INTERNAL): Likewise. - (PMXVF32GERNP): Likewise. - (PMXVF32GERNP_INTERNAL): Likewise. - (PMXVF32GERPN): Likewise. - (PMXVF32GERPN_INTERNAL): Likewise. - (PMXVF32GERPP): Likewise. - (PMXVF32GERPP_INTERNAL): Likewise. - (PMXVF64GER): Likewise. - (PMXVF64GER_INTERNAL): Likewise. - (PMXVF64GERNN): Likewise. - (PMXVF64GERNN_INTERNAL): Likewise. - (PMXVF64GERNP): Likewise. - (PMXVF64GERNP_INTERNAL): Likewise. - (PMXVF64GERPN): Likewise. - (PMXVF64GERPN_INTERNAL): Likewise. - (PMXVF64GERPP): Likewise. - (PMXVF64GERPP_INTERNAL): Likewise. - (PMXVI16GER2): Likewise. - (PMXVI16GER2_INTERNAL): Likewise. - (PMXVI16GER2PP): Likewise. - (PMXVI16GER2PP_INTERNAL): Likewise. - (PMXVI16GER2S): Likewise. - (PMXVI16GER2S_INTERNAL): Likewise. - (PMXVI16GER2SPP): Likewise. - (PMXVI16GER2SPP_INTERNAL): Likewise. - (PMXVI4GER8): Likewise. - (PMXVI4GER8_INTERNAL): Likewise. - (PMXVI4GER8PP): Likewise. - (PMXVI4GER8PP_INTERNAL): Likewise. - (PMXVI8GER4): Likewise. - (PMXVI8GER4_INTERNAL): Likewise. - (PMXVI8GER4PP): Likewise. - (PMXVI8GER4PP_INTERNAL): Likewise. - (PMXVI8GER4SPP): Likewise. - (PMXVI8GER4SPP_INTERNAL): Likewise. - * config/rs6000/rs6000-gen-builtins.c (MAXLINES): New macro. - (linebuf): Increase size. - (lines): New variable. - (lastline): Likewise. - (real_line_pos): New function. - (diag): Change signature. - (bif_diag): Change signature; support escape-newline handling. - (ovld_diag): Likewise. - (fatal): Move earlier. - (consume_whitespace): Adjust diag call. - (advance_line): Add escape-newline handling; call fatal. - (safe_inc_pos): Adjust diag call. - (match_identifier): Likewise. - (match_integer): Likewise. - (match_to_right_bracket): Call fatal instead of diag; adjust diag - call. - (match_basetype): Adjust diag calls. - (match_bracketed_pair): Likewise. - (match_const_restriction): Likewise. - (match_type): Likewise. - (parse_args): Likewise. - (parse_bif_attrs): Likewise. - (complete_vector_type): Likewise. - (complete_base_type): Likewise. - (parse_prototype): Likewise. - (parse_bif_entry): Likewise. - (parse_bif_stanza): Likewise. - (parse_ovld_entry): Likewise. - (parse_ovld_stanza): Likewise. - (main): Allocate buffers for lines[]. - -2021-11-08 Eric Botcazou - - * config/i386/i386.c (legitimize_pic_address): Adjust comment and - use the REG argument on the CM_LARGE_PIC code path as well. - * config/i386/predicates.md (gotoff_operand): Do not treat VxWorks - specially with the large code models. - -2021-11-08 Jan Hubicka - - * gimple.c (gimple_call_static_chain_flags): Revert the workaround - allowing interposition since issues with binds_to_local_def were - hopefully solved. - -2021-11-08 Andrew MacLeod - - PR tree-optimization/103122 - * gimple-range.cc (gimple_ranger::range_of_expr): Request the cache - entry with "calulate new values" set to false. - -2021-11-08 Jan Hubicka - - * builtins.c (is_simple_builtin): Add builitin_dwarf_cfa - and builtin_return_address. - (builtin_fnspec): Annotate builtin_return, - bulitin_eh_pointer, builtin_eh_filter, builtin_unwind_resume, - builtin_cxa_end_cleanup, builtin_eh_copy_values, - builtin_frame_address, builtin_apply_args, - builtin_asan_before_dynamic_init, builtin_asan_after_dynamic_init, - builtin_prefetch, builtin_dwarf_cfa, builtin_return_addrss - as ".c" - * ipa-pure-const.c (special_builtin_state): Add builtin_dwarf_cfa - and builtin_return_address. - -2021-11-08 Jan Hubicka - - PR tree-optimization/103177 - * passes.def: Move uncprop after pure/const and modref. - -2021-11-08 Martin Jambor - - PR ipa/103099 - PR ipa/103107 - * tree-inline.c (remap_gimple_stmt): Unshare the expression without - location before invoking remap_with_debug_expressions on it. - * ipa-param-manipulation.c - (ipa_param_body_adjustments::prepare_debug_expressions): Likewise. - -2021-11-08 David Edelsohn - - * config/rs6000/vsx.md (vsx_splat_v4si_di): Revert "wa" - constraint to "we". - -2021-11-08 Richard Biener - - * cfgloop.c (verify_loop_structure): Use a temporary BB flag - instead of an sbitmap to cache irreducible state. - -2021-11-08 Aldy Hernandez - - PR tree-optimization/103120 - * gimple-range-path.cc (path_range_query::range_defined_in_block): - Bail if there's a cache entry. - -2021-11-08 Bill Schmidt - - * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Use - rs6000_builtin_decls_x when appropriate. - (add_condition_to_bb): Likewise. - (rs6000_atomic_assign_expand_fenv): Likewise. - -2021-11-08 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_new_builtin_decl): New function. - (rs6000_builtin_decl): Call it. - -2021-11-08 Martin Liska - - * cgraph.c (cgraph_node::dump): Dump it from decl. - -2021-11-08 Martin Liska - - PR gcov-profile/100520 - * coverage.c (coverage_compute_profile_id): Strip .gk when - compare debug is used. - * system.h (endswith): New function. - -2021-11-08 Martin Liska - - * cgraph.c (cgraph_node::dump): Dump static_chain_decl. - -2021-11-08 Thomas Schwinge - - * config/rs6000/rbtree.c: Fix 'Copyright (C) 2020-21' into '2020-2021' - * config/rs6000/rbtree.h: Likewise. - * config/rs6000/rs6000-builtin-new.def: Likewise. - * config/rs6000/rs6000-gen-builtins.c: Likewise. - * config/rs6000/rs6000-overload.def: Likewise. - -2021-11-08 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_ldn_stn_vectors): New function. - (aarch64_address_cost): Use it instead of testing for CImode and - XImode directly. - -2021-11-08 Richard Sandiford - - * genmodes.c (emit_insn_modes_h): Define NUM_MODE_* macros. - * expmed.h (NUM_MODE_INT): Delete in favor of genmodes definitions. - (NUM_MODE_PARTIAL_INT, NUM_MODE_VECTOR_INT): Likewise. - * real.h (real_format_for_mode): Use NUM_MODE_FLOAT and - NUM_MODE_DECIMAL_FLOAT. - (REAL_MODE_FORMAT): Likewise. - -2021-11-08 Andre Vieira - - * tree-vect-loop.c (vect_better_loop_vinfo_p): Change how epilogue loop - costs are compared. - -2021-11-08 Richard Biener - - * tree-vectorizer.h (vect_create_loop_vinfo): Add main_loop_info - parameter. - * tree-vect-loop.c (vect_create_loop_vinfo): Likewise. Set - LOOP_VINFO_ORIG_LOOP_INFO and conditionalize set of - LOOP_VINFO_NITERS_ASSUMPTIONS. - (vect_analyze_loop_1): Adjust. - (vect_analyze_loop): Move loop constraint setting and - SCEV/niter reset here from vect_create_loop_vinfo to perform - it only once. - (vect_analyze_loop_form): Move dumping of symbolic niters - here from vect_create_loop_vinfo. - -2021-11-08 Jan Hubicka - - * ipa-modref-tree.h (enum modref_special_parms): New enum. - (struct modref_access_node): update for special parms. - (struct modref_ref_node): Likewise. - (struct modref_parm_map): Likewise. - (struct modref_tree): Likewise. - * ipa-modref.c (dump_access): Likewise. - (get_access): Detect static chain. - (parm_map_for_arg): Take tree as arg instead of - stmt and index. - (merge_call_side_effects): Compute map for static chain. - (process_fnspec): Update. - (struct escape_point): Remove retslot_arg and static_chain_arg. - (analyze_parms): Update. - (compute_parm_map): Update. - (propagate_unknown_call): Update. - (modref_propagate_in_scc): Update. - (modref_merge_call_site_flags): Update. - (ipa_merge_modref_summary_after_inlining): Update. - * tree-ssa-alias.c (modref_may_conflict): Handle static chain. - * ipa-modref-tree.c (test_merge): Update. - -2021-11-08 Haochen Gui - - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_builtin): Disable - gimple fold for VSX_BUILTIN_XVMINDP, ALTIVEC_BUILTIN_VMINFP, - VSX_BUILTIN_XVMAXDP, ALTIVEC_BUILTIN_VMAXFP when fast-math is not - set. - -2021-11-08 liuhongt - - PR tree-optimization/103077 - * doc/invoke.texi (Options That Control Optimization): - Update documentation for -ftree-loop-vectorize and - -ftree-slp-vectorize which are enabled by default at -02. - -2021-11-08 liuhongt - - PR target/102464 - * match.pd (Simplifcation (trunc)copysign((extend)a, (extend)b) - to .COPYSIGN (a, b)): Add !HONOR_SNANS. - -2021-11-08 liuhongt - - PR target/102464 - * match.pd: Simplify - (trunc)fma ((extend)a, (extend)b, (extend)c) to IFN_FMA (a, b, - c) under flag_unsafe_math_optimizations. - -2021-11-07 Jan Hubicka - - PR ipa/103055 - * params.opt (modref-max-depth): Add range. - (modref-max-adjustments): Fix range. - -2021-11-07 Aldy Hernandez - - * tree-pass.h (make_pass_vrp_threader): Remove. - * tree-ssa-threadbackward.c - (back_threader_profitability::profitable_path_p): Remove - ASSERT_EXPR references. - * tree-ssa-threadedge.c (jt_state::register_equivs_stmt): Same. - * tree-vrp.c (vrp_folder::simplify_casted_conds): Same. - (execute_vrp): Same. - (class hybrid_threader): Remove. - (hybrid_threader::hybrid_threader): Remove. - (hybrid_threader::~hybrid_threader): Remove. - (hybrid_threader::before_dom_children): Remove. - (hybrid_threader::after_dom_children): Remove. - (execute_vrp_threader): Remove. - (class pass_vrp_threader): Remove. - (make_pass_vrp_threader): Remove. - -2021-11-07 Jan Hubicka - - * gimple.c (gimple_call_arg_flags): Use interposable_eaf_flags. - (gimple_call_retslot_flags): Likewise. - (gimple_call_static_chain_flags): Likewise. - * ipa-modref.c (remove_useless_eaf_flags): Do not remove everything for - NOVOPS. - (modref_summary::useful_p): Likewise. - (modref_summary_lto::useful_p): Likewise. - (analyze_parms): Do not give up on NOVOPS. - (analyze_function): When dumping report chnages in EAF flags - between IPA and local pass. - (modref_merge_call_site_flags): Compute implicit eaf flags - based on callee ecf_flags and fnspec; if the function does not - bind to current defs use interposable_eaf_flags. - (modref_propagate_flags_in_scc): Update. - * ipa-modref.h (interposable_eaf_flags): New function. - -2021-11-07 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_expand_new_builtin): New - forward decl. - (rs6000_invalid_new_builtin): New function. - (rs6000_expand_builtin): Call rs6000_expand_new_builtin. - (rs6000_expand_ldst_mask): New function. - (new_cpu_expand_builtin): Likewise. - (elemrev_icode): Likewise. - (ldv_expand_builtin): Likewise. - (lxvrse_expand_builtin): Likewise. - (lxvrze_expand_builtin): Likewise. - (stv_expand_builtin): Likewise. - (new_mma_expand_builtin): Likewise. - (new_htm_spr_num): Likewise. - (new_htm_expand_builtin): Likewise. - (rs6000_expand_new_builtin): Likewise. - (rs6000_init_builtins): Initialize altivec_builtin_mask_for_load. - -2021-11-07 Jan Hubicka - - * ipa-modref.c (modref_lattice): Add do_dataflow, - changed and propagate_to fields. - (modref_lattice::release): Free propagate_to - (modref_lattice::merge): Do not give up early on unknown - lattice values. - (modref_lattice::merge_deref): Likewise. - (modref_eaf_analysis): Update toplevel comment. - (modref_eaf_analysis::analyze_ssa_name): Record postponned ssa names; - do optimistic dataflow initialization. - (modref_eaf_analysis::merge_with_ssa_name): Build dataflow graph. - (modref_eaf_analysis::propagate): New member function. - (analyze_parms): Update to new API of modref_eaf_analysis. - -2021-11-06 Jan Hubicka - - * cgraph.h (cgraph_node::can_be_discarded_p): Do not - return true on functions from other partition. - -2021-11-06 David Edelsohn - - * config/rs6000/vsx.md (vsx_splat_v4si): Change constraints to "wa". - (vsx_splat_v4si_di): Change constraint to "wa". - -2021-11-06 Aldy Hernandez - - PR tree-optimization/103061 - * value-relation.cc (path_oracle::path_oracle): Initialize - m_killed_defs. - (path_oracle::killing_def): Set m_killed_defs. - (path_oracle::query_relation): Do not look at the root oracle for - killed defs. - * value-relation.h (class path_oracle): Add m_killed_defs. - -2021-11-06 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::find_paths_to_names): - Remove gotos and other cleanups. - -2021-11-05 Jan Hubicka - - PR ipa/103073 - * ipa-modref-tree.h (modref_tree::insert): Do nothing for - paradoxical and zero sized accesses. - -2021-11-05 Jan Hubicka - - PR ipa/103082 - * ipa-modref-tree.h (struct modref_access_node): Avoid left shift - of negative value - -2021-11-05 Iain Sandoe - - * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Add LTRAMP - to the list of symbol prefixes that must be made linker- - visible. - -2021-11-05 Iain Sandoe - - * config.host: Add support for aarch64-*-darwin. - * config/aarch64/host-aarch64-darwin.c: New file. - * config/aarch64/x-darwin: New file. - -2021-11-05 Andrew MacLeod - - PR tree-optimization/103093 - * gimple-range-gori.cc (range_def_chain::get_imports): Remove assert. - -2021-11-05 Andrew MacLeod - - PR tree-optimization/102943 - * gimple-range-cache.cc (class update_list): New. - (update_list::add): Replace add_to_update. - (update_list::pop): New. - (ranger_cache::ranger_cache): Adjust. - (ranger_cache::~ranger_cache): Adjust. - (ranger_cache::add_to_update): Delete. - (ranger_cache::propagate_cache): Adjust to new class. - (ranger_cache::propagate_updated_value): Ditto. - (ranger_cache::fill_block_cache): Ditto. - * gimple-range-cache.h (class ranger_cache): Adjust to update class. - -2021-11-05 Richard Biener - - * tree-vect-loop.c (vect_analyze_loop): Remove obsolete - comment and expand on another one. Combine nested if. - -2021-11-05 John David Anglin - - PR libgomp/96661 - * config/pa/pa-modes.def: Add OImode integer type. - * config/pa/pa.c (pa_scalar_mode_supported_p): Allow TImode - for TARGET_64BIT. - * config/pa/pa.h (MIN_UNITS_PER_WORD) Define to MIN_UNITS_PER_WORD - to UNITS_PER_WORD if IN_LIBGCC2. - * config/pa/pa.md (addti3, addvti3, subti3, subvti3, negti2, - negvti2, ashlti3, shrpd_internal): New patterns. - Change some multi instruction types to multi. - -2021-11-05 Jakub Jelinek - - PR bootstrap/100246 - * config/i386/i386.h - (stringop_algs::stringop_strategy::stringop_strategy): Make the ctor - constexpr. - -2021-11-05 Wilco Dijkstra - - PR target/103085 - * config/aarch64/aarch64.c (aarch64_mov_operand_p): Strip the salt - first. - * config/aarch64/constraints.md: Support const in Usw. - -2021-11-05 John David Anglin - - * config/pa/pa.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2_DEBUG. - * config/pa/pa64-hpux.h (PREFERRED_DEBUGGING_TYPE): Remove define. - -2021-11-05 Richard Biener - - * tree-vectorizer.h (vec_info_shared::n_stmts): Add. - (LOOP_VINFO_N_STMTS): Likewise. - (vec_info_for_bb): Remove unused function. - * tree-vectorizer.c (vec_info_shared::vec_info_shared): - Initialize n_stmts member. - * tree-vect-loop.c: Remove INCLUDE_FUNCTIONAL. - (vect_create_loop_vinfo): Do not set loop->aux. - (vect_analyze_loop_2): Do not get n_stmts as argument, - instead use LOOP_VINFO_N_STMTS. Set LOOP_VINFO_VECTORIZABLE_P - here. - (vect_analyze_loop_1): Remove callback, get the mode iterator - and autodetected_vector_mode as argument, advancing the - iterator and initializing autodetected_vector_mode here. - (vect_analyze_loop): Split analysis loop into two, first - processing main loops only and then epilogues. - -2021-11-05 Martin Jambor - - * ipa-prop.c (compute_complex_assign_jump_func): Remove - unnecessary check for RECORD_TYPE. - -2021-11-05 Gerald Pfeifer - - * doc/install.texi2html: Do not generate old.html any longer. - -2021-11-05 Martin Liska - - PR debug/102955 - * opts.c (finish_options): Reset flag_gtoggle when it is used. - -2021-11-05 Jakub Jelinek - - PR debug/103046 - * dwarf2out.c (add_const_value_attribute): Add MODE argument, use it - in CONST_WIDE_INT handling. Adjust recursive calls. - (add_location_or_const_value_attribute): Pass DECL_MODE (decl) to - new add_const_value_attribute argument. - (tree_add_const_value_attribute): Pass TYPE_MODE (type) to new - add_const_value_attribute argument. - -2021-11-05 Rasmus Villemoes - - * config/vx-common.h: Test value of TARGET_VXWORKS7 rather - than definedness. - -2021-11-05 Richard Biener - - * tree-vectorizer.h (struct vect_loop_form_info): New. - (vect_analyze_loop_form): Adjust. - (vect_create_loop_vinfo): New. - * tree-parloops.c (gather_scalar_reductions): Adjust for - vect_analyze_loop_form API change. - * tree-vect-loop.c: Include . - (vect_analyze_loop_form_1): Rename to vect_analyze_loop_form, - take struct vect_loop_form_info as output parameter and adjust. - (vect_analyze_loop_form): Rename to vect_create_loop_vinfo and - split out call to the original vect_analyze_loop_form_1. - (vect_reanalyze_as_main_loop): Rename to... - (vect_analyze_loop_1): ... this, factor out the call to - vect_analyze_loop_form and generalize to be able to use it twice ... - (vect_analyze_loop): ... here. Perform vect_analyze_loop_form - once only and here. - -2021-11-05 Xionghu Luo - - PR target/102991 - * config/rs6000/fusion.md: Regenerate. - * config/rs6000/genfusion.pl: Fix incorrect clobber constraint. - -2021-11-04 Andreas Krebbel - - * config/s390/s390.h (STACK_CHECK_MOVING_SP): New macro - definition. - -2021-11-04 Tamar Christina - - * config/aarch64/aarch64-builtins.c - (aarch64_general_gimple_fold_builtin): Add ashl, sshl, ushl, ashr, - ashr_simd, lshr, lshr_simd. - * config/aarch64/aarch64-simd-builtins.def (lshr): Use USHIFTIMM. - * config/aarch64/arm_neon.h (vshr_n_u8, vshr_n_u16, vshr_n_u32, - vshrq_n_u8, vshrq_n_u16, vshrq_n_u32, vshrq_n_u64): Fix type hack. - -2021-11-04 Tamar Christina - - * match.pd: New negate+shift pattern. - -2021-11-04 Andrew MacLeod - - PR tree-optimization/103079 - * gimple-range-gori.cc (gimple_range_calc_op1): Treat undefined as - varying. - (gimple_range_calc_op2): Ditto. - -2021-11-04 Martin Jambor - - PR ipa/93385 - * ipa-param-manipulation.h (class ipa_param_body_adjustments): New - members remap_with_debug_expressions, m_dead_ssa_debug_equiv, - m_dead_stmt_debug_equiv and prepare_debug_expressions. Added - parameter to mark_dead_statements. - * ipa-param-manipulation.c: Include tree-phinodes.h and cfgexpand.h. - (ipa_param_body_adjustments::mark_dead_statements): New parameter - debugstack, push into it all SSA names used in debug statements, - produce m_dead_ssa_debug_equiv mapping for the removed param. - (replace_with_mapped_expr): New function. - (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise. - (ipa_param_body_adjustments::prepare_debug_expressions): Likewise. - (ipa_param_body_adjustments::common_initialization): Gather and - procecc SSA which will be removed but are in debug statements. Simplify. - (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize - new members. - * tree-inline.c (remap_gimple_stmt): Create a debug bind when possible - when avoiding a copy of an unnecessary statement. Remap removed SSA - names in existing debug statements. - (tree_function_versioning): Do not create DEBUG_EXPR_DECL for removed - parameters if we have already done so. - -2021-11-04 Jan Hubicka - - PR ipa/103058 - * gimple.c (gimple_call_static_chain_flags): Handle case when - nested function does not bind locally. - -2021-11-04 Jonathan Wright - - * config/aarch64/aarch64.c (aarch64_function_value): Generate - a register rtx for Neon vector-tuple modes. - (aarch64_layout_arg): Likewise. - -2021-11-04 Jonathan Wright - - * lower-subreg.c (simple_move): Prevent decomposition if - modes are not tieable. - -2021-11-04 Jonathan Wright - Richard Sandiford - - * config/aarch64/aarch64-builtins.c (v2x8qi_UP): Define. - (v2x4hi_UP): Likewise. - (v2x4hf_UP): Likewise. - (v2x4bf_UP): Likewise. - (v2x2si_UP): Likewise. - (v2x2sf_UP): Likewise. - (v2x1di_UP): Likewise. - (v2x1df_UP): Likewise. - (v2x16qi_UP): Likewise. - (v2x8hi_UP): Likewise. - (v2x8hf_UP): Likewise. - (v2x8bf_UP): Likewise. - (v2x4si_UP): Likewise. - (v2x4sf_UP): Likewise. - (v2x2di_UP): Likewise. - (v2x2df_UP): Likewise. - (v3x8qi_UP): Likewise. - (v3x4hi_UP): Likewise. - (v3x4hf_UP): Likewise. - (v3x4bf_UP): Likewise. - (v3x2si_UP): Likewise. - (v3x2sf_UP): Likewise. - (v3x1di_UP): Likewise. - (v3x1df_UP): Likewise. - (v3x16qi_UP): Likewise. - (v3x8hi_UP): Likewise. - (v3x8hf_UP): Likewise. - (v3x8bf_UP): Likewise. - (v3x4si_UP): Likewise. - (v3x4sf_UP): Likewise. - (v3x2di_UP): Likewise. - (v3x2df_UP): Likewise. - (v4x8qi_UP): Likewise. - (v4x4hi_UP): Likewise. - (v4x4hf_UP): Likewise. - (v4x4bf_UP): Likewise. - (v4x2si_UP): Likewise. - (v4x2sf_UP): Likewise. - (v4x1di_UP): Likewise. - (v4x1df_UP): Likewise. - (v4x16qi_UP): Likewise. - (v4x8hi_UP): Likewise. - (v4x8hf_UP): Likewise. - (v4x8bf_UP): Likewise. - (v4x4si_UP): Likewise. - (v4x4sf_UP): Likewise. - (v4x2di_UP): Likewise. - (v4x2df_UP): Likewise. - (TYPES_GETREGP): Delete. - (TYPES_SETREGP): Likewise. - (TYPES_LOADSTRUCT_U): Define. - (TYPES_LOADSTRUCT_P): Likewise. - (TYPES_LOADSTRUCT_LANE_U): Likewise. - (TYPES_LOADSTRUCT_LANE_P): Likewise. - (TYPES_STORE1P): Move for consistency. - (TYPES_STORESTRUCT_U): Define. - (TYPES_STORESTRUCT_P): Likewise. - (TYPES_STORESTRUCT_LANE_U): Likewise. - (TYPES_STORESTRUCT_LANE_P): Likewise. - (aarch64_simd_tuple_types): Define. - (aarch64_lookup_simd_builtin_type): Handle tuple type lookup. - (aarch64_init_simd_builtin_functions): Update frontend lookup - for builtin functions after handling arm_neon.h pragma. - (register_tuple_type): Manually set modes of single-integer - tuple types. Record tuple types. - * config/aarch64/aarch64-modes.def - (ADV_SIMD_D_REG_STRUCT_MODES): Define D-register tuple modes. - (ADV_SIMD_Q_REG_STRUCT_MODES): Define Q-register tuple modes. - (SVE_MODES): Give single-vector modes priority over vector- - tuple modes. - (VECTOR_MODES_WITH_PREFIX): Set partial-vector mode order to - be after all single-vector modes. - * config/aarch64/aarch64-simd-builtins.def: Update builtin - generator macros to reflect modifications to the backend - patterns. - * config/aarch64/aarch64-simd.md (aarch64_simd_ld2): - Use vector-tuple mode iterator and rename to... - (aarch64_simd_ld2): This. - (aarch64_simd_ld2r): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_ld2r): This. - (aarch64_vec_load_lanesoi_lane): Use vector-tuple mode - iterator and rename to... - (aarch64_vec_load_lanes_lane): This. - (vec_load_lanesoi): Use vector-tuple mode iterator and - rename to... - (vec_load_lanes): This. - (aarch64_simd_st2): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_st2): This. - (aarch64_vec_store_lanesoi_lane): Use vector-tuple mode - iterator and rename to... - (aarch64_vec_store_lanes_lane): This. - (vec_store_lanesoi): Use vector-tuple mode iterator and - rename to... - (vec_store_lanes): This. - (aarch64_simd_ld3): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_ld3): This. - (aarch64_simd_ld3r): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_ld3r): This. - (aarch64_vec_load_lanesci_lane): Use vector-tuple mode - iterator and rename to... - (vec_load_lanesci): This. - (aarch64_simd_st3): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_st3): This. - (aarch64_vec_store_lanesci_lane): Use vector-tuple mode - iterator and rename to... - (vec_store_lanesci): This. - (aarch64_simd_ld4): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_ld4): This. - (aarch64_simd_ld4r): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_ld4r): This. - (aarch64_vec_load_lanesxi_lane): Use vector-tuple mode - iterator and rename to... - (vec_load_lanesxi): This. - (aarch64_simd_st4): Use vector-tuple mode iterator and - rename to... - (aarch64_simd_st4): This. - (aarch64_vec_store_lanesxi_lane): Use vector-tuple mode - iterator and rename to... - (vec_store_lanesxi): This. - (mov): Define for Neon vector-tuple modes. - (aarch64_ld1x3): Use vector-tuple mode iterator - and rename to... - (aarch64_ld1x3): This. - (aarch64_ld1_x3_): Use vector-tuple mode iterator and - rename to... - (aarch64_ld1_x3_): This. - (aarch64_ld1x4): Use vector-tuple mode iterator - and rename to... - (aarch64_ld1x4): This. - (aarch64_ld1_x4_): Use vector-tuple mode iterator and - rename to... - (aarch64_ld1_x4_): This. - (aarch64_st1x2): Use vector-tuple mode iterator - and rename to... - (aarch64_st1x2): This. - (aarch64_st1_x2_): Use vector-tuple mode iterator and - rename to... - (aarch64_st1_x2_): This. - (aarch64_st1x3): Use vector-tuple mode iterator - and rename to... - (aarch64_st1x3): This. - (aarch64_st1_x3_): Use vector-tuple mode iterator and - rename to... - (aarch64_st1_x3_): This. - (aarch64_st1x4): Use vector-tuple mode iterator - and rename to... - (aarch64_st1x4): This. - (aarch64_st1_x4_): Use vector-tuple mode iterator and - rename to... - (aarch64_st1_x4_): This. - (*aarch64_mov): Define for vector-tuple modes. - (*aarch64_be_mov): Likewise. - (aarch64_ldr): Use vector-tuple - mode iterator and rename to... - (aarch64_ldr): This. - (aarch64_ld2_dreg): Use vector-tuple mode iterator and - rename to... - (aarch64_ld2_dreg): This. - (aarch64_ld3_dreg): Use vector-tuple mode iterator and - rename to... - (aarch64_ld3_dreg): This. - (aarch64_ld4_dreg): Use vector-tuple mode iterator and - rename to... - (aarch64_ld4_dreg): This. - (aarch64_ld): Use vector-tuple mode - iterator and rename to... - (aarch64_ld): Use vector-tuple mode - iterator and rename to... - (aarch64_ld): Use vector-tuple mode - (aarch64_ld1x2): Delete. - (aarch64_ld1x2): Use vector-tuple mode iterator and - rename to... - (aarch64_ld1x2): This. - (aarch64_ld_lane): Use vector- - tuple mode iterator and rename to... - (aarch64_ld_lane): This. - (aarch64_get_dreg): Delete. - (aarch64_get_qreg): Likewise. - (aarch64_st2_dreg): Use vector-tuple mode iterator and - rename to... - (aarch64_st2_dreg): This. - (aarch64_st3_dreg): Use vector-tuple mode iterator and - rename to... - (aarch64_st3_dreg): This. - (aarch64_st4_dreg): Use vector-tuple mode iterator and - rename to... - (aarch64_st4_dreg): This. - (aarch64_st): Use vector-tuple mode - iterator and rename to... - (aarch64_st): This. - (aarch64_st): Use vector-tuple mode - iterator and rename to aarch64_st. - (aarch64_st_lane): Use vector- - tuple mode iterator and rename to... - (aarch64_st_lane): This. - (aarch64_set_qreg): Delete. - (aarch64_simd_ld1_x2): Use vector-tuple mode iterator - and rename to... - (aarch64_simd_ld1_x2): This. - * config/aarch64/aarch64.c (aarch64_advsimd_struct_mode_p): - Refactor to include new vector-tuple modes. - (aarch64_classify_vector_mode): Add cases for new vector- - tuple modes. - (aarch64_advsimd_partial_struct_mode_p): Define. - (aarch64_advsimd_full_struct_mode_p): Likewise. - (aarch64_advsimd_vector_array_mode): Likewise. - (aarch64_sve_data_mode): Change location in file. - (aarch64_array_mode): Handle case of Neon vector-tuple modes. - (aarch64_hard_regno_nregs): Handle case of partial Neon - vector structures. - (aarch64_classify_address): Refactor to include handling of - Neon vector-tuple modes. - (aarch64_print_operand): Print "d" for "%R" for a partial - Neon vector structure. - (aarch64_expand_vec_perm_1): Use new vector-tuple mode. - (aarch64_modes_tieable_p): Prevent tieing Neon partial struct - modes with scalar machines modes larger than 8 bytes. - (aarch64_can_change_mode_class): Don't allow changes between - partial and full Neon vector-structure modes. - * config/aarch64/arm_neon.h (vst2_lane_f16): Use updated - builtin and remove boiler-plate code for opaque mode. - (vst2_lane_f32): Likewise. - (vst2_lane_f64): Likewise. - (vst2_lane_p8): Likewise. - (vst2_lane_p16): Likewise. - (vst2_lane_p64): Likewise. - (vst2_lane_s8): Likewise. - (vst2_lane_s16): Likewise. - (vst2_lane_s32): Likewise. - (vst2_lane_s64): Likewise. - (vst2_lane_u8): Likewise. - (vst2_lane_u16): Likewise. - (vst2_lane_u32): Likewise. - (vst2_lane_u64): Likewise. - (vst2q_lane_f16): Likewise. - (vst2q_lane_f32): Likewise. - (vst2q_lane_f64): Likewise. - (vst2q_lane_p8): Likewise. - (vst2q_lane_p16): Likewise. - (vst2q_lane_p64): Likewise. - (vst2q_lane_s8): Likewise. - (vst2q_lane_s16): Likewise. - (vst2q_lane_s32): Likewise. - (vst2q_lane_s64): Likewise. - (vst2q_lane_u8): Likewise. - (vst2q_lane_u16): Likewise. - (vst2q_lane_u32): Likewise. - (vst2q_lane_u64): Likewise. - (vst3_lane_f16): Likewise. - (vst3_lane_f32): Likewise. - (vst3_lane_f64): Likewise. - (vst3_lane_p8): Likewise. - (vst3_lane_p16): Likewise. - (vst3_lane_p64): Likewise. - (vst3_lane_s8): Likewise. - (vst3_lane_s16): Likewise. - (vst3_lane_s32): Likewise. - (vst3_lane_s64): Likewise. - (vst3_lane_u8): Likewise. - (vst3_lane_u16): Likewise. - (vst3_lane_u32): Likewise. - (vst3_lane_u64): Likewise. - (vst3q_lane_f16): Likewise. - (vst3q_lane_f32): Likewise. - (vst3q_lane_f64): Likewise. - (vst3q_lane_p8): Likewise. - (vst3q_lane_p16): Likewise. - (vst3q_lane_p64): Likewise. - (vst3q_lane_s8): Likewise. - (vst3q_lane_s16): Likewise. - (vst3q_lane_s32): Likewise. - (vst3q_lane_s64): Likewise. - (vst3q_lane_u8): Likewise. - (vst3q_lane_u16): Likewise. - (vst3q_lane_u32): Likewise. - (vst3q_lane_u64): Likewise. - (vst4_lane_f16): Likewise. - (vst4_lane_f32): Likewise. - (vst4_lane_f64): Likewise. - (vst4_lane_p8): Likewise. - (vst4_lane_p16): Likewise. - (vst4_lane_p64): Likewise. - (vst4_lane_s8): Likewise. - (vst4_lane_s16): Likewise. - (vst4_lane_s32): Likewise. - (vst4_lane_s64): Likewise. - (vst4_lane_u8): Likewise. - (vst4_lane_u16): Likewise. - (vst4_lane_u32): Likewise. - (vst4_lane_u64): Likewise. - (vst4q_lane_f16): Likewise. - (vst4q_lane_f32): Likewise. - (vst4q_lane_f64): Likewise. - (vst4q_lane_p8): Likewise. - (vst4q_lane_p16): Likewise. - (vst4q_lane_p64): Likewise. - (vst4q_lane_s8): Likewise. - (vst4q_lane_s16): Likewise. - (vst4q_lane_s32): Likewise. - (vst4q_lane_s64): Likewise. - (vst4q_lane_u8): Likewise. - (vst4q_lane_u16): Likewise. - (vst4q_lane_u32): Likewise. - (vst4q_lane_u64): Likewise. - (vtbl3_s8): Likewise. - (vtbl3_u8): Likewise. - (vtbl3_p8): Likewise. - (vtbl4_s8): Likewise. - (vtbl4_u8): Likewise. - (vtbl4_p8): Likewise. - (vld1_u8_x3): Likewise. - (vld1_s8_x3): Likewise. - (vld1_u16_x3): Likewise. - (vld1_s16_x3): Likewise. - (vld1_u32_x3): Likewise. - (vld1_s32_x3): Likewise. - (vld1_u64_x3): Likewise. - (vld1_s64_x3): Likewise. - (vld1_f16_x3): Likewise. - (vld1_f32_x3): Likewise. - (vld1_f64_x3): Likewise. - (vld1_p8_x3): Likewise. - (vld1_p16_x3): Likewise. - (vld1_p64_x3): Likewise. - (vld1q_u8_x3): Likewise. - (vld1q_s8_x3): Likewise. - (vld1q_u16_x3): Likewise. - (vld1q_s16_x3): Likewise. - (vld1q_u32_x3): Likewise. - (vld1q_s32_x3): Likewise. - (vld1q_u64_x3): Likewise. - (vld1q_s64_x3): Likewise. - (vld1q_f16_x3): Likewise. - (vld1q_f32_x3): Likewise. - (vld1q_f64_x3): Likewise. - (vld1q_p8_x3): Likewise. - (vld1q_p16_x3): Likewise. - (vld1q_p64_x3): Likewise. - (vld1_u8_x2): Likewise. - (vld1_s8_x2): Likewise. - (vld1_u16_x2): Likewise. - (vld1_s16_x2): Likewise. - (vld1_u32_x2): Likewise. - (vld1_s32_x2): Likewise. - (vld1_u64_x2): Likewise. - (vld1_s64_x2): Likewise. - (vld1_f16_x2): Likewise. - (vld1_f32_x2): Likewise. - (vld1_f64_x2): Likewise. - (vld1_p8_x2): Likewise. - (vld1_p16_x2): Likewise. - (vld1_p64_x2): Likewise. - (vld1q_u8_x2): Likewise. - (vld1q_s8_x2): Likewise. - (vld1q_u16_x2): Likewise. - (vld1q_s16_x2): Likewise. - (vld1q_u32_x2): Likewise. - (vld1q_s32_x2): Likewise. - (vld1q_u64_x2): Likewise. - (vld1q_s64_x2): Likewise. - (vld1q_f16_x2): Likewise. - (vld1q_f32_x2): Likewise. - (vld1q_f64_x2): Likewise. - (vld1q_p8_x2): Likewise. - (vld1q_p16_x2): Likewise. - (vld1q_p64_x2): Likewise. - (vld1_s8_x4): Likewise. - (vld1q_s8_x4): Likewise. - (vld1_s16_x4): Likewise. - (vld1q_s16_x4): Likewise. - (vld1_s32_x4): Likewise. - (vld1q_s32_x4): Likewise. - (vld1_u8_x4): Likewise. - (vld1q_u8_x4): Likewise. - (vld1_u16_x4): Likewise. - (vld1q_u16_x4): Likewise. - (vld1_u32_x4): Likewise. - (vld1q_u32_x4): Likewise. - (vld1_f16_x4): Likewise. - (vld1q_f16_x4): Likewise. - (vld1_f32_x4): Likewise. - (vld1q_f32_x4): Likewise. - (vld1_p8_x4): Likewise. - (vld1q_p8_x4): Likewise. - (vld1_p16_x4): Likewise. - (vld1q_p16_x4): Likewise. - (vld1_s64_x4): Likewise. - (vld1_u64_x4): Likewise. - (vld1_p64_x4): Likewise. - (vld1q_s64_x4): Likewise. - (vld1q_u64_x4): Likewise. - (vld1q_p64_x4): Likewise. - (vld1_f64_x4): Likewise. - (vld1q_f64_x4): Likewise. - (vld2_s64): Likewise. - (vld2_u64): Likewise. - (vld2_f64): Likewise. - (vld2_s8): Likewise. - (vld2_p8): Likewise. - (vld2_p64): Likewise. - (vld2_s16): Likewise. - (vld2_p16): Likewise. - (vld2_s32): Likewise. - (vld2_u8): Likewise. - (vld2_u16): Likewise. - (vld2_u32): Likewise. - (vld2_f16): Likewise. - (vld2_f32): Likewise. - (vld2q_s8): Likewise. - (vld2q_p8): Likewise. - (vld2q_s16): Likewise. - (vld2q_p16): Likewise. - (vld2q_p64): Likewise. - (vld2q_s32): Likewise. - (vld2q_s64): Likewise. - (vld2q_u8): Likewise. - (vld2q_u16): Likewise. - (vld2q_u32): Likewise. - (vld2q_u64): Likewise. - (vld2q_f16): Likewise. - (vld2q_f32): Likewise. - (vld2q_f64): Likewise. - (vld3_s64): Likewise. - (vld3_u64): Likewise. - (vld3_f64): Likewise. - (vld3_s8): Likewise. - (vld3_p8): Likewise. - (vld3_s16): Likewise. - (vld3_p16): Likewise. - (vld3_s32): Likewise. - (vld3_u8): Likewise. - (vld3_u16): Likewise. - (vld3_u32): Likewise. - (vld3_f16): Likewise. - (vld3_f32): Likewise. - (vld3_p64): Likewise. - (vld3q_s8): Likewise. - (vld3q_p8): Likewise. - (vld3q_s16): Likewise. - (vld3q_p16): Likewise. - (vld3q_s32): Likewise. - (vld3q_s64): Likewise. - (vld3q_u8): Likewise. - (vld3q_u16): Likewise. - (vld3q_u32): Likewise. - (vld3q_u64): Likewise. - (vld3q_f16): Likewise. - (vld3q_f32): Likewise. - (vld3q_f64): Likewise. - (vld3q_p64): Likewise. - (vld4_s64): Likewise. - (vld4_u64): Likewise. - (vld4_f64): Likewise. - (vld4_s8): Likewise. - (vld4_p8): Likewise. - (vld4_s16): Likewise. - (vld4_p16): Likewise. - (vld4_s32): Likewise. - (vld4_u8): Likewise. - (vld4_u16): Likewise. - (vld4_u32): Likewise. - (vld4_f16): Likewise. - (vld4_f32): Likewise. - (vld4_p64): Likewise. - (vld4q_s8): Likewise. - (vld4q_p8): Likewise. - (vld4q_s16): Likewise. - (vld4q_p16): Likewise. - (vld4q_s32): Likewise. - (vld4q_s64): Likewise. - (vld4q_u8): Likewise. - (vld4q_u16): Likewise. - (vld4q_u32): Likewise. - (vld4q_u64): Likewise. - (vld4q_f16): Likewise. - (vld4q_f32): Likewise. - (vld4q_f64): Likewise. - (vld4q_p64): Likewise. - (vld2_dup_s8): Likewise. - (vld2_dup_s16): Likewise. - (vld2_dup_s32): Likewise. - (vld2_dup_f16): Likewise. - (vld2_dup_f32): Likewise. - (vld2_dup_f64): Likewise. - (vld2_dup_u8): Likewise. - (vld2_dup_u16): Likewise. - (vld2_dup_u32): Likewise. - (vld2_dup_p8): Likewise. - (vld2_dup_p16): Likewise. - (vld2_dup_p64): Likewise. - (vld2_dup_s64): Likewise. - (vld2_dup_u64): Likewise. - (vld2q_dup_s8): Likewise. - (vld2q_dup_p8): Likewise. - (vld2q_dup_s16): Likewise. - (vld2q_dup_p16): Likewise. - (vld2q_dup_s32): Likewise. - (vld2q_dup_s64): Likewise. - (vld2q_dup_u8): Likewise. - (vld2q_dup_u16): Likewise. - (vld2q_dup_u32): Likewise. - (vld2q_dup_u64): Likewise. - (vld2q_dup_f16): Likewise. - (vld2q_dup_f32): Likewise. - (vld2q_dup_f64): Likewise. - (vld2q_dup_p64): Likewise. - (vld3_dup_s64): Likewise. - (vld3_dup_u64): Likewise. - (vld3_dup_f64): Likewise. - (vld3_dup_s8): Likewise. - (vld3_dup_p8): Likewise. - (vld3_dup_s16): Likewise. - (vld3_dup_p16): Likewise. - (vld3_dup_s32): Likewise. - (vld3_dup_u8): Likewise. - (vld3_dup_u16): Likewise. - (vld3_dup_u32): Likewise. - (vld3_dup_f16): Likewise. - (vld3_dup_f32): Likewise. - (vld3_dup_p64): Likewise. - (vld3q_dup_s8): Likewise. - (vld3q_dup_p8): Likewise. - (vld3q_dup_s16): Likewise. - (vld3q_dup_p16): Likewise. - (vld3q_dup_s32): Likewise. - (vld3q_dup_s64): Likewise. - (vld3q_dup_u8): Likewise. - (vld3q_dup_u16): Likewise. - (vld3q_dup_u32): Likewise. - (vld3q_dup_u64): Likewise. - (vld3q_dup_f16): Likewise. - (vld3q_dup_f32): Likewise. - (vld3q_dup_f64): Likewise. - (vld3q_dup_p64): Likewise. - (vld4_dup_s64): Likewise. - (vld4_dup_u64): Likewise. - (vld4_dup_f64): Likewise. - (vld4_dup_s8): Likewise. - (vld4_dup_p8): Likewise. - (vld4_dup_s16): Likewise. - (vld4_dup_p16): Likewise. - (vld4_dup_s32): Likewise. - (vld4_dup_u8): Likewise. - (vld4_dup_u16): Likewise. - (vld4_dup_u32): Likewise. - (vld4_dup_f16): Likewise. - (vld4_dup_f32): Likewise. - (vld4_dup_p64): Likewise. - (vld4q_dup_s8): Likewise. - (vld4q_dup_p8): Likewise. - (vld4q_dup_s16): Likewise. - (vld4q_dup_p16): Likewise. - (vld4q_dup_s32): Likewise. - (vld4q_dup_s64): Likewise. - (vld4q_dup_u8): Likewise. - (vld4q_dup_u16): Likewise. - (vld4q_dup_u32): Likewise. - (vld4q_dup_u64): Likewise. - (vld4q_dup_f16): Likewise. - (vld4q_dup_f32): Likewise. - (vld4q_dup_f64): Likewise. - (vld4q_dup_p64): Likewise. - (vld2_lane_u8): Likewise. - (vld2_lane_u16): Likewise. - (vld2_lane_u32): Likewise. - (vld2_lane_u64): Likewise. - (vld2_lane_s8): Likewise. - (vld2_lane_s16): Likewise. - (vld2_lane_s32): Likewise. - (vld2_lane_s64): Likewise. - (vld2_lane_f16): Likewise. - (vld2_lane_f32): Likewise. - (vld2_lane_f64): Likewise. - (vld2_lane_p8): Likewise. - (vld2_lane_p16): Likewise. - (vld2_lane_p64): Likewise. - (vld2q_lane_u8): Likewise. - (vld2q_lane_u16): Likewise. - (vld2q_lane_u32): Likewise. - (vld2q_lane_u64): Likewise. - (vld2q_lane_s8): Likewise. - (vld2q_lane_s16): Likewise. - (vld2q_lane_s32): Likewise. - (vld2q_lane_s64): Likewise. - (vld2q_lane_f16): Likewise. - (vld2q_lane_f32): Likewise. - (vld2q_lane_f64): Likewise. - (vld2q_lane_p8): Likewise. - (vld2q_lane_p16): Likewise. - (vld2q_lane_p64): Likewise. - (vld3_lane_u8): Likewise. - (vld3_lane_u16): Likewise. - (vld3_lane_u32): Likewise. - (vld3_lane_u64): Likewise. - (vld3_lane_s8): Likewise. - (vld3_lane_s16): Likewise. - (vld3_lane_s32): Likewise. - (vld3_lane_s64): Likewise. - (vld3_lane_f16): Likewise. - (vld3_lane_f32): Likewise. - (vld3_lane_f64): Likewise. - (vld3_lane_p8): Likewise. - (vld3_lane_p16): Likewise. - (vld3_lane_p64): Likewise. - (vld3q_lane_u8): Likewise. - (vld3q_lane_u16): Likewise. - (vld3q_lane_u32): Likewise. - (vld3q_lane_u64): Likewise. - (vld3q_lane_s8): Likewise. - (vld3q_lane_s16): Likewise. - (vld3q_lane_s32): Likewise. - (vld3q_lane_s64): Likewise. - (vld3q_lane_f16): Likewise. - (vld3q_lane_f32): Likewise. - (vld3q_lane_f64): Likewise. - (vld3q_lane_p8): Likewise. - (vld3q_lane_p16): Likewise. - (vld3q_lane_p64): Likewise. - (vld4_lane_u8): Likewise. - (vld4_lane_u16): Likewise. - (vld4_lane_u32): Likewise. - (vld4_lane_u64): Likewise. - (vld4_lane_s8): Likewise. - (vld4_lane_s16): Likewise. - (vld4_lane_s32): Likewise. - (vld4_lane_s64): Likewise. - (vld4_lane_f16): Likewise. - (vld4_lane_f32): Likewise. - (vld4_lane_f64): Likewise. - (vld4_lane_p8): Likewise. - (vld4_lane_p16): Likewise. - (vld4_lane_p64): Likewise. - (vld4q_lane_u8): Likewise. - (vld4q_lane_u16): Likewise. - (vld4q_lane_u32): Likewise. - (vld4q_lane_u64): Likewise. - (vld4q_lane_s8): Likewise. - (vld4q_lane_s16): Likewise. - (vld4q_lane_s32): Likewise. - (vld4q_lane_s64): Likewise. - (vld4q_lane_f16): Likewise. - (vld4q_lane_f32): Likewise. - (vld4q_lane_f64): Likewise. - (vld4q_lane_p8): Likewise. - (vld4q_lane_p16): Likewise. - (vld4q_lane_p64): Likewise. - (vqtbl2_s8): Likewise. - (vqtbl2_u8): Likewise. - (vqtbl2_p8): Likewise. - (vqtbl2q_s8): Likewise. - (vqtbl2q_u8): Likewise. - (vqtbl2q_p8): Likewise. - (vqtbl3_s8): Likewise. - (vqtbl3_u8): Likewise. - (vqtbl3_p8): Likewise. - (vqtbl3q_s8): Likewise. - (vqtbl3q_u8): Likewise. - (vqtbl3q_p8): Likewise. - (vqtbl4_s8): Likewise. - (vqtbl4_u8): Likewise. - (vqtbl4_p8): Likewise. - (vqtbl4q_s8): Likewise. - (vqtbl4q_u8): Likewise. - (vqtbl4q_p8): Likewise. - (vqtbx2_s8): Likewise. - (vqtbx2_u8): Likewise. - (vqtbx2_p8): Likewise. - (vqtbx2q_s8): Likewise. - (vqtbx2q_u8): Likewise. - (vqtbx2q_p8): Likewise. - (vqtbx3_s8): Likewise. - (vqtbx3_u8): Likewise. - (vqtbx3_p8): Likewise. - (vqtbx3q_s8): Likewise. - (vqtbx3q_u8): Likewise. - (vqtbx3q_p8): Likewise. - (vqtbx4_s8): Likewise. - (vqtbx4_u8): Likewise. - (vqtbx4_p8): Likewise. - (vqtbx4q_s8): Likewise. - (vqtbx4q_u8): Likewise. - (vqtbx4q_p8): Likewise. - (vst1_s64_x2): Likewise. - (vst1_u64_x2): Likewise. - (vst1_f64_x2): Likewise. - (vst1_s8_x2): Likewise. - (vst1_p8_x2): Likewise. - (vst1_s16_x2): Likewise. - (vst1_p16_x2): Likewise. - (vst1_s32_x2): Likewise. - (vst1_u8_x2): Likewise. - (vst1_u16_x2): Likewise. - (vst1_u32_x2): Likewise. - (vst1_f16_x2): Likewise. - (vst1_f32_x2): Likewise. - (vst1_p64_x2): Likewise. - (vst1q_s8_x2): Likewise. - (vst1q_p8_x2): Likewise. - (vst1q_s16_x2): Likewise. - (vst1q_p16_x2): Likewise. - (vst1q_s32_x2): Likewise. - (vst1q_s64_x2): Likewise. - (vst1q_u8_x2): Likewise. - (vst1q_u16_x2): Likewise. - (vst1q_u32_x2): Likewise. - (vst1q_u64_x2): Likewise. - (vst1q_f16_x2): Likewise. - (vst1q_f32_x2): Likewise. - (vst1q_f64_x2): Likewise. - (vst1q_p64_x2): Likewise. - (vst1_s64_x3): Likewise. - (vst1_u64_x3): Likewise. - (vst1_f64_x3): Likewise. - (vst1_s8_x3): Likewise. - (vst1_p8_x3): Likewise. - (vst1_s16_x3): Likewise. - (vst1_p16_x3): Likewise. - (vst1_s32_x3): Likewise. - (vst1_u8_x3): Likewise. - (vst1_u16_x3): Likewise. - (vst1_u32_x3): Likewise. - (vst1_f16_x3): Likewise. - (vst1_f32_x3): Likewise. - (vst1_p64_x3): Likewise. - (vst1q_s8_x3): Likewise. - (vst1q_p8_x3): Likewise. - (vst1q_s16_x3): Likewise. - (vst1q_p16_x3): Likewise. - (vst1q_s32_x3): Likewise. - (vst1q_s64_x3): Likewise. - (vst1q_u8_x3): Likewise. - (vst1q_u16_x3): Likewise. - (vst1q_u32_x3): Likewise. - (vst1q_u64_x3): Likewise. - (vst1q_f16_x3): Likewise. - (vst1q_f32_x3): Likewise. - (vst1q_f64_x3): Likewise. - (vst1q_p64_x3): Likewise. - (vst1_s8_x4): Likewise. - (vst1q_s8_x4): Likewise. - (vst1_s16_x4): Likewise. - (vst1q_s16_x4): Likewise. - (vst1_s32_x4): Likewise. - (vst1q_s32_x4): Likewise. - (vst1_u8_x4): Likewise. - (vst1q_u8_x4): Likewise. - (vst1_u16_x4): Likewise. - (vst1q_u16_x4): Likewise. - (vst1_u32_x4): Likewise. - (vst1q_u32_x4): Likewise. - (vst1_f16_x4): Likewise. - (vst1q_f16_x4): Likewise. - (vst1_f32_x4): Likewise. - (vst1q_f32_x4): Likewise. - (vst1_p8_x4): Likewise. - (vst1q_p8_x4): Likewise. - (vst1_p16_x4): Likewise. - (vst1q_p16_x4): Likewise. - (vst1_s64_x4): Likewise. - (vst1_u64_x4): Likewise. - (vst1_p64_x4): Likewise. - (vst1q_s64_x4): Likewise. - (vst1q_u64_x4): Likewise. - (vst1q_p64_x4): Likewise. - (vst1_f64_x4): Likewise. - (vst1q_f64_x4): Likewise. - (vst2_s64): Likewise. - (vst2_u64): Likewise. - (vst2_f64): Likewise. - (vst2_s8): Likewise. - (vst2_p8): Likewise. - (vst2_s16): Likewise. - (vst2_p16): Likewise. - (vst2_s32): Likewise. - (vst2_u8): Likewise. - (vst2_u16): Likewise. - (vst2_u32): Likewise. - (vst2_f16): Likewise. - (vst2_f32): Likewise. - (vst2_p64): Likewise. - (vst2q_s8): Likewise. - (vst2q_p8): Likewise. - (vst2q_s16): Likewise. - (vst2q_p16): Likewise. - (vst2q_s32): Likewise. - (vst2q_s64): Likewise. - (vst2q_u8): Likewise. - (vst2q_u16): Likewise. - (vst2q_u32): Likewise. - (vst2q_u64): Likewise. - (vst2q_f16): Likewise. - (vst2q_f32): Likewise. - (vst2q_f64): Likewise. - (vst2q_p64): Likewise. - (vst3_s64): Likewise. - (vst3_u64): Likewise. - (vst3_f64): Likewise. - (vst3_s8): Likewise. - (vst3_p8): Likewise. - (vst3_s16): Likewise. - (vst3_p16): Likewise. - (vst3_s32): Likewise. - (vst3_u8): Likewise. - (vst3_u16): Likewise. - (vst3_u32): Likewise. - (vst3_f16): Likewise. - (vst3_f32): Likewise. - (vst3_p64): Likewise. - (vst3q_s8): Likewise. - (vst3q_p8): Likewise. - (vst3q_s16): Likewise. - (vst3q_p16): Likewise. - (vst3q_s32): Likewise. - (vst3q_s64): Likewise. - (vst3q_u8): Likewise. - (vst3q_u16): Likewise. - (vst3q_u32): Likewise. - (vst3q_u64): Likewise. - (vst3q_f16): Likewise. - (vst3q_f32): Likewise. - (vst3q_f64): Likewise. - (vst3q_p64): Likewise. - (vst4_s64): Likewise. - (vst4_u64): Likewise. - (vst4_f64): Likewise. - (vst4_s8): Likewise. - (vst4_p8): Likewise. - (vst4_s16): Likewise. - (vst4_p16): Likewise. - (vst4_s32): Likewise. - (vst4_u8): Likewise. - (vst4_u16): Likewise. - (vst4_u32): Likewise. - (vst4_f16): Likewise. - (vst4_f32): Likewise. - (vst4_p64): Likewise. - (vst4q_s8): Likewise. - (vst4q_p8): Likewise. - (vst4q_s16): Likewise. - (vst4q_p16): Likewise. - (vst4q_s32): Likewise. - (vst4q_s64): Likewise. - (vst4q_u8): Likewise. - (vst4q_u16): Likewise. - (vst4q_u32): Likewise. - (vst4q_u64): Likewise. - (vst4q_f16): Likewise. - (vst4q_f32): Likewise. - (vst4q_f64): Likewise. - (vst4q_p64): Likewise. - (vtbx4_s8): Likewise. - (vtbx4_u8): Likewise. - (vtbx4_p8): Likewise. - (vld1_bf16_x2): Likewise. - (vld1q_bf16_x2): Likewise. - (vld1_bf16_x3): Likewise. - (vld1q_bf16_x3): Likewise. - (vld1_bf16_x4): Likewise. - (vld1q_bf16_x4): Likewise. - (vld2_bf16): Likewise. - (vld2q_bf16): Likewise. - (vld2_dup_bf16): Likewise. - (vld2q_dup_bf16): Likewise. - (vld3_bf16): Likewise. - (vld3q_bf16): Likewise. - (vld3_dup_bf16): Likewise. - (vld3q_dup_bf16): Likewise. - (vld4_bf16): Likewise. - (vld4q_bf16): Likewise. - (vld4_dup_bf16): Likewise. - (vld4q_dup_bf16): Likewise. - (vst1_bf16_x2): Likewise. - (vst1q_bf16_x2): Likewise. - (vst1_bf16_x3): Likewise. - (vst1q_bf16_x3): Likewise. - (vst1_bf16_x4): Likewise. - (vst1q_bf16_x4): Likewise. - (vst2_bf16): Likewise. - (vst2q_bf16): Likewise. - (vst3_bf16): Likewise. - (vst3q_bf16): Likewise. - (vst4_bf16): Likewise. - (vst4q_bf16): Likewise. - (vld2_lane_bf16): Likewise. - (vld2q_lane_bf16): Likewise. - (vld3_lane_bf16): Likewise. - (vld3q_lane_bf16): Likewise. - (vld4_lane_bf16): Likewise. - (vld4q_lane_bf16): Likewise. - (vst2_lane_bf16): Likewise. - (vst2q_lane_bf16): Likewise. - (vst3_lane_bf16): Likewise. - (vst3q_lane_bf16): Likewise. - (vst4_lane_bf16): Likewise. - (vst4q_lane_bf16): Likewise. - * config/aarch64/geniterators.sh: Modify iterator regex to - match new vector-tuple modes. - * config/aarch64/iterators.md (insn_count): Extend mode - attribute with vector-tuple type information. - (nregs): Likewise. - (Vendreg): Likewise. - (Vetype): Likewise. - (Vtype): Likewise. - (VSTRUCT_2D): New mode iterator. - (VSTRUCT_2DNX): Likewise. - (VSTRUCT_2DX): Likewise. - (VSTRUCT_2Q): Likewise. - (VSTRUCT_2QD): Likewise. - (VSTRUCT_3D): Likewise. - (VSTRUCT_3DNX): Likewise. - (VSTRUCT_3DX): Likewise. - (VSTRUCT_3Q): Likewise. - (VSTRUCT_3QD): Likewise. - (VSTRUCT_4D): Likewise. - (VSTRUCT_4DNX): Likewise. - (VSTRUCT_4DX): Likewise. - (VSTRUCT_4Q): Likewise. - (VSTRUCT_4QD): Likewise. - (VSTRUCT_D): Likewise. - (VSTRUCT_Q): Likewise. - (VSTRUCT_QD): Likewise. - (VSTRUCT_ELT): New mode attribute. - (vstruct_elt): Likewise. - * genmodes.c (VECTOR_MODE): Add default prefix and order - parameters. - (VECTOR_MODE_WITH_PREFIX): Define. - (make_vector_mode): Add mode prefix and order parameters. - -2021-11-04 Jonathan Wright - - * expmed.c (extract_bit_field_1): Ensure modes are tieable. - -2021-11-04 Jonathan Wright - - * expr.c (emit_group_load_1): Remove historic workaround. - -2021-11-04 Jonathan Wright - - * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): - Factor out main loop to... - (aarch64_init_simd_builtin_functions): This new function. - (register_tuple_type): Define. - (aarch64_scalar_builtin_type_p): Define. - (handle_arm_neon_h): Define. - * config/aarch64/aarch64-c.c (aarch64_pragma_aarch64): Handle - pragma for arm_neon.h. - * config/aarch64/aarch64-protos.h (aarch64_advsimd_struct_mode_p): - Declare. - (handle_arm_neon_h): Likewise. - * config/aarch64/aarch64.c (aarch64_advsimd_struct_mode_p): - Remove static modifier. - * config/aarch64/arm_neon.h (target): Remove Neon vector - structure type definitions. - -2021-11-04 Aldy Hernandez - - PR tree-optimization/102943 - * gimple-range-path.cc (path_range_query::range_on_path_entry): - Prefer range_of_expr unless there are no statements in the BB. - -2021-11-04 Aldy Hernandez - - PR tree-optimization/102943 - * tree-ssa-threadbackward.c (back_threader::find_paths_to_names): - Avoid duplicate calculation of paths. - -2021-11-04 Aldy Hernandez - - PR tree-optimization/102943 - * gimple-range-path.cc (path_range_query::compute_phi_relations): - Only compute relations for SSA names in the import list. - (path_range_query::compute_outgoing_relations): Same. - * gimple-range-path.h (path_range_query::import_p): New. - -2021-11-04 Richard Biener - - PR rtl-optimization/103075 - * simplify-rtx.c (exact_int_to_float_conversion_p): Return - false for a VOIDmode operand. - -2021-11-04 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_vector_costs): Make member - variables private and add "m_" to their names. Remove is_loop. - (aarch64_record_potential_advsimd_unrolling): Replace with... - (aarch64_vector_costs::record_potential_advsimd_unrolling): ...this. - (aarch64_analyze_loop_vinfo): Replace with... - (aarch64_vector_costs::analyze_loop_vinfo): ...this. - Move initialization of (m_)vec_flags to add_stmt_cost. - (aarch64_analyze_bb_vinfo): Delete. - (aarch64_count_ops): Replace with... - (aarch64_vector_costs::count_ops): ...this. - (aarch64_vector_costs::add_stmt_cost): Set m_vec_flags, - using m_costing_for_scalar to test whether we're costing - scalar or vector code. - (aarch64_adjust_body_cost_sve): Replace with... - (aarch64_vector_costs::adjust_body_cost_sve): ...this. - (aarch64_adjust_body_cost): Replace with... - (aarch64_vector_costs::adjust_body_cost): ...this. - (aarch64_vector_costs::finish_cost): Use m_vinfo instead of is_loop. - -2021-11-04 Richard Sandiford - - * target.def (targetm.vectorize.init_cost): Replace with... - (targetm.vectorize.create_costs): ...this. - (targetm.vectorize.add_stmt_cost): Delete. - (targetm.vectorize.finish_cost): Likewise. - (targetm.vectorize.destroy_cost_data): Likewise. - * doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): Replace with... - (TARGET_VECTORIZE_CREATE_COSTS): ...this. - (TARGET_VECTORIZE_ADD_STMT_COST): Delete. - (TARGET_VECTORIZE_FINISH_COST): Likewise. - (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. - * doc/tm.texi: Regenerate. - * tree-vectorizer.h (vec_info::vec_info): Remove target_cost_data - parameter. - (vec_info::target_cost_data): Change from a void * to a vector_costs *. - (vector_costs): New class. - (init_cost): Take a vec_info and return a vector_costs. - (dump_stmt_cost): Remove data parameter. - (add_stmt_cost): Replace vinfo and data parameters with a vector_costs. - (add_stmt_costs): Likewise. - (finish_cost): Replace data parameter with a vector_costs. - (destroy_cost_data): Delete. - * tree-vectorizer.c (dump_stmt_cost): Remove data argument and - don't print it. - (vec_info::vec_info): Remove the target_cost_data parameter and - initialize the member variable to null instead. - (vec_info::~vec_info): Delete target_cost_data instead of calling - destroy_cost_data. - (vector_costs::add_stmt_cost): New function. - (vector_costs::finish_cost): Likewise. - (vector_costs::record_stmt_cost): Likewise. - (vector_costs::adjust_cost_for_freq): Likewise. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Update - call to vec_info::vec_info. - (vect_compute_single_scalar_iteration_cost): Update after above - changes to costing interface. - (vect_analyze_loop_operations): Likewise. - (vect_estimate_min_profitable_iters): Likewise. - (vect_analyze_loop_2): Initialize LOOP_VINFO_TARGET_COST_DATA - at the start_over point, where it needs to be recreated after - trying without slp. Update retry code accordingly. - * tree-vect-slp.c (_bb_vec_info::_bb_vec_info): Update call - to vec_info::vec_info. - (vect_slp_analyze_operation): Update after above changes to costing - interface. - (vect_bb_vectorization_profitable_p): Likewise. - * targhooks.h (default_init_cost): Replace with... - (default_vectorize_create_costs): ...this. - (default_add_stmt_cost): Delete. - (default_finish_cost, default_destroy_cost_data): Likewise. - * targhooks.c (default_init_cost): Replace with... - (default_vectorize_create_costs): ...this. - (default_add_stmt_cost): Delete, moving logic to vector_costs instead. - (default_finish_cost, default_destroy_cost_data): Delete. - * config/aarch64/aarch64.c (aarch64_vector_costs): Inherit from - vector_costs. Add a constructor. - (aarch64_init_cost): Replace with... - (aarch64_vectorize_create_costs): ...this. - (aarch64_add_stmt_cost): Replace with... - (aarch64_vector_costs::add_stmt_cost): ...this. Use record_stmt_cost - to adjust the cost for inner loops. - (aarch64_finish_cost): Replace with... - (aarch64_vector_costs::finish_cost): ...this. - (aarch64_destroy_cost_data): Delete. - (TARGET_VECTORIZE_INIT_COST): Replace with... - (TARGET_VECTORIZE_CREATE_COSTS): ...this. - (TARGET_VECTORIZE_ADD_STMT_COST): Delete. - (TARGET_VECTORIZE_FINISH_COST): Likewise. - (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. - * config/i386/i386.c (ix86_vector_costs): New structure. - (ix86_init_cost): Replace with... - (ix86_vectorize_create_costs): ...this. - (ix86_add_stmt_cost): Replace with... - (ix86_vector_costs::add_stmt_cost): ...this. Use adjust_cost_for_freq - to adjust the cost for inner loops. - (ix86_finish_cost, ix86_destroy_cost_data): Delete. - (TARGET_VECTORIZE_INIT_COST): Replace with... - (TARGET_VECTORIZE_CREATE_COSTS): ...this. - (TARGET_VECTORIZE_ADD_STMT_COST): Delete. - (TARGET_VECTORIZE_FINISH_COST): Likewise. - (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. - * config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): Replace with... - (TARGET_VECTORIZE_CREATE_COSTS): ...this. - (TARGET_VECTORIZE_ADD_STMT_COST): Delete. - (TARGET_VECTORIZE_FINISH_COST): Likewise. - (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. - (rs6000_cost_data): Inherit from vector_costs. - Add a constructor. Drop loop_info, cost and costing_for_scalar - in favor of the corresponding vector_costs member variables. - Add "m_" to the names of the remaining member variables and - initialize them. - (rs6000_density_test): Replace with... - (rs6000_cost_data::density_test): ...this. - (rs6000_init_cost): Replace with... - (rs6000_vectorize_create_costs): ...this. - (rs6000_update_target_cost_per_stmt): Replace with... - (rs6000_cost_data::update_target_cost_per_stmt): ...this. - (rs6000_add_stmt_cost): Replace with... - (rs6000_cost_data::add_stmt_cost): ...this. Use adjust_cost_for_freq - to adjust the cost for inner loops. - (rs6000_adjust_vect_cost_per_loop): Replace with... - (rs6000_cost_data::adjust_vect_cost_per_loop): ...this. - (rs6000_finish_cost): Replace with... - (rs6000_cost_data::finish_cost): ...this. Group loop code - into a single if statement and pass the loop_vinfo down to - subroutines. - (rs6000_destroy_cost_data): Delete. - -2021-11-04 Aldy Hernandez - - PR tree-optimization/103062 - PR tree-optimization/103062 - * value-pointer-equiv.cc (ssa_equiv_stack::ssa_equiv_stack): - Increase size of allocation by 1. - (ssa_equiv_stack::push_replacement): Grow as needed. - (ssa_equiv_stack::get_replacement): Same. - (pointer_equiv_analyzer::pointer_equiv_analyzer): Same. - (pointer_equiv_analyzer::~pointer_equiv_analyzer): Remove delete. - (pointer_equiv_analyzer::set_global_equiv): Grow as needed. - (pointer_equiv_analyzer::get_equiv): Same. - (pointer_equiv_analyzer::get_equiv_expr): Remove const. - * value-pointer-equiv.h (class pointer_equiv_analyzer): Remove - const markers. Use auto_vec instead of tree *. - -2021-11-04 Richard Biener - - * tree-ssa-sccvn.c (vn_nary_op_insert_into): Remove always - true parameter and inline valueization. - (vn_nary_op_lookup_1): Inline valueization from ... - (vn_nary_op_compute_hash): ... here and remove it here. - * tree-ssa-pre.c (phi_translate_1): Do not valueize - before vn_nary_lookup_pieces. - (get_representative_for): Mark created SSA representatives - as visited. - -2021-11-04 Richard Sandiford - - * simplify-rtx.c (simplify_context::simplify_gen_vec_select): Assert - that the operand has a vector mode. Use subreg_lowpart_offset - to test whether an index corresponds to the low part. - -2021-11-04 Richard Sandiford - - * read-rtl.c: Remove dead !GENERATOR_FILE block. - * read-rtl-function.c (function_reader::consolidate_singletons): - Generate canonical CONST_VECTORs. - -2021-11-04 liuhongt - - PR target/101989 - * config/i386/predicates.md (reg_or_notreg_operand): Rename to .. - (regmem_or_bitnot_regmem_operand): .. and extend to handle - memory_operand. - * config/i386/sse.md (*_vpternlog_1): Force_reg - the operands which are required to be register_operand. - (*_vpternlog_2): Ditto. - (*_vpternlog_3): Ditto. - (*_vternlog_all): Disallow embeded broadcast for - vector HFmodes since it's not a real AVX512FP16 instruction. - -2021-11-04 liuhongt - - PR target/102464 - * match.pd: simplify (trunc)copysign((extend)a, (extend)b) to - .COPYSIGN (a,b) when a and b are same type as the truncation - type and has less precision than extend type. - -2021-11-04 Richard Biener - - * doc/generic.texi: Update TARGET_MEM_REF and MEM_REF - documentation. - -2021-11-04 Hongyu Wang - - * config/i386/sse.md (VI2_AVX512VNNIBW): New mode iterator. - (VI1_AVX512VNNI): Likewise. - (SDOT_VPDP_SUF): New mode_attr. - (VI1SI): Likewise. - (vi1si): Likewise. - (sdot_prod): Use VI2_AVX512F iterator, expand to - vpdpwssd when VNNI targets available. - (usdot_prod): New expander for vector QImode. - -2021-11-04 Hongyu Wang - - * config/i386/amxtileintrin.h (_tile_loadd_internal): Add - parentheses to base and stride. - (_tile_stream_loadd_internal): Likewise. - (_tile_stored_internal): Likewise. - -2021-11-03 Maciej W. Rozycki - - * config/riscv/riscv.c (riscv_class_max_nregs): Swap the - arguments to `reg_class_subset_p'. - -2021-11-03 Joseph Myers - - PR c/103031 - * fold-const.c (fold_init): New function. - * fold-const.h (fold_init): New prototype. - -2021-11-03 Andrew MacLeod - - * params.opt (param_vrp2_mode): Make ranger the default for VRP2. - -2021-11-03 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Don't import - a range from edge if arg == phidef. - -2021-11-03 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_builtin_call): Test - for constant before any other processing. - -2021-11-03 Andrew MacLeod - - * flag-types.h (RANGER_DEBUG_ALL): Fix values. - -2021-11-03 Andrew MacLeod - - * gimple-range.cc (gimple_ranger::gimple_ranger): Initialize current_bb. - (gimple_ranger::range_of_expr): Pick up range_on_entry when there is - no explcit context and current_bb is set. - (gimple_ranger::fold_stmt): New. - * gimple-range.h (current_bb, fold_stmt): New. - * tree-vrp.c (rvrp_folder::fold_stmt): Call ranger's fold_stmt. - -2021-11-03 Richard Biener - - PR tree-optimization/102970 - * tree-ssa-pre.c (phi_translate_1): Drop clique and base - when translating a MEM_REF over a backedge. - -2021-11-03 Philipp Tomsich - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): New Ampere-1 core. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64-cost-tables.h: Add extra costs for Ampere-1. - * config/aarch64/aarch64.c: Add tuning structures for Ampere-1. - * doc/invoke.texi: Add documentation for Ampere-1 core. - -2021-11-03 Wilco Dijkstra - - * config/aarch64/aarch64.md (movsi): Add alternative for GOT accesses. - (movdi): Likewise. - (ldr_got_small_): Remove pattern. - (ldr_got_small_sidi): Likewise. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Keep - GOT accesses as moves. - (aarch64_print_operand): Correctly print got_lo12 in L specifier. - (aarch64_mov_operand_p): Make GOT accesses valid move operands. - * config/aarch64/constraints.md: Add new constraint Usw for GOT access. - -2021-11-03 Martin Liska - - * gcov.c (read_line): Remove dead variable. - -2021-11-03 Martin Liska - - PR bootstrap/102828 - * ipa-fnsummary.c (edge_predicate_pool): Rename predicate class to ipa_predicate. - (ipa_fn_summary::account_size_time): Likewise. - (edge_set_predicate): Likewise. - (set_hint_predicate): Likewise. - (add_freqcounting_predicate): Likewise. - (evaluate_conditions_for_known_args): Likewise. - (evaluate_properties_for_edge): Likewise. - (remap_freqcounting_preds_after_dup): Likewise. - (ipa_fn_summary_t::duplicate): Likewise. - (set_cond_stmt_execution_predicate): Likewise. - (set_switch_stmt_execution_predicate): Likewise. - (compute_bb_predicates): Likewise. - (will_be_nonconstant_expr_predicate): Likewise. - (will_be_nonconstant_predicate): Likewise. - (phi_result_unknown_predicate): Likewise. - (predicate_for_phi_result): Likewise. - (analyze_function_body): Likewise. - (compute_fn_summary): Likewise. - (summarize_calls_size_and_time): Likewise. - (estimate_calls_size_and_time): Likewise. - (ipa_call_context::estimate_size_and_time): Likewise. - (remap_edge_summaries): Likewise. - (remap_freqcounting_predicate): Likewise. - (ipa_merge_fn_summary_after_inlining): Likewise. - (ipa_update_overall_fn_summary): Likewise. - (read_ipa_call_summary): Likewise. - (inline_read_section): Likewise. - * ipa-fnsummary.h (struct ipa_freqcounting_predicate): Likewise. - * ipa-predicate.c (predicate::add_clause): Likewise. - (ipa_predicate::add_clause): Likewise. - (predicate::or_with): Likewise. - (ipa_predicate::or_with): Likewise. - (predicate::evaluate): Likewise. - (ipa_predicate::evaluate): Likewise. - (predicate::probability): Likewise. - (ipa_predicate::probability): Likewise. - (dump_condition): Likewise. - (dump_clause): Likewise. - (predicate::dump): Likewise. - (ipa_predicate::dump): Likewise. - (predicate::debug): Likewise. - (ipa_predicate::debug): Likewise. - (predicate::remap_after_duplication): Likewise. - (ipa_predicate::remap_after_duplication): Likewise. - (predicate::remap_after_inlining): Likewise. - (ipa_predicate::remap_after_inlining): Likewise. - (predicate::stream_in): Likewise. - (ipa_predicate::stream_in): Likewise. - (predicate::stream_out): Likewise. - (ipa_predicate::stream_out): Likewise. - (add_condition): Likewise. - * ipa-predicate.h (class predicate): Likewise. - (class ipa_predicate): Likewise. - (add_condition): Likewise. - -2021-11-03 Richard Biener - - * bitmap.h (bitmap_bit_p): Change the return type to bool. - * bitmap.c (bitmap_bit_p): Likewise. - * sbitmap.h (bitmap_bit_p): Likewise. - (bitmap_set_bit): Return whether the bit changed. - (bitmap_clear_bit): Likewise. - * tree-ssa.c (verify_vssa): Make use of the changed state - from bitmap_set_bit. - -2021-11-03 Richard Biener - - PR middle-end/103033 - * internal-fn.c (expand_DEFERRED_INIT): Elide the - native_interpret_expr path in favor of folding the - VIEW_CONVERT_EXPR generated when punning the RHS. - -2021-11-03 Stefan Schulze Frielinghaus - - * config/s390/s390.c (s390_loop_unroll_adjust): In case of early - exit free bbs. - -2021-11-03 Jan Hubicka - - PR ipa/103040 - * ipa-modref.c (callee_to_caller_flags): New function. - (modref_eaf_analysis::analyze_ssa_name): Use it. - (ipa_merge_modref_summary_after_inlining): Fix whitespace. - -2021-11-02 Jan Hubicka - - * ipa-modref.c (modref_eaf_analysis::analyze_ssa_name): Revert - accidental commit. - -2021-11-02 Roger Sayle - Uroš Bizjak - - * config/i386/i386.md (ti3): Provide expansion for - rotations by non-constant amounts. - -2021-11-02 Jan Hubicka - - * ipa-modref.c: Fix anonymous namespace placement. - (class modref_eaf_analysis): New class. - (analyze_ssa_name_flags): Turn to ... - (modref_eaf_analysis::analyze_ssa_name): ... this one. - (merge_call_lhs_flags): Turn to ... - (modref_eaf_analysis::merge_call_lhs_flags): .. this one - (modref_eaf_analysis::merge_with_ssa_name): New member function. - (record_escape_points): Turn to ... - (modref_eaf_analysis::record_escape_points): ... this one. - (analyze_parms): Updat - (ipa_merge_modref_summary_after_inlining): Move to the end of file. - -2021-11-02 Jan Hubicka - - * gimple.c (gimple_call_static_chain_flags): New function. - * gimple.h (gimple_call_static_chain_flags): Declare - * ipa-modref.c (modref_summary::modref_summary): Initialize - static_chain_flags. - (modref_summary_lto::modref_summary_lto): Likewise. - (modref_summary::useful_p): Test static_chain_flags. - (modref_summary_lto::useful_p): Likewise. - (struct modref_summary_lto): Add static_chain_flags. - (modref_summary::dump): Dump static_chain_flags. - (modref_summary_lto::dump): Likewise. - (struct escape_point): Add static_cahin_arg. - (analyze_ssa_name_flags): Use gimple_call_static_chain_flags. - (analyze_parms): Handle static chains. - (modref_summaries::duplicate): Duplicate static_chain_flags. - (modref_summaries_lto::duplicate): Likewise. - (modref_write): Stream static_chain_flags. - (read_section): Likewise. - (modref_merge_call_site_flags): Handle static_chain_flags. - * ipa-modref.h (struct modref_summary): Add static_chain_flags. - * tree-ssa-structalias.c (handle_rhs_call): Use - gimple_static_chain_flags. - -2021-11-02 Richard Biener - - PR tree-optimization/103029 - * tree-vect-loop-manip.c (vect_loop_versioning): Ensure - the PHI nodes in the loop maintain their original operand - order. - -2021-11-02 Jan Hubicka - - * tree-core.h (EAF_NOT_RETURNED_DIRECTLY): New flag. - (EAF_NOREAD): Renumber. - * ipa-modref.c (dump_eaf_flags): Dump EAF_NOT_RETURNED_DIRECTLY. - (remove_useless_eaf_flags): Handle EAF_NOT_RETURNED_DIRECTLY - (deref_flags): Likewise. - (modref_lattice::init): Likewise. - (modref_lattice::merge): Likewise. - (merge_call_lhs_flags): Likewise. - (analyze_ssa_name_flags): Likewise. - (modref_merge_call_site_flags): Likewise. - * tree-ssa-structalias.c (handle_call_arg): Likewise. - -2021-11-02 Maciej W. Rozycki - - * config/riscv/riscv.c (riscv_rtx_costs): Correct a CONST_INT_P - check and remove an unused local variable with shNadd/shNadd.uw - pattern handling. - -2021-11-02 Tamar Christina - - PR tree-optimization/103007 - * tree-vect-slp-patterns.c (complex_fms_pattern::matches): Add elem - check. - -2021-11-02 Richard Biener - - PR middle-end/103038 - * fold-const.c (native_interpret_expr): Handle OFFSET_TYPE. - (can_native_interpret_type_p): Likewise. - * internal-fn.c (expand_DEFERRED_INIT): View-convert the - RHS if the LHS is an SSA name. - -2021-11-02 Richard Sandiford - - * langhooks.h (lang_hooks_for_types::simulate_record_decl): New hook. - * langhooks-def.h (lhd_simulate_record_decl): Declare. - (LANG_HOOKS_SIMULATE_RECORD_DECL): Define. - (LANG_HOOKS_FOR_TYPES_INITIALIZER): Include it. - * langhooks.c (lhd_simulate_record_decl): New function. - -2021-11-02 Jakub Jelinek - - PR target/103020 - * config/i386/i386.c (ix86_vector_mode_supported_p): Reject vector - modes with TImode inner mode if 32-bit. - -2021-11-02 liuhongt - - * doc/sourcebuild.texi (vect_slp_v4qi_store_unalign, - vect_slp_v2hi_store_unalign, vect_slp_v4hi_store_unalign, - vect_slp_v4si_store_unalign): Document efficient target. - (vect_slp_v4qi_store_unalign_1, vect_slp_v8qi_store_unalign_1, - vect_slp_v16qi_store_unalign_1): Ditto. - (vect_slp_v2hi_store_align,vect_slp_v2qi_store_align, - vect_slp_v2si_store_align, vect_slp_v4qi_store_align): Ditto. - (struct_4char_block_move, struct_8char_block_move, - struct_16char_block_move): Ditto. - -2021-11-02 Roger Sayle - Jakub Jelinek - - PR target/102986 - * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti, - ix86_expand_ti_to_v1ti): New helper functions. - (ix86_expand_v1ti_shift): Check if the amount operand is an - integer constant, and expand as a TImode shift if it isn't. - (ix86_expand_v1ti_rotate): Check if the amount operand is an - integer constant, and expand as a TImode rotate if it isn't. - (ix86_expand_v1ti_ashiftrt): New function to expand arithmetic - right shifts of V1TImode quantities. - * config/i386/i386-protos.h (ix86_expand_v1ti_ashift): Prototype. - * config/i386/sse.md (ashlv1ti3, lshrv1ti3): Change constraints - to QImode general_operand, and let the helper functions lower - shifts by non-constant operands, as TImode shifts. Make - conditional on TARGET_64BIT. - (ashrv1ti3): New expander calling ix86_expand_v1ti_ashiftrt. - (rotlv1ti3, rotrv1ti3): Change shift operand to QImode. - Make conditional on TARGET_64BIT. - -2021-11-02 Stefan Schulze Frielinghaus - - * config/s390/s390.md ("*cc_to_int", "tabort", "*tabort_1", - "*tabort_1_plus"): Remove operands non-null check. - -2021-11-01 Martin Liska - - * opt-functions.awk: Add new sanity checking. - * optc-gen.awk: Add new argument to integer_range_info. - * params.opt: Update 2 params which have negative IntegerRange. - -2021-11-01 qing zhao - - * gimplify.c (gimplify_decl_expr): Do not add call to - __builtin_clear_padding when a variable is a gimple register - or it might not have padding. - (gimplify_init_constructor): Likewise. - -2021-11-01 Tamar Christina - - * config/arm/aarch-common-protos.h (struct vector_cost_table): Add - movi, dup and extract costing fields. - * config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs, - thunderx_extra_costs, thunderx2t99_extra_costs, - thunderx3t110_extra_costs, tsv110_extra_costs, a64fx_extra_costs): Use - them. - * config/arm/aarch-cost-tables.h (generic_extra_costs, - cortexa53_extra_costs, cortexa57_extra_costs, cortexa76_extra_costs, - exynosm1_extra_costs, xgene1_extra_costs): Likewise - * config/aarch64/aarch64-simd.md (aarch64_simd_dup): Add r->w dup. - * config/aarch64/aarch64.c (aarch64_rtx_costs): Add extra costs. - -2021-11-01 Tamar Christina - - * cse.c (add_to_set): New. - (find_sets_in_insn): Register constants in sets. - (canonicalize_insn): Use auto_vec instead. - (cse_insn): Try materializing using vec_dup. - * rtl.h (simplify_context::simplify_gen_vec_select, - simplify_gen_vec_select): New. - * simplify-rtx.c (simplify_context::simplify_gen_vec_select): New. - -2021-11-01 David Malcolm - - * common.opt (fdiagnostics-escape-format=): New. - (diagnostics_escape_format): New enum. - (DIAGNOSTICS_ESCAPE_FORMAT_UNICODE): New enum value. - (DIAGNOSTICS_ESCAPE_FORMAT_BYTES): Likewise. - * diagnostic-format-json.cc (json_end_diagnostic): Add - "escape-source" attribute. - * diagnostic-show-locus.c - (exploc_with_display_col::exploc_with_display_col): Replace - "tabstop" param with a cpp_char_column_policy and add an "aspect" - param. Use these to compute m_display_col accordingly. - (struct char_display_policy): New struct. - (layout::m_policy): New field. - (layout::m_escape_on_output): New field. - (def_policy): New function. - (make_range): Update for changes to exploc_with_display_col ctor. - (default_print_decoded_ch): New. - (width_per_escaped_byte): New. - (escape_as_bytes_width): New. - (escape_as_bytes_print): New. - (escape_as_unicode_width): New. - (escape_as_unicode_print): New. - (make_policy): New. - (layout::layout): Initialize new fields. Update m_exploc ctor - call for above change to ctor. - (layout::maybe_add_location_range): Update for changes to - exploc_with_display_col ctor. - (layout::calculate_x_offset_display): Update for change to - cpp_display_width. - (layout::print_source_line): Pass policy - to cpp_display_width_computation. Capture cpp_decoded_char when - calling process_next_codepoint. Move printing of source code to - m_policy.m_print_cb. - (line_label::line_label): Pass in policy rather than context. - (layout::print_any_labels): Update for change to line_label ctor. - (get_affected_range): Pass in policy rather than context, updating - calls to location_compute_display_column accordingly. - (get_printed_columns): Likewise, also for cpp_display_width. - (correction::correction): Pass in policy rather than tabstop. - (correction::compute_display_cols): Pass m_policy rather than - m_tabstop to cpp_display_width. - (correction::m_tabstop): Replace with... - (correction::m_policy): ...this. - (line_corrections::line_corrections): Pass in policy rather than - context. - (line_corrections::m_context): Replace with... - (line_corrections::m_policy): ...this. - (line_corrections::add_hint): Update to use m_policy rather than - m_context. - (line_corrections::add_hint): Likewise. - (layout::print_trailing_fixits): Likewise. - (selftest::test_display_widths): New. - (selftest::test_layout_x_offset_display_utf8): Update to use - policy rather than tabstop. - (selftest::test_one_liner_labels_utf8): Add test of escaping - source lines. - (selftest::test_diagnostic_show_locus_one_liner_utf8): Update to - use policy rather than tabstop. - (selftest::test_overlapped_fixit_printing): Likewise. - (selftest::test_overlapped_fixit_printing_utf8): Likewise. - (selftest::test_overlapped_fixit_printing_2): Likewise. - (selftest::test_tab_expansion): Likewise. - (selftest::test_escaping_bytes_1): New. - (selftest::test_escaping_bytes_2): New. - (selftest::diagnostic_show_locus_c_tests): Call the new tests. - * diagnostic.c (diagnostic_initialize): Initialize - context->escape_format. - (convert_column_unit): Update to use default character width policy. - (selftest::test_diagnostic_get_location_text): Likewise. - * diagnostic.h (enum diagnostics_escape_format): New enum. - (diagnostic_context::escape_format): New field. - * doc/invoke.texi (-fdiagnostics-escape-format=): New option. - (-fdiagnostics-format=): Add "escape-source" attribute to examples - of JSON output, and document it. - * input.c (location_compute_display_column): Pass in "policy" - rather than "tabstop", passing to - cpp_byte_column_to_display_column. - (selftest::test_cpp_utf8): Update to use cpp_char_column_policy. - * input.h (class cpp_char_column_policy): New forward decl. - (location_compute_display_column): Pass in "policy" rather than - "tabstop". - * opts.c (common_handle_option): Handle - OPT_fdiagnostics_escape_format_. - * selftest.c (temp_source_file::temp_source_file): New ctor - overload taking a size_t. - * selftest.h (temp_source_file::temp_source_file): Likewise. - -2021-11-01 Aldy Hernandez - - * dbgcnt.def: Add debug counter for back_thread[12] and - back_threadfull[12]. - * passes.def: Pass "first" argument to each back threading pass. - * tree-ssa-threadbackward.c (back_threader::back_threader): Add - first argument. - (back_threader::debug_counter): New. - (back_threader::maybe_register_path): Call debug_counter. - -2021-11-01 Aldy Hernandez - - * tree-ssa-threadbackward.c (BT_NONE): New. - (BT_SPEED): New. - (BT_RESOLVE): New. - (back_threader::back_threader): Add flags. - Move loop initialization here. - (back_threader::~back_threader): New. - (back_threader::find_taken_edge_switch): Change solver and ranger - to pointers. - (back_threader::find_taken_edge_cond): Same. - (back_threader::find_paths_to_names): Same. - (back_threader::find_paths): Same. - (back_threader::dump): Same. - (try_thread_blocks): Merge into thread_blocks. - (back_threader::thread_blocks): New. - (do_early_thread_jumps): Merge into thread_blocks. - (do_thread_jumps): Merge into thread_blocks. - (back_threader::thread_through_all_blocks): Remove. - -2021-11-01 Andrew MacLeod - - PR tree-optimization/103003 - * value-relation.cc (dom_oracle::register_relation): If the 2 - ssa names are the same, don't register any relation. - -2021-11-01 Dan Li - - * config/aarch64/aarch64.c (aarch64_expand_epilogue): Remove - redundant check for calls_eh_return. - * config/aarch64/aarch64.md (*do_return): Likewise. - -2021-11-01 Xionghu Luo - - * cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): Rename - duplicate_loop_to_header_edge to - duplicate_loop_body_to_header_edge. - (cfg_hook_duplicate_loop_body_to_header_edge): Likewise. - * cfghooks.h (struct cfg_hooks): Likewise. - (cfg_hook_duplicate_loop_body_to_header_edge): Likewise. - * cfgloopmanip.c (duplicate_loop_body_to_header_edge): Likewise. - (clone_loop_to_header_edge): Likewise. - * cfgloopmanip.h (duplicate_loop_body_to_header_edge): Likewise. - * cfgrtl.c (struct cfg_hooks): Likewise. - * doc/loop.texi: Likewise. - * loop-unroll.c (unroll_loop_constant_iterations): Likewise. - (unroll_loop_runtime_iterations): Likewise. - (unroll_loop_stupid): Likewise. - (apply_opt_in_copies): Likewise. - * tree-cfg.c (struct cfg_hooks): Likewise. - * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise. - (try_peel_loop): Likewise. - * tree-ssa-loop-manip.c (copy_phi_node_args): Likewise. - (gimple_duplicate_loop_body_to_header_edge): Likewise. - (tree_transform_and_unroll_loop): Likewise. - * tree-ssa-loop-manip.h (gimple_duplicate_loop_body_to_header_edge): - Likewise. - -2021-11-01 Xionghu Luo - - * cfgloopmanip.c (loop_version): Refactor loopify to - loop_version. Move condition generation after loopify. - (loopify): Delete. - * cfgloopmanip.h (loopify): Delete. - -2021-10-31 Jan Hubicka - - * ipa-fnsummary.c: Include tree-dfa.h. - (points_to_local_or_readonly_memory_p): Return true on return - slot writes. - * ipa-modref.c (analyze_ssa_name_flags): Fix handling of copy - statement. - -2021-10-30 Tobias Burnus - - PR middle-end/102972 - * omp-low.c (omp_runtime_api_call): Use DECL_ASSEMBLER_NAME to get - internal Fortran name; new permit_num_teams arg to permit - omp_get_num_teams and omp_get_team_num. - (scan_omp_1_stmt): Update call to it, add missing call for - reverse offload, and check for strictly nested API calls in teams. - -2021-10-30 Jakub Jelinek - - * gimplify.c (gimplify_omp_for): Diagnose threadprivate iterators. - -2021-10-29 David Malcolm - - * selftest.c (assert_streq): Add newlines when emitting non-equal - non-NULL strings. - -2021-10-29 David Malcolm - - * Makefile.in: Fix syntax for reference to LIBDEPS in - gengtype link rule. - -2021-10-29 Bernhard Reutner-Fischer - - * doc/install.texi: Bump required minimum DejaGnu version. - -2021-10-29 Aldy Hernandez - Andrew MacLeod - - * value-relation.cc (path_oracle::killing_def): Add a - self-equivalence so we don't look to the root oracle. - -2021-10-29 Aldy Hernandez - - * passes.def: Replace the pass_thread_jumps before VRP* with - pass_thread_jumps_full. Remove all pass_vrp_threader instances. - * tree-ssa-threadbackward.c (pass_data_thread_jumps_full): - Remove hyphen from "thread-full" name. - -2021-10-29 Andrew MacLeod - - PR tree-optimization/102983 - * gimple-range-cache.h (propagate_updated_value): Make public. - * gimple-range.cc (gimple_ranger::range_of_stmt): Propagate exports - when processing gcond stmts. - -2021-10-29 Jan Hubicka - - * gimple.c (gimple_call_retslot_flags): New function. - * gimple.h (gimple_call_retslot_flags): Declare. - * ipa-modref.c: Include tree-cfg.h. - (struct escape_entry): Turn parm_index to signed. - (modref_summary_lto::modref_summary_lto): Add retslot_flags. - (modref_summary::modref_summary): Initialize retslot_flags. - (struct modref_summary_lto): Likewise. - (modref_summary::useful_p): Check retslot_flags. - (modref_summary_lto::useful_p): Likewise. - (modref_summary::dump): Dump retslot_flags. - (modref_summary_lto::dump): Likewise. - (struct escape_point): Add hidden_args enum. - (analyze_ssa_name_flags): Ignore return slot return; - use gimple_call_retslot_flags. - (record_escape_points): Break out from ... - (analyze_parms): ... here; handle retslot_flags. - (modref_summaries::duplicate): Duplicate retslot_flags. - (modref_summaries_lto::duplicate): Likewise. - (modref_write_escape_summary): Stream parm_index as signed. - (modref_read_escape_summary): Likewise. - (modref_write): Stream retslot_flags. - (read_section): Likewise. - (struct escape_map): Fix typo in comment. - (update_escape_summary_1): Fix whitespace. - (ipa_merge_modref_summary_after_inlining): Drop retslot_flags. - (modref_merge_call_site_flags): Merge retslot_flags. - * ipa-modref.h (struct modref_summary): Add retslot_flags. - * tree-ssa-structalias.c (handle_rhs_call): Handle retslot_flags. - -2021-10-29 Tamar Christina - - PR tree-optimization/102977 - * tree-vect-slp-patterns.c (vect_match_call_p): Remove. - (vect_detect_pair_op): Add crosslane check. - (vect_match_call_complex_mla): Remove. - (class complex_mul_pattern): Update comment. - (complex_mul_pattern::matches): Update detection. - (class complex_fma_pattern): Remove. - (complex_fma_pattern::matches): Remove. - (complex_fma_pattern::recognize): Remove. - (complex_fma_pattern::build): Remove. - (class complex_fms_pattern): Update comment. - (complex_fms_pattern::matches): Remove. - (complex_operations_pattern::recognize): Remove complex_fma_pattern - -2021-10-29 Jakub Jelinek - - * gimple-fold.c (gimple_fold_builtin_memset): Copy over location from - call to store. - -2021-10-29 Xionghu Luo - - PR target/102868 - * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Add - patterns match and emit for VSX xxpermdi. - -2021-10-29 liuhongt - - PR target/102464 - * config/i386/i386-builtin-types.def (V8HF_FTYPE_V8HF): New - function type. - (V16HF_FTYPE_V16HF): Ditto. - (V32HF_FTYPE_V32HF): Ditto. - (V8HF_FTYPE_V8HF_ROUND): Ditto. - (V16HF_FTYPE_V16HF_ROUND): Ditto. - (V32HF_FTYPE_V32HF_ROUND): Ditto. - * config/i386/i386-builtin.def ( IX86_BUILTIN_FLOORPH, - IX86_BUILTIN_CEILPH, IX86_BUILTIN_TRUNCPH, - IX86_BUILTIN_FLOORPH256, IX86_BUILTIN_CEILPH256, - IX86_BUILTIN_TRUNCPH256, IX86_BUILTIN_FLOORPH512, - IX86_BUILTIN_CEILPH512, IX86_BUILTIN_TRUNCPH512): New builtin. - * config/i386/i386-builtins.c - (ix86_builtin_vectorized_function): Enable vectorization for - HFmode FLOOR/CEIL/TRUNC operation. - * config/i386/i386-expand.c (ix86_expand_args_builtin): Handle - new builtins. - * config/i386/sse.md (rint2, nearbyint2): Extend - to vector HFmodes. - -2021-10-28 Aldy Hernandez - Andrew MacLeod - - * value-relation.cc (path_oracle::killing_def): Walk the - equivalency list and remove SSA from any equivalencies. - -2021-10-28 Stafford Horne - - * config/or1k/or1k.h (PROFILE_HOOK): Add return address argument - to _mcount. - -2021-10-28 Jakub Jelinek - - PR tree-optimization/102951 - * fold-const.h (address_compare): Declare. - * fold-const.c (address_compare): New function. - * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Use - address_compare helper. - (minmax cmp (convert1?@2 addr@0) (convert2?@3 addr@1)): New - simplification. - -2021-10-28 Andrew MacLeod - - * vr-values.c (simplify_using_ranges::fold_cond): Change fold message. - -2021-10-28 Andrew MacLeod - - PR tree-optimization/102940 - * tree-vrp.c (execute_ranger_vrp): Reset scev. - -2021-10-28 Richard Purdie - - * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add musl linker - -2021-10-28 Richard Purdie - - * configure: Regenerate. - * configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC - -2021-10-28 Eric Botcazou - - * doc/invoke.texi (%X): Remove obsolete reference to -Wl. - -2021-10-28 Richard Biener - - PR middle-end/84407 - * fold-const.c (fold_convert_const): Avoid int to float - constant folding with -frounding-math and inexact result. - * simplify-rtx.c (simplify_const_unary_operation): Likewise - for both float and unsigned_float. - -2021-10-28 Aldy Hernandez - - * tree-ssa-threadbackward.c - (back_threader::find_taken_edge_switch): Use find_case_label_range - instead of find_taken_edge. - -2021-10-28 Aldy Hernandez - - * tree-ssa-threadbackward.c (class back_threader_registry): - Inherit from back_jt_path_registry. - (back_threader_registry::thread_through_all_blocks): Remove. - (back_threader_registry::register_path): Remove - m_lowlevel_registry prefix. - -2021-10-28 Richard Biener - - PR middle-end/57245 - * fold-const.c (fold_convert_const_real_from_real): Honor - -frounding-math if the conversion is not exact. - * simplify-rtx.c (simplify_const_unary_operation): Do not - simplify FLOAT_TRUNCATE with sign dependent rounding. - -2021-10-28 Richard Biener - - PR tree-optimization/102949 - * tree-vect-stmts.c (ensure_base_align): Look at the - dr_info of a group leader and assert we are looking at - one with analyzed alignment. - -2021-10-28 Kewen Lin - - PR target/102767 - * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Consider - V1T1 mode for unaligned load and store. - -2021-10-28 Kito Cheng - - * config/riscv/riscv.md (zero_extendsidi2_internal): Allow ZBB - use this pattern. - -2021-10-28 Kito Cheng - - * config/riscv/arch-canonicalize (CANONICAL_ORDER): Add `i` to - CANONICAL_ORDER. - -2021-10-28 Alexandre Oliva - - * common.opt (fharden-compares): New. - (fharden-conditional-branches): New. - * doc/invoke.texi: Document new options. - * gimple-harden-conditionals.cc: New. - * Makefile.in (OBJS): Build it. - * passes.def: Add new passes. - * tree-pass.h (make_pass_harden_compares): Declare. - (make_pass_harden_conditional_branches): Declare. - -2021-10-28 Xionghu Luo - - PR target/94613 - * config/rs6000/altivec.md: Add vsx register constraints. - * config/rs6000/vsx.md (vsx_xxsel): Delete. - (vsx_xxsel2): Likewise. - (vsx_xxsel3): Likewise. - (vsx_xxsel4): Likewise. - -2021-10-28 Xionghu Luo - - PR target/94613 - * config/rs6000/altivec.md (*altivec_vsel): Change to ... - (altivec_vsel): ... this and update define. - (*altivec_vsel_uns): Delete. - (altivec_vsel2): New define_insn. - (altivec_vsel3): Likewise. - (altivec_vsel4): Likewise. - * config/rs6000/rs6000-call.c (altivec_expand_vec_sel_builtin): New. - (altivec_expand_builtin): Call altivec_expand_vec_sel_builtin to expand - vel_sel. - * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use bit-wise - selection instead of per element. - * config/rs6000/vector.md: - * config/rs6000/vsx.md (*vsx_xxsel): Change to ... - (vsx_xxsel): ... this and update define. - (*vsx_xxsel_uns): Delete. - (vsx_xxsel2): New define_insn. - (vsx_xxsel3): Likewise. - (vsx_xxsel4): Likewise. - -2021-10-28 Hongyu Wang - - * config/i386/i386.c (use_rsqrt_p): Add mode parameter, enable - HFmode rsqrt without TARGET_SSE_MATH. - (ix86_optab_supported_p): Refactor rint, adjust floor, ceil, - btrunc condition to be restricted by -ftrapping-math, adjust - use_rsqrt_p function call. - * config/i386/i386.md (rcphf2): New define_insn. - (rsqrthf2): Likewise. - * config/i386/sse.md (div3): Change VF2H to VF2. - (div3): New expander for HF mode. - (rsqrt2): Likewise. - (*avx512fp16_vmrcpv8hf2): New define_insn for rpad pass. - (*avx512fp16_vmrsqrtv8hf2): Likewise. - -2021-10-27 Saagar Jha - - * config.gcc: Adjust for Darwin21. - * config/darwin-c.c (macosx_version_as_macro): Likewise. - * config/darwin-driver.c (validate_macosx_version_min): - Likewise. - (darwin_find_version_from_kernel): Likewise. - -2021-10-27 Aldy Hernandez - - * gimple-range-path.cc - (path_range_query::range_defined_in_block): Call killing_def. - -2021-10-27 Aldy Hernandez - - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Dump - operands as well as relation. - * gimple-range-path.cc - (path_range_query::compute_ranges_in_block): Compute PHI relations - first. Compute outgoing relations at the end. - (path_range_query::compute_ranges): Remove call to compute_relations. - (path_range_query::compute_relations): Remove. - (path_range_query::maybe_register_phi_relation): New. - (path_range_query::compute_phi_relations): Abstract out - registering one PHI relation to... - (path_range_query::compute_outgoing_relations): ...here. - * gimple-range-path.h (class path_range_query): Remove - compute_relations. - Add maybe_register_phi_relation. - -2021-10-27 Aldy Hernandez - Andrew MacLeod - - * value-relation.cc (path_oracle::killing_def): Kill second - order relations. - -2021-10-27 Martin Jambor - - * ipa-cp.c (good_cloning_opportunity_p): Decide whether to use - profile feedback depending on their local availability. - -2021-10-27 Martin Jambor - - * params.opt (param_ipa_cp_profile_count_base): New parameter. - * doc/invoke.texi (Optimize Options): Add entry for - ipa-cp-profile-count-base. - * ipa-cp.c (max_count): Replace with base_count, replace all - occurrences too, unless otherwise stated. - (ipcp_cloning_candidate_p): identify mostly-directly called - functions based on their counts, not max_count. - (compare_edge_profile_counts): New function. - (ipcp_propagate_stage): Instead of setting max_count, find the - appropriate edge count in a sorted vector of counts of eligible - edges and make it the base_count. - -2021-10-27 Martin Jambor - - * ipa-cp.c (struct caller_statistics): New fields rec_count_sum, - n_nonrec_calls and itself, document all fields. - (init_caller_stats): Initialize the above new fields. - (gather_caller_stats): Gather self-recursive counts and calls number. - (get_info_about_necessary_edges): Gather counts of self-recursive and - other edges bringing in the requested value separately. - (dump_profile_updates): Rework to dump info about a single node only. - (lenient_count_portion_handling): New function. - (struct gather_other_count_struct): New type. - (gather_count_of_non_rec_edges): New function. - (struct desc_incoming_count_struct): New type. - (analyze_clone_icoming_counts): New function. - (adjust_clone_incoming_counts): Likewise. - (update_counts_for_self_gen_clones): Likewise. - (update_profiling_info): Rewritten. - (update_specialized_profile): Adjust call to dump_profile_updates. - (create_specialized_node): Do not update profiling info. - (decide_about_value): New parameter self_gen_clones, either push new - clones into it or updat their profile counts. For self-recursively - generated values, use a portion of the node count instead of count - from self-recursive edges to estimate goodness. - (decide_whether_version_node): Gather clones for self-generated values - in a new vector, update their profiles at once at the end. - -2021-10-27 Richard Biener - - * tree-vectorizer.c (vect_transform_loops): New function, - split out from ... - (try_vectorize_loop_1): ... here. Simplify as epilogues - are now fully handled in the split part. - -2021-10-27 Jakub Jelinek - - * omp-expand.c (expand_omp_for_init_counts): Handle non-rectangular - iterators with pointer types. - (expand_omp_for_init_vars, extract_omp_for_update_vars): Likewise. - -2021-10-26 Martin Sebor - - PR tree-optimization/102238 - PR tree-optimization/102919 - * gimple-ssa-sprintf.c (get_string_length): Add an argument. - (array_elt_at_offset): Move to pointer-query. - (set_aggregate_size_and_offset): New function. - (field_at_offset): Move to pointer-query. - (get_origin_and_offset): Rename... - (get_origin_and_offset_r): this. Add an argument. Make aggregate - handling more robust. - (get_origin_and_offset): New. - (alias_offset): Add an argument. - (format_string): Use subobject size determined by get_origin_and_offset. - * pointer-query.cc (field_at_offset): Move from gimple-ssa-sprintf.c. - Improve/correct handling of aggregates. - (array_elt_at_offset): Same. - * pointer-query.h (field_at_offset): Declare. - (array_elt_at_offset): Declare. - -2021-10-26 Martin Sebor - - * builtins.c (check_strncat_sizes): Pass access_data ctor additional - arguments. - (expand_builtin_memcmp): Move code to gimple-ssa-warn-access.cc. - (expand_builtin_fork_or_exec): Same. - * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): Pass - compute_objsize additional arguments. - (inbounds_memaccess_p): Same. - (array_bounds_checker::check_array_bounds): Add an assert. Stash - statement in a member. - (check_array_bounds_dom_walker::before_dom_children): Same. - * gimple-array-bounds.h (array_bounds_checker::m_stmt): New member. - * gimple-ssa-sprintf.c (get_destination_size): Add an argument. - (handle_printf_call): Pass a new argument. - * gimple-ssa-warn-access.cc (get_size_range): Add an argument. - (check_access): Add an argument and pass it along to callees. - (check_read_access): Make a member function. - (pass_waccess::check_strcat): Pass access_data ctor additional - arguments. - (pass_waccess::check_strncat): Same. - (pass_waccess::check_stxcpy): Same. - (pass_waccess::check_stxncpy): Same. - (pass_waccess::check_strncmp): Same. - (pass_waccess::check_read_access): Same. - (pass_waccess::check_builtin): Same. - (pass_waccess::maybe_check_access_sizes): Same. - (pass_waccess::maybe_check_dealloc_call): Same. - * gimple-ssa-warn-access.h (check_read_access): Declare a new - member function. - * pointer-query.cc (compute_objsize_r): Add an argument. - (gimple_call_return_array): Same. - (gimple_call_alloc_size): Same. - (access_ref::access_ref): Same. - (access_ref::get_ref): Same. - (pointer_query::get_ref): Same. - (handle_min_max_size): Pass an arguments to callees. - (handle_array_ref): Add an argument. - (handle_mem_ref): Same. - (compute_objsize): Same. - * pointer-query.h (struct access_ref): Adjust signatures. - (struct access_data): Same. - (gimple_call_alloc_size): Add an argument. - (gimple_parm_array_size): Same. - (compute_objsize): Same. - * tree-ssa-strlen.c (strlen_pass::adjust_last_stmt): Pass an additional - argument to compute_objsize. - (strlen_pass::maybe_warn_overflow): Same. - (maybe_diag_stxncpy_trunc): Same. - -2021-10-26 Martin Sebor - - PR middle-end/102453 - * gimple-ssa-warn-access.cc (pass_waccess::check_atomic_builtin): New. - (pass_waccess::check_atomic_builtin): Call it. - -2021-10-26 Vladimir N. Makarov - - PR rtl-optimization/102842 - * lra-constraints.c (match_reload): Ignore out in checking values - of outs. - (curr_insn_transform): Collect outputs before doing reloads of operands. - -2021-10-26 Paul A. Clarke - - PR target/102719 - * config/rs6000/x86intrin.h: Move some included headers to new - headers. Include new immintrin.h instead of those headers. - * config/rs6000/immintrin.h: New. - * config/rs6000/x86gprintrin.h: New. - * config.gcc (powerpc*-*-*): Add new headers to extra_headers. - -2021-10-26 Richard Biener - - * tree-vectorizer.h (vect_create_addr_base_for_vector_ref): - Remove byte_offset parameter. - (vect_create_data_ref_ptr): Likewise. - * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): - Likewise. - (vect_create_data_ref_ptr): Likewise. - * tree-vect-stmts.c (vectorizable_store): Adjust. - (vectorizable_load): Likewise. - -2021-10-26 Richard Biener - - PR tree-optimization/96109 - * tree-vectorizer.h (dr_misalignment): Add optional offset - parameter. - * tree-vect-data-refs.c (dr_misalignment): Likewise. Remove - offset applied for negative stride accesses. - (vect_enhance_data_refs_alignment): Compute negative stride - access offset and pass it to dr_misalignment. - * tree-vect-stmts.c (get_negative_load_store_type): Pass - negative offset to dr_misalignment. - (get_group_load_store_type): Likewise. - (get_load_store_type): Likewise. - (vectorizable_store): Remove asserts about alignment. - (vectorizable_load): Likewise. - -2021-10-26 Kewen Lin - - PR tree-optimization/102897 - * tree-ssa-forwprop.c (simplify_permutation): Remove a wrong assertion. - -2021-10-26 Richard Biener - - * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): - Take offset in bytes. - (vect_create_data_ref_ptr): Likewise. - * tree-vect-loop-manip.c (get_misalign_in_elems): Multiply - offset by element size. - (vect_create_cond_for_align_checks): Likewise. - * tree-vect-stmts.c (get_negative_load_store_type): Likewise. - (vectorizable_load): Remove duplicate leftover from merge - conflict. - -2021-10-26 Roger Sayle - - * config/i386/i386-expand.c (ix86_expand_v1ti_shift): New helper - function to expand V1TI mode logical shifts by integer constants. - (ix86_expand_v1ti_rotate): New helper function to expand V1TI - mode rotations by integer constants. - * config/i386/i386-protos.h (ix86_expand_v1ti_shift, - ix86_expand_v1ti_rotate): Prototype new functions here. - * config/i386/sse.md (ashlv1ti3, lshrv1ti3, rotlv1ti3, rotrv1ti3): - New TARGET_SSE2 expanders to implement V1TI shifts and rotations. - -2021-10-26 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::maybe_register_path): - Avoid threading circular paths. - -2021-10-26 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::resolve_phi): - Attempt to resolve all incoming paths to a PHI. - (back_threader::resolve_def): Always return true for PHIs. - -2021-10-26 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::find_paths_to_names): - Always try to resolve path without looking back. - * tree-ssa-threadupdate.c (dump_jump_thread): Indidicate whether - edge is a back edge. - -2021-10-26 Kewen Lin - - PR tree-optimization/102789 - * tree-vect-loop-manip.c (vect_update_inits_of_drs): Do not - update inits of simd_lane_access. - -2021-10-25 Andrew MacLeod - - * tree-vrp.c (vrp_simplify_cond_using_ranges): Add return type and - move to vr-values.c. - (simplify_casted_conds): Move to vrp_folder class. - (execute_vrp): Call via vrp_folder now. - * vr-values.c (simplify_cond_using_ranges_1): Call simplify_casted_cond. - (simplify_using_ranges::simplify_casted_cond): Relocate from tree-vrp.c. - * vr-values.h (simplify_casted_cond): Add prototype. - -2021-10-25 Andrew MacLeod - - * tree-vrp.c (rvrp_folder::fold_stmt): If simplification fails, try - to fold anyway. - -2021-10-25 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_testz_si128): Add "extern" to - function signature. - (_mm_testc_si128): Likewise. - (_mm_testnzc_si128): Likewise. - (_mm_blend_ps): Likewise. - (_mm_blendv_ps): Likewise. - (_mm_blend_pd): Likewise. - (_mm_blendv_pd): Likewise. - (_mm_ceil_pd): Likewise. - (_mm_ceil_sd): Likewise. - (_mm_ceil_ps): Likewise. - (_mm_ceil_ss): Likewise. - (_mm_floor_pd): Likewise. - (_mm_floor_sd): Likewise. - (_mm_floor_ps): Likewise. - (_mm_floor_ss): Likewise. - (_mm_minpos_epu16): Likewise. - (_mm_mul_epi32): Likewise. - (_mm_cvtepi8_epi16): Likewise. - (_mm_packus_epi32): Likewise. - (_mm_cmpgt_epi64): Likewise. - -2021-10-25 Roger Sayle - - * simplify-rtx.c (simplify_binary_operation_1) [SS_ASHIFT]: Simplify - shifts of the mode's smin_value and smax_value when the bit count - operand doesn't have side-effects. - [US_ASHIFT]: Likewise, simplify shifts of the mode's umax_value - when the bit count operand doesn't have side-effects. - (simplify_const_binary_operation) [SS_ASHIFT, US_ASHIFT]: Perform - compile-time evaluation of saturating left shifts with constant - arguments. - -2021-10-25 Andrew MacLeod - - * gimple-range.cc (gimple_ranger::export_global_ranges): Remove check - for TDF_DETAILS. - -2021-10-25 Andrew MacLeod - - * flag-types.h (enum ranger_debug): Adjust values. - * params.opt (ranger_debug): Ditto. - -2021-10-25 Martin Jambor - - PR tree-optimization/102886 - * tree-sra.c (totally_scalarize_subtree): Fix the out of - access-condition. - -2021-10-25 Andrew Pinski - - * tree-ssa-dce.c (simple_dce_from_worklist): - Check stmt_unremovable_because_of_non_call_eh_p also - before removing the statement. - -2021-10-25 Richard Biener - - PR tree-optimization/102905 - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): - Use vect_supportable_dr_alignment again to determine whether - an access is supported when not aligned. - -2021-10-25 Kito Cheng - - * config/riscv/riscv.c (riscv_rtx_costs): Handle cost model - for zbs extension. - -2021-10-25 Jim Wilson - Kito Cheng - Jia-Wei Chen - Shi-Hua Liao - - * config/riscv/bitmanip.md (shiftm1): New. - (*bset): Ditto. - (*bset_mask): Ditto. - (*bset_1): Ditto. - (*bset_1_mask): Ditto. - (*bseti): Ditto. - (*bclr): Ditto. - (*bclri): Ditto. - (*binv): Ditto. - (*binvi): Ditto. - (*bext): Ditto. - (*bexti): Ditto. - * config/riscv/predicates.md (splittable_const_int_operand): - Handle bseti. - (single_bit_mask_operand): New. - (not_single_bit_mask_operand): Ditto. - (const31_operand): Ditto. - (const63_operand): Ditto. - * config/riscv/riscv.c (riscv_build_integer_1): Handle bseti. - (riscv_output_move): Ditto. - (riscv_print_operand): Handle new operand type: T and S. - * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): New. - -2021-10-25 Jim Wilson - - * config/riscv/riscv.c (riscv_build_integer_1): Build integer - with rotate. - -2021-10-25 Kito Cheng - - * config/riscv/riscv.c (riscv_extend_cost): Handle cost model - for zbb extension. - (riscv_rtx_costs): Ditto. - -2021-10-25 Jim Wilson - Kito Cheng - Jia-Wei Chen - - * config/riscv/bitmanip.md (bitmanip_bitwise): New. - (bitmanip_minmax): New. - (clz_ctz_pcnt): New. - (bitmanip_optab): New. - (bitmanip_insn): New. - (*_not): New. - (*xor_not): New. - (si2): New. - (*disi2): New. - (di2): New. - (*zero_extendhi2_bitmanip): New. - (*extend2_zbb): New. - (*zero_extendhi2_zbb): New. - (rotrsi3): New. - (rotrdi3): New. - (rotrsi3_sext): New. - (rotlsi3): New. - (rotldi3): New. - (rotlsi3_sext): New. - (bswap2): New. - (3): New. - * config/riscv/riscv.md (type): Add rotate. - (zero_extendhi2): Change to define_expand pattern. - (*zero_extendhi2): New. - (extend2): Change to define_expand pattern. - (*extend2): New. - -2021-10-25 Kito Cheng - - * config/riscv/riscv.c (riscv_extend_cost): Handle cost model - for zba extension. - (riscv_rtx_costs): Ditto. - -2021-10-25 Jim Wilson - Kito Cheng - Jia-Wei Chen - - * config/riscv/bitmanip.md (*zero_extendsidi2_bitmanip): New. - (*shNadd): Ditto. - (*shNadduw): Ditto. - (*add.uw): Ditto. - (*slliuw): Ditto. - (riscv_rtx_costs): Ditto. - * config/riscv/riscv.md: Include bitmanip.md - (type): Add bitmanip bype. - (zero_extendsidi2): Change to define_expand pattern. - (*zero_extendsidi2_internal): New. - (zero_extendsidi2_shifted): Disable for ZBA. - -2021-10-25 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_ext_version_table): - Add zba, zbb, zbc and zbs. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv-opts.h (MASK_ZBA): New. - (MASK_ZBB): Ditto. - (MASK_ZBC): Ditto. - (MASK_ZBS): Ditto. - (TARGET_ZBA): Ditto. - (TARGET_ZBB): Ditto. - (TARGET_ZBC): Ditto. - (TARGET_ZBS): Ditto. - * config/riscv/riscv.opt (riscv_zb_subext): New. - -2021-10-25 liuhongt - - PR target/102464 - * match.pd: Simplify (_Float16) sqrtf((float) a) to .SQRT(a) - when direct_internal_fn_supported_p, similar for sqrt/sqrtl. - -2021-10-25 Richard Biener - - PR tree-optimization/102920 - * tree-ssa-sccvn.h (expressions_equal_p): Add argument - controlling VN_TOP matching behavior. - * tree-ssa-sccvn.c (expressions_equal_p): Likewise. - (vn_phi_eq): Do not optimistically match VN_TOP. - -2021-10-25 konglin1 - - * config/i386/sse.md (fma__fadd_fmul): Add new - define_insn_and_split. - (fma__fadd_fcmul):Likewise - (fma___fma_zero):Likewise - -2021-10-24 John David Anglin - - * config/pa/pa-d.c (pa_d_handle_target_float_abi): Don't check - TARGET_DISABLE_FPREGS. - * config/pa/pa.c (fix_range): Use MASK_SOFT_FLOAT instead of - MASK_DISABLE_FPREGS. - (hppa_rtx_costs): Don't check TARGET_DISABLE_FPREGS. Adjust - cost of hardware integer multiplication. - (pa_conditional_register_usage): Don't check TARGET_DISABLE_FPREGS. - * config/pa/pa.h (INT14_OK_STRICT): Likewise. - * config/pa/pa.md: Don't check TARGET_DISABLE_FPREGS. Check - TARGET_SOFT_FLOAT in patterns that use xmpyu instruction. - * config/pa/pa.opt (mdisable-fpregs): Change target mask to - SOFT_FLOAT. Revise comment. - (msoft-float): New option. - -2021-10-24 John David Anglin - - * config/pa/pa.md: Don't use 'G' constraint in integer move patterns. - -2021-10-24 Gerald Pfeifer - - * doc/install.texi (Specific): Remove obsolete details - around GNU/Linux on Itanium. - (Specific): Remove reference to Windows for Itanium. - -2021-10-23 Bernhard Reutner-Fischer - - * config/i386/x86-tune-sched-bd.c (dispatch_group): Commentary - typo fix. - -2021-10-23 Jan Hubicka - - * tree-ssa-structalias.c (compute_points_to_sets): Cleanup. - -2021-10-23 Roger Sayle - - * config/i386/sse.md (v1ti3): New define_insn to - implement V1TImode AND, IOR and XOR on TARGET_SSE2 (and above). - (one_cmplv1ti2): New define expand. - -2021-10-22 Eric Gallager - - PR other/102663 - * Makefile.in: Handle dvidir and install-dvi target. - * configure: Regenerate. - * configure.ac: Add install-dvi to target_list. - -2021-10-22 Gerald Pfeifer - - * doc/install.texi (Binaries): Convert mingw-w64.org to https. - (Specific): Ditto. - -2021-10-22 Richard Biener - - PR tree-optimization/102893 - * tree-ssa-dce.c (find_obviously_necessary_stmts): Fix the - test for an exit edge. - -2021-10-22 Aldy Hernandez - Andrew MacLeod - - * gimple-range-path.cc (path_range_query::compute_phi_relations): - Kill any global relations we may know before registering a new - one. - * value-relation.cc (path_oracle::killing_def): New. - * value-relation.h (path_oracle::killing_def): New. - -2021-10-22 Richard Biener - - PR bootstrap/102681 - * tree-ssa-sccvn.c (vn_phi_insert): For undefined SSA args - record VN_TOP. - (vn_phi_lookup): Likewise. - -2021-10-21 H.J. Lu - - PR target/98667 - * doc/invoke.texi: Document -fcf-protection requires i686 or - new. - -2021-10-21 Eric Botcazou - - PR middle-end/102764 - * cfgexpand.c (expand_gimple_basic_block): Robustify latest change. - -2021-10-21 Jonathan Wright - - * config/aarch64/arm_neon.h (__STRUCTN): Delete function - macro and all invocations. - -2021-10-21 Andrew MacLeod - - * doc/invoke.texi (ranger-debug): Document. - * flag-types.h (enum ranger_debug): New. - (enum evrp_mode): Remove debug values. - * gimple-range-cache.cc (DEBUG_RANGE_CACHE): Use new debug flag. - * gimple-range-gori.cc (gori_compute::gori_compute): Ditto. - * gimple-range.cc (gimple_ranger::gimple_ranger): Ditto. - * gimple-ssa-evrp.c (hybrid_folder::choose_value): Ditto. - (execute_early_vrp): Use evrp-mode directly. - * params.opt (enum evrp_mode): Remove debug values. - (ranger-debug): New. - (ranger-logical-depth): Relocate to be in alphabetical order. - -2021-10-21 Andrew MacLeod - - * doc/invoke.texi: (vrp1-mode, vrp2-mode): Document. - * flag-types.h: (enum vrp_mode): New. - * params.opt: (vrp1-mode, vrp2-mode): New. - * tree-vrp.c (vrp_pass_num): New. - (pass_vrp::pass_vrp): Set pass number. - (pass_vrp::execute): Choose which VRP mode to execute. - -2021-10-21 Andrew MacLeod - - * gimple-ssa-evrp.c (class rvrp_folder): Move to tree-vrp.c. - (execute_early_vrp): For ranger only mode, invoke ranger_vrp. - * tree-vrp.c (class rvrp_folder): Relocate here. - (execute_ranger_vrp): New. - * tree-vrp.h (execute_ranger_vrp): Export. - -2021-10-21 Martin Liska - - PR debug/102585 - PR bootstrap/102766 - * opts.c (finish_options): Process flag_var_tracking* options - here as they can be adjusted by optimize attribute. - Process also flag_syntax_only and flag_gtoggle. - * toplev.c (process_options): Remove it here. - * common.opt: Make debug_nonbind_markers_p as PerFunction - attribute as it depends on optimization level. - -2021-10-21 Martin Jambor - - PR tree-optimization/102505 - * tree-sra.c (totally_scalarize_subtree): Check that the - encountered field fits within the acces we would like to put it - in. - -2021-10-21 Aldy Hernandez - - * tree-ssa-threadbackward.c - (back_threader::maybe_register_path): Remove circular paths check. - -2021-10-21 Richard Biener - - * toplev.c (process_options): Move the initial debug_hooks - setting ... - (toplev::main): ... before the call of the post_options - langhook. - -2021-10-21 Richard Biener - - PR tree-optimization/102847 - * tree-vect-stmts.c (vect_model_load_cost): Add the scalar - load cost in the prologue for VMAT_INVARIANT. - -2021-10-21 Richard Biener - - PR tree-optimization/102847 - * tree-vect-stmts.c (vect_model_load_cost): Explicitely - handle VMAT_INVARIANT as a splat in the prologue. - -2021-10-21 Hongyu Wang - - PR target/102812 - * config/i386/i386.c (ix86_get_ssemov): Adjust HFmode vector - move to use the same logic as HImode. - -2021-10-21 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_1): Remove - superfluous gimple_call_nothrow_p check. - -2021-10-21 Andrew Pinski - - * tree-cfg.c (maybe_remove_writeonly_store): Add dce_ssa_names argument. - Mark the ssa-name of the rhs as one to be removed. - (execute_fixup_cfg): Update call to maybe_remove_writeonly_store. - Call simple_dce_from_worklist at the end to a simple dce. - -2021-10-21 Andrew Pinski - - * tree-cfg.c (maybe_remove_writeonly_store): New function - factored out from ... - (execute_fixup_cfg): Here. Call maybe_remove_writeonly_store. - -2021-10-21 Andrew Pinski - - * tree-cfg.c (execute_fixup_cfg): Remove comment - about standalone pass. - -2021-10-21 Andrew Pinski - - * tree-cfg.c (execute_fixup_cfg): Output when the statement - is removed when it is a write only var. - -2021-10-21 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::maybe_register_path): - Avoid threading circular paths. - -2021-10-20 Alex Coplan - - * calls.c (initialize_argument_information): Remove some dead - code, remove handling for function_arg returning const_int. - * doc/tm.texi: Delete documentation for unused target hooks. - * doc/tm.texi.in: Likewise. - * target.def (load_bounds_for_arg): Delete. - (store_bounds_for_arg): Delete. - (load_returned_bounds): Delete. - (store_returned_bounds): Delete. - * targhooks.c (default_load_bounds_for_arg): Delete. - (default_store_bounds_for_arg): Delete. - (default_load_returned_bounds): Delete. - (default_store_returned_bounds): Delete. - * targhooks.h (default_load_bounds_for_arg): Delete. - (default_store_bounds_for_arg): Delete. - (default_load_returned_bounds): Delete. - (default_store_returned_bounds): Delete. - -2021-10-20 Jonathan Wakely - - * doc/extend.texi (Basic Asm): Clarify that asm is not an - extension in C++. - * doc/invoke.texi (-fno-asm): Fix description for C++. - -2021-10-20 Jonathan Wakely - - * doc/install.texi: Remove link to old.html - -2021-10-20 Tamar Christina - - * config/aarch64/aarch64-simd.md (*aarch64_cmtst_same_): New. - -2021-10-20 Tamar Christina - - * config/aarch64/aarch64-simd.md (*aarch64_narrow_trunc): New. - -2021-10-20 Tamar Christina - - * config/aarch64/aarch64-simd.md (aarch64_simd_ashr): Add case cmp - case. - * config/aarch64/constraints.md (D1): New. - -2021-10-20 Tamar Christina - - * config/aarch64/aarch64-simd.md - (*aarch64_topbits_shuffle_le): New. - (*aarch64_topbits_shuffle_le): New. - (*aarch64_topbits_shuffle_be): New. - (*aarch64_topbits_shuffle_be): New. - * config/aarch64/predicates.md - (aarch64_simd_shift_imm_vec_exact_top): New. - -2021-10-20 Tamar Christina - - * config/aarch64/aarch64-simd.md (*aarch64_shrn_vect, - *aarch64_shrn2_vect_le, - *aarch64_shrn2_vect_be): New. - * config/aarch64/iterators.md (srn_op): New. - -2021-10-20 Chung-Lin Tang - - * omp-low.c (omp_copy_decl_2): For !ctx, use record_vars to add new copy - as local variable. - (scan_sharing_clauses): Place copy of OMP_CLAUSE_IN_REDUCTION decl in - ctx->outer instead of ctx. - -2021-10-20 Martin Liska - - Revert: - 2021-10-19 Martin Liska - - PR target/102374 - * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p): Strip whitespaces. - * system.h (strip_whilespaces): New function. - -2021-10-20 Martin Liska - - Revert: - 2021-10-19 Martin Liska - - PR target/102375 - * config/aarch64/aarch64.c (aarch64_process_one_target_attr): - Strip whitespaces. - -2021-10-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_case_values_threshold): - Change to 8 with -Os, 11 otherwise. - -2021-10-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (neoversev1_tunings): - Enable AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND. - (neoversen2_tunings): Likewise. - -2021-10-20 Wilco Dijkstra - - PR target/100966 - * config/aarch64/aarch64.md (frint_pattern): Update comment. - * config/aarch64/aarch64-simd-builtins.def: Change frintn to roundeven. - * config/aarch64/arm_fp16.h: Change frintn to roundeven. - * config/aarch64/arm_neon.h: Likewise. - * config/aarch64/iterators.md (frint_pattern): Use roundeven for FRINTN. - -2021-10-20 Martin Liska - - * config/arm/arm.c (arm_unwind_emit_sequence): Do not declare - already declared global variable. - (arm_unwind_emit_set): Use out_file as function argument. - (arm_unwind_emit): Likewise. - * config/darwin.c (machopic_output_data_section_indirection): Likewise. - (machopic_output_stub_indirection): Likewise. - (machopic_output_indirection): Likewise. - (machopic_finish): Likewise. - * config/i386/i386.c (ix86_asm_output_function_label): Likewise. - * config/i386/winnt.c (i386_pe_seh_unwind_emit): Likewise. - * config/ia64/ia64.c (process_epilogue): Likewise. - (process_cfa_adjust_cfa): Likewise. - (process_cfa_register): Likewise. - (process_cfa_offset): Likewise. - (ia64_asm_unwind_emit): Likewise. - * config/s390/s390.c (s390_asm_output_function_label): Likewise. - -2021-10-20 Andre Simoes Dias Vieira - - * config/aarch64/aarch64-builtins.c - (aarch64_general_gimple_fold_builtin): - lower vld1 and vst1 variants of the neon builtins - * config/aarch64/aarch64-protos.h: - (aarch64_general_gimple_fold_builtin): Add gsi parameter. - * config/aarch64/aarch64.c (aarch64_general_gimple_fold_builtin): - Likwise. - -2021-10-20 Andre Simoes Dias Vieira - - * match.pd: Generate IFN_TRUNC. - -2021-10-20 Richard Biener - - PR tree-optimization/102853 - * tree-data-ref.c (split_constant_offset_1): Bail out - immediately if the expression traps on overflow. - -2021-10-20 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::~back_threader): Remove. - -2021-10-20 Aldy Hernandez - - * tree-ssa-threadupdate.c (back_jt_path_registry::adjust_paths_after_duplication): - Remove superflous debugging message. - (back_jt_path_registry::duplicate_thread_path): Same. - -2021-10-20 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader_registry::back_threader_registry): - Remove. - (back_threader_registry::register_path): Remove m_threaded_paths. - -2021-10-20 Aldy Hernandez - - PR tree-optimization/102814 - * doc/invoke.texi: Document --param=max-fsm-thread-length. - * params.opt: Add --param=max-fsm-thread-length. - * tree-ssa-threadbackward.c - (back_threader_profitability::profitable_path_p): Fail on paths - longer than max-fsm-thread-length. - -2021-10-20 Eric Botcazou - - PR middle-end/102764 - * cfgexpand.c (expand_gimple_basic_block): Disregard a final debug - statement to reset the current location for the outgoing edges. - -2021-10-20 Aldy Hernandez - Richard Biener - - * tree-ssa-threadupdate.c (cancel_thread): Dump threading reason - on the same line as the threading cancellation. - (jt_path_registry::cancel_invalid_paths): Avoid rotating loops. - Avoid threading through loop headers where the path remains in the - loop. - -2021-10-20 Siddhesh Poyarekar - - * tree-object-size.c (unknown): Make into a function. Adjust - all uses. - (unknown_object_size): Simplify implementation. - -2021-10-20 Hongtao Liu - Kewen Lin - - * doc/sourcebuild.texi (Effective-Target Keywords): Document - vect_slp_v2qi_store, vect_slp_v4qi_store, vect_slp_v8qi_store, - vect_slp_v16qi_store, vect_slp_v2hi_store, - vect_slp_v4hi_store, vect_slp_v2si_store, vect_slp_v4si_store. - -2021-10-19 Jonathan Wakely - - * doc/extend.texi (Basic PowerPC Built-in Functions): Fix typo. - -2021-10-19 Paul A. Clarke - - PR target/101893 - PR target/102719 - * config/rs6000/emmintrin.h: Guard POWER8 intrinsics. - * config/rs6000/pmmintrin.h: Same. - * config/rs6000/smmintrin.h: Same. - * config/rs6000/tmmintrin.h: Same. - -2021-10-19 Paul A. Clarke - - * config.gcc (extra_headers): Add nmmintrin.h. - -2021-10-19 Richard Biener - - * tree-vectorizer.h (vect_supportable_dr_alignment): Add - misalignment parameter. - * tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): - Do not change DR_MISALIGNMENT in place, instead pass the - adjusted misalignment to vect_supportable_dr_alignment. - (vect_peeling_supportable): Likewise. - (vect_peeling_hash_get_lowest_cost): Adjust. - (vect_enhance_data_refs_alignment): Likewise. - (vect_vfa_access_size): Likewise. - (vect_supportable_dr_alignment): Add misalignment - parameter and simplify. - * tree-vect-stmts.c (get_negative_load_store_type): Adjust. - (get_group_load_store_type): Likewise. - (get_load_store_type): Likewise. - -2021-10-19 Clément Chigot - - * config/rs6000/rs6000.c (rs6000_xcoff_file_end): Move - __tls_get_addr reference to .text csect. - -2021-10-19 Martin Liska - - PR target/102375 - * config/aarch64/aarch64.c (aarch64_process_one_target_attr): - Strip whitespaces. - -2021-10-19 Richard Biener - - * tree-vectorizer.h (vect_get_store_cost): Adjust signature. - (vect_get_load_cost): Likewise. - * tree-vect-data-refs.c (vect_get_data_access_cost): Get - alignment support scheme and misalignment as arguments - and pass them down. - (vect_get_peeling_costs_all_drs): Compute that info here - and note that we shouldn't need to. - * tree-vect-stmts.c (vect_model_store_cost): Get - alignment support scheme and misalignment as arguments. - (vect_get_store_cost): Likewise. - (vect_model_load_cost): Likewise. - (vect_get_load_cost): Likewise. - (vectorizable_store): Pass down alignment support scheme - and misalignment to costing. - (vectorizable_load): Likewise. - -2021-10-19 Richard Biener - - * tree-vect-stmts.c (get_negative_load_store_type): Add - offset output parameter and initialize it. - (get_group_load_store_type): Likewise. - (get_load_store_type): Likewise. - (vectorizable_store): Use offset as computed by - get_load_store_type. - (vectorizable_load): Likewise. - -2021-10-19 Richard Biener - - PR tree-optimization/102827 - * tree-if-conv.c (predicate_statements): Add pe parameter - and use that edge to insert invariant stmts on. - (combine_blocks): Pass through pe. - (tree_if_conversion): Compute the edge to insert invariant - stmts on and pass it along. - -2021-10-19 Roger Sayle - - PR target/102785 - * config/bfin/bfin.md (addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, - sssubaddv2hi3): Swap the order of operators in vec_concat. - -2021-10-19 Xionghu Luo - - * config/rs6000/altivec.md (*altivec_vmrghb_internal): Delete. - (altivec_vmrghb_direct): New. - (*altivec_vmrghh_internal): Delete. - (altivec_vmrghh_direct): New. - (*altivec_vmrghw_internal): Delete. - (altivec_vmrghw_direct_): New. - (altivec_vmrghw_direct): Delete. - (*altivec_vmrglb_internal): Delete. - (altivec_vmrglb_direct): New. - (*altivec_vmrglh_internal): Delete. - (altivec_vmrglh_direct): New. - (*altivec_vmrglw_internal): Delete. - (altivec_vmrglw_direct_): New. - (altivec_vmrglw_direct): Delete. - * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Adjust. - * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): - Adjust. - * config/rs6000/vsx.md (vsx_xxmrghw_): Adjust. - (vsx_xxmrglw_): Adjust. - -2021-10-19 Aldy Hernandez - - * passes.def: Change threading comment before pass_ccp pass. - -2021-10-19 Haochen Gui - - * config/rs6000/rs6000-call.c (altivec_expand_lxvr_builtin): - Modify the expansion for sign extension. All extensions are done - within VSX registers. - -2021-10-19 Richard Biener - - * tree-vect-stmts.c (get_group_load_store_type): Add - misalignment output parameter and initialize it. - (get_group_load_store_type): Likewise. - (vectorizable_store): Remove now redundant queries. - (vectorizable_load): Likewise. - -2021-10-19 Richard Biener - - * tree-vectorizer.h (vect_supportable_dr_alignment): Remove - check_aligned argument. - * tree-vect-data-refs.c (vect_supportable_dr_alignment): - Likewise. - (vect_peeling_hash_insert): Add supportable_if_not_aligned - argument and do not call vect_supportable_dr_alignment here. - (vect_peeling_supportable): Adjust. - (vect_enhance_data_refs_alignment): Compute whether the - access is supported with different alignment here and - pass that down to vect_peeling_hash_insert. - (vect_vfa_access_size): Adjust. - * tree-vect-stmts.c (vect_get_store_cost): Likewise. - (vect_get_load_cost): Likewise. - (get_negative_load_store_type): Likewise. - (get_group_load_store_type): Likewise. - (get_load_store_type): Likewise. - -2021-10-19 Martin Liska - - PR target/102374 - * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p): Strip whitespaces. - * system.h (strip_whilespaces): New function. - -2021-10-19 dianhong xu - - * config/i386/avx512fp16intrin.h: - (_mm512_set1_pch): New intrinsic. - * config/i386/avx512fp16vlintrin.h: - (_mm256_set1_pch): New intrinsic. - (_mm_set1_pch): Ditto. - -2021-10-18 Andrew MacLeod - - PR tree-optimization/102796 - * gimple-range.cc (gimple_ranger::range_on_edge): Process EH edges - normally. Return get_tree_range for non gimple_range_ssa_p names. - (gimple_ranger::range_of_stmt): Use get_tree_range for non - gimple_range_ssa_p names. - -2021-10-18 Uroš Bizjak - - PR target/102761 - * config/i386/i386.c (ix86_print_operand_address): - Error out for non-address_operand asm operands. - -2021-10-18 Richard Biener - - * tree-vect-data-refs.c (vect_peeling_hash_insert): Do - not auto-convert dr_alignment_support to bool. - (vect_peeling_supportable): Likewise. - (vect_enhance_data_refs_alignment): Likewise. - (vect_supportable_dr_alignment): Commonize read/write case. - * tree-vect-stmts.c (vect_get_store_cost): Use - dr_alignment_support, not int, for the vect_supportable_dr_alignment - result. - (vect_get_load_cost): Likewise. - -2021-10-18 Siddhesh Poyarekar - - * tree-object-size.c (object_sizes_execute): Consolidate LHS - null check and do it early. - -2021-10-18 Richard Biener - - * tree-vect-stmts.c (vectorizable_store): Use the - computed alignment scheme instead of querying - aligned_access_p. - -2021-10-18 Richard Biener - - * tree-vect-stmts.c (vectorizable_store): Do not recompute - alignment scheme already determined by get_load_store_type. - -2021-10-18 Aldy Hernandez - - * tree-ssa-threadbackward.c (class pass_thread_jumps_full): - Clone corresponding pass. - -2021-10-18 Roger Sayle - - * combine.c (recog_for_combine): For an unrecognized move/set of - a constant, try force_const_mem to place it in the constant pool. - * cse.c (constant_pool_entries_cost, constant_pool_entries_regcost): - Delete global variables (that are no longer assigned a cost value). - (cse_insn): Simplify logic for deciding whether to place a folded - constant in the constant pool using force_const_mem. - (cse_main): Remove zero initialization of constant_pool_entries_cost - and constant_pool_entries_regcost. - * config/i386/i386.c (ix86_rtx_costs): Make memory accesses - fractionally more expensive, when optimizing for speed. - -2021-10-18 Martin Liska - - PR gcov-profile/102746 - PR gcov-profile/102747 - * gcov.c (main): Return return_code. - (output_gcov_file): Mark return_code when error happens. - (generate_results): Likewise. - (read_graph_file): Likewise. - (read_count_file): Likewise. - -2021-10-18 Roger Sayle - - * config/bfin/bfin.md (define_constants): Remove UNSPEC_ONES. - (define_insn "ones"): Replace UNSPEC_ONES with a truncate of - a popcount, allowing compile-time evaluation/simplification. - (popcountsi2, popcounthi2): New expanders using a "ones" insn. - -2021-10-18 Richard Biener - - PR tree-optimization/102788 - * tree-vect-patterns.c (vect_init_pattern_stmt): Allow - a NULL vectype. - (vect_pattern_recog_1): Likewise. - (vect_recog_bool_pattern): Continue matching the pattern - even if we do not have a vector type for a conversion - result. - -2021-10-18 Roger Sayle - - * simplify-rtx.c (simplify_const_unary_operation) [SS_NEG, SS_ABS]: - Evalute SS_NEG and SS_ABS of a constant argument. - -2021-10-18 prathamesh.kulkarni - - PR target/93183 - * gimple-match-head.c (try_conditional_simplification): Add case for single operand. - * internal-fn.def: Add entry for COND_NEG internal function. - * internal-fn.c (FOR_EACH_CODE_MAPPING): Add entry for - NEGATE_EXPR, COND_NEG mapping. - * optabs.def: Add entry for cond_neg_optab. - * match.pd (UNCOND_UNARY, COND_UNARY): New operator lists. - (vec_cond COND (foo A) B) -> (IFN_COND_FOO COND A B): New pattern. - (vec_cond COND B (foo A)) -> (IFN_COND_FOO ~COND A B): Likewise. - -2021-10-18 Aldy Hernandez - - * tree-ssa-strlen.c (class strlen_pass): Rename from - strlen_dom_walker. - (handle_builtin_stxncpy_strncat): Move to strlen_pass. - (handle_assign): Same. - (adjust_last_stmt): Same. - (maybe_warn_overflow): Same. - (handle_builtin_strlen): Same. - (handle_builtin_strchr): Same. - (handle_builtin_strcpy): Same. - (handle_builtin_strncat): Same. - (handle_builtin_stxncpy_strncat): Same. - (handle_builtin_memcpy): Same. - (handle_builtin_strcat): Same. - (handle_alloc_call): Same. - (handle_builtin_memset): Same. - (handle_builtin_memcmp): Same. - (get_len_or_size): Same. - (strxcmp_eqz_result): Same. - (handle_builtin_string_cmp): Same. - (handle_pointer_plus): Same. - (count_nonzero_bytes_addr): Same. - (count_nonzero_bytes): Same. - (handle_store): Same. - (strlen_check_and_optimize_call): Same. - (handle_integral_assign): Same. - (check_and_optimize_stmt): Same. - (printf_strlen_execute): Rename strlen_dom_walker to strlen_pass. - -2021-10-18 Richard Biener - - PR tree-optimization/102798 - * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): - Only copy points-to info to newly generated SSA names. - -2021-10-18 Martin Liska - - * dbgcnt.c (dbg_cnt_process_opt): Remove unused but set variable. - * gcov.c (get_cycles_count): Likewise. - * lto-compress.c (lto_compression_zlib): Likewise. - (lto_uncompression_zlib): Likewise. - * targhooks.c (default_pch_valid_p): Likewise. - -2021-10-17 Aldy Hernandez - - * tree-pass.h (make_pass_thread_jumps_full): New. - * tree-ssa-threadbackward.c (pass_thread_jumps::gate): Inline. - (try_thread_blocks): Add resolve and speed arguments. - (pass_thread_jumps::execute): Inline. - (do_early_thread_jumps): New. - (do_thread_jumps): New. - (make_pass_thread_jumps): Move. - (pass_early_thread_jumps::gate): Inline. - (pass_early_thread_jumps::execute): Inline. - (class pass_thread_jumps_full): New. - -2021-10-16 Piotr Kubaj - - * configure.ac: Treat powerpc64*-*-freebsd* the same as - powerpc64-*-freebsd*. - * configure: Regenerate. - -2021-10-16 H.J. Lu - - * value-query.cc (get_ssa_name_ptr_info_nonnull): Change - set_ptr_nonull to set_ptr_nonnull in comments. - -2021-10-16 Jan Hubicka - - PR tree-optimization/102720 - * tree-ssa-structalias.c (compute_points_to_sets): Fix producing - of call used and clobbered sets. - -2021-10-15 Iain Sandoe - - * config/darwin.h (LINK_COMMAND_SPEC_A): Update 'r' handling to - skip gomp and itm when r or nodefaultlibs is given. - (DSYMUTIL_SPEC): Do not call dsymutil for '-r' link lines. - Update ordering of exclusions, remove duplicate 'v' addition - (collect2 will add this from the main command line). - -2021-10-15 Iain Sandoe - - * config/darwin-driver.c (darwin_driver_init): Revise comments, handle - filelist and framework options in specs instead of code. - * config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Update to handle link - specs that are really driver ones. - (DARWIN_CC1_SPEC): Likewise. - (CPP_SPEC): Likewise. - (SYSROOT_SPEC): Append space. - (LINK_SYSROOT_SPEC): Remove most driver link specs. - (STANDARD_STARTFILE_PREFIX_2): Update link-related specs. - (STARTFILE_SPEC): Likewise. - (ASM_MMACOSX_VERSION_MIN_SPEC): Fix line wrap. - (ASM_SPEC): Update driver-related specs. - (ASM_FINAL_SPEC): Likewise. - * config/darwin.opt: Remove now unused option aliases. - * config/i386/darwin.h (EXTRA_ASM_OPTS): Ensure space after opt. - (ASM_SPEC): Update driver-related specs. - -2021-10-15 Roger Sayle - - * config/i386/i386.c (ix86_hardreg_mov_ok): For vector modes, - allow standard_sse_constant_p immediate constants. - -2021-10-15 Iain Sandoe - - * config.gcc: Add tm-dwarf2.h to tm_d-file. - -2021-10-15 Andrew MacLeod - - * gimple-range-fold.h (gimple_range_ssa_p): Don't process names - that occur in abnormal phis. - * gimple-range.cc (gimple_ranger::range_on_edge): Return false for - abnormal and EH edges. - * gimple-ssa-evrp.c (rvrp_folder::value_of_expr): Ditto. - (rvrp_folder::value_on_edge): Ditto. - (rvrp_folder::value_of_stmt): Ditto. - (hybrid_folder::value_of_expr): Ditto for ranger queries. - (hybrid_folder::value_on_edge): Ditto. - (hybrid_folder::value_of_stmt): Ditto. - * value-query.cc (gimple_range_global): Always return a range if - the type is supported. - -2021-10-15 John David Anglin - - * config/pa/pa.md: Consistently use "rG" constraint for copy - instruction in move patterns. - -2021-10-15 Andrew Stubbs - - * config/gcn/gcn-hsa.h (S_FIJI): Set unconditionally. - (S_900): Likewise. - (S_906): Likewise. - * config/gcn/gcn.c: Hard code SRAM ECC settings for old architectures. - * config/gcn/mkoffload.c (ELFABIVERSION_AMDGPU_HSA): Rename to ... - (ELFABIVERSION_AMDGPU_HSA_V3): ... this. - (ELFABIVERSION_AMDGPU_HSA_V4): New. - (SET_SRAM_ECC_UNSUPPORTED): New. - (copy_early_debug_info): Create elf flags to match the other objects. - (main): Just let the attribute flags pass through. - -2021-10-15 Stefan Schulze Frielinghaus - - * tree-loop-distribution.c (reduction_var_overflows_first): - Pass the type of reduction_var as first argument as it is also - done for the load type. - (loop_distribution::transform_reduction_loop): Add missing - TREE_TYPE while determining precission of reduction_var. - -2021-10-15 Richard Biener - - * defaults.h (PREFERRED_DEBUGGING_TYPE): Choose DWARF2_DEBUG - when not set. - * toplev.c (process_options): Warn when STABS debugging is - enabled but not the preferred format. - * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Define to - DBX_DEBUG. - * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Likewise. - -2021-10-15 Richard Biener - - PR ipa/102762 - * tree-inline.c (copy_bb): Avoid underflowing nargs. - -2021-10-15 Hongyu Wang - - * config/i386/i386-expand.c (ix86_expand_vec_perm): Convert - HFmode input operand to HImode. - (ix86_vectorize_vec_perm_const): Likewise. - * config/i386/sse.md (*avx512bw_permvar_truncv16siv16hi_1_hf): - New define_insn. - (*avx512f_permvar_truncv8siv8hi_1_hf): - Likewise. - -2021-10-15 Richard Biener - - PR middle-end/102682 - * expmed.c (store_bit_field_1): Ensure a LHS subreg would - not create a paradoxical subreg. - -2021-10-15 Hongyu Wang - - * config/i386/i386-expand.c (ix86_expand_vector_init): - For half_vector concat for HFmode, handle them like HImode. - -2021-10-14 Aldy Hernandez - - * tree-ssa-threadbackward.c (class back_threader): Add m_resolve. - (back_threader::back_threader): Same. - (back_threader::resolve_phi): Try to solve without looking back if - possible. - (back_threader::find_paths_to_names): Same. - (try_thread_blocks): Pass resolve argument to back threader. - (pass_early_thread_jumps::execute): Same. - -2021-10-14 Aldy Hernandez - - * doc/invoke.texi: Remove max-fsm-thread-length, - max-fsm-thread-paths, and fsm-maximum-phi-arguments. - * params.opt: Same. - * tree-ssa-threadbackward.c (back_threader::back_threader): Remove - argument. - (back_threader_registry::back_threader_registry): Same. - (back_threader_profitability::profitable_path_p): Remove - param_max_fsm_thread-length. - (back_threader_registry::register_path): Remove - m_max_allowable_paths. - -2021-10-14 Aldy Hernandez - - * tree-ssa-threadbackward.c (class back_threader): Make m_imports - an auto_bitmap. - (back_threader::~back_threader): Do not release m_path. - -2021-10-14 Andrew MacLeod - - PR tree-optimization/102738 - * vr-values.c (simplify_using_ranges::simplify): Handle RSHIFT_EXPR. - -2021-10-14 Kwok Cheung Yeung - - * omp-general.c (omp_check_context_selector): Move from c-omp.c. - (omp_mark_declare_variant): Move from c-omp.c. - (omp_context_name_list_prop): Update for Fortran strings. - * omp-general.h (omp_check_context_selector): New prototype. - (omp_mark_declare_variant): New prototype. - -2021-10-14 Richard Sandiford - - * config/rs6000/rs6000.c (rs6000_density_test): Move early - exit test further up the function. - -2021-10-14 Richard Sandiford - - * config/arm/arm.c (arm_add_stmt_cost): Delete. - (TARGET_VECTORIZE_ADD_STMT_COST): Delete. - -2021-10-14 Martin Jambor - - * doc/invoke.texi (Optimize Options): Add entry for - ipa-cp-recursive-freq-factor. - -2021-10-14 Tamar Christina - - * match.pd: New rule. - -2021-10-14 Jan Hubicka - - PR ipa/102557 - * ipa-modref-tree.h (modref_access_node::update2): - Also check that parm_offset is unchanged. - (modref_ref_node::insert_access): Fix updating of - parameter. - -2021-10-14 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::resolve_phi): Add - FIXME note. - -2021-10-14 Richard Biener - - PR tree-optimization/102659 - * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Also - rewrite pointer typed undefined overflow operations. - (predicate_statements): Likewise. Make sure to emit invariant - conversions in the preheader. - * tree-vectorizer.c (vect_loop_vectorized_call): Look through - non-empty preheaders. - * tree-data-ref.c (dr_analyze_indices): Strip useless - conversions to the MEM_REF base type. - -2021-10-14 Martin Liska - - * common.opt: Stop using AUTODETECT_VALUE - and use EnabledBy where possible. - * opts.c: Enable OPT_fvar_tracking with optimize >= 1. - * toplev.c (AUTODETECT_VALUE): Remove macro. - (process_options): Simplify by using EnabledBy and - OPT_fvar_tracking. Use OPTION_SET_P macro instead of - AUTODETECT_VALUE. - -2021-10-14 Jonathan Wright - - * config/aarch64/arm_neon.h (vld1_s8_x3): Use signed type for - pointer parameter. - (vld1_s32_x3): Likewise. - -2021-10-14 Aldy Hernandez - - PR tree-optimization/102736 - PR tree-optimization/102736 - * gimple-range-path.cc (path_range_query::range_on_path_entry): - Assert that the requested range is defined outside the path. - (path_range_query::ssa_range_in_phi): Do not call - range_on_path_entry for SSA names that are defined within the - path. - -2021-10-14 Iain Sandoe - - * config/darwin-driver.c (darwin_find_version_from_kernel): - Quote internal identifiers and avoid contractions in - warnings. - (darwin_default_min_version): Likewise. - (darwin_driver_init): Likewise. - -2021-10-14 Martin Jambor - - * params.opt (ipa-cp-recursive-freq-factor): New. - * ipa-cp.c (ipcp_value): Switch to inline initialization. New members - scc_no, self_recursion_generated_level, same_scc and - self_recursion_generated_p. - (ipcp_lattice::add_value): Replaced parameter unlimited with - same_lat_gen_level, usit it determine limit of values and store it to - the value. - (ipcp_lattice::print): Dump the new fileds. - (allocate_and_init_ipcp_value): Take same_lat_gen_level as a new - parameter and store it to the new value. - (self_recursively_generated_p): Removed. - (propagate_vals_across_arith_jfunc): Use self_recursion_generated_p - instead of self_recursively_generated_p, store self generation level - to such values. - (value_topo_info::add_val): Set scc_no. - (value_topo_info::propagate_effects): Multiply frequencies of - recursively feeding values and self generated values by appropriate - new factors. - -2021-10-14 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Remove - redundant test for flag_vect_cost_model. - -2021-10-14 Aldy Hernandez - - * bitmap.c (debug): New overloaded function for auto_bitmaps. - * bitmap.h (debug): Same. - -2021-10-14 Hongyu Wang - - * config/i386/avx512fp16intrin.h (_mm512_mask_fcmadd_pch): - Adjust builtin call. - (_mm512_mask3_fcmadd_pch): Likewise. - (_mm512_mask_fmadd_pch): Likewise - (_mm512_mask3_fmadd_pch): Likewise - (_mm512_mask_fcmadd_round_pch): Likewise - (_mm512_mask3_fcmadd_round_pch): Likewise - (_mm512_mask_fmadd_round_pch): Likewise - (_mm512_mask3_fmadd_round_pch): Likewise - (_mm_mask_fcmadd_sch): Likewise - (_mm_mask3_fcmadd_sch): Likewise - (_mm_mask_fmadd_sch): Likewise - (_mm_mask3_fmadd_sch): Likewise - (_mm_mask_fcmadd_round_sch): Likewise - (_mm_mask3_fcmadd_round_sch): Likewise - (_mm_mask_fmadd_round_sch): Likewise - (_mm_mask3_fmadd_round_sch): Likewise - (_mm_fcmadd_round_sch): Likewise - * config/i386/avx512fp16vlintrin.h (_mm_mask_fmadd_pch): - Adjust builtin call. - (_mm_mask3_fmadd_pch): Likewise - (_mm256_mask_fmadd_pch): Likewise - (_mm256_mask3_fmadd_pch): Likewise - (_mm_mask_fcmadd_pch): Likewise - (_mm_mask3_fcmadd_pch): Likewise - (_mm256_mask_fcmadd_pch): Likewise - (_mm256_mask3_fcmadd_pch): Likewise - * config/i386/i386-builtin.def: Add mask3 builtin for complex - fma, and adjust mask_builtin to corresponding expander. - * config/i386/i386-expand.c (ix86_expand_round_builtin): - Skip eraseing embedded rounding for expanders that emits - multiple insns. - * config/i386/sse.md (complexmove): New mode_attr. - (_fmaddc__mask1): New expander. - (_fcmaddc__mask1): Likewise. - (avx512fp16_fmaddcsh_v8hf_mask1): Likewise. - (avx512fp16_fcmaddcsh_v8hf_mask1): Likewise. - (avx512fp16_fcmaddcsh_v8hf_mask3): Likewise. - (avx512fp16_fmaddcsh_v8hf_mask3): Likewise. - * config/i386/subst.md (round_embedded_complex): New subst. - -2021-10-14 John David Anglin - - * config/pa/pa.md (cbranchsf4): Disable if TARGET_SOFT_FLOAT. - (cbranchdf4): Likewise. - Add missing move patterns for TARGET_SOFT_FLOAT. - -2021-10-13 Roger Sayle - - * config/i386/i386-expand.c (ix86_expand_vector_move): Use a - pseudo intermediate when moving a SUBREG into a hard register, - by checking ix86_hardreg_mov_ok. - (ix86_expand_vector_extract): Store zero-extended SImode - intermediate in a pseudo, then set target using a SUBREG_PROMOTED - annotated subreg. - * config/i386/sse.md (mov_internal): Prevent CSE creating - complex (SUBREG) sets of (vector) hard registers before reload, by - checking ix86_hardreg_mov_ok. - -2021-10-13 Indu Bhagat - - * ctfc.h (enum ctf_dtu_d_union_enum): Remove redundant comma. - -2021-10-13 Indu Bhagat - - * dwarf2ctf.c (gen_ctf_array_type): Fix typo in comment. - -2021-10-13 Martin Sebor - - PR middle-end/102630 - * pointer-query.cc (compute_objsize_r): Handle named address spaces. - -2021-10-13 Iain Sandoe - - * collect2.c (is_lto_object_file): Release simple-object - resources, close files. - -2021-10-13 Andre Vieira - - * config/arm/arm.c (thumb2_legitimate_address_p): Use VALID_MVE_MODE - when checking mve addressing modes. - (mve_vector_mem_operand): Fix the way we handle pre, post and offset - addressing modes. - (arm_print_operand): Fix printing of POST_ and PRE_MODIFY. - * config/arm/mve.md: Use mve_memory_operand predicate everywhere where - there is a single Ux constraint. - -2021-10-13 John David Anglin - - * config/pa/pa.md (muldi3): Add support for inlining 64-bit - multiplication on 32-bit PA 1.1 and 2.0 targets. - -2021-10-13 Martin Liska - - PR gcov-profile/90364 - * coverage.c (build_info): Emit checksum to the global variable. - (build_info_type): Add new field for checksum. - (coverage_obj_finish): Pass object_checksum. - (coverage_init): Use 0 as checksum for .gcno files. - * gcov-dump.c (dump_gcov_file): Dump also new checksum field. - * gcov.c (read_graph_file): Read also checksum. - * doc/invoke.texi: Document the behaviour change. - -2021-10-13 Richard Biener - - * gimple-iterator.h (gsi_iterator_update): Add GSI_LAST_NEW_STMT, - start at integer value 2. - * gimple-iterator.c (gsi_insert_seq_nodes_before): Update - the iterator for GSI_LAST_NEW_STMT. - (gsi_insert_seq_nodes_after): Likewise. - * tree-if-conv.c (predicate_statements): Use GSI_LAST_NEW_STMT. - * tree-ssa.c (execute_update_addresses_taken): Correct bogus - arguments to gsi_replace. - -2021-10-13 Martin Liska - - PR target/102688 - * common.opt: Use EnabledBy instead of detection in - finish_options and process_options. - * opts.c (finish_options): Remove handling of - x_flag_unroll_all_loops. - * toplev.c (process_options): Likewise for flag_web and - flag_rename_registers. - -2021-10-13 Richard Biener - - PR tree-optimization/102659 - * tree-if-conv.c (need_to_rewrite_undefined): New flag. - (if_convertible_gimple_assign_stmt_p): Mark the loop for - rewrite when stmts with undefined behavior on integer - overflow appear. - (combine_blocks): Predicate also when we need to rewrite stmts. - (predicate_statements): Rewrite affected stmts to something - with well-defined behavior on overflow. - (tree_if_conversion): Initialize need_to_rewrite_undefined. - -2021-10-13 Richard Biener - - PR ipa/102714 - * ipa-sra.c (ptr_parm_has_nonarg_uses): Fix volatileness - check. - -2021-10-13 Jose E. Marchesi - - * dwarf2ctf.c: Fix typo in comment. - -2021-10-12 Bill Schmidt - - PR target/101985 - * config/rs6000/altivec.h (vec_cpsgn): Swap operand order. - * config/rs6000/rs6000-overload.def (VEC_COPYSIGN): Use SKIP to - avoid generating an automatic #define of vec_cpsgn. Use the - correct built-in for V4SFmode that doesn't depend on VSX. - -2021-10-12 Uroš Bizjak - - PR target/85730 - PR target/82524 - * config/i386/i386.md (*add_1_slp): Rewrite as - define_insn_and_split pattern. Add alternative 1 and split it - post reload to insert operand 1 into the low part of operand 0. - (*sub_1_slp): Ditto. - (*and_1_slp): Ditto. - (*_1_slp): Ditto. - (*ashl3_1_slp): Ditto. - (*3_1_slp): Ditto. - (*3_1_slp): Ditto. - (*neg_1_slp): New insn_and_split pattern. - (*one_cmpl_1_slp): Ditto. - -2021-10-12 David Edelsohn - - * doc/install.texi: Update MinGW and mingw-64 Binaries - download links. - -2021-10-12 Daniel Le Duc Khoi Nguyen - - * doc/extend.texi (Common Variable Attributes): Fix typos in - alloc_size documentation. - -2021-10-12 Richard Biener - - PR tree-optimization/102696 - * tree-vect-slp.c (vect_build_slp_tree_2): Properly mark - the tree fatally failed when we reject a BIT_FIELD_REF. - -2021-10-12 Richard Biener - - PR tree-optimization/102572 - * tree-vect-stmts.c (vect_build_gather_load_calls): When - gathering the vectorized defs for the mask pass in the - desired mask vector type so invariants will be handled - correctly. - -2021-10-12 Tamar Christina - - * config/aarch64/aarch64-sve.md (*fcm_bic_combine, - *fcm_nor_combine, *fcmuo_bic_combine, - *fcmuo_nor_combine): New. - -2021-10-12 Eric Botcazou - - PR target/102588 - * config/sparc/sparc-modes.def (OI): New integer mode. - -2021-10-12 Jakub Jelinek - - * gimple-fold.h (clear_padding_type_may_have_padding_p): Declare. - * gimple-fold.c (clear_padding_type_may_have_padding_p): No longer - static. - -2021-10-12 Jakub Jelinek - - * tree-vectorizer.h (loop_cost_model): New function. - (unlimited_cost_model): Use it. - * tree-vect-loop.c (vect_analyze_loop_costing): Use loop_cost_model - call instead of flag_vect_cost_model. - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise. - (vect_prune_runtime_alias_test_list): Likewise. Also use it instead - of flag_simd_cost_model. - -2021-10-12 liuhongt - - PR target/102483 - * config/i386/i386-expand.c (emit_reduc_half): Handle - V4QImode. - * config/i386/mmx.md (reduc__scal_v4qi): New expander. - (reduc_plus_scal_v4qi): Ditto. - -2021-10-12 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64, - _mm_mullo_epi32, _mm_mul_epi32, _mm_packus_epi32): New. - * config/rs6000/nmmintrin.h: Copy from i386, tweak to suit. - -2021-10-12 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_cvtepi8_epi16, _mm_cvtepi8_epi32, - _mm_cvtepi8_epi64, _mm_cvtepi16_epi32, _mm_cvtepi16_epi64, - _mm_cvtepi32_epi64, _mm_cvtepu8_epi16, _mm_cvtepu8_epi32, - _mm_cvtepu8_epi64, _mm_cvtepu16_epi32, _mm_cvtepu16_epi64, - _mm_cvtepu32_epi64): New. - -2021-10-12 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_test_all_zeros, - _mm_test_all_ones, _mm_test_mix_ones_zeros): Rewrite as macro. - -2021-10-12 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_min_epi8, _mm_min_epu16, - _mm_min_epi32, _mm_min_epu32, _mm_max_epi8, _mm_max_epu16, - _mm_max_epi32, _mm_max_epu32): New. - -2021-10-11 Jan Hubicka - - * ipa-modref-tree.h (struct modref_access_node): Revert - accidental change. - (struct modref_ref_node): Likewise. - -2021-10-11 Jan Hubicka - - * ipa-modref-tree.h (modref_tree::global_access_p): New member - function. - * ipa-modref.c: - (implicint_const_eaf_flags,implicit_pure_eaf_flags, - ignore_stores_eaf_flags): Move to ipa-modref.h - (remove_useless_eaf_flags): Remove early exit on NOCLOBBER. - (modref_summary::global_memory_read_p): New member function. - (modref_summary::global_memory_written_p): New member function. - * ipa-modref.h (modref_summary::global_memory_read_p, - modref_summary::global_memory_written_p): Declare. - (implicint_const_eaf_flags,implicit_pure_eaf_flags, - ignore_stores_eaf_flags): move here. - * tree-ssa-structalias.c: Include ipa-modref-tree.h, ipa-modref.h - and attr-fnspec.h. - (handle_rhs_call): Rewrite. - (handle_call_arg): New function. - (determine_global_memory_access): New function. - (handle_const_call): Remove - (handle_pure_call): Remove - (find_func_aliases_for_call): Update use of handle_rhs_call. - (compute_points_to_sets): Handle global memory acccesses - selectively - -2021-10-11 Diane Meirowitz - - * doc/invoke.texi: Add link to UndefinedBehaviorSanitizer - documentation, mention UBSAN_OPTIONS, similar to what is done - for AddressSanitizer. - -2021-10-11 Richard Biener - - PR middle-end/102683 - * internal-fn.c (expand_DEFERRED_INIT): Check for mode - availability before building an integer type for storage - purposes. - -2021-10-11 Richard Biener - - PR middle-end/101480 - * gimple.c (gimple_call_fnspec): Do not mark operator new/delete - as const. - -2021-10-11 Martin Liska - - * common.opt: Remove Init(2) for some options. - * toplev.c (process_options): Do not use AUTODETECT_VALUE, but - use rather OPTION_SET_P. - -2021-10-11 Martin Liska - - * common.opt: Remove usage of IRA_REGION_AUTODETECT. - * flag-types.h (enum ira_region): Likewise. - * toplev.c (process_options): Use OPTION_SET_P instead of - IRA_REGION_AUTODETECT. - -2021-10-11 Jakub Jelinek - - * omp-low.c (omp_runtime_api_call): Handle omp_get_max_teams, - omp_[sg]et_teams_thread_limit and omp_set_num_teams. - -2021-10-11 Stefan Schulze Frielinghaus - - * config/s390/s390-protos.h (s390_rawmemchr): Add prototype. - * config/s390/s390.c (s390_rawmemchr): New function. - * config/s390/s390.md (rawmemchr): New expander. - * config/s390/vector.md (@vec_vfees): Basically a copy of - the pattern vfees from vx-builtins.md. - * config/s390/vx-builtins.md (*vfees): Remove. - -2021-10-11 Stefan Schulze Frielinghaus - - * builtins.c (get_memory_rtx): Change to external linkage. - * builtins.h (get_memory_rtx): Add function prototype. - * doc/md.texi (rawmemchr): Document. - * internal-fn.c (expand_RAWMEMCHR): Define. - * internal-fn.def (RAWMEMCHR): Add. - * optabs.def (rawmemchr_optab): Add. - * tree-loop-distribution.c (find_single_drs): Change return code - behaviour by also returning true if no single store was found - but a single load. - (loop_distribution::classify_partition): Respect the new return - code behaviour of function find_single_drs. - (loop_distribution::execute): Call new function - transform_reduction_loop in order to replace rawmemchr or strlen - like loops by calls into builtins. - (generate_reduction_builtin_1): New function. - (generate_rawmemchr_builtin): New function. - (generate_strlen_builtin_1): New function. - (generate_strlen_builtin): New function. - (generate_strlen_builtin_using_rawmemchr): New function. - (reduction_var_overflows_first): New function. - (determine_reduction_stmt_1): New function. - (determine_reduction_stmt): New function. - (loop_distribution::transform_reduction_loop): New function. - -2021-10-11 Martin Liska - - * tree.c (cl_option_hasher::hash): Use cl_optimization_hash - and remove legacy hashing code. - -2021-10-11 Kito Cheng - - PR target/100316 - * builtins.c (maybe_emit_call_builtin___clear_cache): Allow - CONST_INT for BEGIN and END, and use gcc_assert rather than - error. - -2021-10-10 Jakub Jelinek - - PR debug/102441 - * var-tracking.c (add_stores): For cselib_sp_derived_value_p values - use MO_VAL_SET if loc is not sp. - -2021-10-10 Andrew Pinski - - PR tree-optimization/102622 - * match.pd: Swap the order of a?pow2cst:0 and a?-1:0 transformations. - Swap the order of a?0:pow2cst and a?0:-1 transformations. - -2021-10-09 liuhongt - - PR target/102639 - * config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Handle - HFmode. - (ix86_use_mask_cmp_p): Ditto. - (ix86_expand_sse_movcc): Ditto. - * config/i386/i386.md (setcc_hf_mask): New define_insn. - (movhf_mask): Ditto. - (UNSPEC_MOVCC_MASK): New unspec. - * config/i386/sse.md (UNSPEC_PCMP): Move to i386.md. - -2021-10-08 Vladimir N. Makarov - - PR rtl-optimization/102627 - * lra-constraints.c (split_reg): Use at least natural mode of hard reg. - -2021-10-08 Aldy Hernandez - - * gimple-range-cache.cc (non_null_ref::non_null_deref_p): Grow - bitmap if needed. - -2021-10-08 Aldy Hernandez - - * value-range.cc (irange::debug): New. - * value-range.h (irange::debug): New. - -2021-10-08 Richard Sandiford - - PR tree-optimization/102385 - * predict.h (change_edge_frequency): Declare. - * predict.c (change_edge_frequency): New function. - * tree-ssa-loop-manip.h (tree_transform_and_unroll_loop): Remove - edge argument. - (tree_unroll_loop): Likewise. - * gimple-loop-jam.c (tree_loop_unroll_and_jam): Update accordingly. - * tree-predcom.c (pcom_worker::tree_predictive_commoning_loop): - Likewise. - * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Likewise. - * tree-ssa-loop-manip.c (tree_unroll_loop): Likewise. - (tree_transform_and_unroll_loop): Likewise. Use single_dom_exit - to retrieve the exit edges. Make all the old profile update code - conditional on !single_loop_p -- the case it was written for -- - and use a different approach for the single-loop case. - -2021-10-08 Martin Liska - - * config/alpha/alpha.c (alpha_option_override): Use new macro - OPTION_SET_P. - * config/arc/arc.c (arc_override_options): Likewise. - * config/arm/arm.c (arm_option_override): Likewise. - * config/bfin/bfin.c (bfin_load_pic_reg): Likewise. - * config/c6x/c6x.c (c6x_option_override): Likewise. - * config/csky/csky.c: Likewise. - * config/darwin.c (darwin_override_options): Likewise. - * config/frv/frv.c (frv_option_override): Likewise. - * config/i386/djgpp.h: Likewise. - * config/i386/i386.c (ix86_stack_protect_guard): Likewise. - (ix86_max_noce_ifcvt_seq_cost): Likewise. - * config/ia64/ia64.c (ia64_option_override): Likewise. - (ia64_override_options_after_change): Likewise. - * config/m32c/m32c.c (m32c_option_override): Likewise. - * config/m32r/m32r.c (m32r_init): Likewise. - * config/m68k/m68k.c (m68k_option_override): Likewise. - * config/microblaze/microblaze.c (microblaze_option_override): Likewise. - * config/mips/mips.c (mips_option_override): Likewise. - * config/nios2/nios2.c (nios2_option_override): Likewise. - * config/nvptx/nvptx.c (nvptx_option_override): Likewise. - * config/pa/pa.c (pa_option_override): Likewise. - * config/riscv/riscv.c (riscv_option_override): Likewise. - * config/rs6000/aix71.h: Likewise. - * config/rs6000/aix72.h: Likewise. - * config/rs6000/aix73.h: Likewise. - * config/rs6000/rs6000.c (darwin_rs6000_override_options): Likewise. - (rs6000_override_options_after_change): Likewise. - (rs6000_linux64_override_options): Likewise. - (glibc_supports_ieee_128bit): Likewise. - (rs6000_option_override_internal): Likewise. - (rs6000_file_start): Likewise. - (rs6000_darwin_file_start): Likewise. - * config/rs6000/rtems.h: Likewise. - * config/rs6000/sysv4.h: Likewise. - * config/rs6000/vxworks.h (SUB3TARGET_OVERRIDE_OPTIONS): Likewise. - * config/s390/s390.c (s390_option_override): Likewise. - * config/sh/linux.h: Likewise. - * config/sh/netbsd-elf.h (while): Likewise. - * config/sh/sh.c (sh_option_override): Likewise. - * config/sol2.c (solaris_override_options): Likewise. - * config/sparc/sparc.c (sparc_option_override): Likewise. - * config/tilegx/tilegx.c (tilegx_option_override): Likewise. - * config/visium/visium.c (visium_option_override): Likewise. - * config/vxworks.c (vxworks_override_options): Likewise. - * lto-opts.c (lto_write_options): Likewise. - * omp-expand.c (expand_omp_simd): Likewise. - * omp-general.c (omp_max_vf): Likewise. - * omp-offload.c (oacc_xform_loop): Likewise. - * opts.h (OPTION_SET_P): Likewise. - * targhooks.c (default_max_noce_ifcvt_seq_cost): Likewise. - * toplev.c (process_options): Likewise. - * tree-predcom.c: Likewise. - * tree-sra.c (analyze_all_variable_accesses): Likewise. - -2021-10-08 liuhongt - - PR target/102464 - * config/i386/i386.c (ix86_optab_supported_p): - Return true for HFmode. - * match.pd: Simplify (_Float16) ceil ((double) x) to - __builtin_ceilf16 (a) when a is _Float16 type and - direct_internal_fn_supported_p. - -2021-10-08 liuhongt - - PR target/102494 - * config/i386/i386-expand.c (emit_reduc_half): Hanlde V4HImode. - * config/i386/mmx.md (reduc_plus_scal_v4hi): New. - (reduc__scal_v4hi): New. - -2021-10-08 liuhongt - - * common.opt (ftree-vectorize): Add Var(flag_tree_vectorize). - * doc/invoke.texi (Options That Control Optimization): Update - documents. - * opts.c (default_options_table): Enable auto-vectorization at - O2 with very-cheap cost model. - (finish_options): Use cheap cost model for - explicit -ftree{,-loop}-vectorize. - -2021-10-07 Indu Bhagat - - * ctfc.c (ctfc_delete_container): Free hash table contents. - -2021-10-07 Indu Bhagat - - * toplev.c (process_options): Do not warn for GNU GIMPLE. - -2021-10-07 Siddhesh Poyarekar - - * tree-object-size.c (addr_object_size, - compute_builtin_object_size): Drop PDECL and POFF arguments. - (addr_object_size): Adjust calls. - * tree-object-size.h (compute_builtin_object_size): Drop PDECL - and POFF arguments. - -2021-10-07 Roger Sayle - - * rtl.def (SMUL_HIGHPART, UMUL_HIGHPART): New RTX codes for - representing signed and unsigned high-part multiplication resp. - * simplify-rtx.c (simplify_binary_operation_1) [SMUL_HIGHPART, - UMUL_HIGHPART]: Simplify high-part multiplications by zero. - [SS_PLUS, US_PLUS, SS_MINUS, US_MINUS, SS_MULT, US_MULT, - SS_DIV, US_DIV]: Similar simplifications for saturating - arithmetic. - (simplify_const_binary_operation) [SS_PLUS, US_PLUS, SS_MINUS, - US_MINUS, SS_MULT, US_MULT, SMUL_HIGHPART, UMUL_HIGHPART]: - Implement compile-time evaluation for constant operands. - * dwarf2out.c (mem_loc_descriptor): Skip SMUL_HIGHPART and - UMUL_HIGHPART. - * doc/rtl.texi (smul_highpart, umul_highpart): Document RTX codes. - * doc/md.texi (smul@var{m}3_highpart, umul@var{m3}_highpart): - Mention the new smul_highpart and umul_highpart RTX codes. - * doc/invoke.texi: Silence @xref "compilation" warnings. - -2021-10-07 Martin Jambor - - PR ipa/102388 - * ipa-prop.c (ipa_edge_args_sum_t::duplicate): Also handle the - case when the source reference description corresponds to a - referance taken in a function src->caller is inlined to. - -2021-10-07 Jan Hubicka - - PR ipa/102581 - * ipa-modref-tree.h (modref_access_node::contains_p): Handle offsets - better. - (modref_access_node::try_merge_with): Add sanity check that there - are no redundant entries in the list. - -2021-10-07 Richard Biener - - PR tree-optimization/102608 - * tree-ssa-sccvn.c (visit_stmt): Drop .DEFERRED_INIT to - varying. - -2021-10-07 Martin Liska - - * toplev.c (toplev::main): Make - save_opt_decoded_options a pointer type - * toplev.h: Likewise. - -2021-10-07 Andrew Stubbs - - * config/gcn/gcn-valu.md (gather_insn_2offsets): Apply - HAVE_GCN_ASM_GLOBAL_LOAD_FIXED. - (scatter_insn_2offsets): Likewise. - -2021-10-07 Andrew Stubbs - - * config/gcn/gcn-hsa.h (SRAMOPT): Include the whole option string. - Adjust for new -msram-ecc=any behaviour. - (ASM_SPEC): Adjust -mxnack and -msram-ecc usage. - * config/gcn/gcn.c (output_file_start): Implement -msram-ecc=any. - * config/gcn/mkoffload.c (EF_AMDGPU_XNACK): Rename to ... - (EF_AMDGPU_XNACK_V3): ... this. - (EF_AMDGPU_SRAM_ECC): Rename to ... - (EF_AMDGPU_SRAM_ECC_V3): ... this. - (EF_AMDGPU_FEATURE_XNACK_V4): New. - (EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4): New. - (EF_AMDGPU_FEATURE_XNACK_ANY_V4): New. - (EF_AMDGPU_FEATURE_XNACK_OFF_V4): New. - (EF_AMDGPU_FEATURE_XNACK_ON_V4): New. - (EF_AMDGPU_FEATURE_SRAMECC_V4): New. - (EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4): New. - (EF_AMDGPU_FEATURE_SRAMECC_ANY_V4): New. - (EF_AMDGPU_FEATURE_SRAMECC_OFF_V4): New. - (EF_AMDGPU_FEATURE_SRAMECC_ON_V4): New. - (SET_XNACK_ON): New. - (SET_XNACK_OFF): New. - (TEST_XNACK): New. - (SET_SRAM_ECC_ON): New. - (SET_SRAM_ECC_ANY): New. - (SET_SRAM_ECC_OFF): New. - (TEST_SRAM_ECC_ANY): New. - (TEST_SRAM_ECC_ON): New. - (main): Implement HSACOv4 and -msram-ecc=any. - -2021-10-07 Andrew Stubbs - - * config.in: Regenerate. - * config/gcn/gcn-hsa.h (X_FIJI): New macro. - (X_900): New macro. - (X_906): New macro. - (X_908): New macro. - (A_FIJI): Rename to ... - (S_FIJI): ... this. - (A_900): Rename to ... - (S_900): ... this. - (A_906): Rename to ... - (S_906): ... this. - (A_908): Rename to ... - (S_908): ... this. - (SRAMOPT): New macro. - (ASM_SPEC): Adjust xnack option usage. - * config/gcn/gcn.c (output_file_start): Adjust amdgcn_target usage. - * configure: Regenerate. - * configure.ac: Detect LLVM assembler dialect. - -2021-10-07 Richard Biener - - * tree-pretty-print.c (dump_generic_node): Do not elide - printing '&' when dumping with -gimple. - -2021-10-06 Andrew MacLeod - - * gimple-range-cache.cc (non_null_ref::adjust_range): Call new - intersect routine. - * gimple-range-fold.cc (adjust_pointer_diff_expr): Ditto. - (adjust_imagpart_expr): Ditto. - * value-range.cc (irange::irange_intersect): Call new routine if - RHS is a single pair. - (irange::intersect): New wide_int version. - * value-range.h (class irange): New prototype. - -2021-10-06 Andrew MacLeod - - * gimple-range-edge.cc (gimple_outgoing_range::gimple_outgoing_range): - Add parameter to limit size when recognizing switches. - (gimple_outgoing_range::edge_range_p): Check size limit. - * gimple-range-edge.h (gimple_outgoing_range): Add size field. - * gimple-range-gori.cc (gori_map::calculate_gori): Ignore switches - that exceed the size limit. - (gori_compute::gori_compute): Add initializer. - * params.opt (evrp-switch-limit): New. - * doc/invoke.texi: Update docs. - -2021-10-06 Andrew MacLeod - - * value-range.h (irange::set_varying): Use TYPE_MIN_VALUE and - TYPE_MAX_VALUE instead of creating new trees when possible. - -2021-10-06 Andrew MacLeod - - * gimple-range-cache.cc (non_null_ref::adjust_range): Check for - zero and non-zero more efficently. - -2021-10-06 Richard Biener - - PR c/102605 - * dumpfile.h (TDF_GIMPLE_VAL): New. - (dump_flag): Re-order and adjust TDF_* flags. Make - the enum uint32_t. Use std::underlying_type in the - operator overloads. - (optgroup_flag): Likewise for the operator overloads. - * tree-pretty-print.c (dump_generic_node): Wrap ADDR_EXPR - in _Literal if TDF_GIMPLE_VAL. - * gimple-pretty-print.c (dump_gimple_assign): Add - TDF_GIMPLE_VAL to flags when dumping operands where only - is_gimple_val are allowed. - (dump_gimple_cond): Likewise. - -2021-10-06 prathamesh.kulkarni - - * gimple-isel.cc (gimple_expand_vec_cond_expr): Remove redundant if - condition. - -2021-10-05 qing zhao - - PR middle-end/102359 - * gimplify.c (gimplify_decl_expr): Not add initialization for an - auto variable when it has been initialized by frontend. - -2021-10-05 Aldy Hernandez - - * tree-ssa-threadupdate.c (jt_path_registry::cancel_invalid_paths): - Loosen restrictions - -2021-10-05 Jan-Benedict Glaw - - * common/config/avr/avr-common.c (avr_handle_option): Mark - argument as ATTRIBUTE_UNUSED. - -2021-10-05 Jan-Benedict Glaw - - * config/lm32/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): - Undefine before redefinition. - -2021-10-05 Richard Biener - - * toplev.c (no_backend): Remove global var. - (process_options): Pass in no_backend, move post_options - langhook call to toplev::main. - (do_compile): Pass in no_backend, move process_options call - to toplev::main. - (toplev::run_self_tests): Check no_backend at the caller. - (toplev::main): Call post_options and process_options - split out from do_compile, do self-tests only if - no_backend is initialized. - -2021-10-05 Richard Biener - - * tree-cfg.c (dump_function_to_file): Dump the UID of the - function as part of the name when requested. - * tree-pretty-print.c (dump_function_name): Dump the UID when - requested and the langhook produced the actual name. - -2021-10-05 Richard Biener - - PR middle-end/102587 - PR middle-end/102285 - * internal-fn.c (expand_DEFERRED_INIT): Fall back to - zero-initialization as last resort, use the constant - size as given by the DEFERRED_INIT argument to build - the initializer. - -2021-10-04 Marek Polacek - - PR c++/97573 - * doc/invoke.texi: Document -Warray-compare. - -2021-10-04 Richard Biener - - * gimplify.c (is_var_need_auto_init): DECL_HARD_REGISTER - variables are not to be initialized. - -2021-10-04 Richard Biener - - * expr.h (non_mem_decl_p): Declare. - (mem_ref_refers_to_non_mem_p): Likewise. - * expr.c (non_mem_decl_p): Export. - (mem_ref_refers_to_non_mem_p): Likewise. - * internal-fn.c (expand_DEFERRED_INIT): Do not expand the LHS - but check the base with mem_ref_refers_to_non_mem_p - and non_mem_decl_p. - -2021-10-04 Richard Biener - - PR tree-optimization/102570 - * tree-ssa-sccvn.h (vn_reference_op_struct): Document - we are using clique for the internal function code. - * tree-ssa-sccvn.c (vn_reference_op_eq): Compare the - internal function code. - (print_vn_reference_ops): Print the internal function code. - (vn_reference_op_compute_hash): Hash it. - (copy_reference_ops_from_call): Record it. - (visit_stmt): Remove the restriction around internal function - calls. - (fully_constant_vn_reference_p): Use fold_const_call and handle - internal functions. - (vn_reference_eq): Compare call return types. - * tree-ssa-pre.c (create_expression_by_pieces): Handle - generating calls to internal functions. - (compute_avail): Remove the restriction around internal function - calls. - -2021-10-04 Aldy Hernandez - - PR tree-optimization/102560 - * gimple-ssa-warn-alloca.c (alloca_call_type): Remove static - marker for invalid_range. - -2021-10-04 Richard Biener - - PR middle-end/102587 - * internal-fn.c (expand_DEFERRED_INIT): Guard register - initialization path an avoid initializing VLA registers - with it. - -2021-10-04 Eric Botcazou - - * config/rs6000/vxworks.h (TARGET_INIT_LIBFUNCS): Delete. - -2021-10-03 Martin Liska - - * toplev.c (toplev::main): Check opt_index if it is a part - of cl_options. - -2021-10-02 Aldy Hernandez - - PR tree-optimization/102563 - * range-op.cc (operator_lshift::op1_range): Do not clobber - range. - -2021-10-02 Martin Liska - - * toplev.c (toplev::main): save_decoded_options[0] is program - name and so it should be skipped. - -2021-10-01 Aldy Hernandez - - PR tree-optimization/102546 - * range-op.cc (operator_lshift::op1_range): Teach range-ops that - X << Y is non-zero implies X is also non-zero. - -2021-10-01 Przemyslaw Wirkus - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): New - Cortex-X2 core. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2021-10-01 Przemyslaw Wirkus - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): New - Cortex-A710 core. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2021-10-01 Przemyslaw Wirkus - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): New - Cortex-A510 core. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2021-10-01 Martin Sebor - - PR c/102103 - * doc/invoke.texi (-Waddress): Update. - * gengtype.c (write_types): Avoid -Waddress. - * poly-int.h (POLY_SET_COEFF): Avoid using null. - -2021-10-01 John David Anglin - - PR debug/102373 - * config/pa/pa.c (pa_option_override): Default to dwarf version 4 - on hppa64-hpux. - -2021-10-01 Przemyslaw Wirkus - - * config/aarch64/aarch64.h (AARCH64_FL_V9): Update value. - -2021-10-01 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::compute_ranges): Use - get_path_oracle. - * gimple-range-path.h (class path_range_query): Remove shadowed - m_oracle field. - (path_range_query::get_path_oracle): New. - -2021-10-01 Jakub Jelinek - Richard Biener - - PR sanitizer/102515 - * doc/invoke.texi (-fsanitize=integer-divide-by-zero): Remove - INT_MIN / -1 division detection from here ... - (-fsanitize=signed-integer-overflow): ... and add it here. - -2021-10-01 Przemyslaw Wirkus - - * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Added - armv9-a. - * config/aarch64/aarch64.h (AARCH64_FL_V9): New. - (AARCH64_FL_FOR_ARCH9): New flags for Armv9-A. - (AARCH64_ISA_V9): New ISA flag. - * doc/invoke.texi: Update docs. - -2021-10-01 Martin Liska - - * toplev.c (toplev::main): Save decoded optimization options. - * toplev.h (save_opt_decoded_options): New. - * doc/extend.texi: Be more clear about optimize and target - attributes. - -2021-10-01 Eric Botcazou - - * explow.c: Include langhooks.h. - (set_stack_check_libfunc): Build a proper function type. - -2021-10-01 Eric Botcazou - - PR c++/64697 - * config/i386/i386.c (legitimate_pic_address_disp_p): For PE-COFF do - not return true for external weak function symbols in medium model. - -2021-10-01 Jakub Jelinek - - * tree.h (OMP_CLAUSE_ORDER_REPRODUCIBLE): Define. - * tree-pretty-print.c (dump_omp_clause) : Print - reproducible: for OMP_CLAUSE_ORDER_REPRODUCIBLE. - * omp-general.c (omp_extract_for_data): If OMP_CLAUSE_ORDER is seen - without OMP_CLAUSE_ORDER_UNCONSTRAINED, overwrite sched_kind to - OMP_CLAUSE_SCHEDULE_STATIC. - -2021-10-01 Richard Biener - - PR middle-end/102518 - * tree-inline.c (setup_one_parameter): Avoid substituting - an invariant into contexts where a GIMPLE register is not valid. - -2021-09-30 Przemyslaw Wirkus - - * config/arm/arm-cpus.in: Add Cortex-R52+ CPU. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2021-09-30 Uroš Bizjak - - PR target/89954 - * config/i386/i386.md - (sign_extend:WIDE (any_logic:NARROW (memory, immediate)) splitters): - New splitters. - -2021-09-30 Tobias Burnus - - * omp-low.c (omp_runtime_api_call): Add omp_aligned_{,c}alloc and - omp_{c,re}alloc, fix omp_alloc/omp_free. - -2021-09-30 Martin Liska - - * defaults.h (ASM_OUTPUT_ASCII): Do not hide global variable - asm_out_file and stream directly to MYFILE. - -2021-09-30 Richard Biener - - * tree-vect-data-refs.c (vect_update_misalignment_for_peel): - Restore and fix condition under which we apply npeel to - the DRs misalignment value. - -2021-09-30 Richard Biener - - * tree-vect-data-refs.c (vect_update_misalignment_for_peel): - Fix npeel check for variable amount of peeling. - -2021-09-30 Aldy Hernandez - - * lto-wrapper.c (run_gcc): Plug snprintf overflow. - -2021-09-30 Aldy Hernandez - - * gimple-range.cc (gimple_ranger::debug): New. - * gimple-range.h (class gimple_ranger): Add debug. - -2021-09-30 Aldy Hernandez - - PR middle-end/102519 - * tree-vrp.c (hybrid_threader::~hybrid_threader): Free m_query. - -2021-09-29 Indu Bhagat - - PR debug/102507 - * btfout.c (GTY): Add GTY (()) albeit for cosmetic only purpose. - (btf_finalize): Empty the hash_map btf_var_ids. - -2021-09-29 Aldy Hernandez - - * tree-vrp.c (thread_through_all_blocks): Return bool. - (execute_vrp_threader): Return TODO_* flags. - (pass_data_vrp_threader): Set todo_flags_finish to 0. - -2021-09-29 Aldy Hernandez - - * timevar.def (TV_TREE_VRP_THREADER): New. - * tree-vrp.c: Use TV_TREE_VRP_THREADER for VRP threader pass. - -2021-09-29 David Faust - - * config.gcc (bpf-*-*): Do not overwrite extra_headers. - -2021-09-29 Jonathan Wright - - * config/aarch64/aarch64-builtins.c (TYPES_BINOP_PPU): Define - new type qualifier enum. - (TYPES_TERNOP_SSSU): Likewise. - (TYPES_TERNOP_PPPU): Likewise. - * config/aarch64/aarch64-simd-builtins.def: Define PPU, SSU, - PPPU and SSSU builtin generator macros for qtbl1 and qtbx1 - Neon builtins. - * config/aarch64/arm_neon.h (vqtbl1_p8): Use type-qualified - builtin and remove casts. - (vqtbl1_s8): Likewise. - (vqtbl1q_p8): Likewise. - (vqtbl1q_s8): Likewise. - (vqtbx1_s8): Likewise. - (vqtbx1_p8): Likewise. - (vqtbx1q_s8): Likewise. - (vqtbx1q_p8): Likewise. - (vtbl1_p8): Likewise. - (vtbl2_p8): Likewise. - (vtbx2_p8): Likewise. - -2021-09-29 Richard Biener - - * tree-vect-data-refs.c (vect_dr_misalign_for_aligned_access): - New helper. - (vect_update_misalignment_for_peel): Use it to update - misaligned to the value necessary for an aligned access. - (vect_get_peeling_costs_all_drs): Likewise. - (vect_enhance_data_refs_alignment): Likewise. - -2021-09-29 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_expand_cpymem): Count number of - emitted operations and adjust heuristic for code size. - -2021-09-29 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_expand_setmem): Count number of - emitted operations and adjust heuristic for code size. - -2021-09-29 Jakub Jelinek - - PR middle-end/102504 - * gimplify.c (gimplify_scan_omp_clauses): Use omp_check_private even - in OMP_SCOPE clauses, not just on worksharing construct clauses. - -2021-09-28 Geng Qi - - * config/riscv/riscv.md (mulv4): Call gen_smul3_highpart. - (mulditi3): Call muldi3_highpart. - (muldi3_highpart): Rename to muldi3_highpart. - (mulsidi3): Call mulsi3_highpart. - (mulsi3_highpart): Rename to mulsi3_highpart. - -2021-09-28 Iain Sandoe - - * config/darwin.h (DSYMUTIL_SPEC): Recognize D sources. - -2021-09-28 Iain Sandoe - - * config/rs6000/darwin.h (FIXED_R13): Add for PPC64. - (FIRST_SAVED_GP_REGNO): Save from R13 even when it is one - of the fixed regs. - -2021-09-28 Kyrylo Tkachov - - * config/aarch64/aarch64.h (AARCH64_FL_LS64): Define - (AARCH64_FL_V8_7): Likewise. - (AARCH64_FL_FOR_ARCH8_7): Likewise. - * config/aarch64/aarch64-arches.def (armv8.7-a): Define. - * config/aarch64/aarch64-option-extensions.def (ls64): Define. - * doc/invoke.texi: Document the above. - -2021-09-28 Aldy Hernandez - - * dbgcnt.c (dbg_cnt_counter): New. - * dbgcnt.h (dbg_cnt_counter): New. - * dumpfile.c (dump_options): Add entry for TDF_THREADING. - * dumpfile.h (enum dump_flag): Add TDF_THREADING. - * gimple-range-path.cc (DEBUG_SOLVER): Use TDF_THREADING. - * tree-ssa-threadupdate.c (dump_jump_thread_path): Dump out - debug counter. - -2021-09-28 Aldy Hernandez - - * cfgcleanup.c (pass_jump::execute): Check - flag_expensive_optimizations. - (pass_jump_after_combine::gate): Same. - * doc/invoke.texi (-fthread-jumps): Enable for -O1. - * opts.c (default_options_table): Enable -fthread-jumps at -O1. - * tree-ssa-threadupdate.c - (fwd_jt_path_registry::remove_jump_threads_including): Bail unless - flag_thread_jumps. - -2021-09-28 Ilya Leoshkevich - - * tree-ssa-reassoc.c (biased_names): New global. - (propagate_bias_p): New function. - (loop_carried_phi): Remove. - (propagate_rank): Propagate bias along single uses. - (get_rank): Update biased_names when needed. - -2021-09-28 Ilya Leoshkevich - - * passes.def (pass_reassoc): Rename parameter to early_p. - * tree-ssa-reassoc.c (reassoc_bias_loop_carried_phi_ranks_p): - New variable. - (phi_rank): Don't bias loop-carried phi ranks - before vectorization pass. - (execute_reassoc): Add bias_loop_carried_phi_ranks_p parameter. - (pass_reassoc::pass_reassoc): Add bias_loop_carried_phi_ranks_p - initializer. - (pass_reassoc::set_param): Set bias_loop_carried_phi_ranks_p - value. - (pass_reassoc::execute): Pass bias_loop_carried_phi_ranks_p to - execute_reassoc. - (pass_reassoc::bias_loop_carried_phi_ranks_p): New member. - -2021-09-28 Jakub Jelinek - - PR target/102498 - * config/i386/i386.c (standard_80387_constant_p): Don't recognize - special 80387 instruction XFmode constants if flag_rounding_math. - -2021-09-28 Richard Biener - - PR tree-optimization/100112 - * tree-ssa-sccvn.c (visit_reference_op_load): Record the - referece into the hashtable twice in case last_vuse is - different from the original vuse on the stmt. - -2021-09-28 Jakub Jelinek - - PR middle-end/102492 - * gimplify.c (gimplify_adjust_omp_clauses_1): Don't call the - omp_finish_clause langhook on implicitly added OMP_CLAUSE_PRIVATE - clauses on SIMD constructs. - -2021-09-28 Aldy Hernandez - - PR tree-optimization/102511 - * gimple-range-path.cc (path_range_query::range_on_path_entry): - Return VARYING when nothing found. - -2021-09-28 Hongyu Wang - - PR target/102230 - * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Add - V2HF mode check. - (VALID_SSE2_REG_VHF_MODE): Add V4HFmode and V2HFmode. - (VALID_MMX_REG_MODE): Add V4HFmode. - (SSE_REG_MODE_P): Replace VALID_AVX512FP16_REG_MODE with - vector mode condition. - * config/i386/i386.c (classify_argument): Parse V4HF/V2HF - via sse regs. - (function_arg_32): Add V4HFmode. - (function_arg_advance_32): Likewise. - * config/i386/i386.md (mode): Add V4HF/V2HF. - (MODE_SIZE): Likewise. - * config/i386/mmx.md (MMXMODE): Add V4HF mode. - (V_32): Add V2HF mode. - (VHF_32_64): New mode iterator. - (*mov_internal): Adjust sse alternatives to support - V4HF mode move. - (*mov_internal): Adjust sse alternatives to support - V2HF mode move. - (3): New define_insn for add/sub/mul/div. - -2021-09-28 Aldy Hernandez - - * tree-ssa-threadbackward.c (pass_thread_jumps::gate): Check - flag_thread_jumps. - (pass_early_thread_jumps::gate): Same. - * tree-ssa-threadedge.c (jump_threader::thread_outgoing_edges): - Return if !flag_thread_jumps. - * tree-ssa-threadupdate.c - (jt_path_registry::register_jump_thread): Assert that - flag_thread_jumps is true. - -2021-09-28 liuhongt - - * simplify-rtx.c - (simplify_context::simplify_binary_operation_1): Relax - condition of simplifying (vec_concat:M (vec_select op0 - index0)(vec_select op1 index1)) to allow different modes - between op0 and M, but have same inner mode. - -2021-09-28 liuhongt - - * config/i386/i386-expand.c (emit_reduc_half): Handle - V8HF/V16HF/V32HFmode. - * config/i386/sse.md (REDUC_SSE_PLUS_MODE): Add V8HF. - (REDUC_SSE_SMINMAX_MODE): Ditto. - (REDUC_PLUS_MODE): Add V16HF and V32HF. - (REDUC_SMINMAX_MODE): Ditto. - -2021-09-27 Aldy Hernandez - - * gimple-range-path.cc - (path_range_query::precompute_ranges_in_block): Rename to... - (path_range_query::compute_ranges_in_block): ...this. - (path_range_query::precompute_ranges): Rename to... - (path_range_query::compute_ranges): ...this. - (path_range_query::precompute_relations): Rename to... - (path_range_query::compute_relations): ...this. - (path_range_query::precompute_phi_relations): Rename to... - (path_range_query::compute_phi_relations): ...this. - * gimple-range-path.h: Rename precompute* to compute*. - * tree-ssa-threadbackward.c - (back_threader::find_taken_edge_switch): Same. - (back_threader::find_taken_edge_cond): Same. - * tree-ssa-threadedge.c - (hybrid_jt_simplifier::compute_ranges_from_state): Same. - (hybrid_jt_state::register_equivs_stmt): Inline... - * tree-ssa-threadedge.h: ...here. - -2021-09-27 Aldy Hernandez - - * tree-vrp.c (lhs_of_dominating_assert): Remove. - (class vrp_jt_state): Remove. - (class vrp_jt_simplifier): Remove. - (vrp_jt_simplifier::simplify): Remove. - (class vrp_jump_threader): Remove. - (vrp_jump_threader::vrp_jump_threader): Remove. - (vrp_jump_threader::~vrp_jump_threader): Remove. - (vrp_jump_threader::before_dom_children): Remove. - (vrp_jump_threader::after_dom_children): Remove. - -2021-09-27 Aldy Hernandez - - * passes.def (pass_vrp_threader): New. - * tree-pass.h (make_pass_vrp_threader): Add make_pass_vrp_threader. - * tree-ssa-threadedge.c (hybrid_jt_state::register_equivs_stmt): New. - (hybrid_jt_simplifier::hybrid_jt_simplifier): New. - (hybrid_jt_simplifier::simplify): New. - (hybrid_jt_simplifier::compute_ranges_from_state): New. - * tree-ssa-threadedge.h (class hybrid_jt_state): New. - (class hybrid_jt_simplifier): New. - * tree-vrp.c (execute_vrp): Remove ASSERT_EXPR based jump - threader. - (class hybrid_threader): New. - (hybrid_threader::hybrid_threader): New. - (hybrid_threader::~hybrid_threader): New. - (hybrid_threader::before_dom_children): New. - (hybrid_threader::after_dom_children): New. - (execute_vrp_threader): New. - (class pass_vrp_threader): New. - (make_pass_vrp_threader): New. - -2021-09-27 Martin Liska - - * output.h (enum section_flag): New. - (SECTION_FORGET): Remove. - (SECTION_ENTSIZE): Make it (1UL << 8) - 1. - (SECTION_STYLE_MASK): Define it based on other enum - values. - * varasm.c (switch_to_section): Remove unused handling of - SECTION_FORGET. - -2021-09-27 Martin Liska - - * common.opt: Add new variable flag_default_complex_method. - * opts.c (finish_options): Handle flags related to - x_flag_complex_method. - * toplev.c (process_options): Remove option handling related - to flag_complex_method. - -2021-09-27 Richard Biener - - PR middle-end/102450 - * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid using - type_for_size, instead use int_mode_for_size. - -2021-09-27 Andrew Pinski - - PR c/94726 - * gimplify.c (gimplify_save_expr): Return early - if the type of val is error_mark_node. - -2021-09-27 Aldy Hernandez - - * tree-ssanames.c (ssa_name_has_boolean_range): Use - get_range_query. - -2021-09-27 Aldy Hernandez - - * gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Remove - vrp_visit_cond_stmt. - * tree-ssa-dom.c (cprop_operand): Convert to range_query API. - (cprop_into_stmt): Same. - (dom_opt_dom_walker::optimize_stmt): Same. - -2021-09-27 Richard Biener - - PR tree-optimization/97351 - PR tree-optimization/97352 - PR tree-optimization/82426 - * tree-vectorizer.h (dr_misalignment): Add vector type - argument. - (aligned_access_p): Likewise. - (known_alignment_for_access_p): Likewise. - (vect_supportable_dr_alignment): Likewise. - (vect_known_alignment_in_bytes): Likewise. Refactor. - (DR_MISALIGNMENT): Remove. - (vect_update_shared_vectype): Likewise. - * tree-vect-data-refs.c (dr_misalignment): Refactor, handle - a vector type with larger alignment requirement and apply - the negative step adjustment here. - (vect_calculate_target_alignment): Remove. - (vect_compute_data_ref_alignment): Get explicit vector type - argument, do not apply a negative step alignment adjustment - here. - (vect_slp_analyze_node_alignment): Re-analyze alignment - when we re-visit the DR with a bigger desired alignment but - keep more precise results from smaller alignments. - * tree-vect-slp.c (vect_update_shared_vectype): Remove. - (vect_slp_analyze_node_operations_1): Do not update the - shared vector type on stmts. - * tree-vect-stmts.c (vect_analyze_stmt): Push/pop the - vector type of an SLP node to the representative stmt-info. - (vect_transform_stmt): Likewise. - -2021-09-27 liuhongt - - Revert: - 2021-09-09 liuhongt - - PR target/101059 - * config/i386/sse.md (reduc_plus_scal_): Split to .. - (reduc_plus_scal_v4sf): .. this, New define_expand. - (reduc_plus_scal_v2df): .. and this, New define_expand. - -2021-09-26 liuhongt - - * doc/extend.texi (Half-Precision): Remove storage only - description for _Float16 w/o avx512fp16. - -2021-09-25 Dimitar Dimitrov - - * config/pru/constraints.md (Rrio): New constraint. - * config/pru/predicates.md (regio_operand): New predicate. - * config/pru/pru-pragma.c (pru_register_pragmas): Register - the __regio_symbol address space. - * config/pru/pru-protos.h (pru_symref2ioregno): Declaration. - * config/pru/pru.c (pru_symref2ioregno): New helper function. - (pru_legitimate_address_p): Remove. - (pru_addr_space_legitimate_address_p): Use the address space - aware hook variant. - (pru_nongeneric_pointer_addrspace): New helper function. - (pru_insert_attributes): New function to validate __regio_symbol - usage. - (TARGET_INSERT_ATTRIBUTES): New macro. - (TARGET_LEGITIMATE_ADDRESS_P): Remove. - (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): New macro. - * config/pru/pru.h (enum reg_class): Add REGIO_REGS class. - * config/pru/pru.md (*regio_readsi): New pattern to read I/O - registers. - (*regio_nozext_writesi): New pattern to write to I/O registers. - (*regio_zext_write_r30): Ditto. - * doc/extend.texi: Document the new PRU Named Address Space. - -2021-09-24 Patrick Palka - - PR c++/98216 - PR c++/91292 - * real.c (encode_ieee_double): Avoid unwanted sign extension. - (encode_ieee_quad): Likewise. - -2021-09-24 Vladimir Makarov - - PR rtl-optimization/102147 - * ira-build.c (ira_conflict_vector_profitable_p): Make - profitability calculation independent of host compiler pointer and - IRA_INT_BITS sizes. - -2021-09-24 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::path_range_query): - Move debugging header... - (path_range_query::precompute_ranges): ...here. - (path_range_query::internal_range_of_expr): Do not call - range_on_path_entry if NAME is defined in the current block. - -2021-09-24 Richard Biener - - * cfghooks.c (verify_flow_info): Verify unallocated BB and - edge flags are not set. - -2021-09-24 Aldy Hernandez - - * tree-ssa-threadupdate.c (jt_path_registry::cancel_invalid_paths): - New. - (jt_path_registry::register_jump_thread): Call - cancel_invalid_paths. - * tree-ssa-threadupdate.h (class jt_path_registry): Add - cancel_invalid_paths. - -2021-09-24 Feng Xue - - PR tree-optimization/102400 - * tree-ssa-sccvn.c (vn_reference_insert_pieces): Initialize - result_vdef to zero value. - -2021-09-24 Feng Xue - - PR tree-optimization/102451 - * tree-ssa-dse.c (delete_dead_or_redundant_call): Record bb of stmt - before removal. - -2021-09-24 Hongyu Wang - - * config/i386/sse.md (cond_): Extend to support - vector HFmodes. - (cond_mul): Likewise. - (cond_div): Likewise. - (cond_): Likewise. - (cond_fma): Likewise. - (cond_fms): Likewise. - (cond_fnma): Likewise. - (cond_fnms): Likewise. - -2021-09-23 Andrew MacLeod - - PR tree-optimization/102463 - * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): If - there is no range-ops handler, don't look for a relation. - -2021-09-23 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Take - non-executable_edge flag as parameter. - * gimple-range-cache.h (ranger_cache): Adjust prototype. - * gimple-range-gori.cc (gori_compute::gori_compute): Take - non-executable_edge flag as parameter. - (gori_compute::outgoing_edge_range_p): Check new flag. - * gimple-range-gori.h (gori_compute): Adjust prototype. - * gimple-range.cc (gimple_ranger::gimple_ranger): Create new flag. - (gimple_ranger::range_on_edge): Check new flag. - * gimple-range.h (gimple_ranger::non_executable_edge_flag): New. - * gimple-ssa-evrp.c (rvrp_folder): Pass ranger flag to simplifer. - (hybrid_folder::hybrid_folder): Set ranger non-executable flag value. - (hybrid_folder::fold_stmt): Set flag value in the simplifer. - * vr-values.c (simplify_using_ranges::set_and_propagate_unexecutable): - Use not_executable flag if provided inmstead of EDGE_EXECUTABLE. - (simplify_using_ranges::simplify_switch_using_ranges): Clear - EDGE_EXECUTABLE like it originally did. - (simplify_using_ranges::cleanup_edges_and_switches): Clear any - NON_EXECUTABLE flags. - (simplify_using_ranges::simplify_using_ranges): Adjust. - * vr-values.h (class simplify_using_ranges): Adjust. - (simplify_using_ranges::set_range_query): Add non-executable flag param. - -2021-09-23 Bill Schmidt - - PR target/102024 - * config/rs6000/rs6000-call.c (rs6000_aggregate_candidate): Detect - zero-width bit fields and return indicator. - (rs6000_discover_homogeneous_aggregate): Diagnose when the - presence of a zero-width bit field changes parameter passing in - GCC 12. - -2021-09-23 Aldy Hernandez - - * gimple-range-fold.cc (fold_using_range::range_of_phi): - Remove dominator check. - -2021-09-23 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::precompute_relations): - Hoist edge calculations before using EDGE_SUCC. - -2021-09-23 Jonathan Wakely - - * configure.ac: Fix --with-multilib-list description. - * configure: Regenerate. - -2021-09-23 Richard Biener - - PR tree-optimization/102448 - * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): - Clear alignment info copied from DR_PTR_INFO. - -2021-09-23 Hongyu Wang - - * config/i386/i386-expand.c (ix86_use_mask_cmp_p): Enable - HFmode mask_cmp. - * config/i386/sse.md (sseintvecmodelower): Add HF vector modes. - (_store_mask): Extend to support HF vector modes. - (vec_cmp): Likewise. - (vcond_mask_): Likewise. - (vcond): New expander. - (vcond): Likewise. - (vcond): Likewise. - (vcondu): Likewise. - -2021-09-23 Hongyu Wang - - * config/i386/sse.md (extend2): - New expander. - (extendv4hf2): Likewise. - (extendv2hfv2df2): Likewise. - (trunc2): Likewise. - (avx512fp16_vcvt2ph_): Rename to ... - (truncv4hf2): ... this, and drop constraints. - (avx512fp16_vcvtpd2ph_v2df): Rename to ... - (truncv2dfv2hf2): ... this, and likewise. - -2021-09-23 Hongyu Wang - - * config/i386/sse.md (float2): - New expander. - (avx512fp16_vcvt2ph_): - Rename to ... - (floatv4hf2): ... this, and drop constraints. - (avx512fp16_vcvtqq2ph_v2di): Rename to ... - (floatv2div2hf2): ... this, and likewise. - -2021-09-23 Hongyu Wang - - * config/i386/i386.md (fix_trunchf2): New expander. - (fixuns_trunchfhi2): Likewise. - (*fixuns_trunchfsi2zext): New define_insn. - * config/i386/sse.md (ssePHmodelower): New mode_attr. - (fix_trunc2): - New expander for same element vector fix_truncate. - (fix_trunc2): - Likewise for V4HF to V4SI/V4DI fix_truncate. - (fix_truncv2hfv2di2): - Likeise for V2HF to V2DI fix_truncate. - -2021-09-23 Hongyu Wang - - * config/i386/i386.md (hf3): New expander. - -2021-09-23 liuhongt - - * config/i386/sse.md (FMAMODEM): extend to handle FP16. - (VFH_SF_AVX512VL): Extend to handle HFmode. - (VF_SF_AVX512VL): Deleted. - -2021-09-23 liuhongt - - * config/i386/i386.md (rinthf2): New expander. - (nearbyinthf2): New expander. - -2021-09-23 Aldy Hernandez - - * tree-ssa-dom.c (class dom_jump_threader_simplifier): Rename... - (class dom_jt_state): ...this and provide virtual overrides. - (dom_jt_state::register_equiv): New. - (class dom_jt_simplifier): Rename from - dom_jump_threader_simplifier. - (dom_jump_threader_simplifier::simplify): Rename... - (dom_jt_simplifier::simplify): ...to this. - (pass_dominator::execute): Use dom_jt_simplifier and - dom_jt_state. - * tree-ssa-threadedge.c (jump_threader::jump_threader): - Clean-up. - (jt_state::register_equivs_stmt): Abstract out... - (jump_threader::record_temporary_equivalences_from_stmts_at_dest): - ...from here. - (jump_threader::thread_around_empty_blocks): Update state. - (jump_threader::thread_through_normal_block): Same. - (jt_state::jt_state): Remove. - (jt_state::push): Remove pass specific bits. Keep block vector - updated. - (jt_state::append_path): New. - (jt_state::pop): Remove pass specific bits. - (jt_state::register_equiv): Same. - (jt_state::record_ranges_from_stmt): Same. - (jt_state::register_equivs_on_edge): Same. Rename... - (jt_state::register_equivs_edge): ...to this. - (jt_state::dump): New. - (jt_state::debug): New. - (jump_threader_simplifier::simplify): Remove. - (jt_state::get_path): New. - * tree-ssa-threadedge.h (class jt_simplifier): Make into a base - class. Expose common functionality as virtual methods. - (class jump_threader_simplifier): Same. Rename... - (class jt_simplifier): ...to this. - * tree-vrp.c (class vrp_jump_threader_simplifier): Rename... - (class vrp_jt_simplifier): ...to this. Provide pass specific - overrides. - (class vrp_jt_state): New. - (vrp_jump_threader_simplifier::simplify): Rename... - (vrp_jt_simplifier::simplify): ...to this. Inline code from - what used to be the base class. - (vrp_jump_threader::vrp_jump_threader): Use vrp_jt_state and - vrp_jt_simplifier. - -2021-09-22 Tobias Burnus - - PR fortran/55534 - * doc/invoke.texi (-Wno-missing-include-dirs.): Document Fortran - behavior. - -2021-09-22 Roger Sayle - Richard Biener - - * match.pd (negation simplifications): Implement some negation - folding transformations from fold-const.c's fold_negate_expr. - * tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Add a SIMPLIFY - argument, to control whether the op should be simplified prior - to looking up/assigning a value number. - (vn_nary_build_or_lookup): Update call to vn_nary_build_or_lookup_1. - (vn_nary_simplify): Likewise. - (visit_nary_op): Likewise, but when constructing a NEGATE_EXPR - now call vn_nary_build_or_lookup_1 disabling simplification. - -2021-09-22 Jiufu Guo - - PR tree-optimization/102087 - * tree-ssa-loop-niter.c (number_of_iterations_until_wrap): - Update bound/cmp/control for niter. - -2021-09-22 Aldy Hernandez - - * gimple-range-fold.cc (fold_using_range::range_of_range_op): - Move check for non-empty BB here. - (fur_source::register_outgoing_edges): ...from here. - -2021-09-22 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::internal_range_of_expr): - Remove call to improve_range_with_equivs. - (path_range_query::improve_range_with_equivs): Remove - * gimple-range-path.h: Remove improve_range_with_equivs. - -2021-09-22 dianhong xu - - * config/i386/avx512fp16intrin.h: - (_mm512_mask_blend_ph): New intrinsic. - (_mm512_permutex2var_ph): Ditto. - (_mm512_permutexvar_ph): Ditto. - * config/i386/avx512fp16vlintrin.h: - (_mm256_mask_blend_ph): New intrinsic. - (_mm256_permutex2var_ph): Ditto. - (_mm256_permutexvar_ph): Ditto. - (_mm_mask_blend_ph): Ditto. - (_mm_permutex2var_ph): Ditto. - (_mm_permutexvar_ph): Ditto. - -2021-09-22 dianhong xu - - * config/i386/avx512fp16intrin.h: Add new intrinsics. - (_mm512_conj_pch): New intrinsic. - (_mm512_mask_conj_pch): Ditto. - (_mm512_maskz_conj_pch): Ditto. - * config/i386/avx512fp16vlintrin.h: Add new intrinsics. - (_mm256_conj_pch): New intrinsic. - (_mm256_mask_conj_pch): Ditto. - (_mm256_maskz_conj_pch): Ditto. - (_mm_conj_pch): Ditto. - (_mm_mask_conj_pch): Ditto. - (_mm_maskz_conj_pch): Ditto. - -2021-09-22 dianhong xu - - * config/i386/avx512fp16intrin.h (_MM512_REDUCE_OP): New macro - (_mm512_reduce_add_ph): New intrinsic. - (_mm512_reduce_mul_ph): Ditto. - (_mm512_reduce_min_ph): Ditto. - (_mm512_reduce_max_ph): Ditto. - * config/i386/avx512fp16vlintrin.h - (_MM256_REDUCE_OP/_MM_REDUCE_OP): New macro. - (_mm256_reduce_add_ph): New intrinsic. - (_mm256_reduce_mul_ph): Ditto. - (_mm256_reduce_min_ph): Ditto. - (_mm256_reduce_max_ph): Ditto. - (_mm_reduce_add_ph): Ditto. - (_mm_reduce_mul_ph): Ditto. - (_mm_reduce_min_ph): Ditto. - (_mm_reduce_max_ph): Ditto. - -2021-09-22 dianhong xu - - * config/i386/avx512fp16intrin.h (__m512h_u, __m256h_u, - __m128h_u): New typedef. - (_mm512_load_ph): New intrinsic. - (_mm256_load_ph): Ditto. - (_mm_load_ph): Ditto. - (_mm512_loadu_ph): Ditto. - (_mm256_loadu_ph): Ditto. - (_mm_loadu_ph): Ditto. - (_mm512_store_ph): Ditto. - (_mm256_store_ph): Ditto. - (_mm_store_ph): Ditto. - (_mm512_storeu_ph): Ditto. - (_mm256_storeu_ph): Ditto. - (_mm_storeu_ph): Ditto. - (_mm512_abs_ph): Ditto. - * config/i386/avx512fp16vlintrin.h - (_mm_abs_ph): Ditto. - (_mm256_abs_ph): Ditto. - -2021-09-22 Andreas Krebbel - - * config/s390/tpf.md (prologue_tpf, epilogue_tpf): Add cc clobber. - -2021-09-22 Andreas Krebbel - - PR target/102222 - * config/s390/s390.c (s390_expand_insv): Emit a normal move if it - is actually a full copy of the source operand into the target. - Don't emit a strict low part move if source and target mode match. - -2021-09-22 Jakub Jelinek - - PR middle-end/102415 - * omp-expand.c (expand_omp_single): If region->exit is NULL, - assert region->entry is GIMPLE_OMP_SCOPE region and return. - -2021-09-22 Jakub Jelinek - - * tree.h (OMP_CLAUSE_ALLOCATE_ALIGN): Define. - * tree.c (omp_clause_num_ops): Change number of OMP_CLAUSE_ALLOCATE - arguments from 2 to 3. - * tree-pretty-print.c (dump_omp_clause): Print allocator() around - allocate clause allocator and print align if present. - * omp-low.c (scan_sharing_clauses): Force allocate_map entry even - for omp_default_mem_alloc if align modifier is present. If align - modifier is present, use TREE_LIST to encode both allocator and - align. - (lower_private_allocate, lower_rec_input_clauses, create_task_copyfn): - Handle align modifier on allocator clause if present. - -2021-09-22 liuhongt - - * config/i386/i386.md (define_attr "isa"): Add - fma_or_avx512vl. - (define_attr "enabled"): Correspond fma_or_avx512vl to - TARGET_FMA || TARGET_AVX512VL. - * config/i386/mmx.md (fmav2sf4): Extend to AVX512 fma. - (fmsv2sf4): Ditto. - (fnmav2sf4): Ditto. - (fnmsv2sf4): Ditto. - -2021-09-22 liuhongt - - * config/i386/i386.md (cstorehf3): New define_expand. - -2021-09-22 liuhongt - - * config/i386/i386.md (hf2): New expander. - (sse4_1_round2): Extend from MODEF to MODEFH. - * config/i386/sse.md (*sse4_1_round): - Extend from VF_128 to VFH_128. - -2021-09-22 liuhongt - - * config/i386/i386-features.c (i386-features.c): Handle - E_HFmode. - * config/i386/i386.md (sqrthf2): New expander. - (*sqrthf2): New define_insn. - * config/i386/sse.md - (*_vmsqrt2): - Extend to VFH_128. - -2021-09-22 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_mask_fcmadd_sch): - New intrinsic. - (_mm_mask3_fcmadd_sch): Likewise. - (_mm_maskz_fcmadd_sch): Likewise. - (_mm_fcmadd_sch): Likewise. - (_mm_mask_fmadd_sch): Likewise. - (_mm_mask3_fmadd_sch): Likewise. - (_mm_maskz_fmadd_sch): Likewise. - (_mm_fmadd_sch): Likewise. - (_mm_mask_fcmadd_round_sch): Likewise. - (_mm_mask3_fcmadd_round_sch): Likewise. - (_mm_maskz_fcmadd_round_sch): Likewise. - (_mm_fcmadd_round_sch): Likewise. - (_mm_mask_fmadd_round_sch): Likewise. - (_mm_mask3_fmadd_round_sch): Likewise. - (_mm_maskz_fmadd_round_sch): Likewise. - (_mm_fmadd_round_sch): Likewise. - (_mm_fcmul_sch): Likewise. - (_mm_mask_fcmul_sch): Likewise. - (_mm_maskz_fcmul_sch): Likewise. - (_mm_fmul_sch): Likewise. - (_mm_mask_fmul_sch): Likewise. - (_mm_maskz_fmul_sch): Likewise. - (_mm_fcmul_round_sch): Likewise. - (_mm_mask_fcmul_round_sch): Likewise. - (_mm_maskz_fcmul_round_sch): Likewise. - (_mm_fmul_round_sch): Likewise. - (_mm_mask_fmul_round_sch): Likewise. - (_mm_maskz_fmul_round_sch): Likewise. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/sse.md - (avx512fp16_fmaddcsh_v8hf_maskz): New expander. - (avx512fp16_fcmaddcsh_v8hf_maskz): Ditto. - (avx512fp16_fma_sh_v8hf): - New define insn. - (avx512fp16_sh_v8hf_mask): Ditto. - (avx512fp16_sh_v8hf): - Ditto. - * config/i386/subst.md (mask_scalarcz_name): New. - (mask_scalarc_name): Ditto. - (mask_scalarc_operand3): Ditto. - (mask_scalarcz_operand4): Ditto. - (round_scalarcz_name): Ditto. - (round_scalarc_mask_operand3): Ditto. - (round_scalarcz_mask_operand4): Ditto. - (round_scalarc_mask_op3): Ditto. - (round_scalarcz_mask_op4): Ditto. - (round_scalarcz_constraint): Ditto. - (round_scalarcz_nimm_predicate): Ditto. - (mask_scalarcz): Ditto. - (mask_scalarc): Ditto. - (round_scalarcz): Ditto. - -2021-09-22 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_fcmadd_pch): - New intrinsic. - (_mm512_mask_fcmadd_pch): Likewise. - (_mm512_mask3_fcmadd_pch): Likewise. - (_mm512_maskz_fcmadd_pch): Likewise. - (_mm512_fmadd_pch): Likewise. - (_mm512_mask_fmadd_pch): Likewise. - (_mm512_mask3_fmadd_pch): Likewise. - (_mm512_maskz_fmadd_pch): Likewise. - (_mm512_fcmadd_round_pch): Likewise. - (_mm512_mask_fcmadd_round_pch): Likewise. - (_mm512_mask3_fcmadd_round_pch): Likewise. - (_mm512_maskz_fcmadd_round_pch): Likewise. - (_mm512_fmadd_round_pch): Likewise. - (_mm512_mask_fmadd_round_pch): Likewise. - (_mm512_mask3_fmadd_round_pch): Likewise. - (_mm512_maskz_fmadd_round_pch): Likewise. - (_mm512_fcmul_pch): Likewise. - (_mm512_mask_fcmul_pch): Likewise. - (_mm512_maskz_fcmul_pch): Likewise. - (_mm512_fmul_pch): Likewise. - (_mm512_mask_fmul_pch): Likewise. - (_mm512_maskz_fmul_pch): Likewise. - (_mm512_fcmul_round_pch): Likewise. - (_mm512_mask_fcmul_round_pch): Likewise. - (_mm512_maskz_fcmul_round_pch): Likewise. - (_mm512_fmul_round_pch): Likewise. - (_mm512_mask_fmul_round_pch): Likewise. - (_mm512_maskz_fmul_round_pch): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_fmadd_pch): - New intrinsic. - (_mm_mask_fmadd_pch): Likewise. - (_mm_mask3_fmadd_pch): Likewise. - (_mm_maskz_fmadd_pch): Likewise. - (_mm256_fmadd_pch): Likewise. - (_mm256_mask_fmadd_pch): Likewise. - (_mm256_mask3_fmadd_pch): Likewise. - (_mm256_maskz_fmadd_pch): Likewise. - (_mm_fcmadd_pch): Likewise. - (_mm_mask_fcmadd_pch): Likewise. - (_mm_mask3_fcmadd_pch): Likewise. - (_mm_maskz_fcmadd_pch): Likewise. - (_mm256_fcmadd_pch): Likewise. - (_mm256_mask_fcmadd_pch): Likewise. - (_mm256_mask3_fcmadd_pch): Likewise. - (_mm256_maskz_fcmadd_pch): Likewise. - (_mm_fmul_pch): Likewise. - (_mm_mask_fmul_pch): Likewise. - (_mm_maskz_fmul_pch): Likewise. - (_mm256_fmul_pch): Likewise. - (_mm256_mask_fmul_pch): Likewise. - (_mm256_maskz_fmul_pch): Likewise. - (_mm_fcmul_pch): Likewise. - (_mm_mask_fcmul_pch): Likewise. - (_mm_maskz_fcmul_pch): Likewise. - (_mm256_fcmul_pch): Likewise. - (_mm256_mask_fcmul_pch): Likewise. - (_mm256_maskz_fcmul_pch): Likewise. - * config/i386/i386-builtin-types.def (V8HF_FTYPE_V8HF_V8HF_V8HF, - V8HF_FTYPE_V16HF_V16HF_V16HF, V16HF_FTYPE_V16HF_V16HF_V16HF_UQI, - V32HF_FTYPE_V32HF_V32HF_V32HF_INT, - V32HF_FTYPE_V32HF_V32HF_V32HF_UHI_INT): Add new builtin types. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-expand.c: Handle new builtin types. - * config/i386/subst.md (SUBST_CV): New. - (maskc_name): Ditto. - (maskc_operand3): Ditto. - (maskc): Ditto. - (sdc_maskz_name): Ditto. - (sdc_mask_op4): Ditto. - (sdc_mask_op5): Ditto. - (sdc_mask_mode512bit_condition): Ditto. - (sdc): Ditto. - (round_maskc_operand3): Ditto. - (round_sdc_mask_operand4): Ditto. - (round_maskc_op3): Ditto. - (round_sdc_mask_op4): Ditto. - (round_saeonly_sdc_mask_operand5): Ditto. - * config/i386/sse.md (unspec): Add complex fma unspecs. - (avx512fmaskcmode): New. - (UNSPEC_COMPLEX_F_C_MA): Ditto. - (UNSPEC_COMPLEX_F_C_MUL): Ditto. - (complexopname): Ditto. - (_fmaddc__maskz): New expander. - (_fcmaddc__maskz): Ditto. - (fma__): New - define insn. - (___mask): Ditto. - (__): Ditto. - -2021-09-22 Kewen Lin - - * config/rs6000/rs6000.opt (rs6000-density-pct-threshold, - rs6000-density-size-threshold, rs6000-density-penalty, - rs6000-density-load-pct-threshold, - rs6000-density-load-num-threshold): New parameter. - * config/rs6000/rs6000.c (rs6000_density_test): Adjust with - corresponding parameters. - -2021-09-21 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::defined_outside_path): - New. - (path_range_query::range_on_path_entry): New. - (path_range_query::internal_range_of_expr): Resolve unknowns - with ranger. - (path_range_query::improve_range_with_equivs): New. - (path_range_query::ssa_range_in_phi): Resolve unknowns with - ranger. - * gimple-range-path.h (class path_range_query): Add - defined_outside_path, range_on_path_entry, and - improve_range_with_equivs. - -2021-09-21 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::add_to_imports): New. - (path_range_query::add_copies_to_imports): New. - (path_range_query::precompute_ranges): Call - add_copies_to_imports. - * gimple-range-path.h (class path_range_query): Add prototypes - for add_copies_to_imports and add_to_imports. - -2021-09-21 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::range_defined_in_block): - Remove useless code. - -2021-09-21 Aldy Hernandez - - * gimple-range-fold.h (class fur_source): Make oracle protected. - * gimple-range-path.cc (path_range_query::path_range_query): Add - resolve argument. Initialize oracle. - (path_range_query::~path_range_query): Delete oracle. - (path_range_query::range_of_stmt): Adapt to use relations. - (path_range_query::precompute_ranges): Pre-compute relations. - (class jt_fur_source): New - (jt_fur_source::jt_fur_source): New. - (jt_fur_source::register_relation): New. - (jt_fur_source::query_relation): New. - (path_range_query::precompute_relations): New. - (path_range_query::precompute_phi_relations): New. - * gimple-range-path.h (path_range_query): Add resolve argument. - Add oracle, precompute_relations, precompute_phi_relations. - * tree-ssa-threadbackward.c (back_threader::back_threader): Pass - resolve argument to solver. - -2021-09-21 Aldy Hernandez - - * gimple-range-fold.cc (fold_using_range::range_of_range_op): - Rename postfold_gcond_edges to register_outgoing_edges and - adapt. - (fold_using_range::postfold_gcond_edges): Rename... - (fur_source::register_outgoing_edges): ...to this. - * gimple-range-fold.h (postfold_gcond_edges): Rename to - register_outgoing_edges and move to fur_source. - -2021-09-21 Aldy Hernandez - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Check - dom_info_available_p. - -2021-09-21 Aldy Hernandez - - * gimple-range-cache.cc (non_null_ref::non_null_ref): Use create - and quick_grow_cleared instead of safe_grow_cleared. - -2021-09-21 Thomas Schwinge - - PR other/102408 - * omp-oacc-neuter-broadcast.cc (oacc_do_neutering): Evaluate - 'random ()' to '0'. - -2021-09-21 Richard Earnshaw - - * configure.ac: Detect when the assembler supports new-style - architecture extensions. - * common/config/arm/arm-common.c (arm_rewrite_mcpu): Return - the full CPU string if the assembler can grok it. - (arm_rewrite_march): Likewise but for the architecture. - * config.in: Regenerate. - * configure: Regenerate. - -2021-09-21 Richard Biener - - PR tree-optimization/102421 - * tree-vect-loop.c (vect_dissolve_slp_only_groups): Copy and - adjust alignment info. - -2021-09-21 Kewen Lin - - * ipa-fnsummary.c (ipa_fn_summary_write): Remove inconsistent - bitfield stream out. - -2021-09-20 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_phi): Ignore - undefined edges, apply an equivalence if appropriate. - * gimple-range-gori.cc (gori_compute::outgoing_edge_range_p): Return - UNDEFINED if EDGE_EXECUTABLE is not set. - * gimple-range.cc (gimple_ranger::gimple_ranger): Set all edges - as EXECUTABLE upon startup. - (gimple_ranger::range_on_edge): Return UNDEFINED for edges without - EDGE_EXECUTABLE set. - * vr-values.c (set_and_propagate_unexecutable): New. - (simplify_using_ranges::fold_cond): Call set_and_propagate. - (simplify_using_ranges::simplify_switch_using_ranges): Ditto. - * vr-values.h: Add prototype. - -2021-09-20 Andrew MacLeod - - * value-relation.cc (equiv_oracle::register_initial_def): New. - (equiv_oracle::register_relation): Call register_initial_def. - (equiv_oracle::add_equiv_to_block): New. Split register_relation. - (relation_oracle::register_stmt): Check def block of PHI arguments. - * value-relation.h (equiv_oracle): Add new prototypes. - -2021-09-20 Matthias Kretz - - * cppbuiltin.c (define_builtin_macros_for_compilation_flags): - Define __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__, - __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and - __ROUNDING_MATH__ according to their corresponding flags. - * doc/cpp.texi: Document __RECIPROCAL_MATH__, - __NO_SIGNED_ZEROS__, __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, - and __ROUNDING_MATH__. - -2021-09-20 Richard Biener - - * tree-vect-stmts.c (vectorizable_load): Use the vectype - from the SLP node. - -2021-09-20 Richard Biener - - * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): - Do not compute alignment of the vectorized access here. - -2021-09-20 Richard Biener - - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): - Store -1 for runtime alias peeling iterations. - -2021-09-20 Richard Biener - - * config.gcc: Obsolete hppa[12]*-*-hpux10* and hppa[12]*-*-hpux11*. - -2021-09-20 Thomas Schwinge - - * input.c (string_concat_db::record_string_concatenation) - (string_concat_db::get_string_concatenation): Skip for - 'RESERVED_LOCATION_P'. - -2021-09-20 Richard Biener - - PR tree-optimization/65206 - * tree-data-ref.h (struct data_reference): Add alt_indices, - order it last. - * tree-data-ref.c (free_data_ref): Release alt_indices. - (dr_analyze_indices): Work on struct indices and get DR_REF as tree. - (create_data_ref): Adjust. - (initialize_data_dependence_relation): Split into head - and tail. When the base objects fail to match up try - again with pointer-based analysis of indices. - * tree-vectorizer.c (vec_info_shared::check_datarefs): Do - not compare the lazily computed alternate set of indices. - -2021-09-20 Iain Sandoe - - * gcc.c: Test for execute OK when we find the - programs for assembler linker and dsymutil and those - were specified at configure-time. - -2021-09-19 Martin Sebor - - PR middle-end/102403 - * gimple-predicate-analysis.cc (predicate::init_from_control_deps): - Correct a function pre/postcondition. - -2021-09-19 Martin Sebor - - PR middle-end/102243 - * tree-ssa-strlen.c (get_range): Handle null cfun. - -2021-09-19 Iain Sandoe - - * config/darwin.h (LINK_COMMAND_SPEC_A): Use Darwin10 - unwinder shim as a convenience library. - -2021-09-19 Andrew Pinski - - * doc/install.texi: Add note about - binutils 2.35 is required for LTO usage. - -2021-09-19 Aldy Hernandez - - * tree-ssa-threadbackward.c - (back_threader_registry::register_path): Use push_edge. - * tree-ssa-threadedge.c - (jump_threader::thread_around_empty_blocks): Same. - (jump_threader::thread_through_normal_block): Same. - (jump_threader::thread_across_edge): Same. Also, use auto_bitmap. - Tidy up code. - * tree-ssa-threadupdate.c - (jt_path_registry::allocate_thread_edge): Remove. - (jt_path_registry::push_edge): New. - (dump_jump_thread_path): Make static. - * tree-ssa-threadupdate.h (allocate_thread_edge): Remove. - (push_edge): New. - -2021-09-19 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::path_range_query): Add - header. - (path_range_query::dump): Remove extern declaration of dump_ranger. - * gimple-range-trace.cc (dump_ranger): Add DEBUG_FUNCTION marker. - * gimple-range-trace.h (dump_ranger): Add prototype. - -2021-09-19 John Ericson - - * gcc.c (find_a_program): New function, factored out of... - (find_a_file): Here. - (execute): Use find_a_program when looking for programs rather - than find_a_file. - -2021-09-19 Matwey V. Kornilov - - * config/avr/avr-mcus.def: Add atmega324pb. - * doc/avr-mmcu.texi: Corresponding changes. - -2021-09-19 Roger Sayle - - PR middle-end/88173 - * match.pd (cmp @0 REAL_CST@1): When @0 is also REAL_CST, apply - the same transformations as to @1. For comparisons against NaN, - don't check HONOR_SNANS but confirm that neither operand is a - signaling NaN. - -2021-09-19 Benjamin Peterson - - * attribs.c (make_unique_name): Delete. - * attribs.h (make_unique_name): Delete. - -2021-09-19 Andrew Pinski - - * lra-constraints.c (check_and_process_move): Assert - that dclass and sclass are greater than or equal to NO_REGS. - -2021-09-18 Jakub Jelinek - - * tree.h (OMP_CLAUSE_ORDER_UNCONSTRAINED): Define. - * tree-pretty-print.c (dump_omp_clause): Print unconstrained: - for OMP_CLAUSE_ORDER_UNCONSTRAINED. - -2021-09-18 liuhongt - - * config/i386/i386-features.c (remove_partial_avx_dependency): - Restrict TARGET_USE_VECTOR_FP_CONVERTS and - TARGET_USE_VECTOR_CONVERTS to conversion instructions only. - -2021-09-18 Jakub Jelinek - - * gimplify.c (omp_default_clause): For C/C++ default({,first}private), - if file/namespace scope variable doesn't have predetermined sharing, - treat it as if there was default(none). - -2021-09-18 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_fmadd_sh): - New intrinsic. - (_mm_mask_fmadd_sh): Likewise. - (_mm_mask3_fmadd_sh): Likewise. - (_mm_maskz_fmadd_sh): Likewise. - (_mm_fmadd_round_sh): Likewise. - (_mm_mask_fmadd_round_sh): Likewise. - (_mm_mask3_fmadd_round_sh): Likewise. - (_mm_maskz_fmadd_round_sh): Likewise. - (_mm_fnmadd_sh): Likewise. - (_mm_mask_fnmadd_sh): Likewise. - (_mm_mask3_fnmadd_sh): Likewise. - (_mm_maskz_fnmadd_sh): Likewise. - (_mm_fnmadd_round_sh): Likewise. - (_mm_mask_fnmadd_round_sh): Likewise. - (_mm_mask3_fnmadd_round_sh): Likewise. - (_mm_maskz_fnmadd_round_sh): Likewise. - (_mm_fmsub_sh): Likewise. - (_mm_mask_fmsub_sh): Likewise. - (_mm_mask3_fmsub_sh): Likewise. - (_mm_maskz_fmsub_sh): Likewise. - (_mm_fmsub_round_sh): Likewise. - (_mm_mask_fmsub_round_sh): Likewise. - (_mm_mask3_fmsub_round_sh): Likewise. - (_mm_maskz_fmsub_round_sh): Likewise. - (_mm_fnmsub_sh): Likewise. - (_mm_mask_fnmsub_sh): Likewise. - (_mm_mask3_fnmsub_sh): Likewise. - (_mm_maskz_fnmsub_sh): Likewise. - (_mm_fnmsub_round_sh): Likewise. - (_mm_mask_fnmsub_round_sh): Likewise. - (_mm_mask3_fnmsub_round_sh): Likewise. - (_mm_maskz_fnmsub_round_sh): Likewise. - * config/i386/i386-builtin-types.def - (V8HF_FTYPE_V8HF_V8HF_V8HF_UQI_INT): New builtin type. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-expand.c: Handle new builtin type. - * config/i386/sse.md (fmai_vmfmadd_): - Ajdust to support FP16. - (fmai_vmfmsub_): Ditto. - (fmai_vmfnmadd_): Ditto. - (fmai_vmfnmsub_): Ditto. - (*fmai_fmadd_): Ditto. - (*fmai_fmsub_): Ditto. - (*fmai_fnmadd_): Ditto. - (*fmai_fnmsub_): Ditto. - (avx512f_vmfmadd__mask): Ditto. - (avx512f_vmfmadd__mask3): Ditto. - (avx512f_vmfmadd__maskz): Ditto. - (avx512f_vmfmadd__maskz_1): Ditto. - (*avx512f_vmfmsub__mask): Ditto. - (avx512f_vmfmsub__mask3): Ditto. - (*avx512f_vmfmsub__maskz_1): Ditto. - (*avx512f_vmfnmsub__mask): Ditto. - (*avx512f_vmfnmsub__mask3): Ditto. - (*avx512f_vmfnmsub__mask): Ditto. - (*avx512f_vmfnmadd__mask): Renamed to ... - (avx512f_vmfnmadd__mask) ... this, and - adjust to support FP16. - (avx512f_vmfnmadd__mask3): Ditto. - (avx512f_vmfnmadd__maskz_1): Ditto. - (avx512f_vmfnmadd__maskz): New - expander. - -2021-09-18 H.J. Lu - - * config/i386/sse.md (avx512fmaskmodelower): Extend to support - HF modes. - (maskload): Ditto. - (maskstore): Ditto. - -2021-09-18 H.J. Lu - - * config/i386/i386-expand.c (ix86_expand_fp_absneg_operator): - Handle HFmode. - (ix86_expand_copysign): Ditto. - (ix86_expand_xorsign): Ditto. - * config/i386/i386.c (ix86_build_const_vector): Handle HF vector - modes. - (ix86_build_signbit_mask): Ditto. - (ix86_can_change_mode_class): Ditto. - * config/i386/i386.md - (SSEMODEF): Add HFmode. - (ssevecmodef): Ditto. - (hf2): New define_expand. - (*hf2_1): New define_insn_and_split. - (copysign): Extend to support HFmode under AVX512FP16. - (xorsign): Ditto. - * config/i386/sse.md (VFB): New mode iterator. - (VFB_128_256): Ditto. - (VFB_512): Ditto. - (sseintvecmode2): Support HF vector mode. - (2): Use new mode iterator. - (*2): Ditto. - (copysign3): Ditto. - (xorsign3): Ditto. - (3): Ditto. - (3): Ditto. - (_andnot3): Adjust for HF vector mode. - (_andnot3): Ditto. - (*3): Ditto. - (*3): Ditto. - -2021-09-18 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_mask_fmadd_ph): - New intrinsic. - (_mm512_mask3_fmadd_ph): Likewise. - (_mm512_maskz_fmadd_ph): Likewise. - (_mm512_fmadd_round_ph): Likewise. - (_mm512_mask_fmadd_round_ph): Likewise. - (_mm512_mask3_fmadd_round_ph): Likewise. - (_mm512_maskz_fmadd_round_ph): Likewise. - (_mm512_fnmadd_ph): Likewise. - (_mm512_mask_fnmadd_ph): Likewise. - (_mm512_mask3_fnmadd_ph): Likewise. - (_mm512_maskz_fnmadd_ph): Likewise. - (_mm512_fnmadd_round_ph): Likewise. - (_mm512_mask_fnmadd_round_ph): Likewise. - (_mm512_mask3_fnmadd_round_ph): Likewise. - (_mm512_maskz_fnmadd_round_ph): Likewise. - (_mm512_fmsub_ph): Likewise. - (_mm512_mask_fmsub_ph): Likewise. - (_mm512_mask3_fmsub_ph): Likewise. - (_mm512_maskz_fmsub_ph): Likewise. - (_mm512_fmsub_round_ph): Likewise. - (_mm512_mask_fmsub_round_ph): Likewise. - (_mm512_mask3_fmsub_round_ph): Likewise. - (_mm512_maskz_fmsub_round_ph): Likewise. - (_mm512_fnmsub_ph): Likewise. - (_mm512_mask_fnmsub_ph): Likewise. - (_mm512_mask3_fnmsub_ph): Likewise. - (_mm512_maskz_fnmsub_ph): Likewise. - (_mm512_fnmsub_round_ph): Likewise. - (_mm512_mask_fnmsub_round_ph): Likewise. - (_mm512_mask3_fnmsub_round_ph): Likewise. - (_mm512_maskz_fnmsub_round_ph): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm256_fmadd_ph): - New intrinsic. - (_mm256_mask_fmadd_ph): Likewise. - (_mm256_mask3_fmadd_ph): Likewise. - (_mm256_maskz_fmadd_ph): Likewise. - (_mm_fmadd_ph): Likewise. - (_mm_mask_fmadd_ph): Likewise. - (_mm_mask3_fmadd_ph): Likewise. - (_mm_maskz_fmadd_ph): Likewise. - (_mm256_fnmadd_ph): Likewise. - (_mm256_mask_fnmadd_ph): Likewise. - (_mm256_mask3_fnmadd_ph): Likewise. - (_mm256_maskz_fnmadd_ph): Likewise. - (_mm_fnmadd_ph): Likewise. - (_mm_mask_fnmadd_ph): Likewise. - (_mm_mask3_fnmadd_ph): Likewise. - (_mm_maskz_fnmadd_ph): Likewise. - (_mm256_fmsub_ph): Likewise. - (_mm256_mask_fmsub_ph): Likewise. - (_mm256_mask3_fmsub_ph): Likewise. - (_mm256_maskz_fmsub_ph): Likewise. - (_mm_fmsub_ph): Likewise. - (_mm_mask_fmsub_ph): Likewise. - (_mm_mask3_fmsub_ph): Likewise. - (_mm_maskz_fmsub_ph): Likewise. - (_mm256_fnmsub_ph): Likewise. - (_mm256_mask_fnmsub_ph): Likewise. - (_mm256_mask3_fnmsub_ph): Likewise. - (_mm256_maskz_fnmsub_ph): Likewise. - (_mm_fnmsub_ph): Likewise. - (_mm_mask_fnmsub_ph): Likewise. - (_mm_mask3_fnmsub_ph): Likewise. - (_mm_maskz_fnmsub_ph): Likewise. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/sse.md - (_fmadd__maskz): Adjust to - support HF vector modes. - (fma_fmadd_): - Ditto. - (*fma_fmadd__bcst_1): Ditto. - (*fma_fmadd__bcst_2): Ditto. - (*fma_fmadd__bcst_3): Ditto. - (_fmadd__mask): Ditto. - (_fmadd__mask3): Ditto. - (_fmsub__maskz): Ditto. - (fma_fmsub_): - Ditto. - (*fma_fmsub__bcst_1): Ditto. - (*fma_fmsub__bcst_2): Ditto. - (*fma_fmsub__bcst_3): Ditto. - (_fmsub__mask): Ditto. - (_fmsub__mask3): Ditto. - (fma_fnmadd_): - Ditto. - (*fma_fnmadd__bcst_1): Ditto. - (*fma_fnmadd__bcst_2): Ditto. - (*fma_fnmadd__bcst_3): Ditto. - (_fnmadd__mask): Ditto. - (_fnmadd__mask3): Ditto. - (_fnmsub__maskz): Ditto. - (fma_fnmsub_): - Ditto. - (*fma_fnmsub__bcst_1): Ditto. - (*fma_fnmsub__bcst_2): Ditto. - (*fma_fnmsub__bcst_3): Ditto. - (_fnmsub__mask): Ditto. - (_fnmsub__mask3): Ditto. - -2021-09-18 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_fmaddsub_ph): - New intrinsic. - (_mm512_mask_fmaddsub_ph): Likewise. - (_mm512_mask3_fmaddsub_ph): Likewise. - (_mm512_maskz_fmaddsub_ph): Likewise. - (_mm512_fmaddsub_round_ph): Likewise. - (_mm512_mask_fmaddsub_round_ph): Likewise. - (_mm512_mask3_fmaddsub_round_ph): Likewise. - (_mm512_maskz_fmaddsub_round_ph): Likewise. - (_mm512_mask_fmsubadd_ph): Likewise. - (_mm512_mask3_fmsubadd_ph): Likewise. - (_mm512_maskz_fmsubadd_ph): Likewise. - (_mm512_fmsubadd_round_ph): Likewise. - (_mm512_mask_fmsubadd_round_ph): Likewise. - (_mm512_mask3_fmsubadd_round_ph): Likewise. - (_mm512_maskz_fmsubadd_round_ph): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm256_fmaddsub_ph): - New intrinsic. - (_mm256_mask_fmaddsub_ph): Likewise. - (_mm256_mask3_fmaddsub_ph): Likewise. - (_mm256_maskz_fmaddsub_ph): Likewise. - (_mm_fmaddsub_ph): Likewise. - (_mm_mask_fmaddsub_ph): Likewise. - (_mm_mask3_fmaddsub_ph): Likewise. - (_mm_maskz_fmaddsub_ph): Likewise. - (_mm256_fmsubadd_ph): Likewise. - (_mm256_mask_fmsubadd_ph): Likewise. - (_mm256_mask3_fmsubadd_ph): Likewise. - (_mm256_maskz_fmsubadd_ph): Likewise. - (_mm_fmsubadd_ph): Likewise. - (_mm_mask_fmsubadd_ph): Likewise. - (_mm_mask3_fmsubadd_ph): Likewise. - (_mm_maskz_fmsubadd_ph): Likewise. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/sse.md (VFH_SF_AVX512VL): New mode iterator. - * (_fmsubadd__maskz): New expander. - * (_fmaddsub__maskz): Use - VFH_SF_AVX512VL. - * (fma_fmaddsub_): - Ditto. - * (_fmaddsub__mask): Ditto. - * (_fmaddsub__mask3): Ditto. - * (fma_fmsubadd_): - Ditto. - * (_fmsubadd__mask): Ditto. - * (_fmsubadd__mask3): Ditto. - -2021-09-18 liuhongt - - PR target/87767 - * config/i386/i386.c (ix86_print_operand): Handle - V8HF/V16HF/V32HFmode. - * config/i386/i386.h (VALID_BCST_MODE_P): Add HFmode. - * config/i386/sse.md (avx512bcst): Remove. - -2021-09-17 Martin Sebor - - * Makefile.in (OBJS): Add gimple-predicate-analysis.o. - * tree-ssa-uninit.c (max_phi_args): Move to gimple-predicate-analysis. - (MASK_SET_BIT, MASK_TEST_BIT, MASK_EMPTY): Same. - (check_defs): Add comment. - (can_skip_redundant_opnd): Update comment. - (compute_uninit_opnds_pos): Adjust to namespace change. - (find_pdom): Move to gimple-predicate-analysis.cc. - (find_dom): Same. - (struct uninit_undef_val_t): New. - (is_non_loop_exit_postdominating): Move to gimple-predicate-analysis.cc. - (find_control_equiv_block): Same. - (MAX_NUM_CHAINS, MAX_CHAIN_LEN, MAX_POSTDOM_CHECK): Same. - (MAX_SWITCH_CASES): Same. - (compute_control_dep_chain): Same. - (find_uninit_use): Use predicate analyzer. - (struct pred_info): Move to gimple-predicate-analysis. - (convert_control_dep_chain_into_preds): Same. - (find_predicates): Same. - (collect_phi_def_edges): Same. - (warn_uninitialized_phi): Use predicate analyzer. - (find_def_preds): Move to gimple-predicate-analysis. - (dump_pred_info): Same. - (dump_pred_chain): Same. - (dump_predicates): Same. - (destroy_predicate_vecs): Remove. - (execute_late_warn_uninitialized): New. - (get_cmp_code): Move to gimple-predicate-analysis. - (is_value_included_in): Same. - (value_sat_pred_p): Same. - (find_matching_predicate_in_rest_chains): Same. - (is_use_properly_guarded): Same. - (prune_uninit_phi_opnds): Same. - (find_var_cmp_const): Same. - (use_pred_not_overlap_with_undef_path_pred): Same. - (pred_equal_p): Same. - (is_neq_relop_p): Same. - (is_neq_zero_form_p): Same. - (pred_expr_equal_p): Same. - (is_pred_expr_subset_of): Same. - (is_pred_chain_subset_of): Same. - (is_included_in): Same. - (is_superset_of): Same. - (pred_neg_p): Same. - (simplify_pred): Same. - (simplify_preds_2): Same. - (simplify_preds_3): Same. - (simplify_preds_4): Same. - (simplify_preds): Same. - (push_pred): Same. - (push_to_worklist): Same. - (get_pred_info_from_cmp): Same. - (is_degenerated_phi): Same. - (normalize_one_pred_1): Same. - (normalize_one_pred): Same. - (normalize_one_pred_chain): Same. - (normalize_preds): Same. - (can_one_predicate_be_invalidated_p): Same. - (can_chain_union_be_invalidated_p): Same. - (uninit_uses_cannot_happen): Same. - (pass_late_warn_uninitialized::execute): Define. - * gimple-predicate-analysis.cc: New file. - * gimple-predicate-analysis.h: New file. - -2021-09-17 Julian Brown - - * config/gcn/gcn.c (gimple.h): Include. - (gcn_fork_join): Emit barrier for worker-level joins. - * omp-oacc-neuter-broadcast.cc (find_local_vars_to_propagate): Add - writes_gang_private bitmap parameter. Set bit for blocks - containing gang-private variable writes. - (worker_single_simple): Don't emit barrier after predicated block. - (worker_single_copy): Don't emit barrier if we're not broadcasting - anything and the block contains no gang-private writes. - (neuter_worker_single): Don't predicate blocks that only contain - NOPs or internal marker functions. Pass has_gang_private_write - argument to worker_single_copy. - (oacc_do_neutering): Add writes_gang_private bitmap handling. - -2021-09-17 Julian Brown - - * config/gcn/gcn-protos.h - (gcn_goacc_create_worker_broadcast_record): Update prototype. - * config/gcn/gcn-tree.c (gcn_goacc_get_worker_red_decl): Use - preallocated block of LDS memory. Do not cache/share decls for - reduction temporaries between invocations. - (gcn_goacc_reduction_teardown): Unshare VAR on second use. - (gcn_goacc_create_worker_broadcast_record): Add OFFSET parameter - and return temporary LDS space at that offset. Return pointer in - "sender" case. - * config/gcn/gcn.c (acc_lds_size, gang_private_hwm, lds_allocs): - New global vars. - (ACC_LDS_SIZE): Define as acc_lds_size. - (gcn_init_machine_status): Don't initialise lds_allocated, - lds_allocs, reduc_decls fields of machine function struct. - (gcn_option_override): Handle default size for gang-private - variables and -mgang-private-size option. - (gcn_expand_prologue): Use LDS_SIZE instead of LDS_SIZE-1 when - initialising M0_REG. - (gcn_shared_mem_layout): New function. - (gcn_print_lds_decl): Update comment. Use global lds_allocs map and - gang_private_hwm variable. - (TARGET_GOACC_SHARED_MEM_LAYOUT): Define target hook. - * config/gcn/gcn.h (machine_function): Remove lds_allocated, - lds_allocs, reduc_decls. Add reduction_base, reduction_limit. - * config/gcn/gcn.opt (gang_private_size_opt): New global. - (mgang-private-size=): New option. - * doc/tm.texi.in (TARGET_GOACC_SHARED_MEM_LAYOUT): Place - documentation hook. - * doc/tm.texi: Regenerate. - * omp-oacc-neuter-broadcast.cc (targhooks.h, diagnostic-core.h): - Add includes. - (build_sender_ref): Handle sender_decl being pointer. - (worker_single_copy): Add PLACEMENT and ISOLATE_BROADCASTS - parameters. Pass placement argument to - create_worker_broadcast_record hook invocations. Handle - sender_decl being pointer and isolate_broadcasts inserting extra - barriers. - (blk_offset_map_t): Add typedef. - (neuter_worker_single): Add BLK_OFFSET_MAP parameter. Pass - preallocated range to worker_single_copy call. - (dfs_broadcast_reachable_1): New function. - (idx_decl_pair_t, used_range_vec_t): New typedefs. - (sort_size_descending): New function. - (addr_range): New class. - (splay_tree_compare_addr_range, splay_tree_free_key) - (first_fit_range, merge_ranges_1, merge_ranges): New functions. - (execute_omp_oacc_neuter_broadcast): Rename to... - (oacc_do_neutering): ... this. Add BOUNDS_LO, BOUNDS_HI - parameters. Arrange layout of shared memory for broadcast - operations. - (execute_omp_oacc_neuter_broadcast): New function. - (pass_omp_oacc_neuter_broadcast::gate): Remove num_workers==1 - handling from here. Enable pass for all OpenACC routines in order - to call shared memory-layout hook. - * target.def (create_worker_broadcast_record): Add OFFSET - parameter. - (shared_mem_layout): New hook. - -2021-09-17 Julian Brown - Thomas Schwinge - - * omp-oacc-neuter-broadcast.cc - (pass_omp_oacc_neuter_broadcast::gate): Disable if num_workers is - 1. - (execute_omp_oacc_neuter_broadcast): Adjust. - -2021-09-17 Andrew MacLeod - - * value-relation.cc (class equiv_chain): Move to header file. - (path_oracle::path_oracle): New. - (path_oracle::~path_oracle): New. - (path_oracle::register_relation): New. - (path_oracle::query_relation): New. - (path_oracle::reset_path): New. - (path_oracle::dump): New. - * value-relation.h (class equiv_chain): Move to here. - (class path_oracle): New. - -2021-09-17 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Create a DOM - based oracle. - * gimple-range-fold.cc (fur_depend::register_relation): Use - register_stmt/edge routines. - * value-relation.cc (equiv_chain::find): Relocate from equiv_oracle. - (equiv_oracle::equiv_oracle): Create self equivalence cache. - (equiv_oracle::~equiv_oracle): Release same. - (equiv_oracle::equiv_set): Return entry from self equiv cache if there - are no equivalences. - (equiv_oracle::find_equiv_block): Move list find to equiv_chain. - (equiv_oracle::register_relation): Rename from register_equiv. - (relation_chain_head::find_relation): Relocate from dom_oracle. - (relation_oracle::register_stmt): New. - (relation_oracle::register_edge): New. - (dom_oracle::*): Rename from relation_oracle. - (dom_oracle::register_relation): Adjust to call equiv_oracle. - (dom_oracle::set_one_relation): Split from register_relation. - (dom_oracle::register_transitives): Consolidate 2 methods. - (dom_oracle::find_relation_block): Move core to relation_chain. - (dom_oracle::query_relation): Rename from find_relation_dom and adjust. - * value-relation.h (class relation_oracle): New pure virtual base. - (class equiv_oracle): Inherit from relation_oracle and adjust. - (class dom_oracle): Rename from old relation_oracle and adjust. - -2021-09-17 Martin Sebor - - PR middle-end/102200 - * pointer-query.cc (access_ref::inform_access): Handle MIN/MAX_EXPR. - (handle_min_max_size): Change argument. Store original SSA_NAME for - operands to potentially distinct (sub)objects. - (compute_objsize_r): Adjust call to the above. - -2021-09-17 Bill Schmidt - - * config/rs6000/rs6000.c (rs6000-builtins.h): New include. - (rs6000_new_builtin_vectorized_function): New function. - (rs6000_new_builtin_md_vectorized_function): Likewise. - (rs6000_builtin_vectorized_function): Call - rs6000_new_builtin_vectorized_function. - (rs6000_builtin_md_vectorized_function): Call - rs6000_new_builtin_md_vectorized_function. - -2021-09-17 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def (ASSEMBLE_ACC): Add mmaint flag. - (ASSEMBLE_PAIR): Likewise. - (BUILD_ACC): Likewise. - (DISASSEMBLE_ACC): Likewise. - (DISASSEMBLE_PAIR): Likewise. - (PMXVBF16GER2): Likewise. - (PMXVBF16GER2NN): Likewise. - (PMXVBF16GER2NP): Likewise. - (PMXVBF16GER2PN): Likewise. - (PMXVBF16GER2PP): Likewise. - (PMXVF16GER2): Likewise. - (PMXVF16GER2NN): Likewise. - (PMXVF16GER2NP): Likewise. - (PMXVF16GER2PN): Likewise. - (PMXVF16GER2PP): Likewise. - (PMXVF32GER): Likewise. - (PMXVF32GERNN): Likewise. - (PMXVF32GERNP): Likewise. - (PMXVF32GERPN): Likewise. - (PMXVF32GERPP): Likewise. - (PMXVF64GER): Likewise. - (PMXVF64GERNN): Likewise. - (PMXVF64GERNP): Likewise. - (PMXVF64GERPN): Likewise. - (PMXVF64GERPP): Likewise. - (PMXVI16GER2): Likewise. - (PMXVI16GER2PP): Likewise. - (PMXVI16GER2S): Likewise. - (PMXVI16GER2SPP): Likewise. - (PMXVI4GER8): Likewise. - (PMXVI4GER8PP): Likewise. - (PMXVI8GER4): Likewise. - (PMXVI8GER4PP): Likewise. - (PMXVI8GER4SPP): Likewise. - (XVBF16GER2): Likewise. - (XVBF16GER2NN): Likewise. - (XVBF16GER2NP): Likewise. - (XVBF16GER2PN): Likewise. - (XVBF16GER2PP): Likewise. - (XVF16GER2): Likewise. - (XVF16GER2NN): Likewise. - (XVF16GER2NP): Likewise. - (XVF16GER2PN): Likewise. - (XVF16GER2PP): Likewise. - (XVF32GER): Likewise. - (XVF32GERNN): Likewise. - (XVF32GERNP): Likewise. - (XVF32GERPN): Likewise. - (XVF32GERPP): Likewise. - (XVF64GER): Likewise. - (XVF64GERNN): Likewise. - (XVF64GERNP): Likewise. - (XVF64GERPN): Likewise. - (XVF64GERPP): Likewise. - (XVI16GER2): Likewise. - (XVI16GER2PP): Likewise. - (XVI16GER2S): Likewise. - (XVI16GER2SPP): Likewise. - (XVI4GER8): Likewise. - (XVI4GER8PP): Likewise. - (XVI8GER4): Likewise. - (XVI8GER4PP): Likewise. - (XVI8GER4SPP): Likewise. - (XXMFACC): Likewise. - (XXMTACC): Likewise. - (XXSETACCZ): Likewise. - (ASSEMBLE_PAIR_V): Likewise. - (BUILD_PAIR): Likewise. - (DISASSEMBLE_PAIR_V): Likewise. - (LXVP): New. - (STXVP): New. - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_mma_builtin): - Handle RS6000_BIF_LXVP and RS6000_BIF_STXVP. - * config/rs6000/rs6000-gen-builtins.c (attrinfo): Add ismmaint. - (parse_bif_attrs): Handle ismmaint. - (write_decls): Add bif_mmaint_bit and bif_is_mmaint. - (write_bif_static_init): Handle ismmaint. - -2021-09-17 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_new_builtin): New - forward decl. - (rs6000_gimple_fold_builtin): Call rs6000_gimple_fold_new_builtin. - (rs6000_new_builtin_valid_without_lhs): New function. - (rs6000_gimple_fold_new_mma_builtin): Likewise. - (rs6000_gimple_fold_new_builtin): Likewise. - -2021-09-17 Thomas Schwinge - - * hash-table.h (hash_table::expand): - Destruct stale Value objects. - * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor_expand): - Update. - -2021-09-17 Roger Sayle - - PR c/102245 - * match.pd (shift optimizations): Disable recent sign-changing - optimization for shifts by zero, these will be folded later. - -2021-09-17 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def (__builtin_mffsl): Move from - [power9] to [always]. - -2021-09-17 Richard Biener - - * tree-vect-stmts.c (vectorizable_load): Do not frob - stmt_info for SLP. - -2021-09-17 H.J. Lu - - * config/i386/i386-features.c (remove_partial_avx_dependency): - Also check TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY and - and TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY before generating - vxorps. - * config/i386/i386.h (TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): - New. - (TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise. - * config/i386/i386.md (SSE FP to FP splitters): Replace - TARGET_SSE_PARTIAL_REG_DEPENDENCY with - TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY. - (SSE INT to FP splitter): Replace TARGET_SSE_PARTIAL_REG_DEPENDENCY - with TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY. - * config/i386/x86-tune.def - (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): New. - (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Likewise. - -2021-09-17 H.J. Lu - - PR target/101900 - * config/i386/i386-features.c (remove_partial_avx_dependency): - Check TARGET_USE_VECTOR_FP_CONVERTS and TARGET_USE_VECTOR_CONVERTS - before generating vxorps. - -2021-09-17 H.J. Lu - - * config/i386/i386-options.c (processor_cost_table): Use - tremont_cost for Tremont. - * config/i386/x86-tune-costs.h (tremont_memcpy): New. - (tremont_memset): Likewise. - (tremont_cost): Likewise. - * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): - Enable for Tremont. - -2021-09-17 H.J. Lu - - * common/config/i386/i386-common.c: Use Haswell scheduling model - for Tremont. - * config/i386/i386.c (ix86_sched_init_global): Prepare for Tremont - scheduling pass. - * config/i386/x86-tune-sched.c (ix86_issue_rate): Change Tremont - issue rate to 4. - (ix86_adjust_cost): Handle Tremont. - * config/i386/x86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): - Enable for Tremont. - (X86_TUNE_USE_LEAVE): Likewise. - (X86_TUNE_PUSH_MEMORY): Likewise. - (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Likewise. - (X86_TUNE_USE_CLTD): Likewise. - (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Likewise. - (X86_TUNE_AVOID_MFENCE): Likewise. - (X86_TUNE_SSE_TYPELESS_STORES): Likewise. - (X86_TUNE_SSE_LOAD0_BY_PXOR): Likewise. - (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Disable for Tremont. - (X86_TUNE_FOUR_JUMP_LIMIT): Likewise. - (X86_TUNE_OPT_AGU): Likewise. - (X86_TUNE_AVOID_LEA_FOR_ADDR): Likewise. - (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE): Likewise. - (X86_TUNE_EXPAND_ABS): Likewise. - (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS): Likewise. - (X86_TUNE_SLOW_PSHUFB): Likewise. - -2021-09-17 Eric Botcazou - - PR rtl-optimization/102306 - * combine.c (try_combine): Abort the combination if we are about to - duplicate volatile references. - -2021-09-17 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_undefined_ph): - New intrinsic. - (_mm256_undefined_ph): Likewise. - (_mm512_undefined_ph): Likewise. - (_mm_cvtsh_h): Likewise. - (_mm256_cvtsh_h): Likewise. - (_mm512_cvtsh_h): Likewise. - (_mm512_castph_ps): Likewise. - (_mm512_castph_pd): Likewise. - (_mm512_castph_si512): Likewise. - (_mm512_castph512_ph128): Likewise. - (_mm512_castph512_ph256): Likewise. - (_mm512_castph128_ph512): Likewise. - (_mm512_castph256_ph512): Likewise. - (_mm512_zextph128_ph512): Likewise. - (_mm512_zextph256_ph512): Likewise. - (_mm512_castps_ph): Likewise. - (_mm512_castpd_ph): Likewise. - (_mm512_castsi512_ph): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_castph_ps): - New intrinsic. - (_mm256_castph_ps): Likewise. - (_mm_castph_pd): Likewise. - (_mm256_castph_pd): Likewise. - (_mm_castph_si128): Likewise. - (_mm256_castph_si256): Likewise. - (_mm_castps_ph): Likewise. - (_mm256_castps_ph): Likewise. - (_mm_castpd_ph): Likewise. - (_mm256_castpd_ph): Likewise. - (_mm_castsi128_ph): Likewise. - (_mm256_castsi256_ph): Likewise. - (_mm256_castph256_ph128): Likewise. - (_mm256_castph128_ph256): Likewise. - (_mm256_zextph128_ph256): Likewise. - -2021-09-17 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_cvtsh_ss): - New intrinsic. - (_mm_mask_cvtsh_ss): Likewise. - (_mm_maskz_cvtsh_ss): Likewise. - (_mm_cvtsh_sd): Likewise. - (_mm_mask_cvtsh_sd): Likewise. - (_mm_maskz_cvtsh_sd): Likewise. - (_mm_cvt_roundsh_ss): Likewise. - (_mm_mask_cvt_roundsh_ss): Likewise. - (_mm_maskz_cvt_roundsh_ss): Likewise. - (_mm_cvt_roundsh_sd): Likewise. - (_mm_mask_cvt_roundsh_sd): Likewise. - (_mm_maskz_cvt_roundsh_sd): Likewise. - (_mm_cvtss_sh): Likewise. - (_mm_mask_cvtss_sh): Likewise. - (_mm_maskz_cvtss_sh): Likewise. - (_mm_cvtsd_sh): Likewise. - (_mm_mask_cvtsd_sh): Likewise. - (_mm_maskz_cvtsd_sh): Likewise. - (_mm_cvt_roundss_sh): Likewise. - (_mm_mask_cvt_roundss_sh): Likewise. - (_mm_maskz_cvt_roundss_sh): Likewise. - (_mm_cvt_roundsd_sh): Likewise. - (_mm_mask_cvt_roundsd_sh): Likewise. - (_mm_maskz_cvt_roundsd_sh): Likewise. - * config/i386/i386-builtin-types.def - (V8HF_FTYPE_V2DF_V8HF_V8HF_UQI_INT, - V8HF_FTYPE_V4SF_V8HF_V8HF_UQI_INT, - V2DF_FTYPE_V8HF_V2DF_V2DF_UQI_INT, - V4SF_FTYPE_V8HF_V4SF_V4SF_UQI_INT): Add new builtin types. - * config/i386/i386-builtin.def: Add corrresponding new builtins. - * config/i386/i386-expand.c: Handle new builtin types. - * config/i386/sse.md (VF48_128): New mode iterator. - (avx512fp16_vcvtsh2): - New. - (avx512fp16_vcvt2sh): - Ditto. - -2021-09-17 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_cvtph_pd): - New intrinsic. - (_mm512_mask_cvtph_pd): Likewise. - (_mm512_maskz_cvtph_pd): Likewise. - (_mm512_cvt_roundph_pd): Likewise. - (_mm512_mask_cvt_roundph_pd): Likewise. - (_mm512_maskz_cvt_roundph_pd): Likewise. - (_mm512_cvtxph_ps): Likewise. - (_mm512_mask_cvtxph_ps): Likewise. - (_mm512_maskz_cvtxph_ps): Likewise. - (_mm512_cvtx_roundph_ps): Likewise. - (_mm512_mask_cvtx_roundph_ps): Likewise. - (_mm512_maskz_cvtx_roundph_ps): Likewise. - (_mm512_cvtxps_ph): Likewise. - (_mm512_mask_cvtxps_ph): Likewise. - (_mm512_maskz_cvtxps_ph): Likewise. - (_mm512_cvtx_roundps_ph): Likewise. - (_mm512_mask_cvtx_roundps_ph): Likewise. - (_mm512_maskz_cvtx_roundps_ph): Likewise. - (_mm512_cvtpd_ph): Likewise. - (_mm512_mask_cvtpd_ph): Likewise. - (_mm512_maskz_cvtpd_ph): Likewise. - (_mm512_cvt_roundpd_ph): Likewise. - (_mm512_mask_cvt_roundpd_ph): Likewise. - (_mm512_maskz_cvt_roundpd_ph): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_cvtph_pd): - New intrinsic. - (_mm_mask_cvtph_pd): Likewise. - (_mm_maskz_cvtph_pd): Likewise. - (_mm256_cvtph_pd): Likewise. - (_mm256_mask_cvtph_pd): Likewise. - (_mm256_maskz_cvtph_pd): Likewise. - (_mm_cvtxph_ps): Likewise. - (_mm_mask_cvtxph_ps): Likewise. - (_mm_maskz_cvtxph_ps): Likewise. - (_mm256_cvtxph_ps): Likewise. - (_mm256_mask_cvtxph_ps): Likewise. - (_mm256_maskz_cvtxph_ps): Likewise. - (_mm_cvtxps_ph): Likewise. - (_mm_mask_cvtxps_ph): Likewise. - (_mm_maskz_cvtxps_ph): Likewise. - (_mm256_cvtxps_ph): Likewise. - (_mm256_mask_cvtxps_ph): Likewise. - (_mm256_maskz_cvtxps_ph): Likewise. - (_mm_cvtpd_ph): Likewise. - (_mm_mask_cvtpd_ph): Likewise. - (_mm_maskz_cvtpd_ph): Likewise. - (_mm256_cvtpd_ph): Likewise. - (_mm256_mask_cvtpd_ph): Likewise. - (_mm256_maskz_cvtpd_ph): Likewise. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-expand.c: Handle new builtin types. - * config/i386/sse.md - (VF4_128_8_256): New. - (VF48H_AVX512VL): Ditto. - (ssePHmode): Add HF vector modes. - (castmode): Add new convertable modes. - (qq2phsuff): Ditto. - (ph2pssuffix): New. - (avx512fp16_vcvt2ph_): Ditto. - (avx512fp16_vcvt2ph_): Ditto. - (*avx512fp16_vcvt2ph_): Ditto. - (avx512fp16_vcvt2ph__mask): Ditto. - (*avx512fp16_vcvt2ph__mask): Ditto. - (*avx512fp16_vcvt2ph__mask_1): Ditto. - (avx512fp16_float_extend_ph2): - Ditto. - (avx512fp16_float_extend_ph2): Ditto. - (*avx512fp16_float_extend_ph2_load): Ditto. - (avx512fp16_float_extend_phv2df2): Ditto. - (*avx512fp16_float_extend_phv2df2_load): Ditto. - -2021-09-17 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_cvttsh_i32): - New intrinsic. - (_mm_cvttsh_u32): Likewise. - (_mm_cvtt_roundsh_i32): Likewise. - (_mm_cvtt_roundsh_u32): Likewise. - (_mm_cvttsh_i64): Likewise. - (_mm_cvttsh_u64): Likewise. - (_mm_cvtt_roundsh_i64): Likewise. - (_mm_cvtt_roundsh_u64): Likewise. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/sse.md - (avx512fp16_fix_trunc2): - New. - -2021-09-17 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_cvttph_epi32): - New intrinsic. - (_mm512_mask_cvttph_epi32): Likewise. - (_mm512_maskz_cvttph_epi32): Likewise. - (_mm512_cvtt_roundph_epi32): Likewise. - (_mm512_mask_cvtt_roundph_epi32): Likewise. - (_mm512_maskz_cvtt_roundph_epi32): Likewise. - (_mm512_cvttph_epu32): Likewise. - (_mm512_mask_cvttph_epu32): Likewise. - (_mm512_maskz_cvttph_epu32): Likewise. - (_mm512_cvtt_roundph_epu32): Likewise. - (_mm512_mask_cvtt_roundph_epu32): Likewise. - (_mm512_maskz_cvtt_roundph_epu32): Likewise. - (_mm512_cvttph_epi64): Likewise. - (_mm512_mask_cvttph_epi64): Likewise. - (_mm512_maskz_cvttph_epi64): Likewise. - (_mm512_cvtt_roundph_epi64): Likewise. - (_mm512_mask_cvtt_roundph_epi64): Likewise. - (_mm512_maskz_cvtt_roundph_epi64): Likewise. - (_mm512_cvttph_epu64): Likewise. - (_mm512_mask_cvttph_epu64): Likewise. - (_mm512_maskz_cvttph_epu64): Likewise. - (_mm512_cvtt_roundph_epu64): Likewise. - (_mm512_mask_cvtt_roundph_epu64): Likewise. - (_mm512_maskz_cvtt_roundph_epu64): Likewise. - (_mm512_cvttph_epi16): Likewise. - (_mm512_mask_cvttph_epi16): Likewise. - (_mm512_maskz_cvttph_epi16): Likewise. - (_mm512_cvtt_roundph_epi16): Likewise. - (_mm512_mask_cvtt_roundph_epi16): Likewise. - (_mm512_maskz_cvtt_roundph_epi16): Likewise. - (_mm512_cvttph_epu16): Likewise. - (_mm512_mask_cvttph_epu16): Likewise. - (_mm512_maskz_cvttph_epu16): Likewise. - (_mm512_cvtt_roundph_epu16): Likewise. - (_mm512_mask_cvtt_roundph_epu16): Likewise. - (_mm512_maskz_cvtt_roundph_epu16): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_cvttph_epi32): - New intirnsic. - (_mm_mask_cvttph_epi32): Likewise. - (_mm_maskz_cvttph_epi32): Likewise. - (_mm256_cvttph_epi32): Likewise. - (_mm256_mask_cvttph_epi32): Likewise. - (_mm256_maskz_cvttph_epi32): Likewise. - (_mm_cvttph_epu32): Likewise. - (_mm_mask_cvttph_epu32): Likewise. - (_mm_maskz_cvttph_epu32): Likewise. - (_mm256_cvttph_epu32): Likewise. - (_mm256_mask_cvttph_epu32): Likewise. - (_mm256_maskz_cvttph_epu32): Likewise. - (_mm_cvttph_epi64): Likewise. - (_mm_mask_cvttph_epi64): Likewise. - (_mm_maskz_cvttph_epi64): Likewise. - (_mm256_cvttph_epi64): Likewise. - (_mm256_mask_cvttph_epi64): Likewise. - (_mm256_maskz_cvttph_epi64): Likewise. - (_mm_cvttph_epu64): Likewise. - (_mm_mask_cvttph_epu64): Likewise. - (_mm_maskz_cvttph_epu64): Likewise. - (_mm256_cvttph_epu64): Likewise. - (_mm256_mask_cvttph_epu64): Likewise. - (_mm256_maskz_cvttph_epu64): Likewise. - (_mm_cvttph_epi16): Likewise. - (_mm_mask_cvttph_epi16): Likewise. - (_mm_maskz_cvttph_epi16): Likewise. - (_mm256_cvttph_epi16): Likewise. - (_mm256_mask_cvttph_epi16): Likewise. - (_mm256_maskz_cvttph_epi16): Likewise. - (_mm_cvttph_epu16): Likewise. - (_mm_mask_cvttph_epu16): Likewise. - (_mm_maskz_cvttph_epu16): Likewise. - (_mm256_cvttph_epu16): Likewise. - (_mm256_mask_cvttph_epu16): Likewise. - (_mm256_maskz_cvttph_epu16): Likewise. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/sse.md - (avx512fp16_fix_trunc2): - New. - (avx512fp16_fix_trunc2): Ditto. - (*avx512fp16_fix_trunc2_load): Ditto. - (avx512fp16_fix_truncv2di2): Ditto. - (avx512fp16_fix_truncv2di2_load): Ditto. - -2021-09-17 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_cvtsh_i32): New intrinsic. - (_mm_cvtsh_u32): Likewise. - (_mm_cvt_roundsh_i32): Likewise. - (_mm_cvt_roundsh_u32): Likewise. - (_mm_cvtsh_i64): Likewise. - (_mm_cvtsh_u64): Likewise. - (_mm_cvt_roundsh_i64): Likewise. - (_mm_cvt_roundsh_u64): Likewise. - (_mm_cvti32_sh): Likewise. - (_mm_cvtu32_sh): Likewise. - (_mm_cvt_roundi32_sh): Likewise. - (_mm_cvt_roundu32_sh): Likewise. - (_mm_cvti64_sh): Likewise. - (_mm_cvtu64_sh): Likewise. - (_mm_cvt_roundi64_sh): Likewise. - (_mm_cvt_roundu64_sh): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c (ix86_expand_round_builtin): - Handle new builtin types. - * config/i386/sse.md - (avx512fp16_vcvtsh2si): - New define_insn. - (avx512fp16_vcvtsh2si_2): Likewise. - (avx512fp16_vcvtsi2sh): Likewise. - -2021-09-16 Bill Schmidt - - * config/rs6000/rs6000-c.c (rs6000-builtins.h): New include. - (altivec_resolve_new_overloaded_builtin): New forward decl. - (rs6000_new_builtin_type_compatible): New function. - (altivec_resolve_overloaded_builtin): Call - altivec_resolve_new_overloaded_builtin. - (altivec_build_new_resolved_builtin): New function. - (altivec_resolve_new_overloaded_builtin): Likewise. - * config/rs6000/rs6000-call.c (rs6000_new_builtin_is_supported): - Likewise. - * config/rs6000/rs6000-gen-builtins.c (write_decls): Remove _p from - name of rs6000_new_builtin_is_supported. - -2021-09-16 Uroš Bizjak - - * config/i386/i386-protos.h (ix86_decompose_address): - Change return type to bool. - * config/i386/i386.c (ix86_decompose_address): Ditto. - -2021-09-16 Tobias Burnus - - PR target/102353 - * config/rs6000/t-rs6000 (build/rs6000-gen-builtins.o, build/rbtree.o): - Added 'build/' to target, use build/%.o rule. - (build/rs6000-gen-builtins$(build_exeext)): Add 'build/' and - '$(build_exeext)' to target and 'build/' for the *.o files. - (rs6000-builtins.c): Update for those changes; run rs6000-gen-builtins - with $(RUN_GEN). - -2021-09-16 Martin Jambor - - * cgraph.c (cgraph_node::dump): Do not check caller count sums if - the body has been removed. Remove trailing whitespace. - -2021-09-16 Richard Biener - - PR middle-end/102360 - * internal-fn.c (expand_DEFERRED_INIT): Make pattern-init - of non-memory more robust. - -2021-09-16 Daniel Cederman - - * config/sparc/sparc-opts.h (enum sparc_processor_type): Add LEON5 - * config/sparc/sparc.c (struct processor_costs): Add LEON5 costs - (leon5_adjust_cost): Increase cost of store with data dependency - on ALU instruction and FPU anti-dependencies. - (sparc_option_override): Add LEON5 costs - (sparc_adjust_cost): Add LEON5 cost adjustments - * config/sparc/sparc.h: Add LEON5 - * config/sparc/sparc.md: Include LEON5 scheduling information - * config/sparc/sparc.opt: Add LEON5 - * doc/invoke.texi: Add LEON5 - * config/sparc/leon5.md: New file. - -2021-09-16 Daniel Cederman - - * config/sparc/sparc.md (stack_protect_set32): Add NOP to prevent - sensitive sequence for B2BST errata workaround. - -2021-09-16 Daniel Cederman - - * config/sparc/sparc.c (sparc_do_work_around_errata): Do not begin - functions with atomic instruction in the UT700 errata workaround. - -2021-09-16 Daniel Cederman - - * config/sparc/sparc.c (next_active_non_empty_insn): New function - that returns next active non empty assembly instruction. - (sparc_do_work_around_errata): Use new function. - -2021-09-16 Daniel Cederman - - * config/sparc/sparc.c (store_insn_p): Add predicate for store - attributes. - (load_insn_p): Add predicate for load attributes. - (sparc_do_work_around_errata): Use new predicates. - -2021-09-16 Andreas Larsson - - * config/sparc/sparc.c (dump_target_flag_bits): Print bit names for - LEON and LEON3. - -2021-09-16 Martin Liska - - * config/mips/netbsd.h: Fix typo in name of a macro. - -2021-09-16 liuhongt - - PR middle-end/102080 - * match.pd: Check mask type when doing cond_op related gimple - simplification. - * tree.c (is_truth_type_for): New function. - * tree.h (is_truth_type_for): New declaration. - -2021-09-16 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_cvtepi32_ph): New - intrinsic. - (_mm512_mask_cvtepi32_ph): Likewise. - (_mm512_maskz_cvtepi32_ph): Likewise. - (_mm512_cvt_roundepi32_ph): Likewise. - (_mm512_mask_cvt_roundepi32_ph): Likewise. - (_mm512_maskz_cvt_roundepi32_ph): Likewise. - (_mm512_cvtepu32_ph): Likewise. - (_mm512_mask_cvtepu32_ph): Likewise. - (_mm512_maskz_cvtepu32_ph): Likewise. - (_mm512_cvt_roundepu32_ph): Likewise. - (_mm512_mask_cvt_roundepu32_ph): Likewise. - (_mm512_maskz_cvt_roundepu32_ph): Likewise. - (_mm512_cvtepi64_ph): Likewise. - (_mm512_mask_cvtepi64_ph): Likewise. - (_mm512_maskz_cvtepi64_ph): Likewise. - (_mm512_cvt_roundepi64_ph): Likewise. - (_mm512_mask_cvt_roundepi64_ph): Likewise. - (_mm512_maskz_cvt_roundepi64_ph): Likewise. - (_mm512_cvtepu64_ph): Likewise. - (_mm512_mask_cvtepu64_ph): Likewise. - (_mm512_maskz_cvtepu64_ph): Likewise. - (_mm512_cvt_roundepu64_ph): Likewise. - (_mm512_mask_cvt_roundepu64_ph): Likewise. - (_mm512_maskz_cvt_roundepu64_ph): Likewise. - (_mm512_cvtepi16_ph): Likewise. - (_mm512_mask_cvtepi16_ph): Likewise. - (_mm512_maskz_cvtepi16_ph): Likewise. - (_mm512_cvt_roundepi16_ph): Likewise. - (_mm512_mask_cvt_roundepi16_ph): Likewise. - (_mm512_maskz_cvt_roundepi16_ph): Likewise. - (_mm512_cvtepu16_ph): Likewise. - (_mm512_mask_cvtepu16_ph): Likewise. - (_mm512_maskz_cvtepu16_ph): Likewise. - (_mm512_cvt_roundepu16_ph): Likewise. - (_mm512_mask_cvt_roundepu16_ph): Likewise. - (_mm512_maskz_cvt_roundepu16_ph): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_cvtepi32_ph): New - intrinsic. - (_mm_mask_cvtepi32_ph): Likewise. - (_mm_maskz_cvtepi32_ph): Likewise. - (_mm256_cvtepi32_ph): Likewise. - (_mm256_mask_cvtepi32_ph): Likewise. - (_mm256_maskz_cvtepi32_ph): Likewise. - (_mm_cvtepu32_ph): Likewise. - (_mm_mask_cvtepu32_ph): Likewise. - (_mm_maskz_cvtepu32_ph): Likewise. - (_mm256_cvtepu32_ph): Likewise. - (_mm256_mask_cvtepu32_ph): Likewise. - (_mm256_maskz_cvtepu32_ph): Likewise. - (_mm_cvtepi64_ph): Likewise. - (_mm_mask_cvtepi64_ph): Likewise. - (_mm_maskz_cvtepi64_ph): Likewise. - (_mm256_cvtepi64_ph): Likewise. - (_mm256_mask_cvtepi64_ph): Likewise. - (_mm256_maskz_cvtepi64_ph): Likewise. - (_mm_cvtepu64_ph): Likewise. - (_mm_mask_cvtepu64_ph): Likewise. - (_mm_maskz_cvtepu64_ph): Likewise. - (_mm256_cvtepu64_ph): Likewise. - (_mm256_mask_cvtepu64_ph): Likewise. - (_mm256_maskz_cvtepu64_ph): Likewise. - (_mm_cvtepi16_ph): Likewise. - (_mm_mask_cvtepi16_ph): Likewise. - (_mm_maskz_cvtepi16_ph): Likewise. - (_mm256_cvtepi16_ph): Likewise. - (_mm256_mask_cvtepi16_ph): Likewise. - (_mm256_maskz_cvtepi16_ph): Likewise. - (_mm_cvtepu16_ph): Likewise. - (_mm_mask_cvtepu16_ph): Likewise. - (_mm_maskz_cvtepu16_ph): Likewise. - (_mm256_cvtepu16_ph): Likewise. - (_mm256_mask_cvtepu16_ph): Likewise. - (_mm256_maskz_cvtepu16_ph): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtin types. - (ix86_expand_round_builtin): Ditto. - * config/i386/i386-modes.def: Declare V2HF and V6HF. - * config/i386/sse.md (VI2H_AVX512VL): New. - (qq2phsuff): Ditto. - (sseintvecmode): Add HF vector modes. - (avx512fp16_vcvt2ph_): - New. - (avx512fp16_vcvt2ph_): Ditto. - (*avx512fp16_vcvt2ph_): Ditto. - (avx512fp16_vcvt2ph__mask): Ditto. - (*avx512fp16_vcvt2ph__mask): Ditto. - (*avx512fp16_vcvt2ph__mask_1): Ditto. - (avx512fp16_vcvtqq2ph_v2di): Ditto. - (*avx512fp16_vcvtqq2ph_v2di): Ditto. - (avx512fp16_vcvtqq2ph_v2di_mask): Ditto. - (*avx512fp16_vcvtqq2ph_v2di_mask): Ditto. - (*avx512fp16_vcvtqq2ph_v2di_mask_1): Ditto. - * config/i386/subst.md (round_qq2phsuff): New subst_attr. - -2021-09-16 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_cvtph_epi32): - New intrinsic/ - (_mm512_mask_cvtph_epi32): Likewise. - (_mm512_maskz_cvtph_epi32): Likewise. - (_mm512_cvt_roundph_epi32): Likewise. - (_mm512_mask_cvt_roundph_epi32): Likewise. - (_mm512_maskz_cvt_roundph_epi32): Likewise. - (_mm512_cvtph_epu32): Likewise. - (_mm512_mask_cvtph_epu32): Likewise. - (_mm512_maskz_cvtph_epu32): Likewise. - (_mm512_cvt_roundph_epu32): Likewise. - (_mm512_mask_cvt_roundph_epu32): Likewise. - (_mm512_maskz_cvt_roundph_epu32): Likewise. - (_mm512_cvtph_epi64): Likewise. - (_mm512_mask_cvtph_epi64): Likewise. - (_mm512_maskz_cvtph_epi64): Likewise. - (_mm512_cvt_roundph_epi64): Likewise. - (_mm512_mask_cvt_roundph_epi64): Likewise. - (_mm512_maskz_cvt_roundph_epi64): Likewise. - (_mm512_cvtph_epu64): Likewise. - (_mm512_mask_cvtph_epu64): Likewise. - (_mm512_maskz_cvtph_epu64): Likewise. - (_mm512_cvt_roundph_epu64): Likewise. - (_mm512_mask_cvt_roundph_epu64): Likewise. - (_mm512_maskz_cvt_roundph_epu64): Likewise. - (_mm512_cvtph_epi16): Likewise. - (_mm512_mask_cvtph_epi16): Likewise. - (_mm512_maskz_cvtph_epi16): Likewise. - (_mm512_cvt_roundph_epi16): Likewise. - (_mm512_mask_cvt_roundph_epi16): Likewise. - (_mm512_maskz_cvt_roundph_epi16): Likewise. - (_mm512_cvtph_epu16): Likewise. - (_mm512_mask_cvtph_epu16): Likewise. - (_mm512_maskz_cvtph_epu16): Likewise. - (_mm512_cvt_roundph_epu16): Likewise. - (_mm512_mask_cvt_roundph_epu16): Likewise. - (_mm512_maskz_cvt_roundph_epu16): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_cvtph_epi32): - New intrinsic. - (_mm_mask_cvtph_epi32): Likewise. - (_mm_maskz_cvtph_epi32): Likewise. - (_mm256_cvtph_epi32): Likewise. - (_mm256_mask_cvtph_epi32): Likewise. - (_mm256_maskz_cvtph_epi32): Likewise. - (_mm_cvtph_epu32): Likewise. - (_mm_mask_cvtph_epu32): Likewise. - (_mm_maskz_cvtph_epu32): Likewise. - (_mm256_cvtph_epu32): Likewise. - (_mm256_mask_cvtph_epu32): Likewise. - (_mm256_maskz_cvtph_epu32): Likewise. - (_mm_cvtph_epi64): Likewise. - (_mm_mask_cvtph_epi64): Likewise. - (_mm_maskz_cvtph_epi64): Likewise. - (_mm256_cvtph_epi64): Likewise. - (_mm256_mask_cvtph_epi64): Likewise. - (_mm256_maskz_cvtph_epi64): Likewise. - (_mm_cvtph_epu64): Likewise. - (_mm_mask_cvtph_epu64): Likewise. - (_mm_maskz_cvtph_epu64): Likewise. - (_mm256_cvtph_epu64): Likewise. - (_mm256_mask_cvtph_epu64): Likewise. - (_mm256_maskz_cvtph_epu64): Likewise. - (_mm_cvtph_epi16): Likewise. - (_mm_mask_cvtph_epi16): Likewise. - (_mm_maskz_cvtph_epi16): Likewise. - (_mm256_cvtph_epi16): Likewise. - (_mm256_mask_cvtph_epi16): Likewise. - (_mm256_maskz_cvtph_epi16): Likewise. - (_mm_cvtph_epu16): Likewise. - (_mm_mask_cvtph_epu16): Likewise. - (_mm_maskz_cvtph_epu16): Likewise. - (_mm256_cvtph_epu16): Likewise. - (_mm256_mask_cvtph_epu16): Likewise. - (_mm256_maskz_cvtph_epu16): Likewise. - * config/i386/i386-builtin-types.def: Add new builtin types. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtin types. - (ix86_expand_round_builtin): Ditto. - * config/i386/sse.md (sseintconvert): New. - (ssePHmode): Ditto. - (UNSPEC_US_FIX_NOTRUNC): Ditto. - (sseintconvertsignprefix): Ditto. - (avx512fp16_vcvtph2_): - Ditto. - -2021-09-16 liuhongt - - * config/i386/avx512fp16intrin.h: (_mm_cvtsi16_si128): - New intrinsic. - (_mm_cvtsi128_si16): Likewise. - (_mm_mask_load_sh): Likewise. - (_mm_maskz_load_sh): Likewise. - (_mm_mask_store_sh): Likewise. - (_mm_move_sh): Likewise. - (_mm_mask_move_sh): Likewise. - (_mm_maskz_move_sh): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_special_args_builtin): Handle new builtin types. - (ix86_expand_vector_init_one_nonzero): Adjust for FP16 target. - * config/i386/sse.md (VI2F): New mode iterator. - (vec_set_0): Use new mode iterator. - (avx512f_mov_mask): Adjust for HF vector mode. - (avx512f_store_mask): Ditto. - -2021-09-16 Kewen Lin - - * config/rs6000/rs6000.opt (-mtoc-fusion): Remove. - -2021-09-15 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_xcoff_encode_section_info): - Proceed if no symbol summary or the symbol alias flag is false. - -2021-09-15 Jakub Jelinek - - PR c++/88578 - PR c++/102295 - * varasm.c (output_constructor_regular_field): Instead of assertion - that array_size_for_constructor result is equal to size of - TREE_TYPE (local->val) in bytes, assert that the type size is greater - or equal to array_size_for_constructor result and use type size as - fieldsize. - -2021-09-15 Martin Liska - - PR target/102351 - * config/i386/vxworks.h: Use new macro TARGET_CPU_P. - -2021-09-15 Martin Liska - - PR target/102349 - * config/rs6000/rs6000.c (rs6000_xcoff_encode_section_info): - Check that we have a symbol summary for a symbol. - -2021-09-15 Richard Biener - - PR target/102348 - * config/rs6000/lynx.h: Remove undef of PREFERRED_DEBUGGING_TYPE - to inherit from elfos.h - -2021-09-15 liuhongt - - PR target/102327 - * config/i386/i386-expand.c - (ix86_expand_vector_init_interleave): Use puncklwd to pack 2 - HFmodes. - (ix86_expand_vector_set): Use blendw instead of pinsrw. - * config/i386/i386.c (ix86_can_change_mode_class): Adjust for - AVX512FP16 which supports 16bit vector load. - * config/i386/sse.md (avx512bw_interleave_highv32hi): - Rename to .. - (avx512bw_interleave_high): .. this, and - extend to V32HFmode. - (avx2_interleave_highv16hi): Rename to .. - (avx2_interleave_high): .. this, and extend - to V16HFmode. - (vec_interleave_highv8hi): Rename to .. - (vec_interleave_high): .. this, and extend to V8HFmode. - (avx512bw_interleave_lowv32hi): - Rename to .. - (avx512bw_interleave_low): - this, and extend to V32HFmode. - (avx2_interleave_lowv16hi): Rename to .. - (avx2_interleave_low): .. this, and extend to V16HFmode. - (vec_interleave_lowv8hi): Rename to .. - (vec_interleave_low): .. this, and extend to V8HFmode. - (sse4_1_pblendw): Rename to .. - (sse4_1_pblend): .. this, and extend to V8HFmode. - (avx2_pblendph): New define_expand. - (_pinsr): Refactor, use - sseintmodesuffix instead of ssemodesuffix. - (blendsuf): New mode attr. - -2021-09-15 Richard Biener - - * tree-vectorizer.h (dr_misalignment): Move out of line. - (dr_target_alignment): New. - (DR_TARGET_ALIGNMENT): Wrap dr_target_alignment. - (set_dr_target_alignment): New. - (SET_DR_TARGET_ALIGNMENT): Wrap set_dr_target_alignment. - * tree-vect-data-refs.c (dr_misalignment): Compute and - return the group members misalignment. - (vect_compute_data_ref_alignment): Use SET_DR_TARGET_ALIGNMENT. - (vect_analyze_data_refs_alignment): Compute alignment only - for the first element of a DR group. - (vect_slp_analyze_node_alignment): Likewise. - -2021-09-15 Hongyu Wang - - * config/i386/avx512fp16intrin.h: Adjust all builtin calls. - * config/i386/avx512fp16vlintrin.h: Likewise. - * config/i386/i386-builtin.def: Adjust builtin name and - enumeration to match AVX512F style. - -2021-09-15 Richard Biener - - PR tree-optimization/102318 - * tree-vect-loop.c (vect_transform_cycle_phi): Revert - previous change and do the mode conversion separately from - the sign conversion. - -2021-09-15 Hongtao Liu - Peter Cordes - - PR target/91103 - * config/i386/sse.md (extract_suf): Add V8SF/V8SI/V4DF/V4DI. - (*vec_extract_valign): Output - vextract{i,f}{32x4,64x2} instruction when byte_offset % 16 == - 0. - -2021-09-15 Richard Biener - - * config.gcc: Remove vax-*-openbsd* configuration. - -2021-09-15 Richard Biener - - * config.gcc: Remove m68k-openbsd. - -2021-09-15 Max Filippov - - PR target/102336 - * config/xtensa/t-xtensa (TM_H): Add include/xtensa-config.h. - -2021-09-14 Peter Bergner - - * config/rs6000/mma.md (unspec): Delete UNSPEC_MMA_XXSETACCZ. - (unspecv): Add UNSPECV_MMA_XXSETACCZ. - (*mma_xxsetaccz): Delete. - (mma_xxsetaccz): Change to define_insn. Remove operand 1. - Use UNSPECV_MMA_XXSETACCZ. Update comment. - * config/rs6000/rs6000.c (rs6000_rtx_costs): Use UNSPECV_MMA_XXSETACCZ. - -2021-09-14 Iain Sandoe - - * Makefile.in: Remove variables related to applying no-PIE - to the exes on $build. - * configure: Regenerate. - * configure.ac: Remove configuration related to applying - no-PIE to the exes on $build. - -2021-09-14 Claudiu Zissulescu - - * config/arc/arc.md (doloop_end): Add missing mode. - (loop_end): Likewise. - -2021-09-14 Jakub Jelinek - - * gimplify.c (goa_stabilize_expr): Add depth argument, propagate - it to recursive calls, for depth above 7 just gimplify or return. - Perform a test even for MODIFY_EXPR, ADDR_EXPR, COMPOUND_EXPR with - __builtin_clear_padding and TARGET_EXPR. - (gimplify_omp_atomic): Adjust goa_stabilize_expr callers. - -2021-09-14 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_fpclass_sh_mask): - New intrinsic. - (_mm_mask_fpclass_sh_mask): Likewise. - (_mm512_mask_fpclass_ph_mask): Likewise. - (_mm512_fpclass_ph_mask): Likewise. - (_mm_getexp_sh): Likewise. - (_mm_mask_getexp_sh): Likewise. - (_mm_maskz_getexp_sh): Likewise. - (_mm512_getexp_ph): Likewise. - (_mm512_mask_getexp_ph): Likewise. - (_mm512_maskz_getexp_ph): Likewise. - (_mm_getexp_round_sh): Likewise. - (_mm_mask_getexp_round_sh): Likewise. - (_mm_maskz_getexp_round_sh): Likewise. - (_mm512_getexp_round_ph): Likewise. - (_mm512_mask_getexp_round_ph): Likewise. - (_mm512_maskz_getexp_round_ph): Likewise. - (_mm_getmant_sh): Likewise. - (_mm_mask_getmant_sh): Likewise. - (_mm_maskz_getmant_sh): Likewise. - (_mm512_getmant_ph): Likewise. - (_mm512_mask_getmant_ph): Likewise. - (_mm512_maskz_getmant_ph): Likewise. - (_mm_getmant_round_sh): Likewise. - (_mm_mask_getmant_round_sh): Likewise. - (_mm_maskz_getmant_round_sh): Likewise. - (_mm512_getmant_round_ph): Likewise. - (_mm512_mask_getmant_round_ph): Likewise. - (_mm512_maskz_getmant_round_ph): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_mask_fpclass_ph_mask): - New intrinsic. - (_mm_fpclass_ph_mask): Likewise. - (_mm256_mask_fpclass_ph_mask): Likewise. - (_mm256_fpclass_ph_mask): Likewise. - (_mm256_getexp_ph): Likewise. - (_mm256_mask_getexp_ph): Likewise. - (_mm256_maskz_getexp_ph): Likewise. - (_mm_getexp_ph): Likewise. - (_mm_mask_getexp_ph): Likewise. - (_mm_maskz_getexp_ph): Likewise. - (_mm256_getmant_ph): Likewise. - (_mm256_mask_getmant_ph): Likewise. - (_mm256_maskz_getmant_ph): Likewise. - (_mm_getmant_ph): Likewise. - (_mm_mask_getmant_ph): Likewise. - (_mm_maskz_getmant_ph): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtin types. - (ix86_expand_round_builtin): Ditto. - * config/i386/sse.md (vecmemsuffix): Add HF vector modes. - (_getexp): Adjust - to support HF vector modes. - (avx512f_sgetexp): Ditto. - (avx512dq_vmfpclass): Ditto. - (_getmant): Ditto. - (avx512f_vgetmant): - Ditto. - -2021-09-14 liuhongt - - * config/i386/avx512fp16intrin.h (_mm512_reduce_ph): - New intrinsic. - (_mm512_mask_reduce_ph): Likewise. - (_mm512_maskz_reduce_ph): Likewise. - (_mm512_reduce_round_ph): Likewise. - (_mm512_mask_reduce_round_ph): Likewise. - (_mm512_maskz_reduce_round_ph): Likewise. - (_mm_reduce_sh): Likewise. - (_mm_mask_reduce_sh): Likewise. - (_mm_maskz_reduce_sh): Likewise. - (_mm_reduce_round_sh): Likewise. - (_mm_mask_reduce_round_sh): Likewise. - (_mm_maskz_reduce_round_sh): Likewise. - (_mm512_roundscale_ph): Likewise. - (_mm512_mask_roundscale_ph): Likewise. - (_mm512_maskz_roundscale_ph): Likewise. - (_mm512_roundscale_round_ph): Likewise. - (_mm512_mask_roundscale_round_ph): Likewise. - (_mm512_maskz_roundscale_round_ph): Likewise. - (_mm_roundscale_sh): Likewise. - (_mm_mask_roundscale_sh): Likewise. - (_mm_maskz_roundscale_sh): Likewise. - (_mm_roundscale_round_sh): Likewise. - (_mm_mask_roundscale_round_sh): Likewise. - (_mm_maskz_roundscale_round_sh): Likewise. - * config/i386/avx512fp16vlintrin.h: (_mm_reduce_ph): - New intrinsic. - (_mm_mask_reduce_ph): Likewise. - (_mm_maskz_reduce_ph): Likewise. - (_mm256_reduce_ph): Likewise. - (_mm256_mask_reduce_ph): Likewise. - (_mm256_maskz_reduce_ph): Likewise. - (_mm_roundscale_ph): Likewise. - (_mm_mask_roundscale_ph): Likewise. - (_mm_maskz_roundscale_ph): Likewise. - (_mm256_roundscale_ph): Likewise. - (_mm256_mask_roundscale_ph): Likewise. - (_mm256_maskz_roundscale_ph): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtin types. - (ix86_expand_round_builtin): Ditto. - * config/i386/sse.md (reducep): - Renamed to ... - (reducep): - ... this, and adjust for round operands. - (reduces): Likewise, with ... - (reduces_rndscale): - Adjust for HF vector modes. - (avx512f_rndscale): - Ditto. - (*avx512f_rndscale): Ditto. - -2021-09-14 liuhongt - - * config/i386/avx512fp16intrin.h: (_mm512_rcp_ph): - New intrinsic. - (_mm512_mask_rcp_ph): Likewise. - (_mm512_maskz_rcp_ph): Likewise. - (_mm_rcp_sh): Likewise. - (_mm_mask_rcp_sh): Likewise. - (_mm_maskz_rcp_sh): Likewise. - (_mm512_scalef_ph): Likewise. - (_mm512_mask_scalef_ph): Likewise. - (_mm512_maskz_scalef_ph): Likewise. - (_mm512_scalef_round_ph): Likewise. - (_mm512_mask_scalef_round_ph): Likewise. - (_mm512_maskz_scalef_round_ph): Likewise. - (_mm_scalef_sh): Likewise. - (_mm_mask_scalef_sh): Likewise. - (_mm_maskz_scalef_sh): Likewise. - (_mm_scalef_round_sh): Likewise. - (_mm_mask_scalef_round_sh): Likewise. - (_mm_maskz_scalef_round_sh): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_rcp_ph): - New intrinsic. - (_mm256_rcp_ph): Likewise. - (_mm_mask_rcp_ph): Likewise. - (_mm256_mask_rcp_ph): Likewise. - (_mm_maskz_rcp_ph): Likewise. - (_mm256_maskz_rcp_ph): Likewise. - (_mm_scalef_ph): Likewise. - (_mm256_scalef_ph): Likewise. - (_mm_mask_scalef_ph): Likewise. - (_mm256_mask_scalef_ph): Likewise. - (_mm_maskz_scalef_ph): Likewise. - (_mm256_maskz_scalef_ph): Likewise. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/sse.md (VFH_AVX512VL): New. - (avx512fp16_rcp2): Ditto. - (avx512fp16_vmrcpv8hf2): Ditto. - (avx512f_vmscalef): - Adjust to support HF vector modes. - (_scalef): Ditto. - -2021-09-14 liuhongt - - * config/i386/avx512fp16intrin.h: (_mm512_sqrt_ph): - New intrinsic. - (_mm512_mask_sqrt_ph): Likewise. - (_mm512_maskz_sqrt_ph): Likewise. - (_mm512_sqrt_round_ph): Likewise. - (_mm512_mask_sqrt_round_ph): Likewise. - (_mm512_maskz_sqrt_round_ph): Likewise. - (_mm512_rsqrt_ph): Likewise. - (_mm512_mask_rsqrt_ph): Likewise. - (_mm512_maskz_rsqrt_ph): Likewise. - (_mm_rsqrt_sh): Likewise. - (_mm_mask_rsqrt_sh): Likewise. - (_mm_maskz_rsqrt_sh): Likewise. - (_mm_sqrt_sh): Likewise. - (_mm_mask_sqrt_sh): Likewise. - (_mm_maskz_sqrt_sh): Likewise. - (_mm_sqrt_round_sh): Likewise. - (_mm_mask_sqrt_round_sh): Likewise. - (_mm_maskz_sqrt_round_sh): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_sqrt_ph): New intrinsic. - (_mm256_sqrt_ph): Likewise. - (_mm_mask_sqrt_ph): Likewise. - (_mm256_mask_sqrt_ph): Likewise. - (_mm_maskz_sqrt_ph): Likewise. - (_mm256_maskz_sqrt_ph): Likewise. - (_mm_rsqrt_ph): Likewise. - (_mm256_rsqrt_ph): Likewise. - (_mm_mask_rsqrt_ph): Likewise. - (_mm256_mask_rsqrt_ph): Likewise. - (_mm_maskz_rsqrt_ph): Likewise. - (_mm256_maskz_rsqrt_ph): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtins. - (ix86_expand_round_builtin): Ditto. - * config/i386/sse.md (VF_AVX512FP16VL): New. - (sqrt2): Adjust for HF vector modes. - (_sqrt2): Likewise. - (_vmsqrt2): - Likewise. - (_rsqrt2): New. - (avx512fp16_vmrsqrtv8hf2): Likewise. - -2021-09-13 Thomas Schwinge - - PR bootstrap/101574 - * diagnostic-spec.c (warning_suppressed_at, copy_warning): Handle - 'RESERVED_LOCATION_P' locations. - * warning-control.cc (get_nowarn_spec, suppress_warning) - (copy_warning): Likewise. - -2021-09-13 Thomas Schwinge - - * diagnostic-spec.h (typedef xint_hash_t): Use 'location_t' instead of... - (typedef key_type_t): ... this. Remove. - (nowarn_map): Document. - * diagnostic-spec.c (nowarn_map): Likewise. - * warning-control.cc (convert_to_key): Evolve functions into... - (get_location): ... these. Adjust all users. - -2021-09-13 Thomas Schwinge - - * warning-control.cc (copy_warning): Remove 'nowarn_map' setup. - -2021-09-13 Jason Merrill - - * params.opt: Add destructive-interference-size and - constructive-interference-size. - * doc/invoke.texi: Document them. - * config/aarch64/aarch64.c (aarch64_override_options_internal): - Set them. - * config/arm/arm.c (arm_option_override): Set them. - * config/i386/i386-options.c (ix86_option_override_internal): - Set them. - -2021-09-13 Martin Liska - H.J. Lu - - PR target/101696 - * common/config/i386/cpuinfo.h (cpu_indicator_init): Add support - for x86-64 micro levels for __builtin_cpu_supports. - * common/config/i386/i386-cpuinfo.h (enum feature_priority): - Add priorities for the micro-arch levels. - (enum processor_features): Add new features. - * common/config/i386/i386-isas.h: Add micro-arch features. - * config/i386/i386-builtins.c (get_builtin_code_for_version): - Support the micro-arch levels by callsing - __builtin_cpu_supports. - * doc/extend.texi: Document that the levels are support by - __builtin_cpu_supports. - -2021-09-13 Andrew Pinski - - PR target/95969 - * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin_lane_check): - New function. - (aarch64_general_fold_builtin): Handle AARCH64_SIMD_BUILTIN_LANE_CHECK. - (aarch64_general_gimple_fold_builtin): Likewise. - -2021-09-13 Andrew Pinski - - * config.gcc: Add m32r-*-linux* and m32rle-*-linux* - to the Unsupported targets list. - Remove support for m32r-*-linux* and m32rle-*-linux*. - * config/m32r/linux.h: Removed. - * config/m32r/t-linux: Removed. - -2021-09-13 Kyrylo Tkachov - - PR target/102252 - * config/aarch64/aarch64.c (aarch64_classify_address): Don't allow - register index for SVE predicate modes. - -2021-09-13 Aldy Hernandez - - * tree-ssa-threadbackward.c - (back_threader_profitability::profitable_path_p): Remove FSM - references. - (back_threader_registry::register_path): Same. - * tree-ssa-threadedge.c - (jump_threader::simplify_control_stmt_condition): Same. - * tree-ssa-threadupdate.c (jt_path_registry::jt_path_registry): - Add backedge_threads argument. - (fwd_jt_path_registry::fwd_jt_path_registry): Pass - backedge_threads argument. - (back_jt_path_registry::back_jt_path_registry): Same. - (dump_jump_thread_path): Adjust for FSM removal. - (back_jt_path_registry::rewire_first_differing_edge): Same. - (back_jt_path_registry::adjust_paths_after_duplication): Same. - (back_jt_path_registry::update_cfg): Same. - (jt_path_registry::register_jump_thread): Same. - * tree-ssa-threadupdate.h (enum jump_thread_edge_type): Remove - EDGE_FSM_THREAD. - (class back_jt_path_registry): Add backedge_threads to - constructor. - -2021-09-13 Martin Liska - - PR c++/101331 - * asan.h (sanitize_coverage_p): Handle when fn == NULL. - -2021-09-13 H.J. Lu - - PR target/101935 - * config/i386/i386.h (TARGET_AVX256_MOVE_BY_PIECES): New. - (TARGET_AVX256_STORE_BY_PIECES): Likewise. - (MOVE_MAX): Check TARGET_AVX256_MOVE_BY_PIECES and - TARGET_AVX256_STORE_BY_PIECES instead of - TARGET_AVX256_SPLIT_UNALIGNED_LOAD and - TARGET_AVX256_SPLIT_UNALIGNED_STORE. - (STORE_MAX_PIECES): Check TARGET_AVX256_STORE_BY_PIECES instead - of TARGET_AVX256_SPLIT_UNALIGNED_STORE. - * config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES): New. - (X86_TUNE_AVX256_STORE_BY_PIECES): Likewise. - -2021-09-13 liuhongt - - PR bootstrap/102302 - * expmed.c (extract_bit_field_using_extv): Use - gen_lowpart_if_possible instead of gen_lowpart to avoid ICE. - -2021-09-13 Aldy Hernandez - - * Makefile.in (OBJS): Add value-pointer-equiv.o. - * gimple-ssa-evrp.c (class ssa_equiv_stack): Move to - value-pointer-equiv.*. - (ssa_equiv_stack::ssa_equiv_stack): Same. - (ssa_equiv_stack::enter): Same. - (ssa_equiv_stack::leave): Same. - (ssa_equiv_stack::push_replacement): Same. - (ssa_equiv_stack::get_replacement): Same. - (is_pointer_ssa): Same. - (class pointer_equiv_analyzer): Same. - (pointer_equiv_analyzer::pointer_equiv_analyzer): Same. - (pointer_equiv_analyzer::~pointer_equiv_analyzer): Same. - (pointer_equiv_analyzer::set_global_equiv): Same. - (pointer_equiv_analyzer::set_cond_equiv): Same. - (pointer_equiv_analyzer::get_equiv): Same. - (pointer_equiv_analyzer::enter): Same. - (pointer_equiv_analyzer::leave): Same. - (pointer_equiv_analyzer::get_equiv_expr): Same. - (pta_valueize): Same. - (pointer_equiv_analyzer::visit_stmt): Same. - (pointer_equiv_analyzer::visit_edge): Same. - (hybrid_folder::value_of_expr): Same. - (hybrid_folder::value_on_edge): Same. - * value-pointer-equiv.cc: New file. - * value-pointer-equiv.h: New file. - -2021-09-13 Richard Earnshaw - - PR target/102125 - * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding - memcpy if the size is not more than MOVE_MAX * MOVE_RATIO. - -2021-09-13 Richard Earnshaw - - PR target/102125 - * config/arm/arm.md (movmisaligndi): New define_expand. - * config/arm/vec-common.md (movmisalign): Iterate over VDQ mode. - -2021-09-13 Richard Earnshaw - - PR target/102125 - * emit-rtl.c (gen_highpart): Use adjust_address to handle - MEM rather than calling simplify_gen_subreg. - -2021-09-13 Jan-Benedict Glaw - - * config/alpha/vms.h (INIT_CUMULATIVE_ARGS): Wrap multi-statment - define into a block. - -2021-09-13 Richard Biener - - * config/darwin.h (DARWIN_PREFER_DWARF): Do not define. - * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Do not - change based on DARWIN_PREFER_DWARF not being defined. - -2021-09-13 Richard Biener - - * config/i386/lynx.h: Remove undef of PREFERRED_DEBUGGING_TYPE - to inherit from elfos.h - -2021-09-13 Richard Biener - - * config.gcc: Add cr16-*-* to the list of obsoleted targets. - -2021-09-13 Richard Biener - - * config/avr/elf.h (PREFERRED_DEBUGGING_TYPE): Remove - override, pick up DWARF2_DEBUG define from elfos.h - -2021-09-13 Richard Biener - - * config/rx/rx.h (PREFERRED_DEBUGGING_TYPE): Always define to - DWARF2_DEBUG. - -2021-09-13 Richard Biener - - * config/alpha/vms.h (PREFERRED_DEBUGGING_TYPE): Define to - DWARF2_DEBUG. - -2021-09-13 Richard Biener - - * config/i386/cygming.h: Always default to DWARF2 debugging. - Do not define DBX_DEBUGGING_INFO, that's done via dbxcoff.h - already. - * doc/install.texi: Document binutils 2.16 as minimum - requirement for mingw. - -2021-09-13 Kewen Lin - - * config/rs6000/rs6000.c (struct rs6000_cost_data): New members - nstmts, nloads and extra_ctor_cost. - (rs6000_density_test): Add load density related heuristics. Do - extra costing on vector construction statements if need. - (rs6000_init_cost): Init new members. - (rs6000_update_target_cost_per_stmt): New function. - (rs6000_add_stmt_cost): Factor vect_nonmem hunk out to function - rs6000_update_target_cost_per_stmt and call it. - -2021-09-13 Kewen Lin - - * config/rs6000/rs6000.c (struct rs6000_cost_data): Remove typedef. - (rs6000_init_cost): Adjust. - -2021-09-13 liuhongt - - * config/i386/i386.md: (UNSPEC_COPYSIGN): Remove. - (UNSPEC_XORSIGN): Ditto. - -2021-09-12 Roger Sayle - - * expr.c (convert_move): Preserve SUBREG_PROMOTED_VAR_P when - creating a (wider) partial subreg from a SUBREG_PROMOTED_VAR_P - subreg. - -2021-09-11 Aldy Hernandez - - * tree-ssa-threadbackward.c (class back_threader_registry): Use - back_jt_path_registry. - * tree-ssa-threadedge.c (jump_threader::jump_threader): Use - fwd_jt_path_registry. - * tree-ssa-threadedge.h (class jump_threader): Same.. - * tree-ssa-threadupdate.c - (jump_thread_path_registry::jump_thread_path_registry): Rename... - (jt_path_registry::jt_path_registry): ...to this. - (jump_thread_path_registry::~jump_thread_path_registry): Rename... - (jt_path_registry::~jt_path_registry): ...this. - (fwd_jt_path_registry::fwd_jt_path_registry): New. - (fwd_jt_path_registry::~fwd_jt_path_registry): New. - (jump_thread_path_registry::allocate_thread_edge): Rename... - (jt_path_registry::allocate_thread_edge): ...to this. - (jump_thread_path_registry::allocate_thread_path): Rename... - (jt_path_registry::allocate_thread_path): ...to this. - (jump_thread_path_registry::lookup_redirection_data): Rename... - (fwd_jt_path_registry::lookup_redirection_data): ...to this. - (jump_thread_path_registry::thread_block_1): Rename... - (fwd_jt_path_registry::thread_block_1): ...to this. - (jump_thread_path_registry::thread_block): Rename... - (fwd_jt_path_registry::thread_block): ...to this. - (jt_path_registry::thread_through_loop_header): Rename... - (fwd_jt_path_registry::thread_through_loop_header): ...to this. - (jump_thread_path_registry::mark_threaded_blocks): Rename... - (fwd_jt_path_registry::mark_threaded_blocks): ...to this. - (jump_thread_path_registry::debug_path): Rename... - (jt_path_registry::debug_path): ...to this. - (jump_thread_path_registry::dump): Rename... - (jt_path_registry::debug): ...to this. - (jump_thread_path_registry::rewire_first_differing_edge): Rename... - (back_jt_path_registry::rewire_first_differing_edge): ...to this. - (jump_thread_path_registry::adjust_paths_after_duplication): Rename... - (back_jt_path_registry::adjust_paths_after_duplication): ...to this. - (jump_thread_path_registry::duplicate_thread_path): Rename... - (back_jt_path_registry::duplicate_thread_path): ...to this. Also, - drop ill-formed candidates. - (jump_thread_path_registry::remove_jump_threads_including): Rename... - (fwd_jt_path_registry::remove_jump_threads_including): ...to this. - (jt_path_registry::thread_through_all_blocks): New. - (back_jt_path_registry::update_cfg): New. - (fwd_jt_path_registry::update_cfg): New. - (jump_thread_path_registry::register_jump_thread): Rename... - (jt_path_registry::register_jump_thread): ...to this. - * tree-ssa-threadupdate.h (class jump_thread_path_registry): - Abstract to... - (class jt_path_registry): ...here. - (class fwd_jt_path_registry): New. - (class back_jt_path_registry): New. - -2021-09-10 liuhongt - - Revert: - 2021-09-01 liuhongt - - * emit-rtl.c (validate_subreg): Get rid of all float-int - special cases. - -2021-09-10 Jakub Jelinek - - * tree-core.h (enum omp_memory_order): Add OMP_MEMORY_ORDER_MASK, - OMP_FAIL_MEMORY_ORDER_UNSPECIFIED, OMP_FAIL_MEMORY_ORDER_RELAXED, - OMP_FAIL_MEMORY_ORDER_ACQUIRE, OMP_FAIL_MEMORY_ORDER_RELEASE, - OMP_FAIL_MEMORY_ORDER_ACQ_REL, OMP_FAIL_MEMORY_ORDER_SEQ_CST and - OMP_FAIL_MEMORY_ORDER_MASK enumerators. - (OMP_FAIL_MEMORY_ORDER_SHIFT): Define. - * gimple-pretty-print.c (dump_gimple_omp_atomic_load, - dump_gimple_omp_atomic_store): Print [weak] for weak atomic - load/store. - * gimple.h (enum gf_mask): Change GF_OMP_ATOMIC_MEMORY_ORDER - to 6-bit mask, adjust GF_OMP_ATOMIC_NEED_VALUE value and add - GF_OMP_ATOMIC_WEAK. - (gimple_omp_atomic_weak_p, gimple_omp_atomic_set_weak): New inline - functions. - * tree.h (OMP_ATOMIC_WEAK): Define. - * tree-pretty-print.c (dump_omp_atomic_memory_order): Adjust for - fail memory order being encoded in the same enum and also print - fail clause if present. - (dump_generic_node): Print weak clause if OMP_ATOMIC_WEAK. - * gimplify.c (goa_stabilize_expr): Add target_expr and rhs arguments, - handle pre_p == NULL case as a test mode that only returns value - but doesn't change gimplify nor change anything otherwise, adjust - recursive calls, add MODIFY_EXPR, ADDR_EXPR, COND_EXPR, TARGET_EXPR - and CALL_EXPR handling, adjust COMPOUND_EXPR handling for - __builtin_clear_padding calls, for !rhs gimplify as lvalue rather - than rvalue. - (gimplify_omp_atomic): Adjust goa_stabilize_expr caller. Handle - COND_EXPR rhs. Set weak flag on gimple load/store for - OMP_ATOMIC_WEAK. - * omp-expand.c (omp_memory_order_to_fail_memmodel): New function. - (omp_memory_order_to_memmodel): Adjust for fail clause encoded - in the same enum. - (expand_omp_atomic_cas): New function. - (expand_omp_atomic_pipeline): Use omp_memory_order_to_fail_memmodel - function. - (expand_omp_atomic): Attempt to optimize atomic compare and exchange - using expand_omp_atomic_cas. - -2021-09-10 Aldy Hernandez - Michael Matz - - * tree-pass.h (PROP_loop_opts_done): New. - * gimple-range-path.cc (path_range_query::internal_range_of_expr): - Intersect with global range. - * tree-ssa-loop.c (tree_ssa_loop_done): Set PROP_loop_opts_done. - * tree-ssa-threadbackward.c - (back_threader_profitability::profitable_path_p): Disable - threading through latches until after loop optimizations have run. - -2021-09-10 David Faust - - * doc/invoke.texi: Document BPF -mcpu, -mjmpext, -mjmp32 and -malu32 - options. - -2021-09-10 David Faust - - * config/bpf/bpf-opts.h (bpf_isa_version): New enum. - * config/bpf/bpf-protos.h (bpf_expand_cbranch): New. - * config/bpf/bpf.c (bpf_option_override): Handle -mcpu option. - (bpf_expand_cbranch): New function. - * config/bpf/bpf.md (AM mode iterator): Conditionalize support for SI - mode. - (zero_extendsidi2): Only use mov32 instruction if it is available. - (SIM mode iterator): Conditionalize support for SI mode. - (JM mode iterator): New. - (cbranchdi4): Update name, use new JM iterator. Use bpf_expand_cbranch. - (*branch_on_di): Update name, use new JM iterator. - * config/bpf/bpf.opt: (mjmpext): New option. - (malu32): Likewise. - (mjmp32): Likewise. - (mcpu): Likewise. - (bpf_isa): New enum. - -2021-09-10 David Faust - - * config/bpf/bpf.md (zero_extendhidi2): Add new output template - for register-to-register extensions. - (zero_extendqidi2): Likewise. - -2021-09-10 Richard Biener - - PR middle-end/102273 - * internal-fn.c (expand_DEFERRED_INIT): Always expand non-SSA vars. - -2021-09-10 Richard Biener - - PR middle-end/102269 - * gimplify.c (is_var_need_auto_init): Empty types do not need - initialization. - -2021-09-10 Richard Biener - - * configure.ac (--with-stabs): Remove. - * configure: Regenerate. - * doc/install.texi: Remove --with-stabs documentation. - -2021-09-10 liuhongt - - * config/i386/avx512fp16intrin.h: (_mm512_cmp_ph_mask): - New intrinsic. - (_mm512_mask_cmp_ph_mask): Likewise. - (_mm512_cmp_round_ph_mask): Likewise. - (_mm512_mask_cmp_round_ph_mask): Likewise. - (_mm_cmp_sh_mask): Likewise. - (_mm_mask_cmp_sh_mask): Likewise. - (_mm_cmp_round_sh_mask): Likewise. - (_mm_mask_cmp_round_sh_mask): Likewise. - (_mm_comieq_sh): Likewise. - (_mm_comilt_sh): Likewise. - (_mm_comile_sh): Likewise. - (_mm_comigt_sh): Likewise. - (_mm_comige_sh): Likewise. - (_mm_comineq_sh): Likewise. - (_mm_ucomieq_sh): Likewise. - (_mm_ucomilt_sh): Likewise. - (_mm_ucomile_sh): Likewise. - (_mm_ucomigt_sh): Likewise. - (_mm_ucomige_sh): Likewise. - (_mm_ucomineq_sh): Likewise. - (_mm_comi_round_sh): Likewise. - (_mm_comi_sh): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_cmp_ph_mask): New intrinsic. - (_mm_mask_cmp_ph_mask): Likewise. - (_mm256_cmp_ph_mask): Likewise. - (_mm256_mask_cmp_ph_mask): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtin types. - (ix86_expand_round_builtin): Ditto. - * config/i386/i386.md (ssevecmode): Add HF mode. - (MODEFH): New mode iterator. - * config/i386/sse.md - (V48H_AVX512VL): New mode iterator to support HF vector modes. - Ajdust corresponding description. - (ssecmpintprefix): New. - (VI12_AVX512VL): Adjust to support HF vector modes. - (cmp_imm_predicate): Likewise. - (_cmp3): - Likewise. - (avx512f_vmcmp3): Likewise. - (avx512f_vmcmp3_mask): Likewise. - (_comi): Likewise. - -2021-09-10 liuhongt - - * config/i386/avx512fp16intrin.h: (_mm512_max_ph): New intrinsic. - (_mm512_mask_max_ph): Likewise. - (_mm512_maskz_max_ph): Likewise. - (_mm512_min_ph): Likewise. - (_mm512_mask_min_ph): Likewise. - (_mm512_maskz_min_ph): Likewise. - (_mm512_max_round_ph): Likewise. - (_mm512_mask_max_round_ph): Likewise. - (_mm512_maskz_max_round_ph): Likewise. - (_mm512_min_round_ph): Likewise. - (_mm512_mask_min_round_ph): Likewise. - (_mm512_maskz_min_round_ph): Likewise. - (_mm_max_sh): Likewise. - (_mm_mask_max_sh): Likewise. - (_mm_maskz_max_sh): Likewise. - (_mm_min_sh): Likewise. - (_mm_mask_min_sh): Likewise. - (_mm_maskz_min_sh): Likewise. - (_mm_max_round_sh): Likewise. - (_mm_mask_max_round_sh): Likewise. - (_mm_maskz_max_round_sh): Likewise. - (_mm_min_round_sh): Likewise. - (_mm_mask_min_round_sh): Likewise. - (_mm_maskz_min_round_sh): Likewise. - * config/i386/avx512fp16vlintrin.h (_mm_max_ph): New intrinsic. - (_mm256_max_ph): Likewise. - (_mm_mask_max_ph): Likewise. - (_mm256_mask_max_ph): Likewise. - (_mm_maskz_max_ph): Likewise. - (_mm256_maskz_max_ph): Likewise. - (_mm_min_ph): Likewise. - (_mm256_min_ph): Likewise. - (_mm_mask_min_ph): Likewise. - (_mm256_mask_min_ph): Likewise. - (_mm_maskz_min_ph): Likewise. - (_mm256_maskz_min_ph): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtin types. - * config/i386/sse.md - (3): Adjust to - support HF vector modes. - (*3): Likewise. - (ieee_3): - Likewise. - (_vm3): - Likewise. - * config/i386/subst.md (round_saeonly_mode512bit_condition): - Adjust for HF vector modes. - -2021-09-10 Liu, Hongtao - - * config/i386/avx512fp16intrin.h (_mm_add_sh): New intrinsic. - (_mm_mask_add_sh): Likewise. - (_mm_maskz_add_sh): Likewise. - (_mm_sub_sh): Likewise. - (_mm_mask_sub_sh): Likewise. - (_mm_maskz_sub_sh): Likewise. - (_mm_mul_sh): Likewise. - (_mm_mask_mul_sh): Likewise. - (_mm_maskz_mul_sh): Likewise. - (_mm_div_sh): Likewise. - (_mm_mask_div_sh): Likewise. - (_mm_maskz_div_sh): Likewise. - (_mm_add_round_sh): Likewise. - (_mm_mask_add_round_sh): Likewise. - (_mm_maskz_add_round_sh): Likewise. - (_mm_sub_round_sh): Likewise. - (_mm_mask_sub_round_sh): Likewise. - (_mm_maskz_sub_round_sh): Likewise. - (_mm_mul_round_sh): Likewise. - (_mm_mask_mul_round_sh): Likewise. - (_mm_maskz_mul_round_sh): Likewise. - (_mm_div_round_sh): Likewise. - (_mm_mask_div_round_sh): Likewise. - (_mm_maskz_div_round_sh): Likewise. - * config/i386/i386-builtin-types.def: Add corresponding builtin types. - * config/i386/i386-builtin.def: Add corresponding new builtins. - * config/i386/i386-expand.c - (ix86_expand_round_builtin): Handle new builtins. - * config/i386/sse.md (VF_128): Change description. - (_vm3): - Adjust to support HF vector modes. - (_vm3): - Likewise. - -2021-09-10 H.J. Lu - - * config/i386/i386-expand.c - (ix86_avx256_split_vector_move_misalign): Handle V16HF mode. - * config/i386/i386.c - (ix86_preferred_simd_mode): Handle HF mode. - * config/i386/sse.md (V_256H): New mode iterator. - (avx_vextractf128): Use it. - (VEC_INIT_MODE): Align vector HFmode condition to vector - HImodes since there're no real HF instruction used. - (VEC_INIT_HALF_MODE): Ditto. - (VIHF): Ditto. - (VIHF_AVX512BW): Ditto. - (*vec_extracthf): Ditto. - (VEC_EXTRACT_MODE): Ditto. - -2021-09-10 Richard Biener - - PR target/102255 - * config/dbx.h: Remove. - * config/dbxcoff.h: Do not define PREFERRED_DEBUGGING_TYPE. - * config/lynx.h: Likewise. - -2021-09-10 liuhongt - - * config/i386/i386-expand.c (ix86_expand_copysign): Expand - right into ANDNOT + AND + IOR, using paradoxical subregs. - (ix86_split_copysign_const): Remove. - (ix86_split_copysign_var): Ditto. - * config/i386/i386-protos.h (ix86_split_copysign_const): Dotto. - (ix86_split_copysign_var): Ditto. - * config/i386/i386.md (@copysign3_const): Ditto. - (@copysign3_var): Ditto. - -2021-09-09 qing zhao - - * builtins.c (expand_builtin_memset): Make external visible. - * builtins.h (expand_builtin_memset): Declare extern. - * common.opt (ftrivial-auto-var-init=): New option. - * doc/extend.texi: Document the uninitialized attribute. - * doc/invoke.texi: Document -ftrivial-auto-var-init. - * flag-types.h (enum auto_init_type): New enumerated type - auto_init_type. - * gimple-fold.c (clear_padding_type): Add one new parameter. - (clear_padding_union): Likewise. - (clear_padding_emit_loop): Likewise. - (clear_type_padding_in_mask): Likewise. - (gimple_fold_builtin_clear_padding): Handle this new parameter. - * gimplify.c (gimple_add_init_for_auto_var): New function. - (gimple_add_padding_init_for_auto_var): New function. - (is_var_need_auto_init): New function. - (gimplify_decl_expr): Add initialization to automatic variables per - users' requests. - (gimplify_call_expr): Add one new parameter for call to - __builtin_clear_padding. - (gimplify_init_constructor): Add padding initialization in the end. - * internal-fn.c (INIT_PATTERN_VALUE): New macro. - (expand_DEFERRED_INIT): New function. - * internal-fn.def (DEFERRED_INIT): New internal function. - * tree-cfg.c (verify_gimple_call): Verify calls to .DEFERRED_INIT. - * tree-sra.c (generate_subtree_deferred_init): New function. - (scan_function): Avoid setting cannot_scalarize_away_bitmap for - calls to .DEFERRED_INIT. - (sra_modify_deferred_init): New function. - (sra_modify_function_body): Handle calls to DEFERRED_INIT specially. - * tree-ssa-structalias.c (find_func_aliases_for_call): Likewise. - * tree-ssa-uninit.c (warn_uninit): Handle calls to DEFERRED_INIT - specially. - (check_defs): Likewise. - (warn_uninitialized_vars): Likewise. - * tree-ssa.c (ssa_undefined_value_p): Likewise. - * tree.c (build_common_builtin_nodes): Build tree node for - BUILT_IN_CLEAR_PADDING when needed. - -2021-09-09 Richard Biener - - * tree-ssa-loop-im.c (fill_always_executed_in_1): Walk - into all subloops. - -2021-09-09 Richard Biener - - * tree-ssa-loop-im.c (fill_always_executed_in_1): Integrate - DOM walk from get_loop_body_in_dom_order using a worklist - approach. - -2021-09-09 liuhongt - - * config.gcc: Add avx512fp16vlintrin.h. - * config/i386/avx512fp16intrin.h: (_mm512_add_ph): New intrinsic. - (_mm512_mask_add_ph): Likewise. - (_mm512_maskz_add_ph): Likewise. - (_mm512_sub_ph): Likewise. - (_mm512_mask_sub_ph): Likewise. - (_mm512_maskz_sub_ph): Likewise. - (_mm512_mul_ph): Likewise. - (_mm512_mask_mul_ph): Likewise. - (_mm512_maskz_mul_ph): Likewise. - (_mm512_div_ph): Likewise. - (_mm512_mask_div_ph): Likewise. - (_mm512_maskz_div_ph): Likewise. - (_mm512_add_round_ph): Likewise. - (_mm512_mask_add_round_ph): Likewise. - (_mm512_maskz_add_round_ph): Likewise. - (_mm512_sub_round_ph): Likewise. - (_mm512_mask_sub_round_ph): Likewise. - (_mm512_maskz_sub_round_ph): Likewise. - (_mm512_mul_round_ph): Likewise. - (_mm512_mask_mul_round_ph): Likewise. - (_mm512_maskz_mul_round_ph): Likewise. - (_mm512_div_round_ph): Likewise. - (_mm512_mask_div_round_ph): Likewise. - (_mm512_maskz_div_round_ph): Likewise. - * config/i386/avx512fp16vlintrin.h: New header. - * config/i386/i386-builtin-types.def (V16HF, V8HF, V32HF): - Add new builtin types. - * config/i386/i386-builtin.def: Add corresponding builtins. - * config/i386/i386-expand.c - (ix86_expand_args_builtin): Handle new builtin types. - (ix86_expand_round_builtin): Likewise. - * config/i386/immintrin.h: Include avx512fp16vlintrin.h - * config/i386/sse.md (VFH): New mode_iterator. - (VF2H): Likewise. - (avx512fmaskmode): Add HF vector modes. - (avx512fmaskhalfmode): Likewise. - (3): Adjust to for - HF vector modes. - (*3): Likewise. - (mul3): Likewise. - (*mul3): Likewise. - (div3): Likewise. - (_div3): Likewise. - * config/i386/subst.md (SUBST_V): Add HF vector modes. - (SUBST_A): Likewise. - (round_mode512bit_condition): Adjust for V32HFmode. - -2021-09-09 liuhongt - - PR target/101059 - * config/i386/sse.md (reduc_plus_scal_): Split to .. - (reduc_plus_scal_v4sf): .. this, New define_expand. - (reduc_plus_scal_v2df): .. and this, New define_expand. - -2021-09-09 liuhongt - - PR target/91103 - * config/i386/sse.md (*vec_extract_valign): - New define_insn. - -2021-09-08 Jonathan Wakely - - PR c++/60318 - * doc/trouble.texi (Copy Assignment): Fix description of - behaviour and fix code in example. - -2021-09-08 Segher Boessenkool - - PR target/102107 - * config/rs6000/rs6000-logue.c (rs6000_emit_epilogue): For ELFv2 use - r11 instead of r12 for restoring CR. - -2021-09-08 Jakub Jelinek - liuhongt - - PR target/89984 - * config/i386/i386.md (@xorsign3_1): Remove. - * config/i386/i386-expand.c (ix86_expand_xorsign): Expand right away - into AND with mask and XOR, using paradoxical subregs. - (ix86_split_xorsign): Remove. - * config/i386/i386-protos.h (ix86_split_xorsign): Remove. - -2021-09-08 Di Zhao - - * tree-ssa-sccvn.c (vn_nary_op_insert_into): fix result compare - -2021-09-08 Jakub Jelinek - - PR target/102224 - * config/i386/i386.md (xorsign3): If operands[1] is equal to - operands[2], emit abs2 instead. - (@xorsign3_1): Add early-clobbers for output operand, enable - first alternative even for avx, add another alternative with - =&Yv <- 0, Yv, Yvm constraints. - * config/i386/i386-expand.c (ix86_split_xorsign): If op0 is equal - to op1, emit vpandn instead. - -2021-09-08 liuhongt - - * config/i386/avx512fp16intrin.h (_mm_set_ph): New intrinsic. - (_mm256_set_ph): Likewise. - (_mm512_set_ph): Likewise. - (_mm_setr_ph): Likewise. - (_mm256_setr_ph): Likewise. - (_mm512_setr_ph): Likewise. - (_mm_set1_ph): Likewise. - (_mm256_set1_ph): Likewise. - (_mm512_set1_ph): Likewise. - (_mm_setzero_ph): Likewise. - (_mm256_setzero_ph): Likewise. - (_mm512_setzero_ph): Likewise. - (_mm_set_sh): Likewise. - (_mm_load_sh): Likewise. - (_mm_store_sh): Likewise. - * config/i386/i386-builtin-types.def (V8HF): New type. - (DEF_FUNCTION_TYPE (V8HF, V8HI)): New builtin function type - * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate): - Support vector HFmodes. - (ix86_expand_vector_init_one_nonzero): Likewise. - (ix86_expand_vector_init_one_var): Likewise. - (ix86_expand_vector_init_interleave): Likewise. - (ix86_expand_vector_init_general): Likewise. - (ix86_expand_vector_set): Likewise. - (ix86_expand_vector_extract): Likewise. - (ix86_expand_vector_init_concat): Likewise. - (ix86_expand_sse_movcc): Handle vector HFmodes. - (ix86_expand_vector_set_var): Ditto. - * config/i386/i386-modes.def: Add HF vector modes in comment. - * config/i386/i386.c (classify_argument): Add HF vector modes. - (ix86_hard_regno_mode_ok): Allow HF vector modes for AVX512FP16. - (ix86_vector_mode_supported_p): Likewise. - (ix86_set_reg_reg_cost): Handle vector HFmode. - (ix86_get_ssemov): Handle vector HFmode. - (function_arg_advance_64): Pass unamed V16HFmode and V32HFmode - by stack. - (function_arg_advance_32): Pass V8HF/V16HF/V32HF by sse reg for 32bit - mode. - (function_arg_advance_32): Ditto. - * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): New. - (VALID_AVX256_REG_OR_OI_MODE): Rename to .. - (VALID_AVX256_REG_OR_OI_VHF_MODE): .. this, and add V16HF. - (VALID_SSE2_REG_VHF_MODE): New. - (VALID_AVX512VL_128_REG_MODE): Add V8HF and TImode. - (SSE_REG_MODE_P): Add vector HFmode. - * config/i386/i386.md (mode): Add HF vector modes. - (MODE_SIZE): Likewise. - (ssemodesuffix): Add ph suffix for HF vector modes. - * config/i386/sse.md (VFH_128): New mode iterator. - (VMOVE): Adjust for HF vector modes. - (V): Likewise. - (V_256_512): Likewise. - (avx512): Likewise. - (avx512fmaskmode): Likewise. - (shuffletype): Likewise. - (sseinsnmode): Likewise. - (ssedoublevecmode): Likewise. - (ssehalfvecmode): Likewise. - (ssehalfvecmodelower): Likewise. - (ssePScmode): Likewise. - (ssescalarmode): Likewise. - (ssescalarmodelower): Likewise. - (sseintprefix): Likewise. - (i128): Likewise. - (bcstscalarsuff): Likewise. - (xtg_mode): Likewise. - (VI12HF_AVX512VL): New mode_iterator. - (VF_AVX512FP16): Likewise. - (VIHF): Likewise. - (VIHF_256): Likewise. - (VIHF_AVX512BW): Likewise. - (V16_256): Likewise. - (V32_512): Likewise. - (sseintmodesuffix): New mode_attr. - (sse): Add scalar and vector HFmodes. - (ssescalarmode): Add vector HFmode mapping. - (ssescalarmodesuffix): Add sh suffix for HFmode. - (*_vm3): Use VFH_128. - (*_vm3): Likewise. - (*ieee_3): Likewise. - (_blendm): New define_insn. - (vec_setv8hf): New define_expand. - (vec_set_0): New define_insn for HF vector set. - (*avx512fp16_movsh): Likewise. - (avx512fp16_movsh): Likewise. - (vec_extract_lo_v32hi): Rename to ... - (vec_extract_lo_): ... this, and adjust to allow HF - vector modes. - (vec_extract_hi_v32hi): Likewise. - (vec_extract_hi_): Likewise. - (vec_extract_lo_v16hi): Likewise. - (vec_extract_lo_): Likewise. - (vec_extract_hi_v16hi): Likewise. - (vec_extract_hi_): Likewise. - (vec_set_hi_v16hi): Likewise. - (vec_set_hi_): Likewise. - (vec_set_lo_v16hi): Likewise. - (vec_set_lo_): Likewise. - (*vec_extract_0): New define_insn_and_split for HF - vector extract. - (*vec_extracthf): New define_insn. - (VEC_EXTRACT_MODE): Add HF vector modes. - (PINSR_MODE): Add V8HF. - (sse2p4_1): Likewise. - (pinsr_evex_isa): Likewise. - (_pinsr): Adjust to support - insert for V8HFmode. - (pbroadcast_evex_isa): Add HF vector modes. - (AVX2_VEC_DUP_MODE): Likewise. - (VEC_INIT_MODE): Likewise. - (VEC_INIT_HALF_MODE): Likewise. - (avx2_pbroadcast): Adjust to support HF vector mode - broadcast. - (avx2_pbroadcast_1): Likewise. - (_vec_dup_1): Likewise. - (_vec_dup): Likewise. - (_vec_dup_gpr): - Likewise. - -2021-09-08 Guo, Xuepeng - H.J. Lu - Liu Hongtao - Wang Hongyu - Xu Dianhong - - * common/config/i386/cpuinfo.h (get_available_features): - Detect FEATURE_AVX512FP16. - * common/config/i386/i386-common.c - (OPTION_MASK_ISA_AVX512FP16_SET, - OPTION_MASK_ISA_AVX512FP16_UNSET, - OPTION_MASK_ISA2_AVX512FP16_SET, - OPTION_MASK_ISA2_AVX512FP16_UNSET): New. - (OPTION_MASK_ISA2_AVX512BW_UNSET, - OPTION_MASK_ISA2_AVX512BF16_UNSET): Add AVX512FP16. - (ix86_handle_option): Handle -mavx512fp16. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVX512FP16. - * common/config/i386/i386-isas.h: Add entry for AVX512FP16. - * config.gcc: Add avx512fp16intrin.h. - * config/i386/avx512fp16intrin.h: New intrinsic header. - * config/i386/cpuid.h: Add bit_AVX512FP16. - * config/i386/i386-builtin-types.def: (FLOAT16): New primitive type. - * config/i386/i386-builtins.c: Support _Float16 type for i386 - backend. - (ix86_register_float16_builtin_type): New function. - (ix86_float16_type_node): New. - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __AVX512FP16__. - * config/i386/i386-expand.c (ix86_expand_branch): Support - HFmode. - (ix86_prepare_fp_compare_args): Adjust TARGET_SSE_MATH && - SSE_FLOAT_MODE_P to SSE_FLOAT_MODE_SSEMATH_OR_HF_P. - (ix86_expand_fp_movcc): Ditto. - * config/i386/i386-isa.def: Add PTA define for AVX512FP16. - * config/i386/i386-options.c (isa2_opts): Add -mavx512fp16. - (ix86_valid_target_attribute_inner_p): Add avx512fp16 attribute. - * config/i386/i386.c (ix86_get_ssemov): Use - vmovdqu16/vmovw/vmovsh for HFmode/HImode scalar or vector. - (ix86_get_excess_precision): Use - FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 when TARGET_AVX512FP16 - existed. - (sse_store_index): Use SFmode cost for HFmode cost. - (inline_memory_move_cost): Add HFmode, and perfer SSE cost over - GPR cost for HFmode. - (ix86_hard_regno_mode_ok): Allow HImode in sse register. - (ix86_mangle_type): Add manlging for _Float16 type. - (inline_secondary_memory_needed): No memory is needed for - 16bit movement between gpr and sse reg under - TARGET_AVX512FP16. - (ix86_multiplication_cost): Adjust TARGET_SSE_MATH && - SSE_FLOAT_MODE_P to SSE_FLOAT_MODE_SSEMATH_OR_HF_P. - (ix86_division_cost): Ditto. - (ix86_rtx_costs): Ditto. - (ix86_add_stmt_cost): Ditto. - (ix86_optab_supported_p): Ditto. - * config/i386/i386.h (VALID_AVX512F_SCALAR_MODE): Add HFmode. - (SSE_FLOAT_MODE_SSEMATH_OR_HF_P): Add HFmode. - (PTA_SAPPHIRERAPIDS): Add PTA_AVX512FP16. - * config/i386/i386.md (mode): Add HFmode. - (MODE_SIZE): Add HFmode. - (isa): Add avx512fp16. - (enabled): Handle avx512fp16. - (ssemodesuffix): Add sh suffix for HFmode. - (comm): Add mult, div. - (plusminusmultdiv): New code iterator. - (insn): Add mult, div. - (*movhf_internal): Adjust for avx512fp16 instruction. - (*movhi_internal): Ditto. - (*cmpihf): New define_insn for HFmode. - (*ieee_shf3): Likewise. - (extendhf2): Likewise. - (trunchf2): Likewise. - (floathf2): Likewise. - (*hf): Likewise. - (cbranchhf4): New expander. - (movhfcc): Likewise. - (hf3): Likewise. - (mulhf3): Likewise. - (divhf3): Likewise. - * config/i386/i386.opt: Add mavx512fp16. - * config/i386/immintrin.h: Include avx512fp16intrin.h. - * doc/invoke.texi: Add mavx512fp16. - * doc/extend.texi: Add avx512fp16 Usage Notes. - -2021-09-08 liuhongt - - * common.opt: Support -fexcess-precision=16. - * config/aarch64/aarch64.c (aarch64_excess_precision): Return - FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 when - EXCESS_PRECISION_TYPE_FLOAT16. - * config/arm/arm.c (arm_excess_precision): Ditto. - * config/i386/i386.c (ix86_get_excess_precision): Ditto. - * config/m68k/m68k.c (m68k_excess_precision): Issue an error - when EXCESS_PRECISION_TYPE_FLOAT16. - * config/s390/s390.c (s390_excess_precision): Ditto. - * coretypes.h (enum excess_precision_type): Add - EXCESS_PRECISION_TYPE_FLOAT16. - * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Update documents. - * doc/tm.texi.in (TARGET_C_EXCESS_PRECISION): Ditto. - * doc/extend.texi (Half-Precision): Document - -fexcess-precision=16. - * flag-types.h (enum excess_precision): Add - EXCESS_PRECISION_FLOAT16. - * target.def (excess_precision): Update document. - * tree.c (excess_precision_type): Set excess_precision_type to - EXCESS_PRECISION_FLOAT16 when -fexcess-precision=16. - -2021-09-08 liuhongt - - * doc/extend.texi: (@node Floating Types): Adjust the wording. - (@node Half-Precision): Ditto. - -2021-09-07 Takayuki 'January June' Suwa - - PR target/102115 - * config/xtensa/xtensa.c (xtensa_emit_move_sequence): Add - 'CONST_INT_P (src)' to the condition of the block that tries to - eliminate literal when loading integer contant. - -2021-09-07 David Faust - - * doc/extend.texi (BPF Type Attributes) New node. - Document new preserve_access_index attribute. - Document new preserve_access_index builtin. - * doc/invoke.texi: Document -mco-re and -mno-co-re options. - -2021-09-07 David Faust - - * config/bpf/bpf.c: Adjust includes. - (bpf_handle_preserve_access_index_attribute): New function. - (bpf_attribute_table): Use it here. - (bpf_builtins): Add BPF_BUILTIN_PRESERVE_ACCESS_INDEX. - (bpf_option_override): Handle "-mco-re" option. - (bpf_asm_init_sections): New. - (TARGET_ASM_INIT_SECTIONS): Redefine. - (bpf_file_end): New. - (TARGET_ASM_FILE_END): Redefine. - (bpf_init_builtins): Add "__builtin_preserve_access_index". - (bpf_core_compute, bpf_core_get_index): New. - (is_attr_preserve_access): New. - (bpf_expand_builtin): Handle new builtins. - (bpf_core_newdecl, bpf_core_is_maybe_aggregate_access): New. - (bpf_core_walk): New. - (bpf_resolve_overloaded_builtin): New. - (TARGET_RESOLVE_OVERLOADED_BUILTIN): Redefine. - (handle_attr): New. - (pass_bpf_core_attr): New RTL pass. - * config/bpf/bpf-passes.def: New file. - * config/bpf/bpf-protos.h (make_pass_bpf_core_attr): New. - * config/bpf/coreout.c: New file. - * config/bpf/coreout.h: Likewise. - * config/bpf/t-bpf (TM_H): Add $(srcdir)/config/bpf/coreout.h. - (coreout.o): New rule. - (PASSES_EXTRA): Add $(srcdir)/config/bpf/bpf-passes.def. - * config.gcc (bpf): Add coreout.h to extra_headers. - Add coreout.o to extra_objs. - Add $(srcdir)/config/bpf/coreout.c to target_gtfiles. - -2021-09-07 David Faust - - * btfout.c (get_btf_id): Function is no longer static. - * ctfc.h: Expose it here. - -2021-09-07 David Faust - - * ctfc.c (ctf_lookup_tree_type): New function. - * ctfc.h: Likewise. - -2021-09-07 David Faust - - * ctfc.c (ctf_dtd_lookup): Function is no longer static. - * ctfc.h: Analogous change. - -2021-09-07 David Faust - - * dwarf2out.c (lookup_type_die): Function is no longer static. - * dwarf2out.h: Expose it here. - -2021-09-07 Indu Bhagat - - * dwarf2ctf.c (ctf_debug_finalize): Make it static. - (ctf_debug_early_finish): New definition. - (ctf_debug_finish): Likewise. - * dwarf2ctf.h (ctf_debug_finalize): Remove declaration. - (ctf_debug_early_finish): New declaration. - (ctf_debug_finish): Likewise. - * dwarf2out.c (dwarf2out_finish): Invoke ctf_debug_finish. - (dwarf2out_early_finish): Invoke ctf_debug_early_finish. - -2021-09-07 Indu Bhagat - - * config/bpf/bpf.c (bpf_option_override): For BPF backend, disable LTO - support when compiling for CO-RE. - * config/bpf/bpf.opt: Add new command line option -mco-re. - -2021-09-07 Indu Bhagat - - * flag-types.h (enum debug_info_type): Add new enum - DINFO_TYPE_BTF_WITH_CORE. - (BTF_WITH_CORE_DEBUG): New bitmask. - * flags.h (btf_with_core_debuginfo_p): New declaration. - * opts.c (btf_with_core_debuginfo_p): New definition. - -2021-09-07 Jason Merrill - - * tree.h (error_operand_p): Change to inline function. - -2021-09-07 Aldy Hernandez - - * tree-ssa-threadedge.c (forwarder_block_p): Rename to... - (empty_block_with_phis_p): ...this. - (potentially_threadable_block): Same. - (jump_threader::thread_through_normal_block): Same. - -2021-09-07 Eric Botcazou - - PR debug/101947 - * dwarf2out.c (mark_base_types): New overloaded function. - (dwarf2out_early_finish): Invoke it on the COMDAT type list as well - as the compilation unit, and call move_marked_base_types afterward. - -2021-09-07 H.J. Lu - - PR target/85819 - * config/i386/i386-expand.c (ix86_expand_convert_uns_sisf_sse): - Enable FMA. - (ix86_expand_vector_convert_uns_vsivsf): Likewise. - -2021-09-07 Richard Biener - - PR tree-optimization/102226 - * tree-vect-loop.c (vect_transform_cycle_phi): Record - the converted value for the epilogue PHI use. - -2021-09-07 Martin Liska - - PR gcov-profile/80223 - * ipa-inline.c (can_inline_edge_p): Similarly to sanitizer - options, do not inline when no_profile_instrument_function - attributes are different in early inliner. It's fine to inline - it after PGO instrumentation. - -2021-09-07 Richard Biener - - PR tree-optimization/101555 - * tree-ssa-pre.c (translate_vuse_through_block): Do not - perform an alias walk to determine the validity of the - mem at the start of the block which is already guaranteed - by means of prune_clobbered_mems. - (phi_translate_1): Pass edge to translate_vuse_through_block. - -2021-09-07 Xionghu Luo - - PR target/97142 - * config/rs6000/rs6000.md (fmod3): New define_expand. - (remainder3): Likewise. - -2021-09-07 YunQiang Su - - * config/mips/mips.c (mips_file_start): add .module for - arch and ase. - -2021-09-06 Roger Sayle - - * wide-int.cc (wi::clz): Reorder tests to ensure the result - is zero for all negative values. - -2021-09-06 Tobias Burnus - - * doc/invoke.texi (-foffload-options): Fix @opindex. - -2021-09-06 H.J. Lu - - PR target/89984 - * config/i386/i386-expand.c (ix86_split_xorsign): Use operands[2]. - * config/i386/i386.md (@xorsign3_1): Add non-destructive - source alternative for AVX. - -2021-09-06 liuhongt - - PR middle-end/102182 - * optabs.c (expand_fix): Add from1 to avoid from being - overwritten. - -2021-09-06 Eric Botcazou - - * dwarf2out.c (modified_type_die): Deal with all array types earlier - and use local variable consistently throughout the function. - -2021-09-06 Jakub Jelinek - - PR tree-optimization/102207 - * match.pd: Don't demote operands of IFN_{ADD,SUB,MUL}_OVERFLOW if they - were promoted from signed to wider unsigned type. - -2021-09-06 Andrew Pinski - - PR tree-optimization/63184 - * match.pd: Add simplification of pointer_diff of two pointer_plus - with addr_expr in the first operand of each pointer_plus. - Add simplificatoin of ne/eq of two pointer_plus with addr_expr - in the first operand of each pointer_plus. - -2021-09-06 Richard Biener - - PR tree-optimization/102176 - * tree-vect-slp.c (vect_slp_gather_vectorized_scalar_stmts): - New function. - (vect_bb_slp_scalar_cost): Use the computed set of - vectorized scalar stmts instead of relying on the out-of-date - and not accurate PURE_SLP_STMT. - (vect_bb_vectorization_profitable_p): Compute the set - of vectorized scalar stmts. - -2021-09-05 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::range_of_stmt): Remove - GIMPLE_COND special casing. - (path_range_query::range_defined_in_block): Use range_of_stmt - instead of calling fold_range directly. - -2021-09-05 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::range_of_expr): Set - m_undefined_path when appropriate. - (path_range_query::internal_range_of_expr): Copy from range_of_expr. - (path_range_query::unreachable_path_p): New. - (path_range_query::precompute_ranges): Set m_undefined_path. - * gimple-range-path.h (path_range_query::unreachable_path_p): New. - (path_range_query::internal_range_of_expr): New. - * tree-ssa-threadbackward.c (back_threader::find_taken_edge_cond): - Use unreachable_path_p. - -2021-09-05 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::maybe_register_path): - Remove argument and call find_taken_edge. - (back_threader::resolve_phi): Do not calculate taken edge before - calling maybe_register_path. - (back_threader::find_paths_to_names): Same. - -2021-09-05 Jeff Law - - * config/h8300/h8300.md (QHSI2 mode iterator): New mode iterator. - * config/h8300/testcompare.md (store_c): Update name, use new - QHSI2 iterator. - (store_neg_c, store_shifted_c): New patterns. - -2021-09-03 Segher Boessenkool - - PR target/102107 - * config/rs6000/rs6000-logue.c (rs6000_emit_prologue): On ELFv2 use r11 - instead of r12 for CR save, in all cases. - -2021-09-03 Andrew Pinski - - * config/aarch64/aarch64-sve-builtins.cc (register_vector_type): - Handle error_mark_node as the type of the type_decl. - -2021-09-03 Andrew Pinski - - * config/aarch64/aarch64-builtins.c (struct aarch64_simd_type_info): - Mark with GTY. - (aarch64_simd_types): Likewise. - (aarch64_simd_intOI_type_node): Likewise. - (aarch64_simd_intCI_type_node): Likewise. - (aarch64_simd_intXI_type_node): Likewise. - * config/aarch64/aarch64.h (aarch64_fp16_type_node): Likewise. - (aarch64_fp16_ptr_type_node): Likewise. - (aarch64_bf16_type_node): Likewise. - (aarch64_bf16_ptr_type_node): Likewise. - -2021-09-03 Aldy Hernandez - - * range-op.cc (operator_minus::op1_op2_relation_effect): Abstract - out to... - (minus_op1_op2_relation_effect): ...here. - (class operator_pointer_diff): New. - (operator_pointer_diff::op1_op2_relation_effect): Call - minus_op1_op2_relation_effect. - (integral_table::integral_table): Add entry for POINTER_DIFF_EXPR. - -2021-09-03 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::thread_through_all_blocks): - Add may_peel_loop_headers. - (back_threader_registry::thread_through_all_blocks): Same. - (try_thread_blocks): Pass may_peel_loop_headers argument. - (pass_early_thread_jumps::execute): Same. - -2021-09-03 Aldy Hernandez - - * tree-ssa-threadedge.c (has_phis_p): New. - (forwarder_block_p): New. - (potentially_threadable_block): Call forwarder_block_p. - (jump_threader::thread_around_empty_blocks): Call has_phis_p. - (jump_threader::thread_through_normal_block): Call - forwarder_block_p. - -2021-09-03 Aldy Hernandez - - * tree-ssa-threadbackward.c (back_threader::dump): New. - (back_threader::debug): New. - (back_threader_profitability::profitable_path_p): Dump blocks - even if we are bailing early. - -2021-09-03 Aldy Hernandez - - * tree-ssa-threadupdate.c (cancel_thread): New. - (jump_thread_path_registry::thread_block_1): Use cancel_thread. - (jump_thread_path_registry::mark_threaded_blocks): Same. - (jump_thread_path_registry::register_jump_thread): Same. - -2021-09-03 Aldy Hernandez - - * tree-ssa-threadedge.c (jt_state::push): Only call methods for - which objects are available. - (jt_state::pop): Same. - (jt_state::register_equiv): Same. - (jt_state::register_equivs_on_edge): Same. - -2021-09-03 Aldy Hernandez - - * tree-ssa-threadedge.c (jump_threader::thread_across_edge): - Move pop until after a thread is registered. - -2021-09-03 Aldy Hernandez - - * tree-ssa-threadupdate.c (debug): New. - -2021-09-03 Aldy Hernandez - - * gimple-range-trace.cc (push_dump_file::push_dump_file): New. - (push_dump_file::~push_dump_file): New. - (dump_ranger): Change dump_file temporarily while dumping - ranger. - * gimple-range-trace.h (class push_dump_file): New. - -2021-09-03 Aldy Hernandez - - * gimple-range-trace.cc (debug_seed_ranger): Remove static. - (dump_ranger): Dump function name. - -2021-09-03 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::range_defined_in_block): - Adjust for non-null. - (path_range_query::adjust_for_non_null_uses): New. - (path_range_query::precompute_ranges): Call - adjust_for_non_null_uses. - * gimple-range-path.h: Add m_non_null and - adjust_for_non_null_uses. - -2021-09-03 Aldy Hernandez - - * gimple-range-path.cc (path_range_query::dump): Dump path - length. - (path_range_query::precompute_ranges): Dump entire path. - -2021-09-03 Aldy Hernandez - - * value-relation.cc (relation_oracle::debug): New. - * value-relation.h (relation_oracle::debug): New. - -2021-09-03 Aldy Hernandez - - * tree-ssa-loop-ch.c: Remove unnecessary include file. - -2021-09-03 Aldy Hernandez - - * gimple-range-fold.cc (fold_using_range::postfold_gcond_edges): - Skip statements with no defining BB. - * gimple-range-path.cc (path_range_query::range_defined_in_block): - Do not get confused by statements with no defining BB. - -2021-09-03 Aldy Hernandez - - * gimple-range-fold.cc (adjust_imagpart_expr): Move from - gimple_range_adjustment. Add support for constants. - (adjust_realpart_expr): New. - (gimple_range_adjustment): Move IMAGPART_EXPR code to - adjust_imagpart_expr. - * range-op.cc (integral_table::integral_table): Add entry for - REALPART_CST. - -2021-09-03 Jakub Jelinek - - * omp-expand.c (expand_omp_atomic_pipeline): Use - IFN_ATOMIC_COMPARE_EXCHANGE instead of - BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_? so that memory order - can be provided. - -2021-09-03 Jakub Jelinek - - PR target/102024 - * tree.h (DECL_FIELD_ABI_IGNORED): Changed into rvalue only macro - that is false if DECL_BIT_FIELD. - (SET_DECL_FIELD_ABI_IGNORED, DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD, - SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD): Define. - * tree-streamer-out.c (pack_ts_decl_common_value_fields): For - DECL_BIT_FIELD stream DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD instead - of DECL_FIELD_ABI_IGNORED. - * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use - SET_DECL_FIELD_ABI_IGNORED instead of writing to - DECL_FIELD_ABI_IGNORED and for DECL_BIT_FIELD use - SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD instead. - * lto-streamer-out.c (hash_tree): For DECL_BIT_FIELD hash - DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD instead of DECL_FIELD_ABI_IGNORED. - -2021-09-03 liuhongt - - PR target/102166 - * config/i386/amxbf16intrin.h : Remove macro check for __AMX_BF16__. - * config/i386/amxint8intrin.h : Remove macro check for __AMX_INT8__. - * config/i386/amxtileintrin.h : Remove macro check for __AMX_TILE__. - -2021-09-02 Martin Sebor - - PR tree-optimization/17506 - PR testsuite/37182 - * tree-ssa-uninit.c (warn_uninit): Remove conditional guarding note. - -2021-09-02 Richard Biener - - * tree-ssa-loop-im.c (fill_always_executed_in_1): Refine - fix for PR78185 and continue processing when leaving - finite inner loops. - -2021-09-02 Jakub Jelinek - - PR tree-optimization/99591 - * match.pd: Demote operands of IFN_{ADD,SUB,MUL}_OVERFLOW if they - were promoted. - -2021-09-02 Richard Biener - - Revert: - 2021-09-02 Richard Biener - - PR tree-optimization/102155 - * tree-ssa-loop-im.c (fill_always_executed_in_1): Iterate - over a part of the RPO array and do not recurse here. - Dump blocks marked as always executed. - (fill_always_executed_in): Walk over the RPO array and - process loops whose header we run into. - (loop_invariant_motion_in_fun): Compute the first RPO - using rev_post_order_and_mark_dfs_back_seme in iteration - order and pass that to fill_always_executed_in. - -2021-09-02 liuhongt - - * config/i386/i386-modes.def (FLOAT_MODE): Define ieee HFmode. - * config/i386/i386.c (enum x86_64_reg_class): Add - X86_64_SSEHF_CLASS. - (merge_classes): Handle X86_64_SSEHF_CLASS. - (examine_argument): Ditto. - (construct_container): Ditto. - (classify_argument): Ditto, and set HFmode/HCmode to - X86_64_SSEHF_CLASS. - (function_value_32): Return _FLoat16/Complex Float16 by - %xmm0. - (function_value_64): Return _Float16/Complex Float16 by SSE - register. - (ix86_print_operand): Handle CONST_DOUBLE HFmode. - (ix86_secondary_reload): Require gpr as intermediate register - to store _Float16 from sse register when sse4 is not - available. - (ix86_libgcc_floating_mode_supported_p): Enable _FLoat16 under - sse2. - (ix86_scalar_mode_supported_p): Ditto. - (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Defined. - * config/i386/i386.h (VALID_SSE2_REG_MODE): Add HFmode. - (VALID_INT_MODE_P): Add HFmode and HCmode. - * config/i386/i386.md (*pushhf_rex64): New define_insn. - (*pushhf): Ditto. - (*movhf_internal): Ditto. - * doc/extend.texi (Half-Precision Floating Point): Documemt - _Float16 for x86. - -2021-09-02 Richard Biener - - PR tree-optimization/102155 - * tree-ssa-loop-im.c (fill_always_executed_in_1): Iterate - over a part of the RPO array and do not recurse here. - Dump blocks marked as always executed. - (fill_always_executed_in): Walk over the RPO array and - process loops whose header we run into. - (loop_invariant_motion_in_fun): Compute the first RPO - using rev_post_order_and_mark_dfs_back_seme in iteration - order and pass that to fill_always_executed_in. - -2021-09-02 YunQiang Su - - Revert: - 2021-08-31 YunQiang Su - - * config/mips/mips.c (mips_module_isa_name): New. - mips_file_start: add .module mipsREV to all asm output - -2021-09-01 Jeff Law - - PR tree-optimization/102152 - * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Reduce a vector - comparison to a scalar comparison before calling - update_stmt_if_modified. - -2021-09-01 Andrew Pinski - - PR target/101934 - * config/aarch64/aarch64.c (aarch64_expand_setmem): - Check STRICT_ALIGNMENT before creating an overlapping - store. - -2021-09-01 Martin Sebor - - * gimple-ssa-warn-access.cc (get_size_range): Add argument. - (check_access): Pass additional argument. - (check_memop_access): Remove template and make a member function. - (maybe_check_dealloc_call): Make a pass_waccess member function. - (class pass_waccess): Add, rename, and remove members. - (pass_waccess::pass_waccess): Adjust to name change. - (pass_waccess::~pass_waccess): Same. - (check_alloca): Make a member function. - (check_alloc_size_call): Same. - (check_strcat): Same. - (check_strncat): Same. - (check_stxcpy): Same. - (check_stxncpy): Same. - (check_strncmp): Same. - (maybe_warn_rdwr_sizes): Rename... - (pass_waccess::maybe_check_access_sizes): ...to this. - (pass_waccess::check_call): Adjust to name changes. - (pass_waccess::maybe_check_dealloc_call): Make a pass_waccess member - function. - (pass_waccess::execute): Adjust to name changes. - * gimple-ssa-warn-access.h (check_memop_access): Remove. - * pointer-query.cc (access_ref::phi): Handle null pointer. - (access_ref::inform_access): Same. - (pointer_query::put_ref): Modify a cached value, not a copy of it. - (pointer_query::dump): New function. - (compute_objsize_r): Avoid overwriting access_ref::bndrng. Cache - more results. - * pointer-query.h (pointer_query::dump): Declare. - * tree-ssa-strlen.c (get_range): Simplify. Use function query. - (dump_strlen_info): Use function query. - (printf_strlen_execute): Factor code out into pointer_query::put_ref. - -2021-09-01 Thomas Schwinge - - * tree.c (walk_tree_1) : Simplify. - -2021-09-01 Iain Sandoe - - * doc/extend.texi: Document unavailable attribute. - * print-tree.c (print_node): Handle unavailable attribute. - * tree-core.h (struct tree_base): Add a bit to carry unavailability. - * tree.c (error_unavailable_use): New. - * tree.h (TREE_UNAVAILABLE): New. - (error_unavailable_use): New. - -2021-09-01 Jakub Jelinek - - PR tree-optimization/102124 - * tree-vect-patterns.c (vect_recog_widen_op_pattern): For ORIG_CODE - MINUS_EXPR, if itype is unsigned with smaller precision than type, - add an extra cast to signed variant of itype to ensure sign-extension. - -2021-09-01 Martin Liska - - * graph.c (draw_cfg_node_succ_edges): Do not color fallthru - edges and rather use colors for TRUE and FALSE edges. - -2021-09-01 Richard Biener - - PR tree-optimization/93491 - * tree-ssa-pre.c (compute_avail): Set BB_MAY_NOTRETURN - after processing the stmt itself. Do not consider - pure functions possibly not returning. Properly avoid - adding possibly trapping calls to EXP_GEN when there's - a preceeding possibly not returning call. - * tree-ssa-sccvn.c (vn_reference_may_trap): Conservatively - not handle calls. - -2021-09-01 Richard Biener - - PR tree-optimization/102139 - * tree-vectorizer.h (vec_base_alignments): Adjust hash-map - type to record a std::pair of the stmt-info and the innermost - loop behavior. - (dr_vec_info::group): New member. - * tree-vect-data-refs.c (vect_record_base_alignment): Adjust. - (vect_compute_data_ref_alignment): Verify the recorded - base alignment can be used. - (data_ref_pair): Remove. - (dr_group_sort_cmp): Adjust. - (vect_analyze_data_ref_accesses): Store the group-ID in the - dr_vec_info and operate on a vector of dr_vec_infos. - -2021-09-01 YunQiang Su - - * read-md.c (md_reader::handle_enum): support value assignation. - * doc/md.texi: record define_c_enum value assignation support. - -2021-09-01 Jakub Jelinek - - PR tree-optimization/102141 - * gimple-ssa-store-merging.c (bswap_view_convert): Add BEFORE - argument. If false, emit stmts after gsi instead of before, and - with GSI_NEW_STMT. - (bswap_replace): Adjust callers. When converting output of bswap, - emit VIEW_CONVERT prepratation stmts after a copy of gsi instead - of before it. - -2021-09-01 liuhongt - - * emit-rtl.c (validate_subreg): Get rid of all float-int - special cases. - -2021-09-01 liuhongt - - Revert: - 2021-08-30 liuhongt - - * expmed.c (extract_bit_field_1): Make sure we're playing with - integral modes before call extract_integral_bit_field. - (extract_integral_bit_field): Add a parameter of type - scalar_int_mode which corresponds to of tmode. - And call extract_and_convert_fixed_bit_field instead of - extract_fixed_bit_field and convert_extracted_bit_field. - (extract_and_convert_fixed_bit_field): New function, it's a - combination of extract_fixed_bit_field and - convert_extracted_bit_field. - -2021-08-31 Thomas Schwinge - - * tree.c (walk_tree_1) : Handle three operands. - -2021-08-31 Thomas Schwinge - - * omp-general.h (omp_is_reference): Rename to... - (omp_privatize_by_reference): ... this. Adjust all users... - * omp-general.c: ... here, ... - * gimplify.c: ... here, ... - * omp-expand.c: ... here, ... - * omp-low.c: ... here. - -2021-08-31 Martin Sebor - - * gimple-ssa-warn-access.cc (maybe_warn_alloc_args_overflow): Test - pointer element for equality to zero, not that of the cotaining - array. - -2021-08-31 Martin Sebor - - * gcc-rich-location.h (gcc_rich_location): Make ctor explicit. - -2021-08-31 Martin Sebor - - * function.h (function): Add comments. - (get_range_query): Same. Add attribute returns nonnull. - -2021-08-31 Roger Sayle - - * expr.c (convert_modes): Don't use subreg_promoted_mode on a - SUBREG if it can't be guaranteed to a SUBREG_PROMOTED_VAR_P set. - Instead use the standard (safer) is_a idiom. - -2021-08-31 Jeff Law - - * config.gcc (cris-*-elf, cris-*-none): Remove dbxelf.h from - tm_file. - (m32r-*-elf, m32rle-*-elf, m32r-*-linux): Likewise. - (mn10300-*-*, am33_2.0-*-linux*): Likewise. - (xtensa*-*-elf, xtensa*-*-linux, xtensa*-*-uclinux): Likewise. - (m32c-*-elf*, m32c-*-rtems*): Likewise. - * config/cris/cris.h (DBX_NO_XREFS): Remove. - (DBX_CONTIN_LENGTH, DBX_CONTIN_CHAR): Likewise. - * config/m32r/m32r.h (DBXOUT_SOURCE_LINE): Likewise. - (DBX_DEBUGGING_INFO, DBX_CONTIN_LENGTH): Likewise. - * config/mn10300/mn10300.h (DEFAULT_GDB_EXTENSIONS): Likewise. - * config/mn10300/linux.h (DBX_REGISTER_NAMES): Likewise. - -2021-08-31 Marcel Vollweiler - - * gimplify.c (gimplify_scan_omp_clauses): Error handling. 'ancestor' only - allowed on target constructs and only with particular other clauses. - * omp-expand.c (expand_omp_target): Output of 'sorry, not supported' if - 'ancestor' is used. - * omp-low.c (check_omp_nesting_restrictions): Error handling. No nested OpenMP - structs when 'ancestor' is used. - (scan_omp_1_stmt): No usage of OpenMP runtime routines in a target region when - 'ancestor' is used. - * tree-pretty-print.c (dump_omp_clause): Append 'ancestor'. - * tree.h (OMP_CLAUSE_DEVICE_ANCESTOR): Define macro. - -2021-08-31 Roger Sayle - - * expr.c (convert_modes): Preserve SUBREG_PROMOTED_VAR_P when - creating a (wider) partial subreg from a SUBREG_PROMOTED_VAR_P - subreg. - * simplify-rtx.c (simplify_unary_operation_1) [SIGN_EXTEND]: - Likewise, preserve SUBREG_PROMOTED_VAR_P when creating a (wider) - partial subreg from a SUBREG_PROMOTED_VAR_P subreg. Generate - SIGN_EXTEND of the SUBREG_REG when a subreg would be paradoxical. - [ZERO_EXTEND]: Likewise, preserve SUBREG_PROMOTED_VAR_P when - creating a (wider) partial subreg from a SUBREG_PROMOTED_VAR_P - subreg. Generate ZERO_EXTEND of the SUBREG_REG when a subreg - would be paradoxical. - -2021-08-31 Roger Sayle - - * combine.c (combine_simplify_rtx): Avoid converting an explicit - TRUNCATE into a lowpart SUBREG on !TRULY_NOOP_TRUNCATION targets. - * simplify-rtx.c (simplify_unary_operation_1): Likewise. - -2021-08-31 Richard Biener - - PR tree-optimization/102142 - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Fix - condition under which to unset the visited flag. - -2021-08-31 Richard Biener - - PR middle-end/102129 - * tree-ssa-ter.c (find_replaceable_in_bb): Do not move - possibly trapping expressions across calls. - -2021-08-31 Jakub Jelinek - - PR tree-optimization/102134 - * tree-ssa-ccp.c (bit_value_binop) : If sgn is - UNSIGNED and r1val | r1mask has MSB set, ensure lzcount doesn't - become negative. - -2021-08-31 Andrew Pinski - - PR driver/79181 - * collect-utils.c (setup_signals): New declaration. - * collect-utils.h (setup_signals): New function. - * collect2.c (handler): Delete. - (main): Instead of manually setting up the signals, - just call setup_signals. - * lto-wrapper.c (main): Likewise. - -2021-08-31 Andrew Pinski - - PR target/56337 - * config/i386/i386-protos.h (x86_output_aligned_bss): - Change align argument to unsigned type. - (x86_elf_aligned_decl_common): Likewise. - * config/i386/i386.c (x86_elf_aligned_decl_common): Likewise. - (x86_output_aligned_bss): Likewise. - -2021-08-31 YunQiang Su - - * config/mips/mips.c (mips_module_isa_name): New. - mips_file_start: add .module mipsREV to all asm output - -2021-08-31 YunQiang Su - - * config/mips/mips.h (struct mips_cpu_info): define enum mips_isa; - use enum instead of int for 'isa' member. - * config.gcc, config/mips/mips.c, config/mips/mips-cpus.def, - config/mips/netbsd.h: replace hardcoded numbers with enum. - -2021-08-31 liuhongt - - * config/i386/sse.md (*_ucmp3_1): Change from - define_split to define_insn_and_split. - (*avx2_eq3): Removed. - (_eq3): Adjust pattern - (_eq3_1): Rename to .. - (*_eq3_1): .. this, and - adjust pattern. - (*avx2_gt3): Removed. - (_gt3): Change from - define_insn to define_expand, and adjust pattern. - (UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT): Removed. - -2021-08-30 David Malcolm - - PR analyzer/99260 - * Makefile.in (ANALYZER_OBJS): Add analyzer/call-info.o. - -2021-08-30 Jason Merrill - - * doc/invoke.texi: Document -Wmissing-requires. - -2021-08-30 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove - TARGET_EXTRA_BUILTINS guard. - -2021-08-30 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Change - initialization of V2DI_type_node and unsigned_V2DI_type_node. - -2021-08-30 Bill Schmidt - - * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Use the new - decl when new_builtins_are_live. - * config/rs6000/rs6000-builtin-new.def (__builtin_cfstring): New - built-in. - -2021-08-30 Pat Haugen - - * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Add - OPTION_MASK_P10_FUSION_2STORE. - (POWERPC_MASKS): Likewise. - * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable - store fusion for Power10. - (is_fusable_store): New. - (power10_sched_reorder): Likewise. - (rs6000_sched_reorder): Do Power10 specific reordering. - (rs6000_sched_reorder2): Likewise. - * config/rs6000/rs6000.opt: Add new option. - -2021-08-30 Richard Biener - - PR tree-optimization/102128 - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): - Move scanning for if-converted scalar code to the caller - and instead delay clearing the visited flag for profitable - subgraphs. - (vect_slp_region): Cost all subgraphs before scheduling. - For if-converted BB vectorization scan for scalar COND_EXPRs - and do not vectorize if any found and the cost model is - very-cheap. - -2021-08-30 Richard Biener - - * common.opt (fexceptions): Mark - EnabledBy(fnon-call-exceptions). - * doc/invoke.texi (fnon-call-exceptions): Document this - enables -fexceptions. - -2021-08-30 Sebastian Huber - - * tsystem.h (abort): Define abort() if inhibit_libc is defined and it - is not already defined. - -2021-08-30 liuhongt - - * expmed.c (extract_bit_field_1): Make sure we're playing with - integral modes before call extract_integral_bit_field. - (extract_integral_bit_field): Add a parameter of type - scalar_int_mode which corresponds to of tmode. - And call extract_and_convert_fixed_bit_field instead of - extract_fixed_bit_field and convert_extracted_bit_field. - (extract_and_convert_fixed_bit_field): New function, it's a - combination of extract_fixed_bit_field and - convert_extracted_bit_field. - -2021-08-29 Iain Sandoe - - * config/darwin.c (darwin_libc_has_function): Do not run - the checks for x86 or modern Darwin. Make sure that there - is a value set for darwin_macosx_version_min before testing. - -2021-08-29 Iain Sandoe - - * config/i386/darwin.h (CLEAR_INSN_CACHE): New. - -2021-08-28 Jan Hubicka - - * ipa-modref-tree.h (modref_access_node::merge): Break out - logic combining offsets and logic merging ranges to ... - (modref_access_node::combined_offsets): ... here - (modref_access_node::update2): ... here - (modref_access_node::closer_pair_p): New member function. - (modref_access_node::forced_merge): New member function. - (modre_ref_node::insert): Do merging when table is full. - -2021-08-28 YunQiang Su - - PR target/102089 - * config.gcc: MIPS: use N64 ABI by default if the triple end - with -gnuabi64, which is used by Debian since 2013. - -2021-08-28 Alexandre Oliva - - * ipa-modref.c (analyze_function): Skip debug stmts. - * tree-inline.c (estimate_num_insn): Consider builtins even - without a cgraph_node. - -2021-08-27 Jeff Law - - * config/h8300/bitfield.md (cstore4): Remove expander. - * config/h8300/h8300.c (h8300_expand_branch): Remove function. - * config/h8300/h8300-protos.h (h8300_expadn_branch): Remove prototype. - * config/h8300/h8300.md (eqne): New code iterator. - (geultu, geultu_to_c): Similarly. - * config/h8300/testcompare.md (cstore4): Dummy expander. - (store_c_, store_c_i_): New define_insn_and_splits - (cmp_c): New pattern - -2021-08-27 Jeff Law - - * tree-ssa-dom.c (reduce_vector_comparison_to_scalar_comparison): New - function. - (dom_opt_dom_walker::optimize_stmt): Use it. - -2021-08-27 Iain Sandoe - - * config/darwin.c (finalize_ctors): Add a section-start linker- - visible symbol. - (finalize_dtors): Likewise. - * config/darwin.h (MIN_LD64_INIT_TERM_START_LABELS): New. - -2021-08-27 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000-builtins.h): New #include. - (rs6000_init_builtins): Call rs6000_init_generated_builtins. Skip the - old initialization logic when new builtins are enabled. - * config/rs6000/rs6000-gen-builtins.c (write_decls): Rename - rs6000_autoinit_builtins to rs6000_init_generated_builtins. - (write_init_file): Likewise. - -2021-08-27 Iain Sandoe - - * configure.ac (darwin2[[0-9]]* | darwin19*): Alter use of - gcc_GAS_CHECK_FEATURE to remove an extraneous parameter. - (amdgcn-* | gcn-*) Likewise. - -2021-08-27 Anthony Sharp - - * symbol-summary.h: Added missing template keyword. - -2021-08-27 Richard Biener - - PR tree-optimization/45178 - * tree-ssa-dce.c (find_obviously_necessary_stmts): For - infinite loops without exit do not mark control dependent - edges of the latch necessary. - -2021-08-27 konglin1 - - PR target/101472 - * config/i386/sse.md: (scattersi): Add mask operand to - UNSPEC_VSIBADDR. - (scattersi): Likewise. - (*avx512f_scattersi): Merge mask operand to set_dest. - (*avx512f_scatterdi): Likewise - -2021-08-27 Kewen Lin - - * config/rs6000/rs6000.c (rs6000_builtin_md_vectorized_function): Add - support for built-in functions MISC_BUILTIN_DIVWE, MISC_BUILTIN_DIVWEU, - MISC_BUILTIN_DIVDE, MISC_BUILTIN_DIVDEU, P10_BUILTIN_CFUGED, - P10_BUILTIN_CNTLZDM, P10_BUILTIN_CNTTZDM, P10_BUILTIN_PDEPD and - P10_BUILTIN_PEXTD on Power10. - -2021-08-27 Kewen Lin - - * config/rs6000/rs6000-call.c (builtin_function_type): Add unsigned - signedness for some Power10 bifs. - -2021-08-27 David Edelsohn - - PR target/102068 - * config/rs6000/rs6000.c (rs6000_adjust_field_align): Use - computed alignment if the entire struct has attribute packed. - -2021-08-27 liuhongt - - PR target/98167 - PR target/43147 - * config/i386/i386.c (ix86_gimple_fold_builtin): Fold - IX86_BUILTIN_SHUFPD512, IX86_BUILTIN_SHUFPS512, - IX86_BUILTIN_SHUFPD256, IX86_BUILTIN_SHUFPS, - IX86_BUILTIN_SHUFPS256. - (ix86_masked_all_ones): New function. - -2021-08-26 Uroš Bizjak - - * config/i386/i386.md (*btr_1): Call force_reg unconditionally. - (conditional moves with memory inputs splitters): Ditto. - * config/i386/sse.md (one_cmpl2): Simplify. - -2021-08-26 Jan Hubicka - - * ipa-modref-tree.h (modref_access_node::try_merge_with): Restart - search after merging. - -2021-08-26 Bill Schmidt - - * config/rs6000/rs6000-overload.def: Add remaining overloads. - -2021-08-26 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add cell stanza. - -2021-08-26 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add ieee128-hw, dfp, - crypto, and htm stanzas. - -2021-08-26 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add mma stanza. - -2021-08-26 Martin Sebor - - * tree-ssa-uninit.c (warn_uninit): Refactor and simplify. - (warn_uninit_phi_uses): Remove argument from calls to warn_uninit. - (warn_uninitialized_vars): Same. Reduce visibility of locals. - (warn_uninitialized_phi): Same. - -2021-08-26 Roger Sayle - - * tree-ssa-ccp.c (get_individual_bits): Helper function to - extract the individual bits from a widest_int constant (mask). - (gray_code_bit_flips): New read-only table for effiently - enumerating permutations/combinations of bits. - (bit_value_binop) [LROTATE_EXPR, RROTATE_EXPR]: Handle rotates - by unknown counts that are guaranteed less than the target - precision and four or fewer unknown bits by enumeration. - [LSHIFT_EXPR, RSHIFT_EXPR]: Likewise, also handle shifts by - enumeration under the same conditions. Handle remaining - shifts as a mask based upon the minimum possible shift value. - -2021-08-26 Roger Sayle - Richard Biener - - * match.pd (shift transformations): Remove a redundant - !POINTER_TYPE_P check. - -2021-08-26 Uroš Bizjak - - PR target/102057 - * config/i386/i386.md (cmove reg-reg move elimination peephole2s): - Set all_regs to true in the call to replace_rtx. - -2021-08-26 Jan Hubicka - - * ipa-modref-tree.c (test_insert_search_collapse): Update test. - * ipa-modref-tree.h (modref_base_node::insert): Be smarter when - hiting --param modref-max-refs limit. - (modref_tree:insert_base): Be smarter when hitting - --param modref-max-bases limit. Add new parameter REF. - (modref_tree:insert): Update. - (modref_tree:merge): Update. - * ipa-modref.c (read_modref_records): Update. - -2021-08-26 Jan Hubicka - - * params.opt: (modref-max-adjustments): Add full stop. - -2021-08-26 Jan Hubicka - - * ipa-modref-tree.h (modref_ref_node::verify): New member - functoin. - (modref_ref_node::insert): Use it. - (modref_ref_node::try_mere_with): Fix off by one error. - -2021-08-26 Martin Liska - Stefan Kneifel - - * cgraph.h (create_version_clone_with_body): Add new parameter. - * cgraphclones.c: Likewise. - * multiple_target.c (create_dispatcher_calls): Do not use - numbered suffixes. - (create_target_clone): Likewise here. - -2021-08-26 Jonathan Yong <10walls@gmail.com> - - * doc/extend.texi: Add note about reserved priorities - to the constructor attribute. - -2021-08-25 Martin Sebor - - * gimple-range-cache.cc (ssa_global_cache::dump): Avoid printing - range table header alone. - * gimple-range.cc (gimple_ranger::export_global_ranges): Same. - -2021-08-25 Jan Hubicka - - * doc/invoke.texi: Document --param modref-max-adjustments. - * ipa-modref-tree.c (test_insert_search_collapse): Update. - (test_merge): Update. - * ipa-modref-tree.h (struct modref_access_node): Add adjustments; - (modref_access_node::operator==): Fix handling of access ranges. - (modref_access_node::contains): Constify parameter; handle also - mismatched parm offsets. - (modref_access_node::update): New function. - (modref_access_node::merge): New function. - (unspecified_modref_access_node): Update constructor. - (modref_ref_node::insert_access): Add record_adjustments parameter; - handle merging. - (modref_ref_node::try_merge_with): New private function. - (modref_tree::insert): New record_adjustments parameter. - (modref_tree::merge): New record_adjustments parameter. - (modref_tree::copy_from): Update. - * ipa-modref.c (dump_access): Dump adjustments field. - (get_access): Update constructor. - (record_access): Update call of insert. - (record_access_lto): Update call of insert. - (merge_call_side_effects): Add record_adjustments parameter. - (get_access_for_fnspec): Update. - (process_fnspec): Update. - (analyze_call): Update. - (analyze_function): Update. - (read_modref_records): Update. - (ipa_merge_modref_summary_after_inlining): Update. - (propagate_unknown_call): Update. - (modref_propagate_in_scc): Update. - * params.opt (param-max-modref-adjustments=): New. - -2021-08-25 Michael Meissner - - * config/rs6000/vsx.md (UNSPEC_XXSPLTIDP): Rename from - UNSPEC_XXSPLTID. - (xxspltiw_v4si): Use vecperm type attribute. - (xxspltiw_v4si_inst): Use vecperm type attribute. - (xxspltiw_v4sf_inst): Likewise. - (xxspltidp_v2df): Use vecperm type attribute. Use - UNSPEC_XXSPLTIDP instead of UNSPEC_XXSPLTID. - (xxspltidp_v2df_inst): Likewise. - (xxsplti32dx_v4si): Use vecperm type attribute. - (xxsplti32dx_v4si_inst): Likewise. - (xxsplti32dx_v4sf_inst): Likewise. - (xxblend_): Likewise. - (xxpermx): Likewise. - (xxpermx_inst): Likewise. - (xxeval): Likewise. - -2021-08-25 Lewis Hyatt - - PR other/93067 - * coretypes.h (typedef diagnostic_input_charset_callback): Declare. - * diagnostic.c (diagnostic_initialize_input_context): New function. - * diagnostic.h (diagnostic_initialize_input_context): Declare. - * input.c (default_charset_callback): New function. - (file_cache::initialize_input_context): New function. - (file_cache_slot::create): Added ability to convert the input - according to the input context. - (file_cache::file_cache): Initialize the new input context. - (class file_cache_slot): Added new m_alloc_offset member. - (file_cache_slot::file_cache_slot): Initialize the new member. - (file_cache_slot::~file_cache_slot): Handle potentially offset buffer. - (file_cache_slot::maybe_grow): Likewise. - (file_cache_slot::needs_read_p): Handle NULL fp, which is now possible. - (file_cache_slot::get_next_line): Likewise. - * input.h (class file_cache): Added input context member. - -2021-08-25 Richard Biener - - PR tree-optimization/102046 - * tree-vect-slp.c (vect_build_slp_tree_2): Conservatively - update ->any_pattern when swapping operands. - -2021-08-25 Hongyu Wang - - PR target/101716 - * config/i386/i386.c (ix86_live_on_entry): Adjust comment. - (ix86_decompose_address): Remove retval check for ASHIFT, - allow non-canonical zero extend if AND mask covers ASHIFT - count. - (ix86_legitimate_address_p): Adjust condition for decompose. - (ix86_rtx_costs): Adjust cost for lea with non-canonical - zero-extend. - Co-Authored by: Uros Bizjak - -2021-08-25 Jiufu Guo - - PR tree-optimization/101145 - * tree-ssa-loop-niter.c (number_of_iterations_until_wrap): - New function. - (number_of_iterations_lt): Invoke above function. - (adjust_cond_for_loop_until_wrap): - Merge to number_of_iterations_until_wrap. - (number_of_iterations_cond): Update invokes for - adjust_cond_for_loop_until_wrap and number_of_iterations_lt. - -2021-08-25 konglin1 - - PR target/101471 - * config/i386/avx512dqintrin.h (_mm512_fpclass_ps_mask): Fix - macro define in O0. - (_mm512_mask_fpclass_ps_mask): Ditto. - -2021-08-25 Kewen Lin - - * config/rs6000/altivec.md (vec_unpacku_hi_v16qi): Remove. - (vec_unpacku_hi_v8hi): Likewise. - (vec_unpacku_lo_v16qi): Likewise. - (vec_unpacku_lo_v8hi): Likewise. - (vec_unpacku_hi_): New define_expand. - (vec_unpacku_lo_): Likewise. - -2021-08-24 David Edelsohn - - * config/rs6000/aix.h (SYSTEM_IMPLICIT_EXTERN_C): Delete. - * config/rs6000/aix71.h (SYSTEM_IMPLICIT_EXTERN_C): Define. - * config/rs6000/aix72.h (SYSTEM_IMPLICIT_EXTERN_C): Define. - * config/rs6000/aix73.h (TARGET_AIX_VERSION): Increase to 73. - -2021-08-24 Roger Sayle - - PR middle-end/102031 - * simplify-rtx.c (simplify_truncation): When comparing precisions - use "subreg_prec" variable, not "subreg_mode". - -2021-08-24 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add power10 and power10-64 - stanzas. - -2021-08-24 Bill Schmidt - - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Initialize - various pointer type nodes. - * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add enum - values for various pointer types. - (ptr_V16QI_type_node): New macro. - (ptr_V1TI_type_node): New macro. - (ptr_V2DI_type_node): New macro. - (ptr_V2DF_type_node): New macro. - (ptr_V4SI_type_node): New macro. - (ptr_V4SF_type_node): New macro. - (ptr_V8HI_type_node): New macro. - (ptr_unsigned_V16QI_type_node): New macro. - (ptr_unsigned_V1TI_type_node): New macro. - (ptr_unsigned_V8HI_type_node): New macro. - (ptr_unsigned_V4SI_type_node): New macro. - (ptr_unsigned_V2DI_type_node): New macro. - (ptr_bool_V16QI_type_node): New macro. - (ptr_bool_V8HI_type_node): New macro. - (ptr_bool_V4SI_type_node): New macro. - (ptr_bool_V2DI_type_node): New macro. - (ptr_bool_V1TI_type_node): New macro. - (ptr_pixel_type_node): New macro. - (ptr_intQI_type_node): New macro. - (ptr_uintQI_type_node): New macro. - (ptr_intHI_type_node): New macro. - (ptr_uintHI_type_node): New macro. - (ptr_intSI_type_node): New macro. - (ptr_uintSI_type_node): New macro. - (ptr_intDI_type_node): New macro. - (ptr_uintDI_type_node): New macro. - (ptr_intTI_type_node): New macro. - (ptr_uintTI_type_node): New macro. - (ptr_long_integer_type_node): New macro. - (ptr_long_unsigned_type_node): New macro. - (ptr_float_type_node): New macro. - (ptr_double_type_node): New macro. - (ptr_long_double_type_node): New macro. - (ptr_dfloat64_type_node): New macro. - (ptr_dfloat128_type_node): New macro. - (ptr_ieee128_type_node): New macro. - (ptr_ibm128_type_node): New macro. - (ptr_vector_pair_type_node): New macro. - (ptr_vector_quad_type_node): New macro. - (ptr_long_long_integer_type_node): New macro. - (ptr_long_long_unsigned_type_node): New macro. - -2021-08-24 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add power9-vector, power9, - and power9-64 stanzas. - -2021-08-24 Roger Sayle - Tom de Vries - - * config.gcc (nvptx-*-*): Define {c,c++}_target_objs. - * config/nvptx/nvptx-protos.h (nvptx_cpu_cpp_builtins): Prototype. - * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Implement with - a call to the new nvptx_cpu_cpp_builtins function in nvptx-c.c. - * config/nvptx/t-nvptx (nvptx-c.o): New rule. - * config/nvptx/nvptx-c.c: New source file. - (nvptx_cpu_cpp_builtins): Move implementation here. - -2021-08-24 Martin Sebor - - PR middle-end/101600 - PR middle-end/101977 - * gimple-ssa-warn-access.cc (maybe_warn_for_bound): Tighten up - the phrasing of a warning. - (check_access): Use the remaining size after subtracting any offset - rather than the whole object size. - * pointer-query.cc (access_ref::get_ref): Clear BASE0 flag if it's - clear for any nonnull PHI argument. - (compute_objsize): Clear argument. - -2021-08-24 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add power8-vector stanza. - -2021-08-24 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add power7 and power7-64 - stanzas. - -2021-08-24 Andrew MacLeod - - * value-relation.cc (rr_transitive_table): New. - (relation_transitive): New. - (value_relation::swap): Remove. - (value_relation::apply_transitive): New. - (relation_oracle::relation_oracle): Allocate a new tmp bitmap. - (relation_oracle::register_relation): Call register_transitives. - (relation_oracle::register_transitives): New. - * value-relation.h (relation_oracle): Add new temporary bitmap and - methods. - -2021-08-24 H.J. Lu - - PR target/102021 - * config/i386/i386-expand.c (ix86_expand_vector_move): Broadcast - from integer to a pseudo vector register. - -2021-08-24 Richard Biener - - PR tree-optimization/100089 - * tree-vectorizer.h (vect_slp_bb): Rename to ... - (vect_slp_if_converted_bb): ... this and get the original - loop as new argument. - * tree-vectorizer.c (try_vectorize_loop_1): Revert previous fix, - pass original loop to vect_slp_if_converted_bb. - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): - If orig_loop was passed scan the not vectorized stmts - for COND_EXPRs and force not profitable if found. - (vect_slp_region): Pass down all SLP instances to costing - if orig_loop was specified. - (vect_slp_bbs): Pass through orig_loop. - (vect_slp_bb): Rename to ... - (vect_slp_if_converted_bb): ... this and get the original - loop as new argument. - (vect_slp_function): Adjust. - -2021-08-24 Richard Earnshaw - - PR target/102035 - * config/arm/arm.md (attribute arch): Add fix_vlldm. - (arch_enabled): Use it. - * config/arm/vfp.md (lazy_store_multiple_insn): Add alternative to - use when erratum mitigation is needed. - -2021-08-24 Richard Earnshaw - - PR target/102035 - * config/arm/arm.opt (mfix-cmse-cve-2021-35465): New option. - * doc/invoke.texi (Arm Options): Document it. - * config/arm/arm-cpus.in (quirk_vlldm): New feature bit. - (ALL_QUIRKS): Add quirk_vlldm. - (cortex-m33): Add quirk_vlldm. - (cortex-m35p, cortex-m55): Likewise. - * config/arm/arm.c (arm_option_override): Enable fix_vlldm if - targetting an affected CPU and not explicitly controlled on - the command line. - -2021-08-24 Richard Earnshaw - - * config/arm/vfp.md (lazy_store_multiple_insn): Rewrite as valid RTL. - (lazy_load_multiple_insn): Likewise. - -2021-08-24 liuhongt - - PR target/101989 - * config/i386/sse.md (_vternlog): - Enable avx512 embedded broadcast. - (*_vternlog_all): Ditto. - (_vternlog_mask): Ditto. - -2021-08-24 liuhongt - - PR target/101989 - * config/i386/i386.c (ix86_rtx_costs): Define cost for - UNSPEC_VTERNLOG. - * config/i386/i386.h (STRIP_UNARY): New macro. - * config/i386/predicates.md (reg_or_notreg_operand): New - predicate. - * config/i386/sse.md (*_vternlog_all): New define_insn. - (*_vternlog_1): New pre_reload - define_insn_and_split. - (*_vternlog_2): Ditto. - (*_vternlog_3): Ditto. - (any_logic1,any_logic2): New code iterator. - (logic_op): New code attribute. - (ternlogsuffix): Extend to VNxDF and VNxSF. - -2021-08-24 Richard Biener - - * doc/invoke.texi (vect-inner-loop-cost-factor): Adjust. - * params.opt (--param vect-inner-loop-cost-factor): Adjust - maximum value. - * tree-vect-loop.c (vect_analyze_loop_form): Initialize - inner_loop_cost_factor to the minimum of the estimated number - of iterations of the inner loop and vect-inner-loop-cost-factor. - -2021-08-24 Roger Sayle - Richard Biener - - * config/i386/i386-features.c (compute_convert_gain): Provide - more accurate values for CONST_INT, when optimizing for size. - * config/i386/i386.c (COSTS_N_BYTES): Move definition from here... - * config/i386/i386.h (COSTS_N_BYTES): to here. - -2021-08-24 Roger Sayle - Jakub Jelinek - - PR middle-end/102029 - * match.pd (shift transformations): Add an additional check for - !POINTER_TYPE_P in the recently added left shift transformation. - -2021-08-24 liuhongt - - PR tree-optimization/100089 - * tree-vectorizer.c (try_vectorize_loop_1): Disable slp in - loop vectorizer when cost model is very-cheap. - -2021-08-23 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (parse_bif_entry): Don't call - asprintf, which is not available on AIX. - -2021-08-23 Bill Schmidt - - * config.gcc (target_gtfiles): Add ./rs6000-builtins.h. - * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Set. - -2021-08-23 Bill Schmidt - - * config.gcc (powerpc*-*-*): Add rs6000-builtins.o to extra_objs. - * config/rs6000/rs6000-gen-builtins.c (main): Close init_file - last. - * config/rs6000/t-rs6000 (rs6000-gen-builtins.o): New target. - (rbtree.o): Likewise. - (rs6000-gen-builtins): Likewise. - (rs6000-builtins.c): Likewise. - (rs6000-builtins.h): Likewise. - (rs6000.o): Add dependency. - (EXTRA_HEADERS): Add rs6000-vecdefines.h. - (rs6000-vecdefines.h): New target. - (rs6000-builtins.o): Likewise. - (rs6000-call.o): Add rs6000-builtins.h as a dependency. - (rs6000-c.o): Likewise. - -2021-08-23 Bill Schmidt - - PR target/101830 - * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): - Diagnose buffer overrun. - (safe_inc_pos): Fix overrun detection. - (match_identifier): Diagnose buffer overrun. - (match_integer): Likewise. - (match_to_right_bracket): Likewise. - -2021-08-23 Jan Hubicka - - * ipa-modref-tree.h (modref_access_node::range_info_useful_p): - Improve range compare. - (modref_access_node::contains): New member function. - (modref_access_node::search): Remove. - (modref_access_node::insert): Be smarter about subaccesses. - -2021-08-23 Thomas Schwinge - - * config/i386/i386-options.c (ix86_omp_device_kind_arch_isa) - [ACCEL_COMPILER]: Match "intel_mic". - * config/i386/t-omp-device (omp-device-properties-i386) : - Add "intel_mic". - -2021-08-23 Jeff Law - - * config/h8300/h8300-protos.h (h8300_expand_epilogue): Add new - argument. - * config/h8300/jumpcall.md (call, call_value): Restrict to - !SIBLING_CALL_P cases. - (subcall, sibcall_value): New patterns & expanders. - * config/h8300/proepi.md (epilogue): Pass new argument to - h8300_expand_epilogue. - (sibcall_epilogue): New expander. - * config/h8300/h8300.c (h8300_expand_epilogue): Handle sibcall - epilogues too. - (h8300_ok_for_sibcall_p): New function. - (TARGET_FUNCTION_OK_FOR_SIBCALL): define. - -2021-08-23 Roger Sayle - - * simplify-rtx.c (simplify_unary_operation_1): [TRUNCATE]: - Handle case where the operand is already the desired mode. - -2021-08-23 Richard Biener - - PR ipa/97565 - * tree-ssa-structalias.c (ipa_pta_execute): Check in_other_partition - in addition to has_gimple_body. - -2021-08-23 Jan Hubicka - - PR middle-end/101949 - * ipa-modref.c (analyze_ssa_name_flags): Fix merging of - EAF_NOCLOBBER - -2021-08-23 Martin Liska - - * doc/invoke.texi: Put the option out of -mxl-mode-app-model - table. - -2021-08-23 Richard Biener - - * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): - Properly scale the inner loop cost only once. - -2021-08-23 Roger Sayle - - * tree-ssa-ccp.c (bit_value_binop) [TRUNC_MOD_EXPR, TRUNC_DIV_EXPR]: - Provide bounds for unsigned (and signed with non-negative operands) - division and modulus. - -2021-08-23 Roger Sayle - - * simplify-rtx.c (simplify_truncation): Generalize simplification - of (truncate:A (subreg:B X)). - (simplify_unary_operation_1) [FLOAT_TRUNCATE, FLOAT_EXTEND, - SIGN_EXTEND, ZERO_EXTEND]: Handle cases where the operand - already has the desired machine mode. - (test_scalar_int_ops): Add tests that useless extensions and - truncations are optimized away. - (test_scalar_int_ext_ops): New self-test function to confirm - that truncations of extensions are correctly simplified. - (test_scalar_int_ext_ops2): New self-test function to check - truncations of truncations, extensions of extensions, and - truncations of extensions. - (test_scalar_ops): Call the above two functions with a - representative sampling of integer machine modes. - -2021-08-23 Roger Sayle - - * match.pd (shift transformations): Change the sign of an - LSHIFT_EXPR if it reduces the number of explicit conversions. - -2021-08-23 Jakub Jelinek - - PR tree-optimization/86723 - * gimple-ssa-store-merging.c (find_bswap_or_nop_finalize): Add - cast64_to_32 argument, set *cast64_to_32 to false, unless n is - non-memory permutation of 64-bit src which only has bytes of - 0 or [5..8] and n->range is 4. - (find_bswap_or_nop): Add cast64_to_32 and mask arguments, adjust - find_bswap_or_nop_finalize caller, support bswap with some bytes - zeroed, as long as at least two bytes are not zeroed. - (bswap_replace): Add mask argument and handle masking of bswap - result. - (maybe_optimize_vector_constructor): Adjust find_bswap_or_nop - caller, punt if cast64_to_32 or mask is not all ones. - (pass_optimize_bswap::execute): Adjust find_bswap_or_nop_finalize - caller, for now punt if cast64_to_32. - -2021-08-23 Richard Biener - - PR tree-optimization/79334 - * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record - a type also for COMPONENT_REFs. - (vn_reference_may_trap): Check ARRAY_REF with constant index - against the array domain. - -2021-08-23 liuhongt - - PR target/102016 - * config/i386/sse.md (*avx512f_pshufb_truncv8hiv8qi_1): Add - TARGET_AVX512BW to condition. - -2021-08-23 Jakub Jelinek - - PR debug/101905 - * dwarf2out.c (gen_variable_die): Add DW_AT_location for global - register variables already during early_dwarf if possible. - -2021-08-23 Christophe Lyon - - * config/arm/arm_mve.h: Fix __arm_vctp16q return type. - -2021-08-23 Christophe Lyon - - PR target/100856 - * config/arm/arm.opt: Fix typo. - * config/arm/t-rmprofile: Fix typo. - -2021-08-23 Jakub Jelinek - - * tree.h (OMP_CLAUSE_GRAINSIZE_STRICT): Define. - (OMP_CLAUSE_NUM_TASKS_STRICT): Define. - * tree-pretty-print.c (dump_omp_clause) : Print strict: modifier. - * omp-expand.c (expand_task_call): Use GOMP_TASK_FLAG_STRICT in iflags - if either grainsize or num_tasks clause has the strict modifier. - -2021-08-23 Martin Liska - - * dbgcnt.def (DEBUG_COUNTER): New counter. - * gimple.c (gimple_call_arg_flags): Use it in IPA PTA. - -2021-08-23 Jan Hubicka - - * ipa-modref.c (analyze_ssa_name_flags): Improve handling of return slot. - -2021-08-23 Xi Ruoyao - - PR target/101922 - * config/mips/mips-protos.h (mips_msa_output_shift_immediate): - Declare. - * config/mips/mips.c (mips_msa_output_shift_immediate): New - function. - * config/mips/mips-msa.md (vashl3, vashr3, - vlshr3): Call it. - -2021-08-22 Jan Hubicka - Martin Liska - - PR middle-end/101949 - * ipa-modref.c (analyze_ssa_name_flags): Indirect call implies - ~EAF_NOCLOBBER. - -2021-08-21 Dragan Mladjenovic - - * config/mips/mips.c (mips_function_rodata_section, - TARGET_ASM_FUNCTION_RODATA_SECTION): Removed. - -2021-08-21 John David Anglin - - * config/pa/pa.c (pa_asm_output_aligned_common): Remove warning. - -2021-08-20 Serge Belyshev - - * configure.ac (thread-local storage support): Remove tls_first_major - and tls_first_minor. Use "$conftest_s" to check support. - * configure: Regenerate. - -2021-08-20 Serge Belyshev - - * configure.ac: Fixup formatting. - -2021-08-20 Serge Belyshev - - * acinclude.m4 (gcc_GAS_CHECK_FEATURE): Remove third argument and ... - * configure.ac: ... update all callers. - -2021-08-20 Serge Belyshev - - PR target/91602 - * acinclude.m4 (_gcc_COMPUTE_GAS_VERSION, _gcc_GAS_VERSION_GTE_IFELSE) - (gcc_GAS_VERSION_GTE_IFELSE): Remove. - (gcc_GAS_CHECK_FEATURE): Do not handle in-tree case specially. - * configure.ac: Remove gcc_cv_gas_major_version, gcc_cv_gas_minor_version. - Remove remaining checks for in-tree assembler. - * configure: Regenerate. - -2021-08-20 Jeff Law - - * config/h8300/h8300.c (shift_alg_hi): Improve arithmetic shift right - by 15 bits for H8/300H and H8/S. Improve logical shifts by 12 - bits for H8/S. - (shift_alg_si): Improve arithmetic right shift by 28-30 bits for - H8/300H. Improve arithmetic shift right by 15 bits for H8/S. - Improve logical shifts by 27 bits for H8/S. - (get_shift_alg): Corresponding changes. - (h8300_option_override): Revert to loops for -Os when profitable. - -2021-08-20 Richard Biener - - * tree-vect-data-refs.c (dr_group_sort_cmp): Do not compare - BBs. - (vect_analyze_data_ref_accesses): Likewise. Assign the BB - index as group_id when dataref_groups were not computed. - * tree-vect-slp.c (vect_slp_bbs): Bump current_group when - we advace to the next BB. - -2021-08-20 Jakub Jelinek - - * omp-builtins.def (BUILT_IN_GOMP_WARNING, BUILT_IN_GOMP_ERROR): New - builtins. - -2021-08-20 Martin Liska - - PR gcov-profile/89961 - * gcov.c (make_gcov_file_name): Rewrite using std::string. - (mangle_name): Simplify, do not used the second argument. - (strip_extention): New function. - (get_md5sum): Likewise. - (get_gcov_intermediate_filename): Handle properly -p and -x - options. - (output_gcov_file): Use string type. - (generate_results): Likewise. - (md5sum_to_hex): Remove. - -2021-08-20 Michael Meissner - - * config/rs6000/altivec.md (UNSPEC_XXEVAL): Move to vsx.md. - (UNSPEC_XXSPLTIW): Move to vsx.md. - (UNSPEC_XXSPLTID): Move to vsx.md. - (UNSPEC_XXSPLTI32DX): Move to vsx.md. - (UNSPEC_XXBLEND): Move to vsx.md. - (UNSPEC_XXPERMX): Move to vsx.md. - (VM3): Move to vsx.md. - (VM3_char): Move to vsx.md. - (xxspltiw_v4si): Move to vsx.md. - (xxspltiw_v4sf): Move to vsx.md. - (xxspltiw_v4sf_inst): Move to vsx.md. - (xxspltidp_v2df): Move to vsx.md. - (xxspltidp_v2df_inst): Move to vsx.md. - (xxsplti32dx_v4si_inst): Move to vsx.md. - (xxsplti32dx_v4sf): Move to vsx.md. - (xxsplti32dx_v4sf_inst): Move to vsx.md. - (xxblend_): Move to vsx.md. - (xxpermx): Move to vsx.md. - (xxpermx_inst): Move to vsx.md. - * config/rs6000/vsx.md (UNSPEC_XXEVAL): Move from altivec.md. - (UNSPEC_XXSPLTIW): Move from altivec.md. - (UNSPEC_XXSPLTID): Move from altivec.md. - (UNSPEC_XXSPLTI32DX): Move from altivec.md. - (UNSPEC_XXBLEND): Move from altivec.md. - (UNSPEC_XXPERMX): Move from altivec.md. - (VM3): Move from altivec.md. - (VM3_char): Move from altivec.md. - (xxspltiw_v4si): Move from altivec.md. - (xxspltiw_v4sf): Move from altivec.md. - (xxspltiw_v4sf_inst): Move from altivec.md. - (xxspltidp_v2df): Move from altivec.md. - (xxspltidp_v2df_inst): Move from altivec.md. - (xxsplti32dx_v4si_inst): Move from altivec.md. - (xxsplti32dx_v4sf): Move from altivec.md. - (xxsplti32dx_v4sf_inst): Move from altivec.md. - (xxblend_): Move from altivec.md. - (xxpermx): Move from altivec.md. - (xxpermx_inst): Move from altivec.md. - -2021-08-19 Roger Sayle - - * tree-vect-generic.c (expand_vector_operations_1): Use either - gimplify_build1 or gimplify_build2 instead of gimple_build_assign - when constructing scalar splat expressions. - -2021-08-19 Peter Bergner - - PR target/101849 - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Cast - pointer to __vector_pair *. - -2021-08-19 Martin Sebor - - * gimple-range.cc: Add comments. - * gimple-range.h: Same. - -2021-08-19 Martin Sebor - - PR middle-end/101984 - * gimple-ssa-warn-access.cc (pass_waccess::execute): Also call - disable_ranger. - -2021-08-19 Jeff Law - - * config.gcc (h8300-*-elf*): Do not include dbxelf.h. - (h8300-*-linux*, v850-*-rtems*, v850*-elf*): Likewise. - * config/v850/v850.h (DEFAULT_GDB_EXTENSIONS): Remove. - -2021-08-19 Jakub Jelinek - - PR middle-end/101950 - * optabs.c (expand_clrsb_using_clz): New function. - (expand_unop): Use it as another clrsb expansion fallback. - -2021-08-19 liuhongt - - Revert: - 2021-07-28 liuhongt - - PR target/99881 - * config/i386/i386.h (processor_costs): Add new member - integer_to_sse. - * config/i386/x86-tune-costs.h (ix86_size_cost, i386_cost, - i486_cost, pentium_cost, lakemont_cost, pentiumpro_cost, - geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost, - bdver_cost, znver1_cost, znver2_cost, znver3_cost, - btver1_cost, btver2_cost, btver3_cost, pentium4_cost, - nocona_cost, atom_cost, atom_cost, slm_cost, intel_cost, - generic_cost, core_cost): Initialize integer_to_sse same value - as sse_op. - (skylake_cost): Initialize integer_to_sse twice as much as sse_op. - * config/i386/i386.c (ix86_builtin_vectorization_cost): - Use integer_to_sse instead of sse_op to calculate the cost of - vec_construct. - -2021-08-18 Iain Sandoe - - * config.gcc: Include rpath.opt for Darwin. - * config/darwin.h (DRIVER_SELF_SPECS): Handle -rpath. - -2021-08-18 Thomas Schwinge - - PR bootstrap/101959 - * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor_expand): - Use an 'int_hash'. - -2021-08-18 Jonathan Wright - - * config/aarch64/arm_neon.h (vld3_lane_f64): Use float RTL - pattern and type cast. - (vld4_lane_f32): Use float RTL pattern. - (vld4q_lane_f64): Use float type cast. - -2021-08-18 Jan Hubicka - - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Check also - EAF_NOREAD. - -2021-08-18 Thomas Schwinge - - * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): Extend. - (test_map_of_type_with_ctor_and_dtor_expand): Add function. - (hash_map_tests_c_tests): Call it. - -2021-08-18 Thomas Schwinge - - * ggc.h (enum ggc_collect): New. - (ggc_collect): Use it. - * ggc-page.c: Adjust. - * ggc-common.c: Likewise. - * ggc-tests.c: Likewise. - * read-rtl-function.c: Likewise. - * selftest-run-tests.c: Likewise. - * doc/gty.texi (Invoking the garbage collector): Likewise. - -2021-08-18 liuhongt - - PR target/97147 - * config/i386/i386.h (TARGET_V2DF_REDUCTION_PREFER_HADDPD): - New macro. - * config/i386/sse.md (*sse3_haddv2df3_low): Add - TARGET_V2DF_REDUCTION_PREFER_HADDPD. - (*sse3_hsubv2df3_low): Ditto. - * config/i386/x86-tune.def - (X86_TUNE_V2DF_REDUCTION_PREFER_HADDPD): New tune. - -2021-08-17 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::gori_compute): Enable tracing. - (gori_compute::compute_operand_range): Add tracing. - (gori_compute::logical_combine): Ditto. - (gori_compute::compute_logical_operands): Ditto. - (gori_compute::compute_operand1_range): Ditto. - (gori_compute::compute_operand2_range): Ditto. - (gori_compute::outgoing_edge_range_p): Ditto. - * gimple-range-gori.h (class gori_compute): Add range_tracer. - -2021-08-17 Andrew MacLeod - - * flag-types.h (enum evrp_mode): Adjust evrp-mode values. - * gimple-range-cache.cc (DEBUG_RANGE_CACHE): Relocate from. - * gimple-range-trace.h (DEBUG_RANGE_CACHE): Here. - * params.opt (--param=evrp-mode): Adjust options. - -2021-08-17 Andrew MacLeod - - * Makefile.in (OBJS): Add gimple-range-trace.o. - * gimple-range-cache.h (enable_new_values): Remove unused prototype. - * gimple-range-fold.cc: Adjust headers. - * gimple-range-trace.cc: New. - * gimple-range-trace.h: New. - * gimple-range.cc (gimple_ranger::gimple_ranger): Enable tracer. - (gimple_ranger::range_of_expr): Add tracing. - (gimple_ranger::range_on_entry): Ditto. - (gimple_ranger::range_on_exit): Ditto. - (gimple_ranger::range_on_edge): Ditto. - (gimple_ranger::fold_range_internal): Ditto. - (gimple_ranger::dump_bb): Do not calculate edge range twice. - (trace_ranger::*): Remove. - (enable_ranger): Never create a trace_ranger. - (debug_seed_ranger): Move to gimple-range-trace.cc. - (dump_ranger): Ditto. - (debug_ranger): Ditto. - * gimple-range.h: Include gimple-range-trace.h. - (range_on_entry, range_on_exit): No longer virtual. - (class trace_ranger): Remove. - (DEBUG_RANGE_CACHE): Move to gimple-range-trace.h. - -2021-08-17 Martin Sebor - - PR middle-end/101854 - * builtins.c (expand_builtin_alloca): Move warning code to check_alloca - in gimple-ssa-warn-access.cc. - * calls.c (alloc_max_size): Move code to check_alloca. - (get_size_range): Move to pointer-query.cc. - (maybe_warn_alloc_args_overflow): Move to gimple-ssa-warn-access.cc. - (get_attr_nonstring_decl): Move to tree.c. - (fntype_argno_type): Move to gimple-ssa-warn-access.cc. - (append_attrname): Same. - (maybe_warn_rdwr_sizes): Same. - (initialize_argument_information): Move code to - gimple-ssa-warn-access.cc. - * calls.h (maybe_warn_alloc_args_overflow): Move to - gimple-ssa-warn-access.h. - (get_attr_nonstring_decl): Move to tree.h. - (maybe_warn_nonstring_arg): Move to gimple-ssa-warn-access.h. - (enum size_range_flags): Move to pointer-query.h. - (get_size_range): Same. - * gimple-ssa-warn-access.cc (has_location): Remove unused overload - to avoid Clang -Wunused-function. - (get_size_range): Declare static. - (maybe_emit_free_warning): Rename... - (maybe_check_dealloc_call): ...to this for consistency. - (class pass_waccess): Add members. - (pass_waccess::~pass_waccess): Defined. - (alloc_max_size): Move here from calls.c. - (maybe_warn_alloc_args_overflow): Same. - (check_alloca): New function. - (check_alloc_size_call): New function. - (check_strncat): Handle another warning flag. - (pass_waccess::check_builtin): Handle alloca. - (fntype_argno_type): Move here from calls.c. - (append_attrname): Same. - (maybe_warn_rdwr_sizes): Same. - (pass_waccess::check_call): Define. - (check_nonstring_args): New function. - (pass_waccess::check): Call new member functions. - (pass_waccess::execute): Enable ranger. - * gimple-ssa-warn-access.h (get_size_range): Move here from calls.h. - (maybe_warn_nonstring_arg): Same. - * gimple-ssa-warn-restrict.c: Remove #include. - * pointer-query.cc (get_size_range): Move here from calls.c. - * pointer-query.h (enum size_range_flags): Same. - (get_size_range): Same. - * tree.c (get_attr_nonstring_decl): Move here from calls.c. - * tree.h (get_attr_nonstring_decl): Move here from calls.h. - -2021-08-17 Thomas Schwinge - - * ggc.h (ggc_collect): Add 'force_collect' parameter. - * ggc-page.c (ggc_collect): Use that one instead of global - 'ggc_force_collect'. Adjust all users. - * doc/gty.texi (Invoking the garbage collector): Update. - * ggc-internal.h (ggc_force_collect): Remove. - * ggc-common.c (ggc_force_collect): Likewise. - * selftest.h (forcibly_ggc_collect): Remove. - * ggc-tests.c (selftest::forcibly_ggc_collect): Likewise. - * read-rtl-function.c (test_loading_labels): Adjust. - * selftest-run-tests.c (run_tests): Likewise. - -2021-08-17 Iain Sandoe - - * config/darwin.c (darwin_file_end): Reset and reclaim the - section names table at the end of compile. - -2021-08-17 Iain Sandoe - - PR target/100340 - * config.in: Regenerate. - * config/i386/darwin.h (EXTRA_ASM_OPTS): New - (ASM_SPEC): Pass options to disable branch shortening where - needed. - * configure: Regenerate. - * configure.ac: Detect versions of 'as' that support the - optimisation which has the bug. - -2021-08-17 Richard Biener - - * optabs-query.c (supports_vec_gather_load_p): Also check - for masked optabs. - (supports_vec_scatter_store_p): Likewise. - * tree-vect-data-refs.c (vect_gather_scatter_fn_p): Fall - back to masked variants if non-masked are not supported. - * tree-vect-patterns.c (vect_recog_gather_scatter_pattern): - When we need to use masked gather/scatter but do not have - a mask set up a constant true one. - * tree-vect-stmts.c (vect_check_scalar_mask): Also allow - non-SSA_NAME masks. - -2021-08-17 Roger Sayle - - * tree-ssa-ccp.c (bit_value_binop) [MINUS_EXPR]: Use same - algorithm as PLUS_EXPR to improve subtraction bit bounds. - [POINTER_DIFF_EXPR]: Treat as synonymous with MINUS_EXPR. - -2021-08-17 Roger Sayle - - * tree-ssa-ccp.c (bit_value_mult_const): New helper function to - calculate the mask-value pair result of a multiplication by an - unsigned constant. - (bit_value_binop) [MULT_EXPR]: Call it from here for - multiplications by (sparse) non-negative constants. - -2021-08-17 Christophe Lyon - - PR target/100896 - * config.gcc (gcc_cv_initfini_array): Leave undefined for - uclinuxfdpiceabi targets. - -2021-08-17 Alexandre Oliva - - * tree-inline.c (maybe_move_debug_stmts_to_successors): Don't - reverse debug stmts. - -2021-08-17 Alexandre Oliva - - * tree-cfg.c (dump_function_to_file): Use fun, not cfun. - -2021-08-17 Jonathan Wright - - * config/aarch64/arm_neon.h (__LD4_LANE_FUNC): Delete. - (__LD4Q_LANE_FUNC): Likewise. - (vld4_lane_u8): Define without macro. - (vld4_lane_u16): Likewise. - (vld4_lane_u32): Likewise. - (vld4_lane_u64): Likewise. - (vld4_lane_s8): Likewise. - (vld4_lane_s16): Likewise. - (vld4_lane_s32): Likewise. - (vld4_lane_s64): Likewise. - (vld4_lane_f16): Likewise. - (vld4_lane_f32): Likewise. - (vld4_lane_f64): Likewise. - (vld4_lane_p8): Likewise. - (vld4_lane_p16): Likewise. - (vld4_lane_p64): Likewise. - (vld4q_lane_u8): Likewise. - (vld4q_lane_u16): Likewise. - (vld4q_lane_u32): Likewise. - (vld4q_lane_u64): Likewise. - (vld4q_lane_s8): Likewise. - (vld4q_lane_s16): Likewise. - (vld4q_lane_s32): Likewise. - (vld4q_lane_s64): Likewise. - (vld4q_lane_f16): Likewise. - (vld4q_lane_f32): Likewise. - (vld4q_lane_f64): Likewise. - (vld4q_lane_p8): Likewise. - (vld4q_lane_p16): Likewise. - (vld4q_lane_p64): Likewise. - (vld4_lane_bf16): Likewise. - (vld4q_lane_bf16): Likewise. - -2021-08-17 Jonathan Wright - - * config/aarch64/arm_neon.h (__LD3_LANE_FUNC): Delete. - (__LD3Q_LANE_FUNC): Delete. - (vld3_lane_u8): Define without macro. - (vld3_lane_u16): Likewise. - (vld3_lane_u32): Likewise. - (vld3_lane_u64): Likewise. - (vld3_lane_s8): Likewise. - (vld3_lane_s16): Likewise. - (vld3_lane_s32): Likewise. - (vld3_lane_s64): Likewise. - (vld3_lane_f16): Likewise. - (vld3_lane_f32): Likewise. - (vld3_lane_f64): Likewise. - (vld3_lane_p8): Likewise. - (vld3_lane_p16): Likewise. - (vld3_lane_p64): Likewise. - (vld3q_lane_u8): Likewise. - (vld3q_lane_u16): Likewise. - (vld3q_lane_u32): Likewise. - (vld3q_lane_u64): Likewise. - (vld3q_lane_s8): Likewise. - (vld3q_lane_s16): Likewise. - (vld3q_lane_s32): Likewise. - (vld3q_lane_s64): Likewise. - (vld3q_lane_f16): Likewise. - (vld3q_lane_f32): Likewise. - (vld3q_lane_f64): Likewise. - (vld3q_lane_p8): Likewise. - (vld3q_lane_p16): Likewise. - (vld3q_lane_p64): Likewise. - (vld3_lane_bf16): Likewise. - (vld3q_lane_bf16): Likewise. - -2021-08-17 Jonathan Wright - - * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Delete. - (__LD2Q_LANE_FUNC): Likewise. - (vld2_lane_u8): Define without macro. - (vld2_lane_u16): Likewise. - (vld2_lane_u32): Likewise. - (vld2_lane_u64): Likewise. - (vld2_lane_s8): Likewise. - (vld2_lane_s16): Likewise. - (vld2_lane_s32): Likewise. - (vld2_lane_s64): Likewise. - (vld2_lane_f16): Likewise. - (vld2_lane_f32): Likewise. - (vld2_lane_f64): Likewise. - (vld2_lane_p8): Likewise. - (vld2_lane_p16): Likewise. - (vld2_lane_p64): Likewise. - (vld2q_lane_u8): Likewise. - (vld2q_lane_u16): Likewise. - (vld2q_lane_u32): Likewise. - (vld2q_lane_u64): Likewise. - (vld2q_lane_s8): Likewise. - (vld2q_lane_s16): Likewise. - (vld2q_lane_s32): Likewise. - (vld2q_lane_s64): Likewise. - (vld2q_lane_f16): Likewise. - (vld2q_lane_f32): Likewise. - (vld2q_lane_f64): Likewise. - (vld2q_lane_p8): Likewise. - (vld2q_lane_p16): Likewise. - (vld2q_lane_p64): Likewise. - (vld2_lane_bf16): Likewise. - (vld2q_lane_bf16): Likewise. - -2021-08-17 Maxim Kuvyrkov - - * haifa-sched.c (advance_one_cycle): Output more context-synchronization - lines for diff. - -2021-08-17 Maxim Kuvyrkov - - * haifa-sched.c (enum rfs_decision, rfs_str): Add RFS_AUTOPREF. - (rank_for_schedule): Use it. - -2021-08-17 Maxim Kuvyrkov - - PR rtl-optimization/91598 - * haifa-sched.c (autopref_rank_for_schedule): Prioritize "irrelevant" - insns after memory reads and before memory writes. - -2021-08-17 Alistair_Lee - - * rtl.h (CONST_VECTOR_P): New macro. - * config/aarch64/aarch64.c (aarch64_get_sve_pred_bits): Use RTL - code testing macros. - (aarch64_ptrue_all_mode): Likewise. - (aarch64_expand_mov_immediate): Likewise. - (aarch64_const_vec_all_in_range_p): Likewise. - (aarch64_rtx_costs): Likewise. - (aarch64_legitimate_constant_p): Likewise. - (aarch64_simd_valid_immediate): Likewise. - (aarch64_simd_make_constant): Likewise. - (aarch64_convert_mult_to_shift): Likewise. - (aarch64_expand_sve_vec_perm): Likewise. - (aarch64_vec_fpconst_pow_of_2): Likewise. - -2021-08-17 Andrew MacLeod - - PR tree-optimization/101938 - * range-op.cc (operator_abs::op1_range): Special case - -TYPE_MIN_VALUE for flag_wrapv. - -2021-08-17 Kewen Lin - - * tree-vect-slp.c (vectorizable_bb_reduc_epilogue): Add the cost for - value extraction. - -2021-08-17 Jakub Jelinek - - * tree.def (OMP_SCOPE): New tree code. - * tree.h (OMP_SCOPE_BODY, OMP_SCOPE_CLAUSES): Define. - * tree-nested.c (convert_nonlocal_reference_stmt, - convert_local_reference_stmt, convert_gimple_call): Handle - GIMPLE_OMP_SCOPE. - * tree-pretty-print.c (dump_generic_node): Handle OMP_SCOPE. - * gimple.def (GIMPLE_OMP_SCOPE): New gimple code. - * gimple.c (gimple_build_omp_scope): New function. - (gimple_copy): Handle GIMPLE_OMP_SCOPE. - * gimple.h (gimple_build_omp_scope): Declare. - (gimple_has_substatements): Handle GIMPLE_OMP_SCOPE. - (gimple_omp_scope_clauses, gimple_omp_scope_clauses_ptr, - gimple_omp_scope_set_clauses): New inline functions. - (CASE_GIMPLE_OMP): Add GIMPLE_OMP_SCOPE. - * gimple-pretty-print.c (dump_gimple_omp_scope): New function. - (pp_gimple_stmt_1): Handle GIMPLE_OMP_SCOPE. - * gimple-walk.c (walk_gimple_stmt): Likewise. - * gimple-low.c (lower_stmt): Likewise. - * gimplify.c (is_gimple_stmt): Handle OMP_MASTER. - (gimplify_scan_omp_clauses): For task reductions, handle OMP_SCOPE - like ORT_WORKSHARE constructs. Adjust diagnostics for % - allowing task reductions. Reject inscan reductions on scope. - (omp_find_stores_stmt): Handle GIMPLE_OMP_SCOPE. - (gimplify_omp_workshare, gimplify_expr): Handle OMP_SCOPE. - * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_SCOPE. - (estimate_num_insns): Likewise. - * omp-low.c (build_outer_var_ref): Look through GIMPLE_OMP_SCOPE - contexts if var isn't privatized there. - (check_omp_nesting_restrictions): Handle GIMPLE_OMP_SCOPE. - (scan_omp_1_stmt): Likewise. - (maybe_add_implicit_barrier_cancel): Look through outer - scope constructs. - (lower_omp_scope): New function. - (lower_omp_task_reductions): Handle OMP_SCOPE. - (lower_omp_1): Handle GIMPLE_OMP_SCOPE. - (diagnose_sb_1, diagnose_sb_2): Likewise. - * omp-expand.c (expand_omp_single): Support also GIMPLE_OMP_SCOPE. - (expand_omp): Handle GIMPLE_OMP_SCOPE. - (omp_make_gimple_edges): Likewise. - * omp-builtins.def (BUILT_IN_GOMP_SCOPE_START): New built-in. - -2021-08-17 Richard Biener - - PR tree-optimization/101925 - * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Set - reverse on COMPONENT_REF and ARRAY_REF according to - what reverse_storage_order_for_component_p does. - (vn_reference_eq): Compare reversed on reference ops. - (reverse_storage_order_for_component_p): New overload. - (vn_reference_lookup_3): Check reverse_storage_order_for_component_p - on the reference looked up. - -2021-08-17 Jeff Law - - * config/h8300/h8300.c (shift_alg_si): Avoid loops for most SImode - shifts on the H8/S. - (h8300_option_override): Use loops on H8/S more often when optimizing - for size. - (get_shift_alg): Handle new "special" cases on H8/S. Simplify - accordingly. Handle various arithmetic right shifts with special - sequences that we couldn't handle before. - -2021-08-16 Jeff Law - - * config.gcc (rl78-*-elf*): Do not include dbxelf.h. - -2021-08-16 Sebastian Huber - - * config/sparc/rtemself.h (SPARC_GCOV_TYPE_SIZE): Define. - * config/sparc/sparc.c (sparc_gcov_type_size): New. - (TARGET_GCOV_TYPE_SIZE): Redefine if SPARC_GCOV_TYPE_SIZE is defined. - * coverage.c (get_gcov_type): Use targetm.gcov_type_size(). - * doc/tm.texi (TARGET_GCOV_TYPE_SIZE): Add hook under "Misc". - * doc/tm.texi.in: Regenerate. - * target.def (gcov_type_size): New target hook. - * targhooks.c (default_gcov_type_size): New. - * targhooks.h (default_gcov_type_size): Declare. - * tree-profile.c (gimple_gen_edge_profiler): Use precision of - gcov_type_node. - (gimple_gen_time_profiler): Likewise. - -2021-08-16 Eric Botcazou - - * dwarf2out.c (add_scalar_info): Deal with DW_AT_data_bit_offset. - -2021-08-16 Tobias Burnus - - PR middle-end/101931 - * omp-low.c (omp_runtime_api_call): Update for routines - added in the meanwhile. - -2021-08-16 Martin Liska - - PR tree-optimization/100393 - * tree-switch-conversion.c (group_cluster::dump): Use - get_comparison_count. - (jump_table_cluster::find_jump_tables): Pre-compute number of - comparisons and then decrement it. Cache also max_ratio. - (jump_table_cluster::can_be_handled): Change signature. - * tree-switch-conversion.h (get_comparison_count): New. - -2021-08-16 Eric Botcazou - - * dwarf2out.c (add_data_member_location_attribute): Use GNAT - encodings only when -fgnat-encodings=all is specified. - (add_bound_info): Likewise. - (add_byte_size_attribute): Likewise. - (gen_member_die): Likewise. - -2021-08-16 Thomas Schwinge - - * omp-oacc-neuter-broadcast.cc - (execute_omp_oacc_neuter_broadcast): Plug 'par' memory leak. - -2021-08-16 Thomas Schwinge - - * omp-oacc-neuter-broadcast.cc - (execute_omp_oacc_neuter_broadcast): Clarify memory management for - 'prop_set'. - -2021-08-16 Thomas Schwinge - - * omp-oacc-neuter-broadcast.cc (field_map): Move variable into... - (execute_omp_oacc_neuter_broadcast): ... here. - (install_var_field, build_receiver_ref, build_sender_ref): Take - 'field_map_t *' parameter. Adjust all users. - (worker_single_copy, neuter_worker_single): Take a - 'record_field_map_t *' parameter. Adjust all users. - -2021-08-16 liuhongt - - PR target/101930 - * config/i386/i386.md (ldexp3): Force operands[1] to - reg. - -2021-08-16 Martin Liska - - PR ipa/101726 - * multiple_target.c (create_dispatcher_calls): Make default - function local only if it is a definition. - -2021-08-16 Martin Liska - - PR ipa/100600 - * ipa-icf-gimple.c (func_checker::compare_ssa_name): Do not - consider equal SSA_NAMEs when one is a param. - -2021-08-16 liuhongt - - PR target/101846 - * config/i386/i386-expand.c (ix86_expand_vec_perm_vpermt2): - Support vpermi2b for V32QI/V16QImode. - (ix86_extract_perm_from_pool_constant): New function. - (ix86_expand_vec_one_operand_perm_avx512): Support - vpermw/vpermb under TARGET_AVX512BW/TARGET_AVX512VBMI. - (expand_vec_perm_1): Adjust comments for upper. - * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): - New declare. - * config/i386/predicates.md (permvar_truncate_operand): New predicate. - (pshufb_truncv4siv4hi_operand): Ditto. - (pshufb_truncv8hiv8qi_operand): Ditto. - * config/i386/sse.md (*avx512bw_permvar_truncv16siv16hi_1): - New pre_reload define_insn_and_split. - (*avx512f_permvar_truncv8siv8hi_1): Ditto. - (*avx512f_vpermvar_truncv8div8si_1): Ditto. - (*avx512f_permvar_truncv32hiv32qi_1): Ditto. - (*avx512f_permvar_truncv16hiv16qi_1): Ditto. - (*avx512f_permvar_truncv4div4si_1): Ditto. - (*avx512f_pshufb_truncv8hiv8qi_1): Ditto. - (*avx512f_pshufb_truncv4siv4hi_1): Ditto. - (*avx512f_pshufd_truncv2div2si_1): Ditto. - -2021-08-16 Kito Cheng - - * config/riscv/multilib-generator: Support code model option for - multi-lib. - * doc/install.texi: Add document of new option for - --with-multilib-generator. - -2021-08-15 Clément Chigot - - * config/rs6000/rs6000.c (xcoff_tls_exec_model_detected): New. - (rs6000_legitimize_tls_address_aix): Use it. - (rs6000_xcoff_file_end): Add ".ref __tls_get_addr" when - xcoff_tls_exec_model_detected is true. - -2021-08-15 Jeff Law - - * config/h8300/h8300.c (shift_alg_si): Retune H8/300H shifts - to allow a bit more code growth, saving many dozens of cycles. - (h8300_option_override): Adjus shift_alg_si if optimizing for - code size. - (get_shift_alg): Use special + inline shifts for residuals - in more cases. - -2021-08-14 Stafford Horne - - PR target/99783 - * config/or1k/or1k-opts.h: New file. - * config/or1k/or1k.c (or1k_legitimize_address_1, print_reloc): - Support generating gotha relocations if -mcmodel=large is - specified. - * config/or1k/or1k.h (TARGET_CMODEL_SMALL, TARGET_CMODEL_LARGE): - New macros. - * config/or1k/or1k.opt (mcmodel=): New option. - * doc/invoke.texi (OpenRISC Options): Document mcmodel. - -2021-08-14 Martin Sebor - - PR middle-end/101791 - * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Use new argument - to valid_new_delete_pair_p. - * tree.c (valid_new_delete_pair_p): Add argument. - * tree.h (valid_new_delete_pair_p): Same. - -2021-08-14 Jakub Jelinek - - PR target/101896 - * config/i386/i386-expand.c (expand_vec_perm_broadcast_1) - : For this mode assert - !TARGET_AVX512BW || d->perm[0] rather than !TARGET_AVX2 || d->perm[0]. - -2021-08-13 Michael Meissner - - PR target/99921 - * config/rs6000/altivec.md (xxeval): Use register_predicate - instead of altivec_register_predicate. - -2021-08-13 Martin Sebor - - PR middle-end/101734 - * tree-ssa-uninit.c (maybe_warn_read_write_only): New function. - (maybe_warn_operand): Call it. - -2021-08-13 Martin Liska - - PR ipa/101354 - * attribs.c (decl_attributes): Make naked functions "noipa" - functions. - -2021-08-13 Martin Liska - - PR ipa/101261 - * symtab.c (symtab_node::noninterposable_alias): Do not create - local aliases for target_clone functions as the clonning pass - rejects aliases. - -2021-08-13 Martin Liska - - * opts.c (LIVE_PATCHING_OPTION): Define. - (control_options_for_live_patching): Use it in error messages. - -2021-08-13 Jan Hubicka - - * ipa-modref.c (dump_eaf_flags): Dump EAF_NOREAD. - (implicit_const_eaf_flags, implicit_pure_eaf_flags, - ignore_stores_eaf_flags): New constants. - (remove_useless_eaf_flags): New function. - (eaf_flags_useful_p): Use it. - (deref_flags): Add EAF_NOT_RETURNED if flag is unused; - handle EAF_NOREAD. - (modref_lattice::init): Add EAF_NOREAD. - (modref_lattice::add_escape_point): Do not reacord escape point if - result is unused. - (modref_lattice::merge): EAF_NOESCAPE implies EAF_NODIRECTESCAPE; - use remove_useless_eaf_flags. - (modref_lattice::merge_deref): Use ignore_stores_eaf_flags. - (modref_lattice::merge_direct_load): Add EAF_NOREAD - (analyze_ssa_name_flags): Fix handling EAF_NOT_RETURNED - (analyze_parms): Use remove_useless_eaf_flags. - (ipa_merge_modref_summary_after_inlining): Use ignore_stores_eaf_flags. - (modref_merge_call_site_flags): Add caller and ecf_flags parameter; - use remove_useless_eaf_flags. - (modref_propagate_flags_in_scc): Update. - * ipa-modref.h: Turn eaf_flags_t back to char. - * tree-core.h (EAF_NOT_RETURNED): Fix. - (EAF_NOREAD): New constant - * tree-ssa-alias.c: (ref_maybe_used_by_call_p_1): Check for - EAF_NOREAD. - * tree-ssa-structalias.c (handle_rhs_call): Handle new flags. - (handle_pure_call): Likewise. - -2021-08-12 Jakub Jelinek - - * tree.def (OMP_MASKED): New tree code. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_FILTER. - * tree.h (OMP_MASKED_BODY, OMP_MASKED_CLAUSES, OMP_MASKED_COMBINED, - OMP_CLAUSE_FILTER_EXPR): Define. - * tree.c (omp_clause_num_ops): Add OMP_CLAUSE_FILTER entry. - (omp_clause_code_name): Likewise. - (walk_tree_1): Handle OMP_CLAUSE_FILTER. - * tree-nested.c (convert_nonlocal_omp_clauses, - convert_local_omp_clauses): Handle OMP_CLAUSE_FILTER. - (convert_nonlocal_reference_stmt, convert_local_reference_stmt, - convert_gimple_call): Handle GIMPLE_OMP_MASTER. - * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_FILTER. - (dump_generic_node): Handle OMP_MASTER. - * gimple.def (GIMPLE_OMP_MASKED): New gimple code. - * gimple.c (gimple_build_omp_masked): New function. - (gimple_copy): Handle GIMPLE_OMP_MASKED. - * gimple.h (gimple_build_omp_masked): Declare. - (gimple_has_substatements): Handle GIMPLE_OMP_MASKED. - (gimple_omp_masked_clauses, gimple_omp_masked_clauses_ptr, - gimple_omp_masked_set_clauses): New inline functions. - (CASE_GIMPLE_OMP): Add GIMPLE_OMP_MASKED. - * gimple-pretty-print.c (dump_gimple_omp_masked): New function. - (pp_gimple_stmt_1): Handle GIMPLE_OMP_MASKED. - * gimple-walk.c (walk_gimple_stmt): Likewise. - * gimple-low.c (lower_stmt): Likewise. - * gimplify.c (is_gimple_stmt): Handle OMP_MASTER. - (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_FILTER. For clauses - that take one expression rather than decl or constant, force - gimplification of that into a SSA_NAME or temporary unless min - invariant. - (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_FILTER. - (gimplify_expr): Handle OMP_MASKED. - * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_MASKED. - (estimate_num_insns): Likewise. - * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE_FILTER. - (check_omp_nesting_restrictions): Handle GIMPLE_OMP_MASKED. Adjust - diagnostics for existence of masked construct. - (scan_omp_1_stmt, lower_omp_master, lower_omp_1, diagnose_sb_1, - diagnose_sb_2): Handle GIMPLE_OMP_MASKED. - * omp-expand.c (expand_omp_synch, expand_omp, omp_make_gimple_edges): - Likewise. - -2021-08-12 Uroš Bizjak - - PR target/98309 - * config/i386/i386.md (avx512f_scalef2): New insn pattern. - (ldexp3): Use avx512f_scalef2. - (UNSPEC_SCALEF): Move from ... - * config/i386/sse.md (UNSPEC_SCALEF): ... here. - -2021-08-12 Jan Hubicka - - * ipa-split.c (consider_split): Fix condition testing void functions. - -2021-08-12 Aldy Hernandez - - * doc/invoke.texi: Remove docs for threader-mode param. - * flag-types.h (enum threader_mode): Remove. - * params.opt: Remove threader-mode param. - * tree-ssa-threadbackward.c (class back_threader): Remove - path_is_unreachable_p. - Make find_paths private. - Add maybe_thread and thread_through_all_blocks. - Remove reference marker for m_registry. - Remove reference marker for m_profit. - (back_threader::back_threader): Adjust for registry and profit not - being references. - (dump_path): Move down. - (debug): Move down. - (class thread_jumps): Remove. - (class back_threader_registry): Remove m_all_paths. - Remove destructor. - (thread_jumps::thread_through_all_blocks): Move to back_threader - class. - (fsm_find_thread_path): Remove - (back_threader::maybe_thread): New. - (back_threader::thread_through_all_blocks): Move from - thread_jumps. - (back_threader_registry::back_threader_registry): Remove - m_all_paths. - (back_threader_registry::~back_threader_registry): Remove. - (thread_jumps::find_taken_edge): Remove. - (thread_jumps::check_subpath_and_update_thread_path): Remove. - (thread_jumps::maybe_register_path): Remove. - (thread_jumps::handle_phi): Remove. - (handle_assignment_p): Remove. - (thread_jumps::handle_assignment): Remove. - (thread_jumps::fsm_find_control_statement_thread_paths): Remove. - (thread_jumps::find_jump_threads_backwards): Remove. - (thread_jumps::find_jump_threads_backwards_with_ranger): Remove. - (try_thread_blocks): Rename find_jump_threads_backwards to - maybe_thread. - (pass_early_thread_jumps::execute): Same. - -2021-08-12 Tobias Burnus - - * tree-core.h (omp_clause_proc_bind_kind): Add - OMP_CLAUSE_PROC_BIND_PRIMARY. - * tree-pretty-print.c (dump_omp_clause): Add TODO comment to - change 'master' to 'primary' in proc_bind for OpenMP 5.1. - -2021-08-12 Claudiu Zissulescu - - * common/config/arc/arc-common.c (arc_option_init_struct): Remove - fno-common reference. - * config/arc/arc.c (arc_override_options): Remove overriding of - flag_no_common. - -2021-08-12 Jakub Jelinek - - PR target/101860 - * config/i386/i386-expand.c (ix86_expand_vec_one_operand_perm_avx512): - If d->testing_p, return true after performing checks instead of - actually expanding the insn. - (expand_vec_perm_broadcast_1): Handle V32HImode - assert - !TARGET_AVX512BW and return false. - -2021-08-12 Eric Botcazou - - * configure.ac (PE linker --disable-dynamicbase support): New check. - * configure: Regenerate. - * config.in: Likewise. - * config/i386/mingw32.h (LINK_SPEC_DISABLE_DYNAMICBASE): New define. - (LINK_SPEC): Use it. - * config/i386/mingw-w64.h (LINK_SPEC_DISABLE_DYNAMICBASE): Likewise. - (LINK_SPEC): Likewise. - -2021-08-12 liuhongt - - PR target/101846 - * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_2): New - post_reload define_insn_and_split. - (*avx512bw_zero_extendv32qiv32hi2_2): Ditto. - (*sse4_1_zero_extendv8qiv8hi2_4): Ditto. - (*avx512f_zero_extendv16hiv16si2_2): Ditto. - (*avx2_zero_extendv8hiv8si2_2): Ditto. - (*sse4_1_zero_extendv4hiv4si2_4): Ditto. - (*avx512f_zero_extendv8siv8di2_2): Ditto. - (*avx2_zero_extendv4siv4di2_2): Ditto. - (*sse4_1_zero_extendv2siv2di2_4): Ditto. - (VI248_256, VI248_512, VI148_512, VI148_256, VI148_128): New - mode iterator. - -2021-08-11 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add always, power5, and - power6 stanzas. - -2021-08-11 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Add vsx stanza. - -2021-08-11 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: Finish altivec stanza. - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Move - initialization of pcvoid_type_node here... - (altivec_init_builtins): ...from here. - * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add - RS6000_BTI_const_ptr_void. - (pcvoid_type_node): New macro. - -2021-08-11 Richard Biener - - PR target/101877 - * tree-ssa-forwprop.c (pass_forwprop::execute): Do not decompose - hard-register accesses. - -2021-08-11 Richard Biener - - * tree-ssa-operands.c (operands_scanner::get_expr_operands): - Do not look at COMPONENT_REF FIELD_DECLs TREE_THIS_VOLATILE - to determine has_volatile_ops. - -2021-08-11 Eric Botcazou - - * cfgexpand.c (expand_used_vars): Reuse attribs local variable. - -2021-08-11 Jan Hubicka - Alexandre Oliva - - * ipa-modref.c (modref_lattice::dump): Fix escape_point's min_flags - dumping. - (modref_lattice::merge_deref): Fix handling of indirect scape points. - (update_escape_summary_1): Likewise. - (update_escape_summary): Likewise. - (ipa_merge_modref_summary_after_inlining): Likewise. - -2021-08-11 Richard Biener - - PR middle-end/101858 - * fold-const.c (fold_binary_loc): Guard simplification - of X < (cast) (1 << Y) to integer types. - -2021-08-11 Richard Biener - - PR tree-optimization/101861 - * tree-vect-stmts.c (vectorizable_load): Fix error in - previous change with regard to gather vectorization. - -2021-08-11 prathamesh.kulkarni - - PR target/66791 - * config/arm/arm_neon.h (vdup_n_s8): Replace call to builtin - with constructor. - (vdup_n_s16): Likewise. - (vdup_n_s32): Likewise. - (vdup_n_s64): Likewise. - (vdup_n_u8): Likewise. - (vdup_n_u16): Likewise. - (vdup_n_u32): Likewise. - (vdup_n_u64): Likewise. - (vdup_n_p8): Likewise. - (vdup_n_p16): Likewise. - (vdup_n_p64): Likewise. - (vdup_n_f16): Likewise. - (vdup_n_f32): Likewise. - (vdupq_n_s8): Likewise. - (vdupq_n_s16): Likewise. - (vdupq_n_s32): Likewise. - (vdupq_n_s64): Likewise. - (vdupq_n_u8): Likewise. - (vdupq_n_u16): Likewise. - (vdupq_n_u32): Likewise. - (vdupq_n_u64): Likewise. - (vdupq_n_p8): Likewise. - (vdupq_n_p16): Likewise. - (vdupq_n_p64): Likewise. - (vdupq_n_f16): Likewise. - (vdupq_n_f32): Likewise. - (vmov_n_s8): Replace call to builtin with call to corresponding - vdup_n intrinsic. - (vmov_n_s16): Likewise. - (vmov_n_s32): Likewise. - (vmov_n_s64): Likewise. - (vmov_n_u8): Likewise. - (vmov_n_u16): Likewise. - (vmov_n_u32): Likewise. - (vmov_n_u64): Likewise. - (vmov_n_p8): Likewise. - (vmov_n_p16): Likewise. - (vmov_n_f16): Likewise. - (vmov_n_f32): Likewise. - (vmovq_n_s8): Likewise. - (vmovq_n_s16): Likewise. - (vmovq_n_s32): Likewise. - (vmovq_n_s64): Likewise. - (vmovq_n_u8): Likewise. - (vmovq_n_u16): Likewise. - (vmovq_n_u32): Likewise. - (vmovq_n_u64): Likewise. - (vmovq_n_p8): Likewise. - (vmovq_n_p16): Likewise. - (vmovq_n_f16): Likewise. - (vmovq_n_f32): Likewise. - * config/arm/arm_neon_builtins.def: Remove entries for vdup_n. - -2021-08-11 liuhongt - - PR target/98309 - * config/i386/i386.md (ldexp3): Extend to vscalefs[sd] - when TARGET_AVX512F and TARGET_SSE_MATH. - -2021-08-10 Jakub Jelinek - - PR target/80355 - * config/i386/i386-expand.c (expand_vec_perm_even_odd): Return false - for V32HImode if !TARGET_AVX512BW. - (ix86_vectorize_vec_perm_const) : - If !TARGET_AVX512BW and TARGET_AVX512F and d.testing_p, don't fail - early, but actually check the permutation. - -2021-08-10 Richard Biener - - PR tree-optimization/101809 - * tree-vect-stmts.c (get_load_store_type): Allow emulated - gathers with offset vector nunits being a constant multiple - of the data vector nunits. - (vect_get_gather_scatter_ops): Use the appropriate nunits - for the offset vector defs. - (vectorizable_store): Adjust call to - vect_get_gather_scatter_ops. - (vectorizable_load): Likewise. Handle the case of less - offset vectors than data vectors. - -2021-08-10 Jakub Jelinek - - PR target/80355 - * config/i386/sse.md (*avx512f_shuf_64x2_1_1, - *avx512f_shuf_32x4_1_1): New define_insn - patterns. - -2021-08-10 Richard Biener - - PR tree-optimization/101801 - PR tree-optimization/101819 - * tree-vectorizer.h (vect_emulated_vector_p): Declare. - * tree-vect-loop.c (vect_emulated_vector_p): New function. - (vectorizable_reduction): Re-instantiate a check for emulated - operations. - * tree-vect-stmts.c (vectorizable_shift): Likewise. - (vectorizable_operation): Likewise. Cost emulated vector - operations according to the scalar sequence synthesized by - vector lowering. - -2021-08-10 Richard Biener - - PR middle-end/101824 - * tree-nested.c (get_frame_field): Mark the COMPONENT_REF as - volatile in case the variable was. - -2021-08-10 H.J. Lu - - PR target/101804 - * config/i386/constraints.md (BC): Document for integer SSE - constant all bits set operand. - (BF): New constraint for const floating-point all bits set - vectors. - * config/i386/i386.c (standard_sse_constant_p): Likewise. - (standard_sse_constant_opcode): Likewise. - * config/i386/sse.md (sseconstm1): New mode attribute. - (mov_internal): Replace BC with . - -2021-08-10 liuhongt - - * config/i386/sse.md (cond_): New expander. - (VI248_AVX512VLBW): New mode iterator. - * config/i386/predicates.md - (nonimmediate_or_const_vec_dup_operand): New predicate. - -2021-08-09 Andrew MacLeod - - PR tree-optimization/101741 - * gimple-range-fold.cc (fold_using_range::range_of_builtin_call): Check - type of parameter for toupper/tolower. - -2021-08-09 Martin Jambor - - PR testsuite/101654 - * ipa-prop.c (propagate_controlled_uses): Removed a spurious space. - -2021-08-09 Pat Haugen - - * config/rs6000/rs6000.c (is_load_insn1): Verify destination is a - register. - (is_store_insn1): Verify source is a register. - -2021-08-09 Uroš Bizjak - - PR target/101812 - * config/i386/mmx.md (v2sf3): - Rename from *mmx_v2sf3 - -2021-08-09 Thomas Schwinge - - * config/nvptx/nvptx.c: Cross-reference parts adapted in - 'gcc/omp-oacc-neuter-broadcast.cc'. - * omp-low.c: Likewise. - * omp-oacc-neuter-broadcast.cc: Cross-reference parts adapted from - the above files. - -2021-08-09 Julian Brown - Kwok Cheung Yeung - Thomas Schwinge - - * config/gcn/gcn.c (gcn_init_builtins): Override decls for - BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START, - BUILT_IN_GOACC_SINGLE_COPY_END and BUILT_IN_GOACC_BARRIER. - (gcn_goacc_validate_dims): Turn on worker partitioning unconditionally. - (gcn_fork_join): Update comment. - * config/gcn/gcn.opt (flag_worker_partitioning): Remove. - (macc_experimental_workers): Remove unused option. - -2021-08-09 Julian Brown - Nathan Sidwell (via 'gcc/config/nvptx/nvptx.c' master) - Kwok Cheung Yeung - Thomas Schwinge - - * Makefile.in (OBJS): Add omp-oacc-neuter-broadcast.o. - * doc/tm.texi.in (TARGET_GOACC_CREATE_WORKER_BROADCAST_RECORD): - Add documentation hook. - * doc/tm.texi: Regenerate. - * omp-oacc-neuter-broadcast.cc: New file. - * omp-builtins.def (BUILT_IN_GOACC_BARRIER) - (BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START) - (BUILT_IN_GOACC_SINGLE_COPY_END): New builtins. - * passes.def (pass_omp_oacc_neuter_broadcast): Add pass. - * target.def (goacc.create_worker_broadcast_record): Add target - hook. - * tree-pass.h (make_pass_omp_oacc_neuter_broadcast): Add - prototype. - * config/gcn/gcn-protos.h (gcn_goacc_adjust_propagation_record): - Rename prototype to... - (gcn_goacc_create_worker_broadcast_record): ... this. - * config/gcn/gcn-tree.c (gcn_goacc_adjust_propagation_record): Rename - function to... - (gcn_goacc_create_worker_broadcast_record): ... this. - * config/gcn/gcn.c (TARGET_GOACC_ADJUST_PROPAGATION_RECORD): - Rename to... - (TARGET_GOACC_CREATE_WORKER_BROADCAST_RECORD): ... this. - -2021-08-09 Tejas Belagod - - PR target/101609 - * config/aarch64/aarch64-simd.md (vlshr3, vashr3): Use - the right iterator. - -2021-08-09 Thomas Schwinge - - * Makefile.in (GTFILES): Remove '$(srcdir)/omp-offload.c'. - -2021-08-09 Thomas Schwinge - - * builtins.def (DEF_GOACC_BUILTIN, DEF_GOMP_BUILTIN): Don't - consider '-foffload-abi'. - * common.opt (-foffload-abi): Remove 'Var', 'Init'. - * opts.c (common_handle_option) <-foffload-abi> [ACCEL_COMPILER]: - Ignore. - -2021-08-09 Thomas Schwinge - - * optc-gen.awk: Sanity check that 'Init' doesn't appear without - 'Var'. - -2021-08-09 Thomas Schwinge - - * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE): Remove. - -2021-08-09 Thomas Schwinge - - * doc/gty.texi (Files): Update. - -2021-08-09 Thomas Schwinge - - * doc/gty.texi (Files): Fix GTY header file example. - -2021-08-09 Roger Sayle - - * tree-ssa-ccp.c (value_mask_to_min_max): Helper function to - determine the upper and lower bounds from a mask-value pair. - (bit_value_unop) [ABS_EXPR, ABSU_EXPR]: Add support for - absolute value and unsigned absolute value expressions. - (bit_value_binop): Initialize *VAL's precision. - [LT_EXPR, LE_EXPR]: Use value_mask_to_min_max to determine - upper and lower bounds of operands. Add LE_EXPR/GE_EXPR - support when the operands are unknown but potentially equal. - [MIN_EXPR, MAX_EXPR]: Support minimum/maximum expressions. - -2021-08-09 Bin Cheng - - * config/aarch64/aarch64.md - (*extend2_aarch64): Use %0. - -2021-08-08 Sergei Trofimovich - - * lra-constraints.c: Fix s/otput/output/ typo. - -2021-08-06 Martin Sebor - - * builtins.c (expand_builtin_memchr): Move to gimple-ssa-warn-access.cc. - (expand_builtin_strcat): Same. - (expand_builtin_stpncpy): Same. - (expand_builtin_strncat): Same. - (check_read_access): Same. - (check_memop_access): Same. - (expand_builtin_strlen): Move checks to gimple-ssa-warn-access.cc. - (expand_builtin_strnlen): Same. - (expand_builtin_memcpy): Same. - (expand_builtin_memmove): Same. - (expand_builtin_mempcpy): Same. - (expand_builtin_strcpy): Same. - (expand_builtin_strcpy_args): Same. - (expand_builtin_stpcpy_1): Same. - (expand_builtin_strncpy): Same. - (expand_builtin_memset): Same. - (expand_builtin_bzero): Same. - (expand_builtin_strcmp): Same. - (expand_builtin_strncmp): Same. - (expand_builtin): Remove handlers. - (fold_builtin_strlen): Add a comment. - * builtins.h (check_access): Move to gimple-ssa-warn-access.cc. - * calls.c (maybe_warn_nonstring_arg): Same. - * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Add warning option. - * gimple-fold.c (gimple_fold_builtin_strcpy): Pass argument to callee. - (gimple_fold_builtin_stpcpy): Same. - * gimple-ssa-warn-access.cc (has_location): New function. - (get_location): Same. - (get_callee_fndecl): Same. - (call_nargs): Same. - (call_arg): Same. - (warn_string_no_nul): Define. - (unterminated_array): Same. - (check_nul_terminated_array): Same. - (maybe_warn_nonstring_arg): Same. - (maybe_warn_for_bound): Same. - (warn_for_access): Same. - (check_access): Same. - (check_memop_access): Same. - (check_read_access): Same. - (warn_dealloc_offset): Use helper functions. - (maybe_emit_free_warning): Same. - (class pass_waccess): Add members. - (check_strcat): New function. - (check_strncat): New function. - (check_stxcpy): New function. - (check_stxncpy): New function. - (check_strncmp): New function. - (pass_waccess::check_builtin): New function. - (pass_waccess::check): Call it. - * gimple-ssa-warn-access.h (warn_string_no_nul): Move here from - builtins.h. - (maybe_warn_for_bound): Same. - (check_access): Same. - (check_memop_access): Same. - (check_read_access): Same. - * pointer-query.h (struct access_data): Define a ctor overload. - -2021-08-06 Richard Biener - - PR tree-optimization/101801 - * tree-vectorizer.h (vect_worthwhile_without_simd_p): Rename... - (vect_can_vectorize_without_simd_p): ... to this. - * tree-vect-loop.c (vect_worthwhile_without_simd_p): Rename... - (vect_can_vectorize_without_simd_p): ... to this and fold - in vect_min_worthwhile_factor. - (vect_min_worthwhile_factor): Remove. - (vectorizable_reduction): Adjust and remove the cost part. - * tree-vect-stmts.c (vectorizable_shift): Likewise. - (vectorizable_operation): Likewise. - -2021-08-06 Uroš Bizjak - - PR target/101797 - * config/i386/i386.md (cmove reg-to-reg move elimination peephole2s): - Add general_gr_operand predicate to operand 3. - -2021-08-06 Roger Sayle - - * tree-ssa-phiopt.c (cond_removal_in_builtin_zero_pattern): Use - CFN_BUILT_IN_CLRSB* instead of BUILT_IN_CLRSB* for consistency. - -2021-08-06 Tamar Christina - - * config/aarch64/aarch64-sve-builtins.cc (register_svpattern, - register_svprfop): Pass vec<> by pointer. - * langhooks-def.h (lhd_simulate_enum_decl): Likewise. - * langhooks.c (lhd_simulate_enum_decl): Likewise. - * langhooks.h (struct lang_hooks_for_types): Likewise. - -2021-08-06 Jonathan Wright - - * config/aarch64/arm_neon.h (vst1_bf16_x2): Use - __builtin_memcpy instead of constructing an additional - __builtin_aarch64_simd_oi one vector at a time. - (vst1q_bf16_x2): Likewise. - (vst1_bf16_x3): Use __builtin_memcpy instead of constructing - an additional __builtin_aarch64_simd_ci one vector at a time. - (vst1q_bf16_x3): Likewise. - (vst1_bf16_x4): Use __builtin_memcpy instead of a union. - (vst1q_bf16_x4): Likewise. - (vst2_bf16): Use __builtin_memcpy instead of constructing an - additional __builtin_aarch64_simd_oi one vector at a time. - (vst2q_bf16): Likewise. - (vst3_bf16): Use __builtin_memcpy instead of constructing an - additional __builtin_aarch64_simd_ci mode one vector at a - time. - (vst3q_bf16): Likewise. - (vst4_bf16): Use __builtin_memcpy instead of constructing an - additional __builtin_aarch64_simd_xi one vector at a time. - (vst4q_bf16): Likewise. - -2021-08-06 Jonathan Wright - - * config/aarch64/arm_neon.h (__ST2_LANE_FUNC): Delete. - (__ST2Q_LANE_FUNC): Delete. - (vst2_lane_f16): Use __builtin_memcpy to copy vector - structure instead of constructing __builtin_aarch64_simd_oi - one vector at a time. - (vst2_lane_f32): Likewise. - (vst2_lane_f64): Likewise. - (vst2_lane_p8): Likewise. - (vst2_lane_p16): Likewise. - (vst2_lane_p64): Likewise. - (vst2_lane_s8): Likewise. - (vst2_lane_s16): Likewise. - (vst2_lane_s32): Likewise. - (vst2_lane_s64): Likewise. - (vst2_lane_u8): Likewise. - (vst2_lane_u16): Likewise. - (vst2_lane_u32): Likewise. - (vst2_lane_u64): Likewise. - (vst2_lane_bf16): Likewise. - (vst2q_lane_f16): Use __builtin_memcpy to copy vector - structure instead of using a union. - (vst2q_lane_f32): Likewise. - (vst2q_lane_f64): Likewise. - (vst2q_lane_p8): Likewise. - (vst2q_lane_p16): Likewise. - (vst2q_lane_p64): Likewise. - (vst2q_lane_s8): Likewise. - (vst2q_lane_s16): Likewise. - (vst2q_lane_s32): Likewise. - (vst2q_lane_s64): Likewise. - (vst2q_lane_u8): Likewise. - (vst2q_lane_u16): Likewise. - (vst2q_lane_u32): Likewise. - (vst2q_lane_u64): Likewise. - (vst2q_lane_bf16): Likewise. - -2021-08-06 Jonathan Wright - - * config/aarch64/arm_neon.h (__ST3_LANE_FUNC): Delete. - (__ST3Q_LANE_FUNC): Delete. - (vst3_lane_f16): Use __builtin_memcpy to copy vector - structure instead of constructing __builtin_aarch64_simd_ci - one vector at a time. - (vst3_lane_f32): Likewise. - (vst3_lane_f64): Likewise. - (vst3_lane_p8): Likewise. - (vst3_lane_p16): Likewise. - (vst3_lane_p64): Likewise. - (vst3_lane_s8): Likewise. - (vst3_lane_s16): Likewise. - (vst3_lane_s32): Likewise. - (vst3_lane_s64): Likewise. - (vst3_lane_u8): Likewise. - (vst3_lane_u16): Likewise. - (vst3_lane_u32): Likewise. - (vst3_lane_u64): Likewise. - (vst3_lane_bf16): Likewise. - (vst3q_lane_f16): Use __builtin_memcpy to copy vector - structure instead of using a union. - (vst3q_lane_f32): Likewise. - (vst3q_lane_f64): Likewise. - (vst3q_lane_p8): Likewise. - (vst3q_lane_p16): Likewise. - (vst3q_lane_p64): Likewise. - (vst3q_lane_s8): Likewise. - (vst3q_lane_s16): Likewise. - (vst3q_lane_s32): Likewise. - (vst3q_lane_s64): Likewise. - (vst3q_lane_u8): Likewise. - (vst3q_lane_u16): Likewise. - (vst3q_lane_u32): Likewise. - (vst3q_lane_u64): Likewise. - (vst3q_lane_bf16): Likewise. - -2021-08-06 Jonathan Wright - - * config/aarch64/arm_neon.h (__ST4_LANE_FUNC): Delete. - (__ST4Q_LANE_FUNC): Delete. - (vst4_lane_f16): Use __builtin_memcpy to copy vector - structure instead of constructing __builtin_aarch64_simd_xi - one vector at a time. - (vst4_lane_f32): Likewise. - (vst4_lane_f64): Likewise. - (vst4_lane_p8): Likewise. - (vst4_lane_p16): Likewise. - (vst4_lane_p64): Likewise. - (vst4_lane_s8): Likewise. - (vst4_lane_s16): Likewise. - (vst4_lane_s32): Likewise. - (vst4_lane_s64): Likewise. - (vst4_lane_u8): Likewise. - (vst4_lane_u16): Likewise. - (vst4_lane_u32): Likewise. - (vst4_lane_u64): Likewise. - (vst4_lane_bf16): Likewise. - (vst4q_lane_f16): Use __builtin_memcpy to copy vector - structure instead of using a union. - (vst4q_lane_f32): Likewise. - (vst4q_lane_f64): Likewise. - (vst4q_lane_p8): Likewise. - (vst4q_lane_p16): Likewise. - (vst4q_lane_p64): Likewise. - (vst4q_lane_s8): Likewise. - (vst4q_lane_s16): Likewise. - (vst4q_lane_s32): Likewise. - (vst4q_lane_s64): Likewise. - (vst4q_lane_u8): Likewise. - (vst4q_lane_u16): Likewise. - (vst4q_lane_u32): Likewise. - (vst4q_lane_u64): Likewise. - (vst4q_lane_bf16): Likewise. - -2021-08-06 Martin Liska - - * config/rs6000/rs6000.c (rs6000_option_override_internal): When - a target option is restored, it can have - rs6000_long_double_type_size set to FLOAT_PRECISION_TFmode - and error should not be emitted. - -2021-08-06 Sebastian Huber - - * gcov-io.h (gcov_write): Declare. - * gcov-io.c (gcov_write): New. - (gcov_write_counter): Remove. - (gcov_write_tag_length): Likewise. - (gcov_write_summary): Replace gcov_write_tag_length() with calls to - gcov_write_unsigned(). - * doc/invoke.texi (fprofile-info-section): Mention - __gcov_info_to_gdca(). - -2021-08-06 Martin Sebor - - * dominance.c (prune_bbs_to_update_dominators): Adjust by-value vec - arguments to by-reference. - (iterate_fix_dominators): Same. - * dominance.h (iterate_fix_dominators): Same. - * ipa-prop.h: Call auto_vec::to_vec_legacy. - * tree-data-ref.c (dump_data_dependence_relation): Adjust by-value vec - arguments to by-reference. - (debug_data_dependence_relation): Same. - (dump_data_dependence_relations): Same. - * tree-data-ref.h (debug_data_dependence_relation): Same. - (dump_data_dependence_relations): Same. - * tree-predcom.c (dump_chains): Same. - (initialize_root_vars_lm): Same. - (determine_unroll_factor): Same. - (replace_phis_by_defined_names): Same. - (insert_init_seqs): Same. - (pcom_worker::tree_predictive_commoning_loop): Call - auto_vec::to_vec_legacy. - * tree-ssa-pre.c (insert_into_preds_of_block): Adjust by-value vec - arguments to by-reference. - * tree-ssa-threadbackward.c (populate_worklist): Same. - (back_threader::resolve_def): Same. - * tree-vect-data-refs.c (vect_check_nonzero_value): Same. - (vect_enhance_data_refs_alignment): Same. - (vect_check_lower_bound): Same. - (vect_prune_runtime_alias_test_list): Same. - (vect_permute_store_chain): Same. - * tree-vect-slp-patterns.c (vect_normalize_conj_loc): Same. - * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Same. - * tree-vectorizer.h (vect_permute_store_chain): Same. - * vec.c (test_init): New function. - (vec_c_tests): Call new function. - * vec.h (vec): Declare ctors, dtor, and assignment. - (auto_vec::vec_to_legacy): New function. - (vec::copy): Adjust initialization. - -2021-08-05 H.J. Lu - - PR target/99744 - * config/i386/i386.c (ix86_can_inline_p): Ignore MASK_80387 if - callee only uses GPRs. - * config/i386/ia32intrin.h: Revert commit 5463cee2770. - * config/i386/serializeintrin.h: Revert commit 71958f740f1. - * config/i386/x86gprintrin.h: Add - #pragma GCC target("general-regs-only") and #pragma GCC pop_options - to disable non-GPR ISAs. - -2021-08-05 Richard Sandiford - - PR middle-end/101787 - * doc/md.texi (cond_ashl, cond_ashr, cond_lshr): Document. - -2021-08-05 Richard Sandiford - - * tree-vectorizer.h (vect_is_store_elt_extraction, vect_is_reduction) - (vect_reduc_type, vect_embedded_comparison_type, vect_comparison_type) - (vect_is_extending_load, vect_is_integer_truncation): New functions, - moved from aarch64.c but given different names. - * config/aarch64/aarch64.c (aarch64_is_store_elt_extraction) - (aarch64_is_reduction, aarch64_reduc_type) - (aarch64_embedded_comparison_type, aarch64_comparison_type) - (aarch64_extending_load_p, aarch64_integer_truncation_p): Delete - in favor of the above. Update callers accordingly. - -2021-08-05 Richard Earnshaw - - PR target/101723 - * config/arm/arm-cpus.in (generic-armv7-a): Add quirk to suppress - writing .cpu directive in asm output. - * config/arm/arm.c (arm_identify_fpu_from_isa): New variable. - (arm_last_printed_arch_string): Delete. - (arm_last-printed_fpu_string): Delete. - (arm_configure_build_target): If use of floating-point/SIMD is - disabled, remove all fp/simd related features from the target ISA. - (last_arm_targ_options): New variable. - (arm_print_asm_arch_directives): Add new parameters. Change order - of emitted directives and handle all cases here. - (arm_file_start): Always call arm_print_asm_arch_directives, move - all generation of .arch/.arch_extension here. - (arm_file_end): Call arm_print_asm_arch. - (arm_declare_function_name): Call arm_print_asm_arch_directives - instead of printing .arch/.fpu directives directly. - -2021-08-05 Richard Earnshaw - - * config/arm/arm.c (arm_configure_build_target): Don't call - arm_option_reconfigure_globals. - (arm_option_restore): Call arm_option_reconfigure_globals after - reconfiguring the target. - * config/arm/arm-c.c (arm_pragma_target_parse): Likewise. - -2021-08-05 Richard Earnshaw - - * config/arm/arm.c (arm_configure_build_target): Ensure the target's - arch_name is always set. - -2021-08-05 Jonathan Wright - - * config/aarch64/aarch64.c: Traverse RTL tree to prevent cost - of vec_select high-half from being added into Neon subtract - cost. - -2021-08-05 Jonathan Wright - - * config/aarch64/aarch64.c: Traverse RTL tree to prevent cost - of vec_select high-half from being added into Neon add cost. - -2021-08-05 Kewen Lin - - * cfgloop.h (loops_list::loops_list): Add one optional argument - root and adjust accordingly, update loop tree walking and factor - out to ... - * cfgloop.c (loops_list::walk_loop_tree): ... this. New function. - -2021-08-05 Eric Botcazou - - PR tree-optimization/101626 - * tree-sra.c (propagate_subaccesses_from_rhs): Do not set the - reverse scalar storage order on a pointer or vector component. - -2021-08-05 liuhongt - - * config/i386/sse.md (cond_): New expander. - -2021-08-05 liuhongt - - * config/i386/sse.md (cond_): New expander. - -2021-08-05 liuhongt - - * config/i386/sse.md (cond_): New expander. - -2021-08-04 David Malcolm - - PR analyzer/101570 - * Makefile.in (ANALYZER_OBJS): Add analyzer/region-model-asm.o. - -2021-08-04 H.J. Lu - - PR target/101742 - * config/i386/i386.h (STORE_MAX_PIECES): Allow 16/32/64 bytes - only if TARGET_INTER_UNIT_MOVES_TO_VEC is true. - -2021-08-04 H.J. Lu - - PR target/101772 - * config/i386/i386-expand.c (ix86_expand_vector_move): Call - ix86_gen_scratch_sse_rtx to get a scratch SSE register to copy - data with SSE register from one memory location to another. - -2021-08-04 Andreas Krebbel - - * config/s390/s390.c (expand_perm_with_vpdi): New function. - (vectorize_vec_perm_const_1): Call expand_perm_with_vpdi. - * config/s390/vector.md (*vpdi1, @vpdi1): Enable a - parameterized expander. - (*vpdi4, @vpdi4): Likewise. - -2021-08-04 Andreas Krebbel - - * config/s390/s390.c (MAX_VECT_LEN): Define macro. - (struct expand_vec_perm_d): Define struct. - (expand_perm_with_merge): New function. - (vectorize_vec_perm_const_1): New function. - (s390_vectorize_vec_perm_const): New function. - (TARGET_VECTORIZE_VEC_PERM_CONST): Define target macro. - -2021-08-04 Andreas Krebbel - - * config/s390/vector.md (V_HW_64): Remove mode iterator. - (*vec_load_pair): Use V_HW_2 instead of V_HW_64. - * config/s390/vx-builtins.md - (vec_scatter_element_SI): Use V_HW_2 instead of - V_HW_64. - -2021-08-04 Andreas Krebbel - - * config/s390/s390.md (UNSPEC_VEC_PERMI): Remove constant - definition. - * config/s390/vector.md (*vpdi1, *vpdi4): New pattern - definitions. - * config/s390/vx-builtins.md (*vec_permi): Emit generic rtx - instead of an unspec. - -2021-08-04 Andreas Krebbel - - * config/s390/s390-modes.def: Add more vector modes to support - concatenation of two vectors. - * config/s390/s390-protos.h (s390_expand_merge_perm_const): Add - prototype. - (s390_expand_merge): Likewise. - * config/s390/s390.c (s390_expand_merge_perm_const): New function. - (s390_expand_merge): New function. - * config/s390/s390.md (UNSPEC_VEC_MERGEH, UNSPEC_VEC_MERGEL): - Remove constant definitions. - * config/s390/vector.md (V_HW_2): Add mode iterators. - (VI_HW_4, V_HW_4): Rename VI_HW_4 to V_HW_4. - (vec_2x_nelts, vec_2x_wide): New mode attributes. - (*vmrhb, *vmrlb, *vmrhh, *vmrlh, *vmrhf, *vmrlf, *vmrhg, *vmrlg): - New pattern definitions. - (vec_widen_umult_lo_, vec_widen_umult_hi_) - (vec_widen_smult_lo_, vec_widen_smult_hi_) - (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf, vec_unpacks_lo_v2df) - (vec_unpacks_hi_v2df): Adjust expanders to emit non-unspec RTX for - vec merge. - * config/s390/vx-builtins.md (V_HW_4): Remove mode iterator. Now - in vector.md. - (vec_mergeh, vec_mergel): Use s390_expand_merge to - emit vec merge pattern. - -2021-08-04 Jonathan Wright - - * config/aarch64/aarch64.c (aarch64_strip_extend_vec_half): - Define. - (aarch64_rtx_mult_cost): Traverse RTL tree to prevent cost of - vec_select high-half from being added into Neon multiply - cost. - * rtlanal.c (vec_series_highpart_p): Define. - * rtlanal.h (vec_series_highpart_p): Declare. - -2021-08-04 Jonathan Wright - - * config/aarch64/aarch64.c (aarch64_strip_duplicate_vec_elt): - Define. - (aarch64_rtx_mult_cost): Traverse RTL tree to prevent - vec_select cost from being added into Neon multiply cost. - -2021-08-04 Richard Sandiford - - * tree-vect-loop.c (vect_better_loop_vinfo_p): Detect cases in - which old_loop_vinfo is an epilogue loop that handles a constant - number of iterations. - -2021-08-04 Richard Sandiford - - * tree-vect-loop.c (vect_analyze_loop): Print a dump message - when a reanalyzed loop fails to be cheaper than the current - main loop. - -2021-08-04 Richard Sandiford - - * config/aarch64/aarch64.c: Fix a typo. - -2021-08-04 Vincent Lefèvre - - PR gcov-profile/101773 - * gcov-io.c (gcov_close): Check return code of a fclose. - -2021-08-04 Bernd Edlinger - - PR ada/101575 - * dwarf2out.c (dwarf2out_assembly_start): Emit a dummy - .file statement when needed. - -2021-08-04 Richard Biener - - * tree-vect-data-refs.c (vect_check_gather_scatter): - Include widening conversions only when the result is - still handed by native gather or the current offset - size not already matches the data size. - Also succeed analysis in case there's no native support, - noted by a IFN_LAST ifn and a NULL decl. - (vect_analyze_data_refs): Always consider gathers. - * tree-vect-patterns.c (vect_recog_gather_scatter_pattern): - Test for no IFN gather rather than decl gather. - * tree-vect-stmts.c (vect_model_load_cost): Pass in the - gather-scatter info and cost emulated gathers accordingly. - (vect_truncate_gather_scatter_offset): Properly test for - no IFN gather. - (vect_use_strided_gather_scatters_p): Likewise. - (get_load_store_type): Handle emulated gathers and its - restrictions. - (vectorizable_load): Likewise. Emulate them by extracting - scalar offsets, doing scalar loads and a vector construct. - -2021-08-04 H.J. Lu - - PR target/101742 - * expr.c (op_by_pieces_d::op_by_pieces_d): Add a max_pieces - argument to set m_max_size. - (move_by_pieces_d): Pass MOVE_MAX_PIECES to op_by_pieces_d. - (store_by_pieces_d): Pass STORE_MAX_PIECES to op_by_pieces_d. - (compare_by_pieces_d): Pass COMPARE_MAX_PIECES to op_by_pieces_d. - -2021-08-04 Roger Sayle - Marc Glisse - - * match.pd (bit_ior, bit_xor): Canonicalize (X*C1)|(X*C2) and - (X*C1)^(X*C2) as X*(C1+C2), and related variants, using - tree_nonzero_bits to ensure that operands are bit-wise disjoint. - -2021-08-04 Richard Biener - - * tree-ssa-forwprop.c (pass_forwprop::execute): Split - out code to decompose vector loads ... - (optimize_vector_load): ... here. Generalize it to - handle intermediate widening and TARGET_MEM_REF loads - and apply it to loads with a supported vector mode as well. - -2021-08-04 Richard Biener - - PR tree-optimization/101756 - * tree-vect-slp.c (vectorizable_bb_reduc_epilogue): Make sure - the result of the reduction epilogue is compatible to the original - scalar result. - -2021-08-04 liuhongt - - PR target/101743 - * config/i386/i386.md (peephole2): Refine predicate from - register_operand to general_reg_operand. - -2021-08-04 Aldy Hernandez - - * gimple-range-path.h (path_range_query::dump): Mark override. - -2021-08-04 Richard Biener - - PR tree-optimization/101769 - * tree-tailcall.c (eliminate_tail_call): Add the created loop - for the first recursion and return it via the new output parameter. - (optimize_tail_call): Pass through new output param. - (tree_optimize_tail_calls_1): After creating all latches, - add the created loop to the loop tree. Do not mark loops for fixup. - -2021-08-04 Martin Liska - - * doc/invoke.texi: Document threader-mode param. - -2021-08-04 liuhongt - - * config/i386/sse.md (cond_fma): New expander. - (cond_fms): Ditto. - (cond_fnma): Ditto. - (cond_fnms): Ditto. - -2021-08-03 Segher Boessenkool - - * config/rs6000/vsx.md (*vsx_le_perm_store_): Use && instead of &. - -2021-08-03 Segher Boessenkool - - * config/rs6000/constraints.md: Remove "e" from the list of available - constraint characters. - -2021-08-03 Eugene Rozenfeld - - PR gcov-profile/71672 - * auto-profile.c (afdo_indirect_call): Fix setup of the historgram value for indirect calls. - -2021-08-03 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_minpos_epu16): New. - -2021-08-03 H.J. Lu - - * config/i386/i386.c (ix86_gen_scratch_sse_rtx): In 64-bit mode, - try XMM31 to avoid vzeroupper. - -2021-08-03 Richard Sandiford - - * doc/invoke.texi: Document -mtune=neoverse-512tvb and - -mcpu=neoverse-512tvb. - * config/aarch64/aarch64-cores.def (neoverse-512tvb): New entry. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64.c (neoverse512tvb_sve_vector_cost) - (neoverse512tvb_sve_issue_info, neoverse512tvb_vec_issue_info) - (neoverse512tvb_vector_cost, neoverse512tvb_tunings): New structures. - (aarch64_adjust_body_cost_sve): Handle -mtune=neoverse-512tvb. - (aarch64_adjust_body_cost): Likewise. - -2021-08-03 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Only - record issue information for operations that occur in the - innermost loop. - -2021-08-03 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_multiply_add_p): Add a vec_flags - parameter. Detect cases in which an Advanced SIMD MLA would almost - certainly require a MOV. - (aarch64_count_ops): Update accordingly. - -2021-08-03 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_is_store_elt_extraction): New - function, split out from... - (aarch64_detect_vector_stmt_subtype): ...here. - (aarch64_add_stmt_cost): Treat extracting element 0 as free. - -2021-08-03 Richard Sandiford - - * config/aarch64/aarch64-protos.h (sve_vec_cost): - Add gather_load_x32_cost and gather_load_x64_cost. - * config/aarch64/aarch64.c (generic_sve_vector_cost) - (a64fx_sve_vector_cost, neoversev1_sve_vector_cost): Update - accordingly, using the values given by the scalar_load * number - of elements calculation that we used previously. - (aarch64_detect_vector_stmt_subtype): Use the new fields. - -2021-08-03 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_adjust_body_cost_sve): New - function, split out from... - (aarch64_adjust_body_cost): ...here. - -2021-08-03 Richard Sandiford - - * config/aarch64/fractional-cost.h: New file. - * config/aarch64/aarch64.c: Include (indirectly) - and cost_fraction.h. - (vec_cost_fraction): New typedef. - (aarch64_detect_scalar_stmt_subtype): Use it for statement costs. - (aarch64_detect_vector_stmt_subtype): Likewise. - (aarch64_sve_adjust_stmt_cost, aarch64_adjust_stmt_cost): Likewise. - (aarch64_estimate_min_cycles_per_iter): Use vec_cost_fraction - for cycle counts. - (aarch64_adjust_body_cost): Likewise. - (aarch64_test_cost_fraction): New function. - (aarch64_run_selftests): Call it. - -2021-08-03 Richard Sandiford - - * config/aarch64/aarch64-protos.h (tune_params::sve_width): Turn - into a bitmask. - * config/aarch64/aarch64.c (aarch64_cmp_autovec_modes): Update - accordingly. - (aarch64_estimated_poly_value): Likewise. Use the least significant - set bit for the minimum and likely values. Use the most significant - set bit for the maximum value. - -2021-08-03 liuhongt - - * config/i386/sse.md (cond_): New expander. - (cond_mul): Ditto. - -2021-08-03 Kewen Lin - - * tree-cfg.c (move_sese_region_to_fn): Fix typos on dloop. - -2021-08-03 liuhongt - - * config/i386/sse.md (cond_):New expander. - (cond_mul): Ditto. - (cond_div): Ditto. - -2021-08-02 H.J. Lu - - * config/i386/i386.c (ix86_finalize_stack_frame_flags): Also - check stack_realign_needed for stack realignment. - (ix86_legitimate_constant_p): Always allow CONST_WIDE_INT smaller - than the largest integer supported by vector register. - * config/i386/i386.h (MAX_MOVE_MAX): New. Set to 64. - (MOVE_MAX): Set to bytes of the largest integer supported by - vector register. - (STORE_MAX_PIECES): New. - -2021-08-02 H.J. Lu - - * config/i386/i386-expand.c (ix86_expand_vector_move): Call - ix86_gen_scratch_sse_rtx to get a scratch SSE register to copy - data from one memory location to another. - -2021-08-02 H.J. Lu - - PR middle-end/90773 - * config/i386/i386.c (TARGET_GEN_MEMSET_SCRATCH_RTX): New. - -2021-08-02 Aldy Hernandez - - PR tree-optimization/101724 - * params.opt: Remove --param=threader-iterative. - * tree-ssa-threadbackward.c (pass_thread_jumps::execute): Remove - iterative mode. - -2021-08-02 Tom de Vries - - PR middle-end/101665 - * doc/extend.texi (nonnull attribute): Improve documentation. - -2021-08-02 Andrew Pinski - - PR rtl-optimization/101683 - * rtlanal.c (may_trap_p_1): Handle UNSIGNED_FIX. - -2021-08-02 Roger Sayle - - * tree-ssa-phiopt.c (cond_removal_in_builtin_zero_pattern): - Renamed from cond_removal_in_popcount_clz_ctz_pattern. - Add support for BSWAP, FFS, PARITY and CLRSB builtins. - (tree_ssa_phiop_worker): Update call to function above. - -2021-08-01 H.J. Lu - - PR target/78103 - * config/i386/i386.md (bsr_rex64_1_zext): New. - (combine splitter for constant - clzll): Replace gen_bsr_rex64_1 - with gen_bsr_rex64_1_zext. - -2021-07-31 Jakub Jelinek - - PR target/78103 - * config/i386/i386.md (bsr_rex64_1, bsr_1, bsr_zext_1): New - define_insn patterns. - (*bsr_rex64_2, *bsr_2): New define_insn_and_split patterns. - Add combine splitters for constant - clz. - (clz2): Use a temporary pseudo for bsr result. - -2021-07-30 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_floor_pd, _mm_floor_ps, - _mm_floor_sd, _mm_floor_ss): New. - -2021-07-30 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_ceil_pd, _mm_ceil_ps, - _mm_ceil_sd, _mm_ceil_ss): New. - -2021-07-30 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_blend_pd, _mm_blendv_pd, - _mm_blend_ps, _mm_blendv_ps): New. - -2021-07-30 Roger Sayle - Uroš Bizjak - - * config/i386/i386.md (*dec_cmov): New define_insn_and_split - to generate a conditional move using the carry flag after sub $1. - (peephole2): Eliminate a register-to-register move by inverting - the condition of a conditional move. - -2021-07-30 Hans-Peter Nilsson - - * config/mmix/mmix.md ("call", "call_value", "*call_real") - ("*call_value_real"): Don't generate rtx mentioning the generic - operands 1 and 2 to "call", and similarly for "call_value". - * config/mmix/mmix.c (mmix_print_operand_punct_valid_p) - (mmix_print_operand): Use '!' instead of 'p'. - -2021-07-30 Hans-Peter Nilsson - - * doc/md.texi (call): Correct information about operand 2. - * config/mmix/mmix.md ("call", "call_value"): Remove fixed FIXMEs. - -2021-07-30 Andrew MacLeod - - * range-op.cc (operator_trunc_mod::wi_fold): Fold constants. - -2021-07-30 Andrew MacLeod - - * range-op.cc (operator_div::wi_fold): Return UNDEFINED for [0, 0] divisor. - -2021-07-30 Andrew MacLeod - - * gimple-range-cache.cc (*::set_bb_range): Change const basic_block to - const_basic_block.. - (*::get_bb_range): Ditto. - (*::bb_range_p): Ditto. - * gimple-range-cache.h: Change prototypes. - -2021-07-30 H.J. Lu - - PR middle-end/90773 - * builtins.c (builtin_memcpy_read_str): Change the mode argument - from scalar_int_mode to fixed_size_mode. - (builtin_strncpy_read_str): Likewise. - (gen_memset_value_from_prev): New function. - (builtin_memset_read_str): Change the mode argument from - scalar_int_mode to fixed_size_mode. Use gen_memset_value_from_prev - and support CONST_VECTOR. - (builtin_memset_gen_str): Likewise. - (try_store_by_multiple_pieces): Use by_pieces_constfn to declare - constfun. - * builtins.h (builtin_strncpy_read_str): Replace scalar_int_mode - with fixed_size_mode. - (builtin_memset_read_str): Likewise. - * expr.c (widest_int_mode_for_size): Renamed to ... - (widest_fixed_size_mode_for_size): Add a bool argument to - indicate if QI vector mode can be used. - (by_pieces_ninsns): Call widest_fixed_size_mode_for_size - instead of widest_int_mode_for_size. - (pieces_addr::adjust): Change the mode argument from - scalar_int_mode to fixed_size_mode. - (op_by_pieces_d): Make m_len read-only. Add a bool member, - m_qi_vector_mode, to indicate that QI vector mode can be used. - (op_by_pieces_d::op_by_pieces_d): Add a bool argument to - initialize m_qi_vector_mode. Call widest_fixed_size_mode_for_size - instead of widest_int_mode_for_size. - (op_by_pieces_d::get_usable_mode): Change the mode argument from - scalar_int_mode to fixed_size_mode. Call - widest_fixed_size_mode_for_size instead of - widest_int_mode_for_size. - (op_by_pieces_d::smallest_fixed_size_mode_for_size): New member - function to return the smallest integer or QI vector mode. - (op_by_pieces_d::run): Call widest_fixed_size_mode_for_size - instead of widest_int_mode_for_size. Call - smallest_fixed_size_mode_for_size instead of - smallest_int_mode_for_size. - (store_by_pieces_d::store_by_pieces_d): Add a bool argument to - indicate that QI vector mode can be used and pass it to - op_by_pieces_d::op_by_pieces_d. - (can_store_by_pieces): Call widest_fixed_size_mode_for_size - instead of widest_int_mode_for_size. Pass memsetp to - widest_fixed_size_mode_for_size to support QI vector mode. - Allow all CONST_VECTORs for memset if vec_duplicate is supported. - (store_by_pieces): Pass memsetp to - store_by_pieces_d::store_by_pieces_d. - (clear_by_pieces_1): Removed. - (clear_by_pieces): Replace clear_by_pieces_1 with - builtin_memset_read_str and pass true to store_by_pieces_d to - support vector mode broadcast. - (string_cst_read_str): Change the mode argument from - scalar_int_mode to fixed_size_mode. - * expr.h (by_pieces_constfn): Change scalar_int_mode to - fixed_size_mode. - (by_pieces_prev): Likewise. - * rtl.h (lowpart_subreg_regno): New. - * rtlanal.c (lowpart_subreg_regno): New. A wrapper around - simplify_subreg_regno. - * target.def (gen_memset_scratch_rtx): New hook. - * doc/tm.texi.in: Add TARGET_GEN_MEMSET_SCRATCH_RTX. - * doc/tm.texi: Regenerated. - -2021-07-30 Xi Ruoyao - - PR target/94780 - * config/mips/mips.c (mips_atomic_assign_expand_fenv): Use - TARGET_EXPR instead of MODIFY_EXPR. - -2021-07-30 Xi Ruoyao - - PR target/101132 - * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Declare. - * config/mips/mips.c (mips_expand_vec_cmp_expr): New function. - * config/mips/mips-msa.md (vec_cmp): New - expander. - (vec_cmpu): New expander. - -2021-07-30 H.J. Lu - - PR target/101685 - * config/i386/i386-options.c (ix86_option_override_internal): - Don't enable LZCNT/POPCNT if they have been disabled explicitly. - -2021-07-30 prathamesh.kulkarni - - PR target/66791 - * config/arm/arm_neon.h (vld1_p64): Replace call to builtin by - explicitly dereferencing __a. - (vld1_s64): Likewise. - (vld1_u64): Likewise. - * config/arm/arm_neon_builtins.def (vld1): Remove entry for di - and change to VAR13. - -2021-07-30 Aldy Hernandez - - * gimple-loop-versioning.cc (lv_dom_walker::lv_dom_walker): Remove - use of m_range_analyzer. - (loop_versioning::lv_dom_walker::before_dom_children): Same. - (loop_versioning::lv_dom_walker::after_dom_children): Remove. - (loop_versioning::prune_loop_conditions): Replace vr_values use - with range_query interface. - (pass_loop_versioning::execute): Use ranger. - -2021-07-30 Xi Ruoyao - - PR ipa/101396 - * ipa-devirt.c (ipa_odr_read_section): Compare the precision of - enum values, and emit a warning if they mismatch. - -2021-07-30 Kewen Lin - - * cfgloop.h (as_const): New function. - (class loop_iterator): Rename to ... - (class loops_list): ... this. - (loop_iterator::next): Rename to ... - (loops_list::Iter::fill_curr_loop): ... this and adjust. - (loop_iterator::loop_iterator): Rename to ... - (loops_list::loops_list): ... this and adjust. - (loops_list::Iter): New class. - (loops_list::iterator): New type. - (loops_list::const_iterator): New type. - (loops_list::begin): New function. - (loops_list::end): Likewise. - (loops_list::begin const): Likewise. - (loops_list::end const): Likewise. - (FOR_EACH_LOOP): Remove. - (FOR_EACH_LOOP_FN): Remove. - * cfgloop.c (flow_loops_dump): Adjust FOR_EACH_LOOP* with range-based - for loop with loops_list instance. - (sort_sibling_loops): Likewise. - (disambiguate_loops_with_multiple_latches): Likewise. - (verify_loop_structure): Likewise. - * cfgloopmanip.c (create_preheaders): Likewise. - (force_single_succ_latches): Likewise. - * config/aarch64/falkor-tag-collision-avoidance.c - (execute_tag_collision_avoidance): Likewise. - * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Likewise. - * config/s390/s390.c (s390_adjust_loops): Likewise. - * doc/loop.texi: Likewise. - * gimple-loop-interchange.cc (pass_linterchange::execute): Likewise. - * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise. - * gimple-loop-versioning.cc (loop_versioning::analyze_blocks): Likewise. - (loop_versioning::make_versioning_decisions): Likewise. - * gimple-ssa-split-paths.c (split_paths): Likewise. - * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl): Likewise. - * graphite.c (canonicalize_loop_form): Likewise. - (graphite_transform_loops): Likewise. - * ipa-fnsummary.c (analyze_function_body): Likewise. - * ipa-pure-const.c (analyze_function): Likewise. - * loop-doloop.c (doloop_optimize_loops): Likewise. - * loop-init.c (loop_optimizer_finalize): Likewise. - (fix_loop_structure): Likewise. - * loop-invariant.c (calculate_loop_reg_pressure): Likewise. - (move_loop_invariants): Likewise. - * loop-unroll.c (decide_unrolling): Likewise. - (unroll_loops): Likewise. - * modulo-sched.c (sms_schedule): Likewise. - * predict.c (predict_loops): Likewise. - (pass_profile::execute): Likewise. - * profile.c (branch_prob): Likewise. - * sel-sched-ir.c (sel_finish_pipelining): Likewise. - (sel_find_rgns): Likewise. - * tree-cfg.c (replace_loop_annotate): Likewise. - (replace_uses_by): Likewise. - (move_sese_region_to_fn): Likewise. - * tree-if-conv.c (pass_if_conversion::execute): Likewise. - * tree-loop-distribution.c (loop_distribution::execute): Likewise. - * tree-parloops.c (parallelize_loops): Likewise. - * tree-predcom.c (tree_predictive_commoning): Likewise. - * tree-scalar-evolution.c (scev_initialize): Likewise. - (scev_reset): Likewise. - * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise. - * tree-ssa-live.c (remove_unused_locals): Likewise. - * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise. - * tree-ssa-loop-im.c (analyze_memory_references): Likewise. - (tree_ssa_lim_initialize): Likewise. - * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise. - * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Likewise. - * tree-ssa-loop-manip.c (get_loops_exits): Likewise. - * tree-ssa-loop-niter.c (estimate_numbers_of_iterations): Likewise. - (free_numbers_of_iterations_estimates): Likewise. - * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. - * tree-ssa-loop-split.c (tree_ssa_split_loops): Likewise. - * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Likewise. - * tree-ssa-loop.c (gate_oacc_kernels): Likewise. - (pass_scev_cprop::execute): Likewise. - * tree-ssa-propagate.c (clean_up_loop_closed_phi): Likewise. - * tree-ssa-sccvn.c (do_rpo_vn): Likewise. - * tree-ssa-threadupdate.c - (jump_thread_path_registry::thread_through_all_blocks): Likewise. - * tree-vectorizer.c (vectorize_loops): Likewise. - * tree-vrp.c (vrp_asserts::find_assert_locations): Likewise. - -2021-07-29 Hans-Peter Nilsson - - * config/mmix/mmix.c (mmix_function_arg_1): Avoid - generating a VOIDmode register for e.g the - function_arg_info::end_marker. - -2021-07-29 Jeff Law - - * config/h8300/h8300-modes.def: Add CCZ, CCV and CCC, drop CCZNV. - * config/h8300/h8300.md (H8cc mode iterator): Add CCZ. - (cc mode_attr): Similarly. - (ccz subst_attr): Similarly. - * config/h8300/jumpcall.md: Add new patterns for branch-on-bit. - * config/h8300/testcompare.md: Remove various cc0 based patterns - that had been commented out. Add pattern to set CCZ from a bit - test. - -2021-07-29 Thomas Schwinge - Julian Brown - Kwok Cheung Yeung - - * omp-offload.c (oacc_loop_xform_head_tail, oacc_loop_process): - 'update_stmt' after modification. - (pass_oacc_loop_designation): New function, extracted out of... - (pass_oacc_device_lower): ... this. - (pass_data_oacc_loop_designation, pass_oacc_loop_designation) - (make_pass_oacc_loop_designation): New - * passes.def: Add it. - * tree-parloops.c (create_parallel_loop): Adjust. - * tree-pass.h (make_pass_oacc_loop_designation): New. - -2021-07-29 Aldy Hernandez - - * flag-types.h (enum threader_mode): New. - * params.opt: Add entry for --param=threader-mode. - * tree-ssa-threadbackward.c (THREADER_ITERATIVE_MODE): New. - (class back_threader): New. - (back_threader::back_threader): New. - (back_threader::~back_threader): New. - (back_threader::maybe_register_path): New. - (back_threader::find_taken_edge): New. - (back_threader::find_taken_edge_switch): New. - (back_threader::find_taken_edge_cond): New. - (back_threader::resolve_def): New. - (back_threader::resolve_phi): New. - (back_threader::find_paths_to_names): New. - (back_threader::find_paths): New. - (dump_path): New. - (debug): New. - (thread_jumps::find_jump_threads_backwards): Call ranger threader. - (thread_jumps::find_jump_threads_backwards_with_ranger): New. - (pass_thread_jumps::execute): Abstract out code... - (try_thread_blocks): ...here. - * tree-ssa-threadedge.c (jump_threader::thread_outgoing_edges): - Abstract out threading candidate code to... - (single_succ_to_potentially_threadable_block): ...here. - * tree-ssa-threadedge.h (single_succ_to_potentially_threadable_block): - New. - * tree-ssa-threadupdate.c (register_jump_thread): Return boolean. - * tree-ssa-threadupdate.h (class jump_thread_path_registry): - Return bool from register_jump_thread. - -2021-07-29 Andreas Krebbel - - * target.def: in0 and in1 do not need to be registers. - * doc/tm.texi: Regenerate. - -2021-07-29 liuhongt - - PR target/39821 - * config/i386/i386.c (ix86_widen_mult_cost): New function. - (ix86_add_stmt_cost): Use ix86_widen_mult_cost for - WIDEN_MULT_EXPR. - -2021-07-29 Jiufu Guo - - PR target/61837 - * config/rs6000/rs6000.c (TARGET_PREFERRED_DOLOOP_MODE): New hook. - (rs6000_preferred_doloop_mode): New hook. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Add hook preferred_doloop_mode. - * target.def (preferred_doloop_mode): New hook. - * targhooks.c (default_preferred_doloop_mode): New hook. - * targhooks.h (default_preferred_doloop_mode): New hook. - * tree-ssa-loop-ivopts.c (compute_doloop_base_on_mode): New function. - (add_iv_candidate_for_doloop): Call targetm.preferred_doloop_mode - and compute_doloop_base_on_mode. - -2021-07-28 Martin Sebor - - PR middle-end/101494 - * tree-ssa-uninit.c (maybe_warn_operand): Correct object offset - and size computation. - -2021-07-28 Martin Sebor - - PR middle-end/101601 - * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): Remove - a pointless test. - Handle pointers to functions. - -2021-07-28 Martin Sebor - - * Makefile.in (OBJS): Add gimple-ssa-warn-access.o and pointer-query.o. - * attribs.h (fndecl_dealloc_argno): Move fndecl_dealloc_argno to tree.h. - * builtins.c (compute_objsize_r): Move to pointer-query.cc. - (access_ref::access_ref): Same. - (access_ref::phi): Same. - (access_ref::get_ref): Same. - (access_ref::size_remaining): Same. - (access_ref::offset_in_range): Same. - (access_ref::add_offset): Same. - (access_ref::inform_access): Same. - (ssa_name_limit_t::visit_phi): Same. - (ssa_name_limit_t::leave_phi): Same. - (ssa_name_limit_t::next): Same. - (ssa_name_limit_t::next_phi): Same. - (ssa_name_limit_t::~ssa_name_limit_t): Same. - (pointer_query::pointer_query): Same. - (pointer_query::get_ref): Same. - (pointer_query::put_ref): Same. - (pointer_query::flush_cache): Same. - (warn_string_no_nul): Move to gimple-ssa-warn-access.cc. - (check_nul_terminated_array): Same. - (unterminated_array): Same. - (maybe_warn_for_bound): Same. - (check_read_access): Same. - (warn_for_access): Same. - (get_size_range): Same. - (check_access): Same. - (gimple_call_alloc_size): Move to tree.c. - (gimple_parm_array_size): Move to pointer-query.cc. - (get_offset_range): Same. - (gimple_call_return_array): Same. - (handle_min_max_size): Same. - (handle_array_ref): Same. - (handle_mem_ref): Same. - (compute_objsize): Same. - (gimple_call_alloc_p): Move to gimple-ssa-warn-access.cc. - (call_dealloc_argno): Same. - (fndecl_dealloc_argno): Same. - (new_delete_mismatch_p): Same. - (matching_alloc_calls_p): Same. - (warn_dealloc_offset): Same. - (maybe_emit_free_warning): Same. - * builtins.h (check_nul_terminated_array): Move to - gimple-ssa-warn-access.h. - (check_nul_terminated_array): Same. - (warn_string_no_nul): Same. - (unterminated_array): Same. - (class ssa_name_limit_t): Same. - (class pointer_query): Same. - (struct access_ref): Same. - (class range_query): Same. - (struct access_data): Same. - (gimple_call_alloc_size): Same. - (gimple_parm_array_size): Same. - (compute_objsize): Same. - (class access_data): Same. - (maybe_emit_free_warning): Same. - * calls.c (initialize_argument_information): Remove call to - maybe_emit_free_warning. - * gimple-array-bounds.cc: Include new header.. - * gimple-fold.c: Same. - * gimple-ssa-sprintf.c: Same. - * gimple-ssa-warn-restrict.c: Same. - * passes.def: Add pass_warn_access. - * tree-pass.h (make_pass_warn_access): Declare. - * tree-ssa-strlen.c: Include new headers. - * tree.c (fndecl_dealloc_argno): Move here from builtins.c. - * tree.h (fndecl_dealloc_argno): Move here from attribs.h. - * gimple-ssa-warn-access.cc: New file. - * gimple-ssa-warn-access.h: New file. - * pointer-query.cc: New file. - * pointer-query.h: New file. - -2021-07-28 Jakub Jelinek - - PR middle-end/101624 - * ubsan.c (maybe_instrument_pointer_overflow, - instrument_object_size): Only test DECL_REGISTER on VAR_DECLs, - PARM_DECLs or RESULT_DECLs. - * sanopt.c (maybe_optimize_ubsan_ptr_ifn): Likewise. - -2021-07-28 Jakub Jelinek - - PR middle-end/101642 - * match.pd (bswap16 (x) == bswap16 (y)): Cast both operands - to type of bswap16 for comparison. - (bswap16 (x) == cst): Cast bswap16 operand to type of cst. - -2021-07-28 Richard Biener - - PR tree-optimization/101615 - * tree-vect-slp.c (vect_optimize_slp): Materialize permutes - at CTOR SLP graph entries. - -2021-07-28 Kyrylo Tkachov - - * config/aarch64/aarch64.md (*extend2_aarch64): - Add "r,w" alternative. - -2021-07-28 H.J. Lu - - PR target/101456 - * config/i386/i386.c (ix86_avx_u128_mode_needed): Don't set - AVX_U128_DIRTY when all bits are zero. - -2021-07-28 Richard Biener - - PR tree-optimization/101615 - * tree-vect-slp.c (vect_optimize_slp): Pre-existing vector - external nodes cannot be permuted so make them perm_out 0. - -2021-07-28 Andrew Stubbs - - PR target/100208 - * config.in: Regenerate. - * config/gcn/gcn-hsa.h (A_FIJI): New define. - (A_900): New define. - (A_906): New define. - (A_908): New define. - (ASM_SPEC): Use A_FIJI, A_900, A_906 and A_908. - * config/gcn/gcn.c (output_file_start): Adjust attributes according - to the assembler capabilities. - * config/gcn/mkoffload.c (main): Likewise. - * configure: Regenerate. - * configure.ac: Add tests for LLVM assembler attribute features. - -2021-07-28 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::outgoing_edge_range_p): Check for - cond_false and cond_true on branches. - -2021-07-28 Bin Cheng - - * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): use - gcc_stablesort. - -2021-07-28 Bin Cheng - - * alias.c (init_alias_analysis): Don't skip prologue/epilogue. - -2021-07-28 Jakub Jelinek - - PR target/101611 - * config/i386/sse.md (vashr3): Split into vashrv8di3 expander - and vashrv4di3 expander, where the latter requires just TARGET_AVX2 - and has special !TARGET_AVX512VL expansion. - (vashrv2di3): Rename to ... - (vashrv2di3): ... this. Change condition to TARGET_XOP || TARGET_AVX2 - and add special !TARGET_XOP && !TARGET_AVX512VL expansion. - -2021-07-28 Martin Uecker - - * calls.c (maybe_warn_rdwr_sizes): Correct argument - numbers in warning that were switched. - -2021-07-28 Kewen Lin - - PR tree-optimization/101596 - * tree-vect-patterns.c (vect_recog_mulhs_pattern): Fix wrong check - by using new_type's precision instead. - -2021-07-28 liuhongt - - PR target/99881 - * config/i386/i386.h (processor_costs): Add new member - integer_to_sse. - * config/i386/x86-tune-costs.h (ix86_size_cost, i386_cost, - i486_cost, pentium_cost, lakemont_cost, pentiumpro_cost, - geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost, - bdver_cost, znver1_cost, znver2_cost, znver3_cost, - btver1_cost, btver2_cost, btver3_cost, pentium4_cost, - nocona_cost, atom_cost, atom_cost, slm_cost, intel_cost, - generic_cost, core_cost): Initialize integer_to_sse same value - as sse_op. - (skylake_cost): Initialize integer_to_sse twice as much as sse_op. - * config/i386/i386.c (ix86_builtin_vectorization_cost): - Use integer_to_sse instead of sse_op to calculate the cost of - vec_construct. - -2021-07-27 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (write_ovld_static_init): New - function. - (write_init_file): Call write_ovld_static_init. - -2021-07-27 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (write_bif_static_init): New - function. - (write_init_file): Call write_bif_static_init. - -2021-07-27 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (typemap): New struct. - (TYPE_MAP_SIZE): New macro. - (type_map): New initialized variable. - (typemap_cmp): New function. - (write_type_node): Likewise. - (write_fntype_init): Implement. - -2021-07-27 Martin Sebor - - PR tree-optimization/101584 - * tree-ssa-uninit.c (builtin_call_nomodifying_p): New function. - (check_defs): Call it. - -2021-07-27 Aldy Hernandez - - * tree-ssa-dom.c (dom_jump_threader_simplifier): - Put avail_exprs_stack in the class, instead of passing it to - jump_threader_simplifier. - (dom_jump_threader_simplifier::simplify): Add state argument. - (dom_opt_dom_walker): Add state. - (pass_dominator::execute): Pass state to threader. - (dom_opt_dom_walker::before_dom_children): Use state. - * tree-ssa-threadedge.c (jump_threader::jump_threader): Replace - arguments by state. - (jump_threader::record_temporary_equivalences_from_phis): - Register equivalences through the state variable. - (jump_threader::record_temporary_equivalences_from_stmts_at_dest): - Record ranges in a statement through the state variable. - (jump_threader::simplify_control_stmt_condition): Pass state to - simplify. - (jump_threader::simplify_control_stmt_condition_1): Same. - (jump_threader::thread_around_empty_blocks): Remove obsolete - comment. - (jump_threader::thread_through_normal_block): Record equivalences - on edge through the state variable. - (jump_threader::thread_across_edge): Abstract state pushing. - (jt_state::jt_state): New. - (jt_state::push): New. - (jt_state::pop): New. - (jt_state::register_equiv): New. - (jt_state::record_ranges_from_stmt): New. - (jt_state::register_equivs_on_edge): New. - (jump_threader_simplifier::jump_threader_simplifier): Move from - header. - (jump_threader_simplifier::simplify): Add state argument. - * tree-ssa-threadedge.h (class jt_state): New. - (class jump_threader): Add state to constructor. - (class jump_threader_simplifier): Add state to simplify. Remove - avail_exprs_stack from class. - * tree-vrp.c (vrp_jump_threader_simplifier::simplify): Add state - argument. - (vrp_jump_threader::vrp_jump_threader): Add state. - (vrp_jump_threader::~vrp_jump_threader): Cleanup state. - -2021-07-27 Aldy Hernandez - - * Makefile.in (OBJS): Add gimple-range-path.o. - * gimple-range-path.cc: New file. - * gimple-range-path.h: New file. - -2021-07-27 Jonathan Wright - - * config/aarch64/aarch64-simd.md: Push sign/zero-extension - inside vec_duplicate for all patterns. - * simplify-rtx.c (simplify_context::simplify_unary_operation_1): - Push sign/zero-extension inside vec_duplicate. - -2021-07-27 Richard Biener - - PR tree-optimization/101573 - * tree-ssa-uninit.c (warn_uninit_phi_uses): New function - looking at uninitialized PHI arg defs in some constrained cases. - (warn_uninitialized_vars): Call it. - (execute_early_warn_uninitialized): Calculate dominators. - -2021-07-27 Richard Biener - - PR tree-optimization/39821 - * tree-vect-stmts.c (vect_model_promotion_demotion_cost): Use - vector_stmt for widening arithmetic. - (vectorizable_conversion): Adjust. - -2021-07-27 Martin Jambor - - * cgraph.h (ipa_replace_map): New field force_load_ref. - * ipa-prop.h (ipa_param_descriptor): Reduce precision of move_cost, - aded new flag load_dereferenced, adjusted comments. - (ipa_get_param_dereferenced): New function. - (ipa_set_param_dereferenced): Likewise. - * cgraphclones.c (cgraph_node::create_virtual_clone): Follow it. - * ipa-cp.c: Include gimple.h. - (ipcp_discover_new_direct_edges): Take into account dereferenced flag. - (get_replacement_map): New parameter force_load_ref, set the - appropriate flag in ipa_replace_map if set. - (struct symbol_and_index_together): New type. - (adjust_refs_in_act_callers): New function. - (adjust_references_in_caller): Likewise. - (create_specialized_node): When appropriate, call - adjust_references_in_caller and force only load references. - * ipa-prop.c (load_from_dereferenced_name): New function. - (ipa_analyze_controlled_uses): Also detect loads from a - dereference, harden testing of call statements. - (ipa_write_node_info): Stream the dereferenced flag. - (ipa_read_node_info): Likewise. - (ipa_set_jf_constant): Also create refdesc when jump function - references a variable. - (cgraph_node_for_jfunc): Rename to symtab_node_for_jfunc, work - also on references of variables and return a symtab_node. Adjust - all callers. - (propagate_controlled_uses): Also remove references to VAR_DECLs. - -2021-07-27 Jakub Jelinek - - PR middle-end/101586 - * gimple-fold.c (clear_padding_type): Ignore FIELD_DECLs with byte - positions above or equal to sz except for diagnostics of flexible - array members. - -2021-07-26 Andrew MacLeod - - PR tree-optimization/78888 - * gimple-range-fold.cc (get_letter_range): New. - (fold_using_range::range_of_builtin_call): Call get_letter_range. - -2021-07-26 Andrew MacLeod - - PR tree-optimization/78888 - * gimple-range-fold.cc (fold_using_range::range_of_builtin_call): Add cases - for CFN_BUILT_IN_TOUPPER and CFN_BUILT_IN_TOLOWER. - -2021-07-26 Roger Sayle - Marc Glisse - - * match.pd (rotate): Simplify equality/inequality of rotations. - (bswap): Simplify equality/inequality tests of byte swapping. - -2021-07-26 Aldy Hernandez - - * range-op.cc (operator_bitwise_xor::op1_op2_relation_effect): - New. - -2021-07-26 Aldy Hernandez - - * range-op.cc (operator_lshift::fold_range): Pass rel to - base class fold_range. - (operator_rshift::fold_range): Same. - -2021-07-26 Ashimida - - PR driver/101447 - * toplev.h (min_align_loops_log): Remove declaration. - (min_align_jumps_log, min_align_labels_log): Likewise. - (min_align_functions_log): Likewise. - -2021-07-26 Aldy Hernandez - - * tree-vrp.c (vrp_simplify_cond_using_ranges): Rename vr_values - with range_query. - (execute_vrp): Abstract out simplification of conditionals... - (simplify_casted_conds): ...here. - -2021-07-26 Aldy Hernandez - - * gimple-array-bounds.cc (array_bounds_checker::get_value_range): - Add gimple argument. - (array_bounds_checker::check_array_ref): Same. - (array_bounds_checker::check_addr_expr): Same. - (array_bounds_checker::check_array_bounds): Pass statement to - check_array_bounds and check_addr_expr. - * gimple-array-bounds.h (check_array_bounds): Add gimple argument. - (check_addr_expr): Same. - (get_value_range): Same. - -2021-07-26 Tamar Christina - - * config/aarch64/aarch64-simd-builtins.def (sdot, udot): Rename to.. - (sdot_prod, udot_prod): ... This. - * config/aarch64/aarch64-simd.md (aarch64_dot): Merged - into... - (dot_prod): ... this. - (aarch64_dot_lane, aarch64_dot_laneq): - Change operands order. - (sadv16qi): Use new operands order. - * config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, - vdotq_s32): Use new RTL ordering. - -2021-07-26 Tamar Christina - - * config/aarch64/aarch64-builtins.c (TYPES_TERNOP_SUSS, - aarch64_types_ternop_suss_qualifiers): New. - * config/aarch64/aarch64-simd-builtins.def (usdot_prod): Use it. - * config/aarch64/aarch64-simd.md (usdot_prod): Re-organize RTL. - * config/aarch64/arm_neon.h (vusdot_s32, vusdotq_s32): Use it. - -2021-07-23 Jakub Jelinek - - PR rtl-optimization/101562 - * expmed.c (store_integral_bit_field): Only use movstrict_optab - if the operand isn't paradoxical. - -2021-07-23 Aldy Hernandez - - * gimple-array-bounds.h (class array_bounds_checker): Change - ranges type to range_query. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vst1_s64_x2): Use - __builtin_memcpy instead of constructing - __builtin_aarch64_simd_oi one vector at a time. - (vst1_u64_x2): Likewise. - (vst1_f64_x2): Likewise. - (vst1_s8_x2): Likewise. - (vst1_p8_x2): Likewise. - (vst1_s16_x2): Likewise. - (vst1_p16_x2): Likewise. - (vst1_s32_x2): Likewise. - (vst1_u8_x2): Likewise. - (vst1_u16_x2): Likewise. - (vst1_u32_x2): Likewise. - (vst1_f16_x2): Likewise. - (vst1_f32_x2): Likewise. - (vst1_p64_x2): Likewise. - (vst1q_s8_x2): Likewise. - (vst1q_p8_x2): Likewise. - (vst1q_s16_x2): Likewise. - (vst1q_p16_x2): Likewise. - (vst1q_s32_x2): Likewise. - (vst1q_s64_x2): Likewise. - (vst1q_u8_x2): Likewise. - (vst1q_u16_x2): Likewise. - (vst1q_u32_x2): Likewise. - (vst1q_u64_x2): Likewise. - (vst1q_f16_x2): Likewise. - (vst1q_f32_x2): Likewise. - (vst1q_f64_x2): Likewise. - (vst1q_p64_x2): Likewise. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vst1_s64_x3): Use - __builtin_memcpy instead of constructing - __builtin_aarch64_simd_ci one vector at a time. - (vst1_u64_x3): Likewise. - (vst1_f64_x3): Likewise. - (vst1_s8_x3): Likewise. - (vst1_p8_x3): Likewise. - (vst1_s16_x3): Likewise. - (vst1_p16_x3): Likewise. - (vst1_s32_x3): Likewise. - (vst1_u8_x3): Likewise. - (vst1_u16_x3): Likewise. - (vst1_u32_x3): Likewise. - (vst1_f16_x3): Likewise. - (vst1_f32_x3): Likewise. - (vst1_p64_x3): Likewise. - (vst1q_s8_x3): Likewise. - (vst1q_p8_x3): Likewise. - (vst1q_s16_x3): Likewise. - (vst1q_p16_x3): Likewise. - (vst1q_s32_x3): Likewise. - (vst1q_s64_x3): Likewise. - (vst1q_u8_x3): Likewise. - (vst1q_u16_x3): Likewise. - (vst1q_u32_x3): Likewise. - (vst1q_u64_x3): Likewise. - (vst1q_f16_x3): Likewise. - (vst1q_f32_x3): Likewise. - (vst1q_f64_x3): Likewise. - (vst1q_p64_x3): Likewise. - -2021-07-23 H.J. Lu - - PR target/101504 - * config/i386/i386.c (ix86_gen_scratch_sse_rtx): Don't return - hard register when LRA is in progress. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vst1_s8_x4): Use - __builtin_memcpy instead of using a union. - (vst1q_s8_x4): Likewise. - (vst1_s16_x4): Likewise. - (vst1q_s16_x4): Likewise. - (vst1_s32_x4): Likewise. - (vst1q_s32_x4): Likewise. - (vst1_u8_x4): Likewise. - (vst1q_u8_x4): Likewise. - (vst1_u16_x4): Likewise. - (vst1q_u16_x4): Likewise. - (vst1_u32_x4): Likewise. - (vst1q_u32_x4): Likewise. - (vst1_f16_x4): Likewise. - (vst1q_f16_x4): Likewise. - (vst1_f32_x4): Likewise. - (vst1q_f32_x4): Likewise. - (vst1_p8_x4): Likewise. - (vst1q_p8_x4): Likewise. - (vst1_p16_x4): Likewise. - (vst1q_p16_x4): Likewise. - (vst1_s64_x4): Likewise. - (vst1_u64_x4): Likewise. - (vst1_p64_x4): Likewise. - (vst1q_s64_x4): Likewise. - (vst1q_u64_x4): Likewise. - (vst1q_p64_x4): Likewise. - (vst1_f64_x4): Likewise. - (vst1q_f64_x4): Likewise. - -2021-07-23 Jonathan Wrightt - - * config/aarch64/arm_neon.h (vst2_s64): Use __builtin_memcpy - instead of constructing __builtin_aarch64_simd_oi one vector - at a time. - (vst2_u64): Likewise. - (vst2_f64): Likewise. - (vst2_s8): Likewise. - (vst2_p8): Likewise. - (vst2_s16): Likewise. - (vst2_p16): Likewise. - (vst2_s32): Likewise. - (vst2_u8): Likewise. - (vst2_u16): Likewise. - (vst2_u32): Likewise. - (vst2_f16): Likewise. - (vst2_f32): Likewise. - (vst2_p64): Likewise. - (vst2q_s8): Likewise. - (vst2q_p8): Likewise. - (vst2q_s16): Likewise. - (vst2q_p16): Likewise. - (vst2q_s32): Likewise. - (vst2q_s64): Likewise. - (vst2q_u8): Likewise. - (vst2q_u16): Likewise. - (vst2q_u32): Likewise. - (vst2q_u64): Likewise. - (vst2q_f16): Likewise. - (vst2q_f32): Likewise. - (vst2q_f64): Likewise. - (vst2q_p64): Likewise. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vst3_s64): Use __builtin_memcpy - instead of constructing __builtin_aarch64_simd_ci one vector - at a time. - (vst3_u64): Likewise. - (vst3_f64): Likewise. - (vst3_s8): Likewise. - (vst3_p8): Likewise. - (vst3_s16): Likewise. - (vst3_p16): Likewise. - (vst3_s32): Likewise. - (vst3_u8): Likewise. - (vst3_u16): Likewise. - (vst3_u32): Likewise. - (vst3_f16): Likewise. - (vst3_f32): Likewise. - (vst3_p64): Likewise. - (vst3q_s8): Likewise. - (vst3q_p8): Likewise. - (vst3q_s16): Likewise. - (vst3q_p16): Likewise. - (vst3q_s32): Likewise. - (vst3q_s64): Likewise. - (vst3q_u8): Likewise. - (vst3q_u16): Likewise. - (vst3q_u32): Likewise. - (vst3q_u64): Likewise. - (vst3q_f16): Likewise. - (vst3q_f32): Likewise. - (vst3q_f64): Likewise. - (vst3q_p64): Likewise. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vst4_s64): Use __builtin_memcpy - instead of constructing __builtin_aarch64_simd_xi one vector - at a time. - (vst4_u64): Likewise. - (vst4_f64): Likewise. - (vst4_s8): Likewise. - (vst4_p8): Likewise. - (vst4_s16): Likewise. - (vst4_p16): Likewise. - (vst4_s32): Likewise. - (vst4_u8): Likewise. - (vst4_u16): Likewise. - (vst4_u32): Likewise. - (vst4_f16): Likewise. - (vst4_f32): Likewise. - (vst4_p64): Likewise. - (vst4q_s8): Likewise. - (vst4q_p8): Likewise. - (vst4q_s16): Likewise. - (vst4q_p16): Likewise. - (vst4q_s32): Likewise. - (vst4q_s64): Likewise. - (vst4q_u8): Likewise. - (vst4q_u16): Likewise. - (vst4q_u32): Likewise. - (vst4q_u64): Likewise. - (vst4q_f16): Likewise. - (vst4q_f32): Likewise. - (vst4q_f64): Likewise. - (vst4q_p64): Likewise. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vtbx4_s8): Use __builtin_memcpy - instead of constructing __builtin_aarch64_simd_oi one vector - at a time. - (vtbx4_u8): Likewise. - (vtbx4_p8): Likewise. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vtbl3_s8): Use __builtin_memcpy - instead of constructing __builtin_aarch64_simd_oi one vector - at a time. - (vtbl3_u8): Likewise. - (vtbl3_p8): Likewise. - (vtbl4_s8): Likewise. - (vtbl4_u8): Likewise. - (vtbl4_p8): Likewise. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vqtbx2_s8): Use __builtin_memcpy - instead of constructing __builtin_aarch64_simd_oi one vector - at a time. - (vqtbx2_u8): Likewise. - (vqtbx2_p8): Likewise. - (vqtbx2q_s8): Likewise. - (vqtbx2q_u8): Likewise. - (vqtbx2q_p8): Likewise. - (vqtbx3_s8): Use __builtin_memcpy instead of constructing - __builtin_aarch64_simd_ci one vector at a time. - (vqtbx3_u8): Likewise. - (vqtbx3_p8): Likewise. - (vqtbx3q_s8): Likewise. - (vqtbx3q_u8): Likewise. - (vqtbx3q_p8): Likewise. - (vqtbx4_s8): Use __builtin_memcpy instead of constructing - __builtin_aarch64_simd_xi one vector at a time. - (vqtbx4_u8): Likewise. - (vqtbx4_p8): Likewise. - (vqtbx4q_s8): Likewise. - (vqtbx4q_u8): Likewise. - (vqtbx4q_p8): Likewise. - -2021-07-23 Jonathan Wright - - * config/aarch64/arm_neon.h (vqtbl2_s8): Use __builtin_memcpy - instead of constructing __builtin_aarch64_simd_oi one vector - at a time. - (vqtbl2_u8): Likewise. - (vqtbl2_p8): Likewise. - (vqtbl2q_s8): Likewise. - (vqtbl2q_u8): Likewise. - (vqtbl2q_p8): Likewise. - (vqtbl3_s8): Use __builtin_memcpy instead of constructing - __builtin_aarch64_simd_ci one vector at a time. - (vqtbl3_u8): Likewise. - (vqtbl3_p8): Likewise. - (vqtbl3q_s8): Likewise. - (vqtbl3q_u8): Likewise. - (vqtbl3q_p8): Likewise. - (vqtbl4_s8): Use __builtin_memcpy instead of constructing - __builtin_aarch64_simd_xi one vector at a time. - (vqtbl4_u8): Likewise. - (vqtbl4_p8): Likewise. - (vqtbl4q_s8): Likewise. - (vqtbl4q_u8): Likewise. - (vqtbl4q_p8): Likewise. - -2021-07-23 Haochen Gui - - PR target/100952 - * config/rs6000/rs6000.md (cstore4): Fix wrong fall through. - -2021-07-22 Andrew Pinski - - PR tree-optimization/10153 - * tree-tailcall.c (create_tailcall_accumulator): - Don't call fold_convert as the type should be correct already. - (tree_optimize_tail_calls_1): Use build_{one,zero}_cst instead - of integer_{one,zero}_node for the call of create_tailcall_accumulator. - -2021-07-22 Aldy Hernandez - - * gimple-range-cache.cc (non_null_ref::adjust_range): Replace - varying_p check for null/non-null check. - -2021-07-22 Andrew MacLeod - - PR tree-optimization/101511 - * value-relation.cc (relation_oracle::query_relation): Check if ssa1 - is in ssa2's equiv set, and don't trap if so. - -2021-07-22 Andrew MacLeod - - PR tree-optimization/101497 - * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Check - for undefined. - -2021-07-22 Andrew MacLeod - - PR tree-optimization/101496 - * vr-values.c (simplify_using_ranges::fold_cond): Call range_of_stmt - first, then vrp_visit_cond_Stmt. - -2021-07-22 liuhongt - - * config/i386/i386-expand.c - (ix86_broadcast_from_integer_constant): Rename to .. - (ix86_broadcast_from_constant): .. this, and extend it to - handle float mode. - (ix86_expand_vector_move): Extend to float mode. - * config/i386/i386-features.c - (replace_constant_pool_with_broadcast): Remove. - (remove_partial_avx_dependency_gate): Ditto. - (constant_pool_broadcast): Ditto. - (class pass_constant_pool_broadcast): Ditto. - (make_pass_constant_pool_broadcast): Ditto. - (remove_partial_avx_dependency): Adjust gate. - * config/i386/i386-passes.def: Remove pass_constant_pool_broadcast. - * config/i386/i386-protos.h - (make_pass_constant_pool_broadcast): Remove. - -2021-07-22 liuhongt - - * config/i386/constraints.md (Wb): New constraint. - (Ww): Ditto. - * config/i386/i386.md (*ashlhi3_1): Extend to avx512 mask - shift. - (*ashlqi3_1): Ditto. - (*3_1): Split to .. - (*ashr3_1): this, ... - (*lshr3_1): and this, also extend this pattern to avx512 - mask registers. - (*3_1): Split to .. - (*ashr3_1): this, ... - (*lshrqi3_1): and this, also extend this pattern to avx512 - mask registers. - (*lshrhi3_1): And this, also extend this pattern to avx512 - mask registers. - * config/i386/sse.md (k): New define_split after - it to convert generic shift pattern to mask shift ones. - -2021-07-21 Thomas Schwinge - Joseph Myers - Cesar Philippidis - - * tree-core.h (omp_clause_code): Add 'OMP_CLAUSE_NOHOST'. - * tree.c (omp_clause_num_ops, omp_clause_code_name, walk_tree_1): - Handle it. - * tree-pretty-print.c (dump_omp_clause): Likewise. - * omp-general.c (oacc_verify_routine_clauses): Likewise. - * gimplify.c (gimplify_scan_omp_clauses) - (gimplify_adjust_omp_clauses): Likewise. - * tree-nested.c (convert_nonlocal_omp_clauses) - (convert_local_omp_clauses): Likewise. - * omp-low.c (scan_sharing_clauses): Likewise. - * omp-offload.c (execute_oacc_device_lower): Update. - -2021-07-21 Martin Sebor - - * tree-ssa-alias.c (walk_aliased_vdefs_1): Fix typos in a comment. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (write_init_bif_table): - Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (write_fntype): New - callback function. - (write_fntype_init): New stub function. - (write_init_bif_table): Likewise. - (write_init_ovld_table): New function. - (write_init_file): Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c - (write_autogenerated_header): New function. - (write_decls): Likewise. - (write_extern_fntype): New callback function. - (write_header_file): Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (write_defines_file): - Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (complete_vector_type): New - function. - (complete_base_type): Likewise. - (construct_fntype_id): Likewise. - (parse_bif_entry): Call contruct_fntype_id. - (parse_ovld_entry): Likewise. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (ovld_stanza): New struct. - (MAXOVLDSTANZAS): New macro. - (ovld_stanzas): New variable. - (curr_ovld_stanza): Likewise. - (MAXOVLDS): New macro. - (ovlddata): New struct. - (ovlds): New variable. - (curr_ovld): Likewise. - (max_ovld_args): Likewise. - (parse_ovld_entry): New function. - (parse_ovld_stanza): Likewise. - (parse_ovld): Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (parse_bif_attrs): - Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (parse_args): New function. - (parse_prototype): Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (bif_stanza): New enum. - (curr_bif_stanza): New variable. - (stanza_entry): New struct. - (stanza_map): New initialized variable. - (enable_string): Likewise. - (fnkinds): New enum. - (typelist): New struct. - (attrinfo): Likewise. - (MAXRESTROPNDS): New macro. - (prototype): New struct. - (MAXBIFS): New macro. - (bifdata): New struct. - (bifs): New variable. - (curr_bif): Likewise. - (bif_order): Likewise. - (bif_index): Likewise. - (fatal): New function. - (stanza_name_to_stanza): Likewise. - (parse_bif_attrs): New stub function. - (parse_prototype): Likewise. - (parse_bif_entry): New function. - (parse_bif_stanza): Likewise. - (parse_bif): Implement. - (set_bif_order): New function. - (create_bif_order): Implement. - -2021-07-21 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (rbtree.h): New #include. - (num_bifs): New variable. - (num_ovld_stanzas): Likewise. - (num_ovlds): Likewise. - (parse_codes): New enum. - (bif_rbt): New variable. - (ovld_rbt): Likewise. - (fntype_rbt): Likewise. - (bifo_rbt): Likewise. - (parse_bif): New stub function. - (create_bif_order): Likewise. - (parse_ovld): Likewise. - (write_header_file): Likewise. - (write_init_file): Likewise. - (write_defines_file): Likewise. - (delete_output_files): New function. - (main): Likewise. - -2021-07-21 H.J. Lu - - PR target/101549 - * config/i386/i386-builtin.def: Remove OPTION_MASK_ISA_SSE4_2 - from CRC32 _builtin functions. - -2021-07-21 Sebastian Huber - - * coverage.c (build_gcov_info_var_registration): Mark the object placed - in the linker set as referenced so that it does not get optimized away. - -2021-07-21 Kito Cheng - - Revert: - 2021-07-20 Kito Cheng - - * config.gcc (riscv*-*-*): Detect which python is available. - -2021-07-21 Jakub Jelinek - - PR middle-end/101535 - * gimplify.c (omp_check_private): Properly skip ORT_TARGET_DATA - contexts in which decl isn't privatized and for ORT_TARGET return - false if decl is mapped. - -2021-07-21 Richard Sandiford - - * gimple-loop-jam.c: Include tree-ssa-sccvn.h. - (tree_loop_unroll_and_jam): Run value-numbering on a loop that - has been successfully unrolled. - -2021-07-21 Richard Sandiford - - * tree-ssa-loop-manip.c (determine_exit_conditions): Return a null - exit condition if no tail loop is needed, and if the original exit - condition should therefore be kept as-is. - (tree_transform_and_unroll_loop): Handle that case here too. - -2021-07-21 Kewen Lin - - * tree-data-ref.c (free_dependence_relations): Adjust to pass vec - by reference. - (free_data_refs): Likewise. - * tree-data-ref.h (free_dependence_relations): Likewise. - (free_data_refs): Likewise. - * tree-predcom.c (struct chain): Use auto_vec instead of vec for - members. - (struct component): Likewise. - (pcom_worker::pcom_worker): Adjust for auto_vec and renaming changes. - (pcom_worker::~pcom_worker): Likewise. - (pcom_worker::release_chain): Adjust as auto_vec changes. - (pcom_worker::loop): Rename to ... - (pcom_worker::m_loop): ... this. - (pcom_worker::datarefs): Rename to ... - (pcom_worker::m_datarefs): ... this. Use auto_vec instead of vec. - (pcom_worker::dependences): Rename to ... - (pcom_worker::m_dependences): ... this. Use auto_vec instead of vec. - (pcom_worker::chains): Rename to ... - (pcom_worker::m_chains): ... this. Use auto_vec instead of vec. - (pcom_worker::looparound_phis): Rename to ... - (pcom_worker::m_looparound_phis): ... this. Use auto_vec instead of - vec. - (pcom_worker::cache): Rename to ... - (pcom_worker::m_cache): ... this. Use auto_vec instead of vec. - (pcom_worker::release_chain): Adjust for auto_vec changes. - (pcom_worker::release_chains): Adjust for auto_vec and renaming - changes. - (release_component): Remove. - (release_components): Adjust for release_component removal. - (component_of): Adjust to use vec. - (merge_comps): Likewise. - (pcom_worker::aff_combination_dr_offset): Adjust for renaming changes. - (pcom_worker::determine_offset): Likewise. - (class comp_ptrs): Remove. - (pcom_worker::split_data_refs_to_components): Adjust for renaming - changes, for comp_ptrs removal with auto_vec. - (pcom_worker::suitable_component_p): Adjust for renaming changes. - (pcom_worker::filter_suitable_components): Adjust for release_component - removal. - (pcom_worker::valid_initializer_p): Adjust for renaming changes. - (pcom_worker::find_looparound_phi): Likewise. - (pcom_worker::add_looparound_copies): Likewise. - (pcom_worker::determine_roots_comp): Likewise. - (pcom_worker::single_nonlooparound_use): Likewise. - (pcom_worker::execute_pred_commoning_chain): Likewise. - (pcom_worker::execute_pred_commoning): Likewise. - (pcom_worker::try_combine_chains): Likewise. - (pcom_worker::prepare_initializers_chain): Likewise. - (pcom_worker::prepare_initializers): Likewise. - (pcom_worker::prepare_finalizers_chain): Likewise. - (pcom_worker::prepare_finalizers): Likewise. - (pcom_worker::tree_predictive_commoning_loop): Likewise. - -2021-07-20 Martin Sebor - - PR middle-end/101397 - * builtins.c (gimple_call_return_array): Add argument. Correct - offsets for memchr, mempcpy, stpcpy, and stpncpy. - (compute_objsize_r): Adjust offset computation for argument returning - built-ins. - -2021-07-20 Martin Sebor - - PR middle-end/101300 - * tree-ssa-uninit.c (check_defs): Handle UBSAN built-ins. - -2021-07-20 Jeff Law - - * function.c (assign_parm_setup_block): Use adjust_address instead - of change_address to preserve MEM_EXPR and friends. - -2021-07-20 Martin Sebor - - * cfgloop.h (single_likely_exit): Adjust by-value argument to - by-const-reference. - * cfgloopanal.c (single_likely_exit): Same. - * cgraph.h (struct cgraph_node): Same. - * cgraphclones.c (cgraph_node::create_virtual_clone): Same. - * genautomata.c (merge_states): Same. - * genextract.c (VEC_char_to_string): Same. - * genmatch.c (dt_node::gen_kids_1): Same. - (walk_captures): Adjust by-value argument to by-reference. - * gimple-ssa-store-merging.c (check_no_overlap): Adjust by-value argument - to by-const-reference. - * gimple.c (gimple_build_call_vec): Same. - (gimple_build_call_internal_vec): Same. - (gimple_build_switch): Same. - (sort_case_labels): Same. - (preprocess_case_label_vec_for_gimple): Adjust by-value argument to - by-reference. - * gimple.h (gimple_build_call_vec): Adjust by-value argument to - by-const-reference. - (gimple_build_call_internal_vec): Same. - (gimple_build_switch): Same. - (sort_case_labels): Same. - (preprocess_case_label_vec_for_gimple): Adjust by-value argument to - by-reference. - * haifa-sched.c (calc_priorities): Adjust by-value argument to - by-const-reference. - (sched_init_luids): Same. - (haifa_init_h_i_d): Same. - * ipa-cp.c (ipa_get_indirect_edge_target_1): Same. - (adjust_callers_for_value_intersection): Adjust by-value argument to - by-reference. - (find_more_scalar_values_for_callers_subset): Adjust by-value argument to - by-const-reference. - (find_more_contexts_for_caller_subset): Same. - (find_aggregate_values_for_callers_subset): Same. - (copy_useful_known_contexts): Same. - * ipa-fnsummary.c (remap_edge_summaries): Same. - (remap_freqcounting_predicate): Same. - * ipa-inline.c (add_new_edges_to_heap): Adjust by-value argument to - by-reference. - * ipa-predicate.c (predicate::remap_after_inlining): Adjust by-value argument - to by-const-reference. - * ipa-predicate.h (predicate::remap_after_inlining): Same. - * ipa-prop.c (ipa_find_agg_cst_for_param): Same. - * ipa-prop.h (ipa_find_agg_cst_for_param): Same. - * ira-build.c (ira_loop_tree_body_rev_postorder): Same. - * read-rtl.c (add_overload_instance): Same. - * rtl.h (native_decode_rtx): Same. - (native_decode_vector_rtx): Same. - * sched-int.h (sched_init_luids): Same. - (haifa_init_h_i_d): Same. - * simplify-rtx.c (native_decode_vector_rtx): Same. - (native_decode_rtx): Same. - * tree-call-cdce.c (gen_shrink_wrap_conditions): Same. - (shrink_wrap_one_built_in_call_with_conds): Same. - (shrink_wrap_conditional_dead_built_in_calls): Same. - * tree-data-ref.c (create_runtime_alias_checks): Same. - (compute_all_dependences): Same. - * tree-data-ref.h (compute_all_dependences): Same. - (create_runtime_alias_checks): Same. - (index_in_loop_nest): Same. - * tree-if-conv.c (mask_exists): Same. - * tree-loop-distribution.c (class loop_distribution): Same. - (loop_distribution::create_rdg_vertices): Same. - (dump_rdg_partitions): Same. - (debug_rdg_partitions): Same. - (partition_contains_all_rw): Same. - (loop_distribution::distribute_loop): Same. - * tree-parloops.c (oacc_entry_exit_ok_1): Same. - (oacc_entry_exit_single_gang): Same. - * tree-ssa-loop-im.c (hoist_memory_references): Same. - (loop_suitable_for_sm): Same. - * tree-ssa-loop-niter.c (bound_index): Same. - * tree-ssa-reassoc.c (update_ops): Same. - (swap_ops_for_binary_stmt): Same. - (rewrite_expr_tree): Same. - (rewrite_expr_tree_parallel): Same. - * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Same. - * tree-ssa-sccvn.h (ao_ref_init_from_vn_reference): Same. - * tree-ssa-structalias.c (process_all_all_constraints): Same. - (make_constraints_to): Same. - (handle_lhs_call): Same. - (find_func_aliases_for_builtin_call): Same. - (sort_fieldstack): Same. - (check_for_overlaps): Same. - * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Same. - (vect_create_cond_for_unequal_addrs): Same. - (vect_create_cond_for_lower_bounds): Same. - (vect_create_cond_for_alias_checks): Same. - * tree-vect-slp-patterns.c (vect_validate_multiplication): Same. - * tree-vect-slp.c (vect_analyze_slp_instance): Same. - (vect_make_slp_decision): Same. - (vect_slp_bbs): Same. - (duplicate_and_interleave): Same. - (vect_transform_slp_perm_load): Same. - (vect_schedule_slp): Same. - * tree-vectorizer.h (vect_transform_slp_perm_load): Same. - (vect_schedule_slp): Same. - (duplicate_and_interleave): Same. - * tree.c (build_vector_from_ctor): Same. - (build_vector): Same. - (check_vector_cst): Same. - (check_vector_cst_duplicate): Same. - (check_vector_cst_fill): Same. - (check_vector_cst_stepped): Same. - * tree.h (build_vector_from_ctor): Same. - -2021-07-20 Jakub Jelinek - - PR target/101384 - * config/rs6000/rs6000-protos.h (easy_altivec_constant): Change return - type from bool to int. - * config/rs6000/rs6000.c (vspltis_constant): Fix up handling the - EASY_VECTOR_MSB case if either step or copies is not 1. - (vspltis_shifted): Fix comment typo. - (easy_altivec_constant): Change return type from bool to int, instead - of returning true return byte size of the element mode that should be - used to synthetize the constant. - * config/rs6000/predicates.md (easy_vector_constant_msb): Require - that vspltis_shifted is 0, handle the case where easy_altivec_constant - assumes using different vector mode from CONST_VECTOR's mode. - * config/rs6000/altivec.md (easy_vector_constant_msb splitter): Use - easy_altivec_constant to determine mode in which -1 >> -1 should be - performed, use rs6000_expand_vector_init instead of gen_vec_initv4sisi. - -2021-07-20 Richard Biener - - PR debug/101473 - * dwarf2out.h (dwarf_file_data): Add key member. - * dwarf2out.c (dwarf_file_hasher::equal): Compare key. - (dwarf_file_hasher::hash): Hash key. - (lookup_filename): Remap the filename and store it in the - filename member of dwarf_file_data when creating a new - dwarf_file_data. - (file_name_acquire): Do not remap the filename again. - (maybe_emit_file): Likewise. - -2021-07-20 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use two variant - generators for all TBL/TBX intrinsics and rename to - consistent forms: qtbl[1234] or qtbx[1234]. - * config/aarch64/aarch64-simd.md (aarch64_tbl1): - Rename to... - (aarch64_qtbl1): This. - (aarch64_tbx1): Rename to... - (aarch64_qtbx1): This. - (aarch64_tbl2v16qi): Delete. - (aarch64_tbl3): Rename to... - (aarch64_qtbl2): This. - (aarch64_tbx4): Rename to... - (aarch64_qtbx2): This. - * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Use - renamed qtbl1 and qtbl2 RTL patterns. - * config/aarch64/arm_neon.h (vqtbl1_p8): Use renamed qtbl1 - RTL pattern. - (vqtbl1_s8): Likewise. - (vqtbl1_u8): Likewise. - (vqtbl1q_p8): Likewise. - (vqtbl1q_s8): Likewise. - (vqtbl1q_u8): Likewise. - (vqtbx1_s8): Use renamed qtbx1 RTL pattern. - (vqtbx1_u8): Likewise. - (vqtbx1_p8): Likewise. - (vqtbx1q_s8): Likewise. - (vqtbx1q_u8): Likewise. - (vqtbx1q_p8): Likewise. - (vtbl1_s8): Use renamed qtbl1 RTL pattern. - (vtbl1_u8): Likewise. - (vtbl1_p8): Likewise. - (vtbl2_s8): Likewise - (vtbl2_u8): Likewise. - (vtbl2_p8): Likewise. - (vtbl3_s8): Use renamed qtbl2 RTL pattern. - (vtbl3_u8): Likewise. - (vtbl3_p8): Likewise. - (vtbl4_s8): Likewise. - (vtbl4_u8): Likewise. - (vtbl4_p8): Likewise. - (vtbx2_s8): Use renamed qtbx2 RTL pattern. - (vtbx2_u8): Likewise. - (vtbx2_p8): Likewise. - (vqtbl2_s8): Use renamed qtbl2 RTL pattern. - (vqtbl2_u8): Likewise. - (vqtbl2_p8): Likewise. - (vqtbl2q_s8): Likewise. - (vqtbl2q_u8): Likewise. - (vqtbl2q_p8): Likewise. - (vqtbx2_s8): Use renamed qtbx2 RTL pattern. - (vqtbx2_u8): Likewise. - (vqtbx2_p8): Likewise. - (vqtbx2q_s8): Likewise. - (vqtbx2q_u8): Likewise. - (vqtbx2q_p8): Likewise. - (vtbx4_s8): Likewise. - (vtbx4_u8): Likewise. - (vtbx4_p8): Likewise. - -2021-07-20 Uroš Bizjak - - PR target/100182 - * config/i386/sync.md (define_peephole2 atomic_storedi_fpu): - Remove. - (define_peephole2 atomic_loaddi_fpu): Ditto. - -2021-07-20 Kito Cheng - - * config.gcc (riscv*-*-*): Detect which python is available. - -2021-07-20 Kewen Lin - - * config/rs6000/vsx.md (mulhs_): Rename to... - (smul3_highpart): ... this. - (mulhu_): Rename to... - (umul3_highpart): ... this. - * config/rs6000/rs6000-builtin.def (MULHS_V2DI, MULHS_V4SI, - MULHU_V2DI, MULHU_V4SI): Adjust. - -2021-07-20 Kewen Lin - - PR tree-optimization/100696 - * internal-fn.c (first_commutative_argument): Add info for IFN_MULH. - * internal-fn.def (IFN_MULH): New internal function. - * tree-vect-patterns.c (vect_recog_mulhs_pattern): Add support to - recog normal multiply highpart as IFN_MULH. - * config/i386/i386.c (ix86_add_stmt_cost): Adjust for combined - function CFN_MULH. - -2021-07-19 Indu Bhagat - - * config/elfos.h (CTF_DEBUGGING_INFO): New definition. - (BTF_DEBUGGING_INFO): Likewise. - * doc/tm.texi.in: Document the new macros. - * doc/tm.texi: Regenerated. - * toplev.c: Guard initialization of debug hooks. - -2021-07-19 Indu Bhagat - - * flags.h (ctf_debuginfo_p): New function declaration. - * opts.c (ctf_debuginfo_p): New function definition. - -2021-07-19 Andrew Stubbs - - PR target/100208 - * config/gcn/gcn-hsa.h (DRIVER_SELF_SPECS): New. - (ASM_SPEC): Set -mattr for xnack and sram-ecc. - * config/gcn/gcn-opts.h (enum sram_ecc_type): New. - * config/gcn/gcn-valu.md: Add a warning comment. - * config/gcn/gcn.c (gcn_option_override): Add "sorry" for -mxnack. - (output_file_start): Add xnack and sram-ecc state to ".amdgcn_target". - * config/gcn/gcn.md: Add a warning comment. - * config/gcn/gcn.opt: Add -mxnack and -msram-ecc. - * config/gcn/mkoffload.c (EF_AMDGPU_MACH_AMDGCN_GFX908): Remove - SRAM-ECC flag. - (EF_AMDGPU_XNACK): New. - (EF_AMDGPU_SRAM_ECC): New. - (elf_flags): New. - (copy_early_debug_info): Use elf_flags. - (main): Handle -mxnack and -msram-ecc options. - * doc/invoke.texi: Document -mxnack and -msram-ecc. - -2021-07-19 Andrew Pinski - - PR target/101205 - * config/aarch64/aarch64.md (csneg3_uxtw_insn): Rename to ... - (*cs3_uxtw_insn4): and extend to NEG_NOT. - -2021-07-19 Richard Biener - - PR tree-optimization/101505 - * tree-vect-patterns.c (vect_determine_precisions): Walk - PHIs also for loop vectorization. - -2021-07-19 Richard Biener - - * gimple.h (gimple_expr_type): Remove. - * doc/gimple.texi: Remove gimple_expr_type documentation. - -2021-07-19 Richard Biener - - * tree-ssa-sccvn.c (vn_reference_eq): Handle NULL vr->type. - (ao_ref_init_from_vn_reference): Likewise. - (fully_constant_reference): Likewise. - (vn_reference_lookup_call): Do not set vr->type to random - values. - * tree-ssa-pre.c (compute_avail): Do not try to PRE calls - without a value. - * tree-vect-generic.c (expand_vector_piecewise): Pass in - whether we expanded parallel. - (expand_vector_parallel): Adjust. - (expand_vector_addition): Likewise. - (expand_vector_comparison): Likewise. - (expand_vector_operation): Likewise. - (expand_vector_scalar_condition): Likewise. - (expand_vector_conversion): Likewise. - -2021-07-19 Richard Biener - - * tree-vrp.c (register_edge_assert_for_2): Use the - type from the LHS. - (vrp_folder::fold_predicate_in): Likewise. - * vr-values.c (gimple_assign_nonzero_p): Likewise. - (vr_values::extract_range_from_comparison): Likewise. - (vr_values::extract_range_from_ubsan_builtin): Use the - type of the first operand. - (vr_values::extract_range_basic): Push down type - computation, use the appropriate LHS. - (vr_values::extract_range_from_assignment): Use the - type of the LHS. - -2021-07-18 H.J. Lu - - PR target/101492 - * common/config/i386/i386-common.c (ix86_handle_option): For - -mgeneral-regs-only, enable the GPR only instructions which are - enabled implicitly by SSE ISAs unless they have been disabled - explicitly. - -2021-07-18 H.J. Lu - - PR target/101495 - * config/i386/i386.c (ix86_check_avx_upper_stores): Moved before - ix86_avx_u128_mode_needed. - (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY if callee - returns AVX register. - -2021-07-17 Jan Hubicka - - * tree-ssa-structalias.c (handle_rhs_call): Support EAF_NOT_RETURNED. - (handle_const_call): Liekise - (handle_pure_call): Liekise - -2021-07-17 Andrew MacLeod - - PR tree-optimization/96542 - * range-op.cc (range_operator::wi_fold_in_parts): New. - (range_operator::fold_range): Call wi_fold_in_parts. - (operator_lshift::wi_fold): Fix broken lshift by [0,0]. - * range-op.h (wi_fold_in_parts): Add prototype. - -2021-07-16 David Malcolm - - * doc/analyzer.texi: Add __analyzer_dump_state. - -2021-07-16 Bill Schmidt - - * config/rs6000/rbtree.c: New file. - * config/rs6000/rbtree.h: New file. - -2021-07-16 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (restriction): New enum. - (typeinfo): Add restr field. - (match_bracketed_pair): New function. - (match_const_restriction): Implement. - -2021-07-16 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (match_basetype): Implement. - -2021-07-16 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (void_status): New enum. - (basetype): Likewise. - (typeinfo): Likewise. - (handle_pointer): New function. - (match_basetype): New stub function. - (match_const_restriction): Likewise. - (match_type): New function. - -2021-07-16 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): New - function. - (advance_line): Likewise. - (safe_inc_pos): Likewise. - (match_identifier): Likewise. - (match_integer): Likewise. - (match_to_right_bracket): Likewise. - -2021-07-16 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c (bif_file): New variable. - (ovld_file): Likewise. - (header_file): Likewise. - (init_file): Likewise. - (defines_file): Likewise. - (pgm_path): Likewise. - (bif_path): Likewise. - (ovld_path): Likewise. - (header_path): Likewise. - (init_path): Likewise. - (defines_path): Likewise. - (LINELEN): New macro. - (linebuf): New variable. - (line): Likewise. - (pos): Likewise. - (diag): Likewise. - (bif_diag): New function. - (ovld_diag): Likewise. - -2021-07-16 Bill Schmidt - - * config/rs6000/rs6000-builtin-new.def: New. - * config/rs6000/rs6000-overload.def: New. - -2021-07-16 Bill Schmidt - - * config/rs6000/rs6000-gen-builtins.c: New. - -2021-07-16 Bill Schmidt - - * Makefile.in (EXTRA_GTYPE_DEPS): New variable. - (s-gtype): Depend on EXTRA_GTYPE_DEPS. - * gengtype-state.c (state_writer::write_state_file_list): Add a - parameter to the fileslist expression for the number of build - headers to scan. - (read_state_files_list): Detect build headers and strip the - initial "./" or ".\" from their names. - * gengtype.c (build_headers): New global variable. - (num_build_headers): Likewise. - (open_base_files): Emit #include for each build header. - (main): Detect and count build headers. - * gengtype.h (build_headers): New extern variable. - (num_build_headers): Likewise. - -2021-07-16 Richard Biener - - * gimple-ssa-store-merging.c (verify_symbolic_number_p): Use - the type of the LHS. - (find_bswap_or_nop_1): Likewise. - (find_bswap_or_nop): Likewise. - * tree-vectorizer.h (vect_get_smallest_scalar_type): Adjust - prototype. - * tree-vect-data-refs.c (vect_get_smallest_scalar_type): - Remove unused parameters, pass in the scalar type. Fix - internal store function handling. - * tree-vect-stmts.c (vect_analyze_stmt): Remove assert. - (vect_get_vector_types_for_stmt): Move down check for - existing vector stmt after we've determined a scalar type. - Pass down the used scalar type to vect_get_smallest_scalar_type. - * tree-vect-generic.c (expand_vector_condition): Use - the type of the LHS. - (expand_vector_scalar_condition): Likewise. - (expand_vector_operations_1): Likewise. - * tree-vect-patterns.c (vect_widened_op_tree): Likewise. - (vect_recog_dot_prod_pattern): Likewise. - (vect_recog_sad_pattern): Likewise. - (vect_recog_widen_op_pattern): Likewise. - (vect_recog_widen_sum_pattern): Likewise. - (vect_recog_mixed_size_cond_pattern): Likewise. - -2021-07-16 Jan Hubicka - - * ipa-modref.c (struct escape_entry): Use eaf_fleags_t. - (dump_eaf_flags): Dump EAF_NOT_RETURNED - (eaf_flags_useful_p): Use eaf_fleags_t; handle const functions - and EAF_NOT_RETURNED. - (modref_summary::useful_p): Likewise. - (modref_summary_lto::useful_p): Likewise. - (struct) modref_summary_lto: Use eaf_fleags_t. - (deref_flags): Handle EAF_NOT_RETURNED. - (struct escape_point): Use min_flags. - (modref_lattice::init): Add EAF_NOT_RETURNED. - (merge_call_lhs_flags): Ignore EAF_NOT_RETURNED functions - (analyze_ssa_name_flags): Clear EAF_NOT_RETURNED on return; - handle call flags. - (analyze_parms): Also analyze const functions; update conition on - flags usefulness. - (modref_write): Update streaming. - (read_section): Update streaming. - (remap_arg_flags): Use eaf_flags_t. - (modref_merge_call_site_flags): Hanlde EAF_NOT_RETURNED. - * ipa-modref.h: (eaf_flags_t): New typedef. - (struct modref_summary): Use eaf_flags_t. - * tree-core.h (EAF_NOT_RETURNED): New constant. - -2021-07-16 Richard Biener - - * gimple-fold.c (gimple_fold_stmt_to_constant_1): Use - the type of the LHS. - (gimple_assign_nonnegative_warnv_p): Likewise. - (gimple_call_nonnegative_warnv_p): Likewise. Return false - if the call has no LHS. - * gimple.c (gimple_could_trap_p_1): Use the type of the LHS. - * tree-eh.c (stmt_could_throw_1_p): Likewise. - * tree-inline.c (insert_init_stmt): Likewise. - * tree-ssa-loop-niter.c (get_val_for): Likewise. - * tree-outof-ssa.c (ssa_is_replaceable_p): Use the type of - the def. - * tree-ssa-sccvn.c (init_vn_nary_op_from_stmt): Take a - gassign *. Use the type of the lhs. - (vn_nary_op_lookup_stmt): Adjust. - (vn_nary_op_insert_stmt): Likewise. - -2021-07-16 Ilya Leoshkevich - - * config/s390/predicates.md (bras_sym_operand): Accept all - functions in 64-bit mode, use UNSPEC_PLT31. - (larl_operand): Use UNSPEC_PLT31. - * config/s390/s390.c (s390_loadrelative_operand_p): Likewise. - (legitimize_pic_address): Likewise. - (s390_emit_tls_call_insn): Mark __tls_get_offset as function, - use UNSPEC_PLT31. - (s390_delegitimize_address): Use UNSPEC_PLT31. - (s390_output_addr_const_extra): Likewise. - (print_operand): Add @PLT to TLS calls, handle %K. - (s390_function_profiler): Mark __fentry__/_mcount as function, - use %K, use UNSPEC_PLT31. - (s390_output_mi_thunk): Use only UNSPEC_GOT, use %K. - (s390_emit_call): Use UNSPEC_PLT31. - (s390_emit_tpf_eh_return): Mark __tpf_eh_return as function. - * config/s390/s390.md (UNSPEC_PLT31): Rename from UNSPEC_PLT. - (*movdi_64): Use %K. - (reload_base_64): Likewise. - (*sibcall_brc): Likewise. - (*sibcall_brcl): Likewise. - (*sibcall_value_brc): Likewise. - (*sibcall_value_brcl): Likewise. - (*bras): Likewise. - (*brasl): Likewise. - (*bras_r): Likewise. - (*brasl_r): Likewise. - (*bras_tls): Likewise. - (*brasl_tls): Likewise. - (main_base_64): Likewise. - (reload_base_64): Likewise. - (@split_stack_call): Likewise. - -2021-07-16 Richard Biener - - PR tree-optimization/101467 - * tree-vect-stmts.c (vect_gen_while): Properly guard - make_temp_ssa_name usage. - -2021-07-16 Cooper Qu - - * config.gcc: Don't use forked print-sysroot-suffix.sh and - t-sysroot-suffix for C-SKY. - * config/csky/print-sysroot-suffix.sh: Delete. - * config/csky/t-csky-linux: Delete. - * config/csky/t-sysroot-suffix: Define MULTILIB_DIRNAMES - instead of CSKY_MULTILIB_DIRNAMES. - -2021-07-16 Richard Biener - - * tree-vect-loop.c (vect_transform_cycle_phi): Correct sign - conversion issues with the partial reduction of the reused - vector accumulator. - -2021-07-16 Richard Biener - - * config/i386/i386-options.c (ix86_option_override_internal): Set - param_vect_partial_vector_usage to zero if not set. - -2021-07-15 Uroš Bizjak - - PR target/101346 - * config/i386/i386.h (VALID_SSE_REG_MODE): Add TDmode. - (VALID_INT_MODE_P): Add SDmode and DDmode. - Add TDmode for TARGET_64BIT. - (VALID_DFP_MODE_P): Remove. - * config/i386/i386.c (ix86_hard_regno_mode_ok): - Do not use VALID_DFP_MODE_P. - -2021-07-15 Andrew MacLeod - - * gimple-range-fold.cc (adjust_pointer_diff_expr): Use - gimple_range_type. - (fold_using_range::fold_stmt): Ditto. - (fold_using_range::range_of_range_op): Ditto. - (fold_using_range::range_of_phi): Ditto. - (fold_using_range::range_of_call): Ditto. - (fold_using_range::range_of_builtin_ubsan_call): Ditto. - (fold_using_range::range_of_builtin_call): Ditto. - (fold_using_range::range_of_cond_expr): Ditto. - * gimple-range-fold.h (gimple_range_type): New. - -2021-07-15 Martin Sebor - - PR middle-end/97027 - * tree-ssa-strlen.c (handle_assign): New function. - (maybe_warn_overflow): Add argument. - (nonzero_bytes_for_type): New function. - (count_nonzero_bytes): Handle more tree types. Call - nonzero_bytes_for_tye. - (count_nonzero_bytes): Handle types. - (handle_store): Handle stores from function calls. - (strlen_check_and_optimize_call): Move code to handle_assign. Call - it for assignments from function calls. - -2021-07-15 David Malcolm - - PR analyzer/95006 - PR analyzer/94713 - PR analyzer/94714 - * doc/invoke.texi: Add -Wanalyzer-use-of-uninitialized-value. - -2021-07-15 David Malcolm - - * doc/invoke.texi (-fdump-analyzer-exploded-paths): New. - -2021-07-15 Martin Sebor - - PR c/101289 - PR c/97548 - * fold-const.c (operand_compare::operand_equal_p): Handle OEP_DECL_NAME. - (operand_compare::verify_hash_value): Same. - * tree-core.h (OEP_DECL_NAME): New. - -2021-07-15 Martin Jambor - - * profile-count.h (profile_count::value): Change the return type to - uint64_t. - * gimple-pretty-print.c (dump_gimple_bb_header): Adjust print - statement. - * tree-cfg.c (dump_function_to_file): Likewise. - -2021-07-15 Bill Schmidt - - PR target/101129 - * config/rs6000/rs6000-p8swap.c (has_part_mult): New. - (rs6000_analyze_swaps): Insns containing a subreg of a mult are - not swappable. - -2021-07-15 Richard Biener - - * tree-vectorizer.h (vect_gen_while): Match up with - vect_gen_while_not. - * tree-vect-stmts.c (vect_gen_while): Adjust API to that - of vect_gen_while_not. - (vect_gen_while_not): Adjust. - * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Likewise. - -2021-07-15 Aldy Hernandez - - * gimple-range-cache.cc (non_null_ref::adjust_range): New. - (ranger_cache::range_of_def): Call adjust_range. - (ranger_cache::entry_range): Same. - * gimple-range-cache.h (non_null_ref::adjust_range): New. - * gimple-range.cc (gimple_ranger::range_of_expr): Call - adjust_range. - (gimple_ranger::range_on_entry): Same. - -2021-07-15 Tamar Christina - - Revert: - 2021-07-14 Tamar Christina - - * config/arm/neon.md (dot_prod): Drop statements. - -2021-07-15 Tamar Christina - - Revert: - 2021-07-14 Tamar Christina - - * config/aarch64/aarch64-simd-builtins.def (udot, sdot): Rename to... - (sdot_prod, udot_prod): ...These. - * config/aarch64/aarch64-simd.md (dot_prod): Remove. - (aarch64_dot): Rename to... - (dot_prod): ...This. - * config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32): - Update builtins. - -2021-07-15 Jakub Jelinek - - PR middle-end/101437 - * gimplify.c (gimplify_expr): Throw away volatile reads from empty - types even if they have non-BLKmode TYPE_MODE. - -2021-07-15 Richard Biener - - PR driver/101383 - * gcc.c (process_command): Process -gtoggle like process_options - would after parsing options. - -2021-07-15 Trevor Saunders - - * cfgexpand.c (expand_asm_loc): Adjust. - (expand_asm_stmt): Likewise. - * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Likewise. - * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise. - * config/arm/arm.c (thumb1_md_asm_adjust): Likewise. - * config/avr/avr.c (avr_md_asm_adjust): Likewise. - * config/cris/cris.c (cris_md_asm_adjust): Likewise. - * config/i386/i386.c (ix86_md_asm_adjust): Likewise. - * config/mn10300/mn10300.c (mn10300_md_asm_adjust): Likewise. - * config/nds32/nds32.c (nds32_md_asm_adjust): Likewise. - * config/pdp11/pdp11.c (pdp11_md_asm_adjust): Likewise. - * config/rs6000/rs6000.c (rs6000_md_asm_adjust): Likewise. - * config/s390/s390.c (s390_md_asm_adjust): Likewise. - * config/vax/vax.c (vax_md_asm_adjust): Likewise. - * config/visium/visium.c (visium_md_asm_adjust): Likewise. - * doc/tm.texi: Regenerate. - * target.def: Add location argument to md_asm_adjust. - -2021-07-15 Trevor Saunders - - * tree-diagnostic.c (diagnostic_report_current_function): Use the - diagnostic's location, not input_location. - -2021-07-15 Trevor Saunders - - * cfgexpand.c (tree_conflicts_with_clobbers_p): Pass location to - diagnostics. - (expand_asm_stmt): Likewise. - -2021-07-14 Peter Bergner - - * config/rs6000/rs6000.c (adjacent_mem_locations): Return the lower - addressed memory rtx, if any. - (rs6000_split_multireg_move): Fix code formatting. - Handle MMA build built-ins with operands in adjacent memory locations. - -2021-07-14 Peter Bergner - - * config/rs6000/rs6000.c (rs6000_split_multireg_move): Move to later - in the file. - -2021-07-14 Jason Merrill - - * sel-sched-ir.h (get_all_loop_exits): Use auto_vec. - -2021-07-14 Jason Merrill - - * doc/invoke.texi: -fdelete-dead-exceptions is on by default for - C++. - -2021-07-14 Tamar Christina - - * tree-vect-patterns.c (vect_recog_dot_prod_pattern): - Remove erroneous line. - -2021-07-14 Andrew MacLeod - - * params.opt (param_evrp_mode): Change default. - -2021-07-14 Tamar Christina - - * config/aarch64/aarch64-simd-builtins.def (udot, sdot): Rename to... - (sdot_prod, udot_prod): ...These. - * config/aarch64/aarch64-simd.md (dot_prod): Remove. - (aarch64_dot): Rename to... - (dot_prod): ...This. - * config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32): - Update builtins. - -2021-07-14 Tamar Christina - - * config/arm/neon.md (dot_prod): Drop statements. - -2021-07-14 Tamar Christina - - * doc/sourcebuild.texi (arm_v8_2a_i8mm_neon_hw): Document. - -2021-07-14 Tamar Christina - - * config/arm/neon.md (usdot_prod): New. - -2021-07-14 Tamar Christina - - * config/aarch64/aarch64-simd.md (aarch64_usdot): Rename to... - (usdot_prod): ... This. - * config/aarch64/aarch64-simd-builtins.def (usdot): Rename to... - (usdot_prod): ...This. - * config/aarch64/arm_neon.h (vusdot_s32, vusdotq_s32): Likewise. - * config/aarch64/aarch64-sve.md (@aarch64_dot_prod): - Rename to... - (@dot_prod): ...This. - * config/aarch64/aarch64-sve-builtins-base.cc - (svusdot_impl::expand): Use it. - -2021-07-14 Tamar Christina - - * optabs.def (usdot_prod_optab): New. - * doc/md.texi: Document it and clarify other dot prod optabs. - * optabs-tree.h (enum optab_subtype): Add optab_vector_mixed_sign. - * optabs-tree.c (optab_for_tree_code): Support usdot_prod_optab. - * optabs.c (expand_widen_pattern_expr): Likewise. - * tree-cfg.c (verify_gimple_assign_ternary): Likewise. - * tree-vect-loop.c (vectorizable_reduction): Query dot-product kind. - * tree-vect-patterns.c (vect_supportable_direct_optab_p): Take optional - optab subtype. - (vect_widened_op_tree): Optionally ignore - mismatch types. - (vect_recog_dot_prod_pattern): Support usdot_prod_optab. - -2021-07-14 H.J. Lu - - PR target/101395 - * config/i386/driver-i386.c (host_detect_local_cpu): Check - "arch [32|64]" and "tune [32|64]" for 32-bit and 64-bit codegen. - Enable UINTR only for 64-bit codegen. - * config/i386/i386-options.c - (ix86_option_override_internal::DEF_PTA): Skip PTA_UINTR if not - in 64-bit mode. - * config/i386/i386.h (ARCH_ARG): New. - (CC1_CPU_SPEC): Pass "[arch|tune] 32" for 32-bit codegen and - "[arch|tune] 64" for 64-bit codegen. - -2021-07-14 Richard Biener - - PR tree-optimization/101445 - * tree-vect-stmts.c (vectorizable_load): Do the gap adjustment - of the IV in the correct direction for negative stride - accesses. - -2021-07-14 Jakub Jelinek - - PR go/101407 - * godump.c (godump_str_hash): New type. - (godump_container::pot_dummy_types): Use string_hash instead of - ptr_hash in the hash_set. - -2021-07-14 Richard Biener - - * tree-vect-loop.c (vect_find_reusable_accumulator): Handle - vector types where the old vector type has a multiple of - the new vector type elements. - (vect_create_partial_epilog): New function, split out from... - (vect_create_epilog_for_reduction): ... here. - (vect_transform_cycle_phi): Reduce the re-used accumulator - to the new vector type. - -2021-07-14 Alexandre Oliva - - * tree-ssa-alias.c (attr_fnspec::verify): Fix index in - non-'t'-sized arg check. - -2021-07-14 Alexandre Oliva - - * tree-cfg.c (cleanup_dead_labels_eh): Update - post_landing_pad label upon change of landing pad block's - primary label. - (cleanup_dead_labels): Check that a removed label is not that - of a landing pad. - -2021-07-13 Jonathan Wright - - * combine.c (combine_simplify_rtx): Add vec_select -> subreg - simplification. - * config/aarch64/aarch64.md (*zero_extend2_aarch64): - Add Neon to general purpose register case for zero-extend - pattern. - * config/arm/vfp.md (*arm_movsi_vfp): Remove "*" from *t -> r - case to prevent some cases opting to go through memory. - * cse.c (fold_rtx): Add vec_select -> subreg simplification. - * rtl.c (rtvec_series_p): Define predicate to determine - whether a vector contains a linear series of integers. - * rtl.h (rtvec_series_p): Define. - * rtlanal.c (vec_series_lowpart_p): Define predicate to - determine if a vector selection is equivalent to the low part - of the vector. - * rtlanal.h (vec_series_lowpart_p): Define. - * simplify-rtx.c (simplify_context::simplify_binary_operation_1): - Add vec_select -> subreg simplification. - -2021-07-13 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_testz_si128, _mm_testc_si128, - _mm_testnzc_si128, _mm_test_all_ones, _mm_test_all_zeros, - _mm_test_mix_ones_zeros): New. - -2021-07-13 Roger Sayle - Richard Biener - - * gimple.c (gimple_could_trap_p_1): Make S argument a - "const gimple*". Preserve constness in call to - gimple_asm_volatile_p. - (gimple_could_trap_p): Make S argument a "const gimple*". - * gimple.h (gimple_could_trap_p_1, gimple_could_trap_p): - Update function prototypes. - -2021-07-13 Richard Sandiford - - * tree-vectorizer.h (vect_reusable_accumulator): New structure. - (_loop_vec_info::main_loop_edge): New field. - (_loop_vec_info::skip_main_loop_edge): Likewise. - (_loop_vec_info::skip_this_loop_edge): Likewise. - (_loop_vec_info::reusable_accumulators): Likewise. - (_stmt_vec_info::reduc_scalar_results): Likewise. - (_stmt_vec_info::reused_accumulator): Likewise. - (vect_get_main_loop_result): Declare. - * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize - reduc_scalar_inputs. - (vec_info::free_stmt_vec_info): Free reduc_scalar_inputs. - * tree-vect-loop-manip.c (vect_get_main_loop_result): New function. - (vect_do_peeling): Fill an epilogue loop's main_loop_edge, - skip_main_loop_edge and skip_this_loop_edge fields. - * tree-vect-loop.c (INCLUDE_ALGORITHM): Define. - (vect_emit_reduction_init_stmts): New function. - (get_initial_def_for_reduction): Use it. - (get_initial_defs_for_reduction): Likewise. Change the vinfo - parameter to a loop_vec_info. - (vect_create_epilog_for_reduction): Store the scalar results - in the reduc_info. If an epilogue loop is reusing an accumulator - from the main loop, and if the epilogue loop can also be skipped, - try to place the reduction code in the join block. Record - accumulators that could potentially be reused by epilogue loops. - (vect_transform_cycle_phi): When vectorizing epilogue loops, - try to reuse accumulators from the main loop. Record the initial - value in reduc_info for non-SLP reductions too. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (get_initial_def_for_reduction): Remove - adjustment handling. Take the neutral value as an argument, - in place of the code argument. - (vect_transform_cycle_phi): Update accordingly. Handle the - initial values of cond reductions separately from code reductions. - Choose the adjustment here rather than in - get_initial_def_for_reduction. Sink the splat of vec_initial_def. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (neutral_op_for_slp_reduction): Replace with... - (neutral_op_for_reduction): ...this, providing a more general - interface. - (vect_create_epilog_for_reduction): Update accordingly. - (vectorizable_reduction): Likewise. - (vect_transform_cycle_phi): Likewise. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (get_initial_def_for_reduction): Take the - reduc_info instead of the original stmt_vec_info. - (vect_transform_cycle_phi): Update accordingly. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (get_initial_defs_for_reduction): Take the - reduc_info as an additional parameter. - (vect_transform_cycle_phi): Update accordingly. - -2021-07-13 Richard Sandiford - - * tree-vectorizer.h: Include tree-ssa-operands.h. - (vect_phi_initial_value): New function. - * tree-vect-loop.c (neutral_op_for_slp_reduction): Use it. - (get_initial_defs_for_reduction, info_for_reduction): Likewise. - (vect_create_epilog_for_reduction, vectorizable_reduction): Likewise. - (vect_transform_cycle_phi, vectorizable_induction): Likewise. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (vect_create_epilog_for_reduction): Convert - the phi results to vectype after creating them. Remove later - conversion code that thus becomes redundant. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (vect_create_epilog_for_reduction): Replace - the new_phis vector with a reduc_inputs vector. Combine handling - of reduction chains and ncopies > 1. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (vect_create_epilog_for_reduction): Truncate - scalar_results to group_size elements after reducing down from - N*group_size elements. Construct an array_slice of the live-out - stmts and assert that there is one stmt per scalar result. - -2021-07-13 Richard Sandiford - - * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove - nested_in_vect_loop and use double_reduc everywhere. Remove dead - assignment to "loop". - -2021-07-13 Richard Sandiford - - * internal-fn.c (vectorized_internal_fn_supported_p): Handle - vector types first. For scalar types, consider both the preferred - vector mode and the alternative vector modes. - * optabs-query.c (can_vec_mask_load_store_p): Use the same - structure as above, in particular using related_vector_mode - for modes provided by autovectorize_vector_modes. - -2021-07-13 Jakub Jelinek - Richard Biener - - PR tree-optimization/101419 - * tree-pass.h (PROP_objsz): Define. - (make_pass_early_object_sizes): Declare. - * passes.def (pass_all_early_optimizations): Rename pass_object_sizes - there to pass_early_object_sizes, drop parameter. - (pass_all_optimizations): Move pass_object_sizes right after pass_ccp, - drop parameter, move pass_post_ipa_warn right after that. - * tree-object-size.c (pass_object_sizes::execute): Rename to... - (object_sizes_execute): ... this. Add insert_min_max_p argument. - (pass_data_object_sizes): Move after object_sizes_execute. - (pass_object_sizes): Likewise. In execute method call - object_sizes_execute, drop set_pass_param method and insert_min_max_p - non-static data member and its initializer in the ctor. - (pass_data_early_object_sizes, pass_early_object_sizes, - make_pass_early_object_sizes): New. - * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use - (cfun->curr_properties & PROP_objsz) instead of cfun->after_inlining. - -2021-07-13 Kito Cheng - - PR target/101275 - * config/riscv/constraints.md ("S"): Update description and remove - @internal. - * doc/md.texi (Machine Constraints): Document the 'S' constraints - for RISC-V. - -2021-07-13 Richard Biener - - Revert: - 2021-07-12 Richard Biener - - * tree-vect-slp.c (vect_slp_region): Show the number of - SLP graph entries in the optimization message. - -2021-07-13 Michael Meissner - - * config/rs6000/altivec.md (xxspltiw_v4sf): Change local variable - value to to long. - * config/rs6000/rs6000-protos.h (rs6000_const_f32_to_i32): Change - return type to long. - * config/rs6000/rs6000.c (rs6000_const_f32_to_i32): Change return - type to long. - -2021-07-12 Andrew MacLeod - - * gimple-range-fold.cc (fold_using_range::range_of_builtin_ubsan_call): - Query relation between the 2 operands and use it. - -2021-07-12 Sergei Trofimovich - - * doc/cfg.texi: Fix s/ei_safe_safe/ei_safe_edge/ typo. - -2021-07-12 Uroš Bizjak - - PR target/101424 - * config/i386/predicates.md (vec_setm_sse41_operand): - Rename from vec_setm_operand. - (vec_setm_avx2_operand): New predicate. - * config/i386/sse.md (vec_set): Use V_128 mode iterator. - Use vec_setm_sse41_operand as operand 2 predicate. - (vec_set - - PR tree-optimization/101335 - * range-op.cc (operator_cast::lhs_op1_relation): Delete. - -2021-07-12 Andrew Pinski - - * tree-ssa-phiopt.c (match_simplify_replacement): Move - insert of the sequence before the movement of the - statement. Check if to see if the statement is used - outside of the original phi to see if we should move it. - -2021-07-12 Richard Biener - - * dump-context.h (debug_dump_context::debug_dump_context): - Add FILE * parameter defaulted to stderr. - * dumpfile.c (debug_dump_context::debug_dump_context): Adjust. - * tree-vect-slp.c (dot_slp_tree): New functions. - -2021-07-12 Richard Biener - - PR tree-optimization/101373 - * tree-ssa-pre.c (prune_clobbered_mems): Also prune trapping - references when the BB may not return. - (compute_avail): Pass in the function we're working on and - replace cfun references with it. Externally throwing - const calls also possibly terminate the function. - (pass_pre::execute): Pass down the function we're working on. - * gcse.c (compute_hash_table_work): Externally throwing - const/pure calls also need record_last_mem_set_info. - * postreload-gcse.c (record_opr_changes): Looping or externally - throwing const/pure calls also need record_last_mem_set_info. - -2021-07-12 Uroš Bizjak - - * recog.c (memory_address_addr_space_p): Change the type to bool. - Return true/false instead of 1/0. - (offsettable_memref_p): Ditto. - (offsettable_nonstrict_memref_p): Ditto. - (offsettable_address_addr_space_p): Ditto. - Change the type of addressp indirect function to bool. - * recog.h (memory_address_addr_space_p): Change the type to bool. - (strict_memory_address_addr_space_p): Ditto. - (offsettable_memref_p): Ditto. - (offsettable_nonstrict_memref_p): Ditto. - (offsettable_address_addr_space_p): Ditto. - * reload.c (maybe_memory_address_addr_space_p): Ditto. - (strict_memory_address_addr_space_p): Change the type to bool. - Return true/false instead of 1/0. - (maybe_memory_address_addr_space_p): Change the type to bool. - -2021-07-12 Richard Biener - - * tree-vect-slp.c (vect_slp_region): Show the number of - SLP graph entries in the optimization message. - -2021-07-12 Richard Biener - - PR tree-optimization/101394 - * tree-ssa-pre.c (do_pre_regular_insertion): Avoid inserting - copies from abnormals for a full redundancy. - -2021-07-12 Richard Biener - - PR middle-end/101423 - * gimple.c (gimple_could_trap_p_1): Internal function calls - do not trap. - * tree-eh.c (tree_could_trap_p): Likewise. - -2021-07-12 prathamesh.kulkarni - - PR target/66791 - * config/arm/arm_neon.h (vmul_n_u32): Replace call to builtin with - __a * __b. - (vmulq_n_u32): Likewise. - (vmul_n_f32): Gate __a * __b on __FAST_MATH__. - (vmulq_n_f32): Likewise. - (vmul_n_f16): Likewise. - (vmulq_n_f16): Likewise. - -2021-07-12 Martin Liska - - PR sanitizer/101425 - * gcc.c (check_offload_target_name): Call - candidates_list_and_hint only if we have a candidate. - -2021-07-12 prathamesh.kulkarni - - PR target/98435 - * config/arm/neon.md (vec_init): Move to ... - * config/arm/vec-common.md (vec_init): ... here. - Change the pattern's mode to VDQX and gate it on VALID_MVE_MODE. - -2021-07-12 Roger Sayle - - PR tree-optimization/101403 - * match.pd ((T)bswap(X)>>C): Correctly handle cases where - signedness of the shift is not the same as the signedness of - the type extension. - -2021-07-09 Roger Sayle - Uroš Bizjak - - * config/i386/i386.md (*divmodsi4_const): Optimize SImode - divmod of a constant numerator with new define_insn_and_split. - -2021-07-09 Iain Sandoe - - PR target/100152 - * config/i386/i386-expand.c (ix86_expand_call): If a call is - to a non-local-binding, or local but to a public symbol, then - assume that it might be indirected via the lazy symbol binder. - Mark R10 and R10 as clobbered in that case. - -2021-07-09 Eric Botcazou - - PR target/101377 - * gcc.c (ASM_DEBUG_DWARF_OPTION): Set again to --gdwarf2 in - the case where HAVE_AS_WORKING_DWARF_N_FLAG is not defined - and HAVE_LD_BROKEN_PE_DWARF5 is defined. - -2021-07-09 Uroš Bizjak - - * config/i386/i386.md (*udivmodsi4_pow2_zext_1): Limit the - log2 range of operands[3] to [1,31]. - (*udivmodsi4_pow2_zext_2): Ditto. Correct insn RTX pattern. - -2021-07-09 Sergei Trofimovich - - * doc/md.texi: Don't split @smallexample in multiple @groups. - -2021-07-09 Sergei Trofimovich - - * doc/md.texi: Add missing 'see' word. - -2021-07-09 Andrew Pinski - - * tree-ssa-phiopt.c (phiopt_early_allow): Change arguments - to take sequence and gimple_match_op. Accept the case where - op is a SSA_NAME and one statement in the sequence. - Also allow constants. - (gimple_simplify_phiopt): Always pass a sequence to resimplify. - Update call to phiopt_early_allow. Discard the sequence if not - used. - -2021-07-09 Xi Ruoyao - - PR target/100760 - PR target/100761 - PR target/100762 - * config/mips/mips.c (mips_const_insns): Use MSA_SUPPORTED_MODE_P - instead of ISA_HAS_MSA. - (mips_expand_vec_unpack): Likewise. - (mips_expand_vector_init): Likewise. - -2021-07-09 Kewen Lin - - * config/rs6000/vsx.md (mods_): Rename to... - (mod3): ... this. - (modu_): Rename to... - (umod3): ... this. - * config/rs6000/rs6000-builtin.def (MODS_V2DI, MODS_V4SI, MODU_V2DI, - MODU_V4SI): Adjust. - -2021-07-08 Jeff Law - - * config/h8300/shiftrotate.md (variable shifts): Expose condition - code handling for the test before the loop. - -2021-07-08 Martin Jambor - - PR ipa/101066 - * ipa-sra.c (class isra_call_summary): New member - m_before_any_store, initialize it in the constructor. - (isra_call_summary::dump): Dump the new field. - (ipa_sra_call_summaries::duplicate): Copy it. - (process_scan_results): Set it. - (isra_write_edge_summary): Stream it. - (isra_read_edge_summary): Likewise. - (param_splitting_across_edge): Only override - safe_to_import_accesses if m_before_any_store is set. - -2021-07-08 Martin Sebor - - PR bootstrap/101374 - * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): - Use Object Size Type 0 instead of 1. - -2021-07-08 Richard Sandiford - - * tree-vect-loop.c (vectorizable_reduction): Remove always-true - if condition. - -2021-07-08 Richard Sandiford - - * match.pd: Simplify an extend-operate-truncate sequence involving - a POLY_INT_CST. - -2021-07-08 Roger Sayle - Richard Biener - - PR tree-optimization/40210 - * match.pd (bswap optimizations): Simplify (bswap(x)>>C1)&C2 as - (x>>C3)&C2 when possible. Simplify bswap(x)>>C1 as ((T)x)>>C2 - when possible. Simplify bswap(x)&C1 as (x>>C2)&C1 when 0<=C1<=255. - -2021-07-08 Uroš Bizjak - - PR target/100637 - * config/i386/i386-expand.c (ix86_expand_sse_unpack): - Handle V4QI mode. - * config/i386/mmx.md (V_32): New mode iterator. - (mov): Use V_32 mode iterator. - (*mov_internal): Ditto. - (*push2_rex64): Ditto. - (*push2): Ditto. - (movmisalign): Ditto. - (mmx_v1si3): New insn pattern. - (sse4_1_v2qiv2hi2): Ditto. - (vec_unpacks_lo_v4qi): New expander. - (vec_unpacks_hi_v4qi): Ditto. - (vec_unpacku_lo_v4qi): Ditto. - (vec_unpacku_hi_v4qi): Ditto. - * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V1SImode. - (VALID_INT_MODE_P): Ditto. - -2021-07-08 Michael Meissner - - PR target/100809 - * config/rs6000/rs6000.md (udivti3): New insn. - (divti3): New insn. - (umodti3): New insn. - (modti3): New insn. - -2021-07-07 Martin Sebor - - PR tree-optimization/100137 - PR tree-optimization/99121 - PR tree-optimization/97027 - * builtins.c (access_ref::access_ref): Also set offmax. - (access_ref::offset_in_range): Define new function. - (access_ref::add_offset): Set offmax. - (access_ref::inform_access): Handle access_none. - (handle_mem_ref): Clear ostype. - (compute_objsize_r): Handle ASSERT_EXPR. - * builtins.h (struct access_ref): Add offmax member. - * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): Use - compute_objsize() and simplify. - -2021-07-07 Peter Bergner - - * config/rs6000/rs6000-call.c (mma_init_builtins): Use VSX_BUILTIN_LXVP - and VSX_BUILTIN_STXVP. - -2021-07-07 Martin Sebor - - PR target/101363 - * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Remove - a stray %K from error_at() missed in r12-2088. - -2021-07-07 Richard Biener - - PR tree-optimization/99728 - * tree-ssa-loop-im.c (gather_mem_refs_stmt): Record - aggregate copies. - (mem_refs_may_alias_p): Add assert we handled aggregate - copies elsewhere. - (sm_seq_valid_bb): Give up when running into aggregate copies. - (ref_indep_loop_p): Handle aggregate copies as never - being invariant themselves but allow other refs to be - disambiguated against them. - (can_sm_ref_p): Do not try to apply store-motion to aggregate - copies. - -2021-07-06 Indu Bhagat - - PR debug/101283 - * dwarf2ctf.c (ctf_get_AT_data_member_location): Multiply by 8 to get - number of bits. - -2021-07-06 Martin Sebor - - * gimple-pretty-print.c (percent_G_format): Remove. - * tree-diagnostic.c (default_tree_printer): Remove calls. - * tree-pretty-print.c (percent_K_format): Remove. - * tree-pretty-print.h (percent_K_format): Remove. - -2021-07-06 Martin Sebor - - * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): - Remove %K and use error_at. - (aarch64_expand_fcmla_builtin): Same. - (aarch64_expand_builtin_tme): Same. - (aarch64_expand_builtin_memtag): Same. - * config/arm/arm-builtins.c (arm_expand_acle_builtin): Same. - (arm_expand_builtin): Same. - * config/arm/arm.c (bounds_check): Same. - -2021-07-06 Martin Sebor - - * builtins.c (warn_string_no_nul): Remove %G. - (maybe_warn_for_bound): Same. - (warn_for_access): Same. - (check_access): Same. - (check_strncat_sizes): Same. - (expand_builtin_strncat): Same. - (expand_builtin_strncmp): Same. - (expand_builtin): Same. - (expand_builtin_object_size): Same. - (warn_dealloc_offset): Same. - (maybe_emit_free_warning): Same. - * calls.c (maybe_warn_alloc_args_overflow): Same. - (maybe_warn_nonstring_arg): Same. - (maybe_warn_rdwr_sizes): Same. - * expr.c (expand_expr_real_1): Remove %K. - * gimple-fold.c (gimple_fold_builtin_strncpy): Remove %G. - (gimple_fold_builtin_strncat): Same. - * gimple-ssa-sprintf.c (format_directive): Same. - (handle_printf_call): Same. - * gimple-ssa-warn-alloca.c (pass_walloca::execute): Same. - * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Same. - (maybe_diag_access_bounds): Same. Call gimple_location. - (check_bounds_or_overlap): Same. - * trans-mem.c (ipa_tm_scan_irr_block): Remove %K. Simplify. - * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Remove %G. - * tree-ssa-strlen.c (maybe_warn_overflow): Same. - (maybe_diag_stxncpy_trunc): Same. - (handle_builtin_stxncpy_strncat): Same. - (maybe_warn_pointless_strcmp): Same. - * tree-ssa-uninit.c (maybe_warn_operand): Same. - -2021-07-06 Uroš Bizjak - - PR target/97194 - * config/i386/predicates.md (vec_setm_operand): Enable - register_operand for TARGET_SSE4_1. - * config/i386/mmx.md (vec_setv2hi): Use vec_setm_operand - as operand 2 predicate. Call ix86_expand_vector_set_var - for non-constant index operand. - (vec_setv4qi): Use vec_setm_mmx_operand as operand 2 predicate. - Call ix86_expand_vector_set_var for non-constant index operand. - -2021-07-06 Jeff Law - - * config/h8300/jumpcall.md (*branch): When possible, generate - the comparison in CCZN mode. - * config/h8300/predicates.md (simple_memory_operand): Reject all - auto-increment addressing modes. - -2021-07-06 Iain Sandoe - - PR bootstrap/100246 - * config/i386/i386.h (struct stringop_algs): Define a CTOR for - this type. - -2021-07-06 Richard Biener - - * doc/md.texi (vec_fmaddsub4): Document. - (vec_fmsubadd4): Likewise. - * optabs.def (vec_fmaddsub$a4): Add. - (vec_fmsubadd$a4): Likewise. - * internal-fn.def (IFN_VEC_FMADDSUB): Add. - (IFN_VEC_FMSUBADD): Likewise. - * tree-vect-slp-patterns.c (addsub_pattern::recognize): - Refactor to handle IFN_VEC_FMADDSUB and IFN_VEC_FMSUBADD. - (addsub_pattern::build): Likewise. - * tree-vect-slp.c (vect_optimize_slp): CFN_VEC_FMADDSUB - and CFN_VEC_FMSUBADD are not transparent for permutes. - * config/i386/sse.md (vec_fmaddsub4): New expander. - (vec_fmsubadd4): Likewise. - -2021-07-06 Richard Biener - - * doc/invoke.texi (fmove-loop-stores): Document. - * common.opt (fmove-loop-stores): New option. - * opts.c (default_options_table): Enable -fmove-loop-stores - at -O1 but not -Og. - * tree-ssa-loop-im.c (pass_lim::execute): Pass - flag_move_loop_stores instead of true to - loop_invariant_motion_in_fun. - -2021-07-06 Iain Sandoe - - * doc/install.texi: Document --with-dsymutil. - -2021-07-06 Andrew Pinski - - PR tree-optimization/101256 - * dbgcnt.def (phiopt_edge_range): New counter. - * tree-ssa-phiopt.c (replace_phi_edge_with_variable): - Check to make sure the new name is defined in the same - bb as the conditional before duplicating range info. - Also add debug counter. - -2021-07-06 Kewen Lin - - PR rtl-optimization/100328 - * config/i386/i386-options.c (ix86_option_override_internal): - Set param_ira_consider_dup_in_all_alts to 0. - -2021-07-06 Kewen Lin - - PR rtl-optimization/100328 - * doc/invoke.texi (ira-consider-dup-in-all-alts): Document new - parameter. - * ira.c (ira_get_dup_out_num): Adjust as parameter - param_ira_consider_dup_in_all_alts. - * params.opt (ira-consider-dup-in-all-alts): New. - * ira-conflicts.c (process_regs_for_copy): Add one parameter - single_input_op_has_cstr_p. - (get_freq_for_shuffle_copy): New function. - (add_insn_allocno_copies): Adjust as single_input_op_has_cstr_p. - * ira-int.h (ira_get_dup_out_num): Add one bool parameter. - -2021-07-05 Jeff Law - - * config/h8300/shiftrotate.md (shift-by-variable patterns): Update to - generate condition code aware RTL directly. - -2021-07-05 Andrew Pinski - - PR tree-optimization/101039 - * match.pd (A CMP 0 ? A : -A): New patterns. - * tree-ssa-phiopt.c (abs_replacement): Delete function. - (tree_ssa_phiopt_worker): Don't call abs_replacement. - Update comment about abs_replacement. - -2021-07-05 Andrew Pinski - - * tree-ssa-phiopt.c (gimple_simplify_phiopt): - If "A ? B : C" fails to simplify, try "(!A) ? C : B". - -2021-07-05 Andrew Pinski - - * tree-ssa-phiopt.c (match_simplify_replacement): - Add early_p argument. Call gimple_simplify_phiopt - instead of gimple_simplify. - (tree_ssa_phiopt_worker): Update call to - match_simplify_replacement and allow unconditionally. - (phiopt_early_allow): New function. - (gimple_simplify_phiopt): New function. - -2021-07-05 Andrew Pinski - - PR middle-end/101237 - * fold-const.c (negate_expr_p): Remove call to element_mode - and TREE_MODE/TREE_TYPE when calling HONOR_SIGNED_ZEROS, - HONOR_SIGN_DEPENDENT_ROUNDING, and HONOR_SNANS. - (fold_negate_expr_1): Likewise. - (const_unop): Likewise. - (fold_cond_expr_with_comparison): Likewise. - (fold_binary_loc): Likewise. - (fold_ternary_loc): Likewise. - (tree_call_nonnegative_warnv_p): Likewise. - * match.pd (-(A + B) -> (-B) - A): Likewise. - -2021-07-05 Iain Sandoe - - * configure.ac: Handle --with-dsymutil in the same way as we - do for the assembler and linker. (DEFAULT_DSYMUTIL): New. - Extract the type and version for the dsymutil configured or - found by the default searches. - * config.in: Regenerated. - * configure: Regenerated. - * collect2.c (do_dsymutil): Handle locating dsymutil in the - same way as for the assembler and linker. - * config/darwin.h (DSYMUTIL): Delete. - * gcc.c: Report a configured dsymutil correctly. - * exec-tool.in: Allow for dsymutil. - -2021-07-05 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_split_mmx_punpck): - Handle V4QI and V2HI modes. - (expand_vec_perm_blend): Allow 4-byte vector modes with TARGET_SSE4_1. - Handle V4QI mode. Emit mmx_pblendvb32 for 4-byte modes. - (expand_vec_perm_pshufb): Rewrite to use switch statemets. - Handle 4-byte dual operands with TARGET_XOP and single operands - with TARGET_SSSE3. Emit mmx_ppermv32 for TARGET_XOP and - mmx_pshufbv4qi3 for TARGET_SSSE3. - (expand_vec_perm_pblendv): Allow 4-byte vector modes with TARGET_SSE4_1. - (expand_vec_perm_interleave2): Allow 4-byte vector modes. - (expand_vec_perm_pshufb2): Allow 4-byte vector modes with TARGET_SSSE3. - (expand_vec_perm_even_odd_1): Handle V4QI mode. - (expand_vec_perm_broadcast_1): Handle V4QI mode. - (ix86_vectorize_vec_perm_const): Handle V4QI mode. - * config/i386/mmx.md (mmx_ppermv32): New insn pattern. - (mmx_pshufbv4qi3): Ditto. - (*mmx_pblendw32): Ditto. - (*mmx_pblendw64): Rename from *mmx_pblendw. - (mmx_punpckhbw_low): New insn_and_split pattern. - (mmx_punpcklbw_low): Ditto. - -2021-07-05 Richard Biener - - * tree-vect-loop-manip.c (vect_loop_versioning): Do not - set LOOP_C_INFINITE on the vectorized loop. - -2021-07-05 Richard Biener - - PR middle-end/101291 - * cfgloopmanip.c (loop_version): Set the loop copy of the - versioned loop to the new loop. - -2021-07-04 Iain Sandoe - - PR target/100269 - * config.gcc: Ensure that Darwin biarch definitions are - added before i386.h. - * config/i386/darwin.h (TARGET_64BIT): Remove. - (PR80556_WORKAROUND): New. - (REAL_LIBGCC_SPEC): Amend to use PR80556_WORKAROUND. - (DARWIN_SUBARCH_SPEC): New. - * config/i386/darwin32-biarch.h (TARGET_64BIT_DEFAULT, - TARGET_BI_ARCH, PR80556_WORKAROUND): New. - (REAL_LIBGCC_SPEC): Remove. - * config/i386/darwin64-biarch.h (TARGET_64BIT_DEFAULT, - TARGET_BI_ARCH, PR80556_WORKAROUND): New. - (REAL_LIBGCC_SPEC): Remove. - -2021-07-03 H.J. Lu - - PR middle-end/101294 - * expr.c (store_constructor): Don't use vec_duplicate on vector. - -2021-07-02 Martin Sebor - - PR middle-end/98871 - PR middle-end/98512 - * diagnostic.c (get_any_inlining_info): New. - (update_effective_level_from_pragmas): Handle inlining context. - (diagnostic_enabled): Same. - (diagnostic_report_diagnostic): Same. - * diagnostic.h (struct diagnostic_info): Add ctor. - (struct diagnostic_context): Add new member. - * tree-diagnostic.c (set_inlining_locations): New. - (tree_diagnostics_defaults): Set new callback pointer. - -2021-07-02 Peter Bergner - - * config/rs6000/rs6000-builtin.def (BU_MMA_PAIR_LD, BU_MMA_PAIR_ST): - New macros. - (__builtin_vsx_lxvp, __builtin_vsx_stxvp): New built-ins. - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Expand - lxvp and stxvp built-ins. - (mma_init_builtins): Handle lxvp and stxvp built-ins. - (builtin_function_type): Likewise. - * doc/extend.texi (__builtin_vsx_lxvp, __builtin_mma_stxvp): Document. - -2021-07-02 Jeff Law - - * config/h8300/h8300-protos.h (compute_a_shift_cc): Accept - additional argument for the code. - * config/h8300/h8300.c (compute_a_shift_cc): Accept additional - argument for the code. Just return if the ZN bits are useful or - not rather than the old style CC_* enums. - * config/h8300/shiftrotate.md (shiftqi_noscratch): Move before - more generic shiftqi patterns. - (shifthi_noscratch, shiftsi_noscratch): Similarly. - (shiftqi_noscratch_set_flags): New pattern. - (shifthi_noscratch_set_flags, shiftsi_noscratch_set_flags): Likewise. - -2021-07-02 Andrew MacLeod - - PR tree-optimization/101223 - * range-op.cc (build_lt): Add -1 for signed values. - (built_gt): Subtract -1 for signed values. - -2021-07-02 David Faust - - * btfout.c (get_btf_kind): Support BTF_KIND_FLOAT. - (btf_asm_type): Likewise. - -2021-07-02 Jeff Law - - * config/h8300/h8300-protos.h (output_a_shift): Make first argument - an array of rtx rather than a pointer to rtx. Add code argument. - (compute_a_shift_length): Similarly. - * config/h8300/h8300.c (h8300_shift_costs): Adjust now that the - shift itself isn't an operand. Create dummy operand[0] to carry - a mode and pass a suitable rtx code to compute_a_shift_length. - (get_shift_alg): Adjust operand number of clobber in output templates. - (output_a_shift): Make first argument an array of rtx rather than - a pointer to rtx. Add code argument for the type of shift. - Adjust now that the shift itself is no longer an operand. - (compute_a_shift_length): Similarly. - * config/h8300/shiftrotate.md (shiftqi, shifthi, shiftsi): Use an - iterator rather than nshift_operator. - (shiftqi_noscratch, shifthi_noscratch, shiftsi_noscratch): Likewise. - (shiftqi_clobber_flags): Adjust to API changes in output_a_shift - and compute_a_shift_length. - (shiftqi_noscratch_clobber_flags): Likewise. - (shifthi_noscratch_clobber_flags): Likewise. - (shiftsi_noscratch_clobber_flags): Likewise. - -2021-07-02 Iain Sandoe - - PR debug/101283 - * config/darwin.h (DSYMUTIL_SPEC): Do not try to run - dsymutil for BTF/CTF. - -2021-07-02 Iain Sandoe - - PR debug/101283 - * config/darwin.h (CTF_INFO_SECTION_NAME): Update the - segment to include BTF. - (BTF_INFO_SECTION_NAME): New. - -2021-07-02 Jeff Law - - * config/m32r/m32r-protos.h (call_operand): Adjust return type. - (small_data_operand, memreg_operand, small_insn_p): Likewise. - * config/m32r/m32r.c (call_operand): Adjust return type. - (small_data_operand, memreg_operand): Likewise. - -2021-07-02 Jeff Law - - * config/frv/frv-protos.h (integer_register_operand): Adjust return - type. - (frv_load_operand, gpr_or_fpr_operand, gpr_no_subreg_operand): Likewise. - (fpr_or_int6_operand, gpr_or_int_operand); Likewise. - (gpr_or_int12_operand, gpr_or_int10_operand); Likewise. - (move_source_operand, move_destination_operand): Likewise. - (condexec_source_operand, condexec_dest_operand): Likewise. - (lr_operand, gpr_or_memory_operand, fpr_or_memory_operand): Likewise. - (reg_or_0_operand, fcc_operand, icc_operand, cc_operand): Likewise. - (fcr_operand, icr_operand, cr_operand, call_operand): Likewise. - (fpr_operand, even_reg_operand, odd_reg_operand): Likewise. - (even_gpr_operand, odd_gpr_operand, quad_fpr_operand): Likewise. - (even_fpr_operand, odd_fpr_operand): Likewise. - (dbl_memory_one_insn_operand, dbl_memory_two_insn_operand): Likewise. - (int12_operand, int6_operand, int5_operand, uint5_operand): Likewise. - (uint4_operand, uint1_operand, int_2word_operand): Likewise - (upper_int16_operand, uint16_operand, symbolic_operand): Likewise. - (relational_operator, float_relational_operator): Likewise. - (ccr_eqne_operator, minmax_operator): Likewise. - (condexec_si_binary_operator, condexec_si_media_operator): Likewise. - (condexec_si_divide_operator, condexec_si_unary_operator): Likewise. - (condexec_sf_conv_operator, condexec_sf_add_operator): Likewise. - (intop_compare_operator, acc_operand, even_acc_operand): Likewise. - (quad_acc_operand, accg_operand): Likewise. - -2021-07-02 Jeff Law - - * config/stormy16/stormy16-protos.h (xstormy16_below_100_symbol): Change - return type to a bool. - (nonimmediate_nonstack_operand): Likewise. - (xstormy16_splittable_below100_operand): Likewise. - * config/stormy16/stormy16.c (xstormy16_below_100_symbol): Fix - return type. - (xstormy16_splittable_below100_operand): Likewise. - -2021-07-02 Richard Biener - - PR tree-optimization/101293 - * tree-ssa-loop-im.c (mem_ref_hasher::equal): Compare MEM_REF bases - with combined offsets. - (gather_mem_refs_stmt): Hash MEM_REFs as if their offset were - combined with the rest of the offset. - -2021-07-02 Eric Botcazou - - * config/i386/i386.c (asm_preferred_eh_data_format): Always use the - PIC encodings for PE-COFF targets. - -2021-07-02 Jakub Jelinek - - PR target/101286 - * config/i386/i386-expand.c (ix86_broadcast_from_integer_constant): - Return nullptr for TImode inner mode. - -2021-07-02 Richard Biener - - PR tree-optimization/101280 - PR tree-optimization/101173 - * gimple-loop-interchange.cc - (tree_loop_interchange::valid_data_dependences): Properly - guard all dependence checks with DDR_REVERSED_P or its - inverse. - -2021-07-02 Hongyu Wang - - * config/i386/i386-expand.c (ix86_expand_builtin): - Add branch to clear odata when ZF is set for asedecenc_expand - and wideaesdecenc_expand. - -2021-07-02 Eugene Rozenfeld - - * config/i386/gcc-auto-profile: regenerate - -2021-07-02 liuhongt - - * config/i386/sse.md (trunc2): Refined to .. - (trunc2): this. - -2021-07-01 David Malcolm - - * diagnostic.h (diagnostic_context::m_file_cache): New field. - * input.c (class fcache): Rename to... - (class file_cache_slot): ...this, making most members private and - prefixing fields with "m_". - (file_cache_slot::get_file_path): New accessor. - (file_cache_slot::get_use_count): New accessor. - (file_cache_slot::missing_trailing_newline_p): New accessor. - (file_cache_slot::inc_use_count): New. - (fcache_buffer_size): Move to... - (file_cache_slot::buffer_size): ...here. - (fcache_line_record_size): Move to... - (file_cache_slot::line_record_size): ...here. - (fcache_tab): Delete, in favor of global_dc->m_file_cache. - (fcache_tab_size): Move to file_cache::num_file_slots. - (diagnostic_file_cache_init): Update for move of fcache_tab - to global_dc->m_file_cache. - (diagnostic_file_cache_fini): Likewise. - (lookup_file_in_cache_tab): Convert to... - (file_cache::lookup_file): ...this. - (diagnostics_file_cache_forcibly_evict_file): Update for move of - fcache_tab to global_dc->m_file_cache, moving most of - implementation to... - (file_cache::forcibly_evict_file): ...this new function and... - (file_cache_slot::evict): ...this new function. - (evicted_cache_tab_entry): Convert to... - (file_cache::evicted_cache_tab_entry): ...this. - (add_file_to_cache_tab): Convert to... - (file_cache::add_file): ...this, moving bulk of implementation - to... - (file_cache_slot::create): ..this new function. - (file_cache::file_cache): New. - (file_cache::~file_cache): New. - (lookup_or_add_file_to_cache_tab): Convert to... - (file_cache::lookup_or_add_file): ..this new function. - (fcache::fcache): Rename to... - (file_cache_slot::file_cache_slot): ...this, adding "m_" prefixes - to fields. - (fcache::~fcache): Rename to... - (file_cache_slot::~file_cache_slot): ...this, adding "m_" prefixes - to fields. - (needs_read): Convert to... - (file_cache_slot::needs_read_p): ...this. - (needs_grow): Convert to... - (file_cache_slot::needs_grow_p): ...this. - (maybe_grow): Convert to... - (file_cache_slot::maybe_grow): ...this. - (read_data): Convert to... - (file_cache_slot::read_data): ...this. - (maybe_read_data): Convert to... - (file_cache_slot::maybe_read_data): ...this. - (get_next_line): Convert to... - (file_cache_slot::get_next_line): ...this. - (goto_next_line): Convert to... - (file_cache_slot::goto_next_line): ...this. - (read_line_num): Convert to... - (file_cache_slot::read_line_num): ...this. - (location_get_source_line): Update for moving of globals to - global_dc->m_file_cache. - (location_missing_trailing_newline): Likewise. - * input.h (class file_cache_slot): New forward decl. - (class file_cache): New. - -2021-07-01 Michael Meissner - - * config/rs6000/rs6000.c (rs6000_maybe_emit_fp_cmove): Add IEEE - 128-bit floating point conditional move support. - (have_compare_and_set_mask): Add IEEE 128-bit floating point - types. - * config/rs6000/rs6000.md (movcc, IEEE128 iterator): New insn. - (movcc_p10, IEEE128 iterator): New insn. - (movcc_invert_p10, IEEE128 iterator): New insn. - (fpmask, IEEE128 iterator): New insn. - (xxsel, IEEE128 iterator): New insn. - -2021-07-01 Iain Sandoe - - PR debug/101283 - * config/darwin.h (CTF_INFO_SECTION_NAME): New. - -2021-07-01 H.J. Lu - - * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate): - Make it global. - * config/i386/i386-protos.h (ix86_expand_vector_init_duplicate): - New prototype. - * config/i386/sse.md (INT_BROADCAST_MODE): New mode iterator. - (vec_duplicate): New expander. - -2021-07-01 H.J. Lu - - PR target/100865 - * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate): - New prototype. - (ix86_byte_broadcast): New function. - (ix86_convert_const_wide_int_to_broadcast): Likewise. - (ix86_expand_move): Convert CONST_WIDE_INT to broadcast if mode - size is 16 bytes or bigger. - (ix86_broadcast_from_integer_constant): New function. - (ix86_expand_vector_move): Convert CONST_WIDE_INT and CONST_VECTOR - to broadcast if mode size is 16 bytes or bigger. - * config/i386/i386-protos.h (ix86_gen_scratch_sse_rtx): New - prototype. - * config/i386/i386.c (ix86_gen_scratch_sse_rtx): New function. - -2021-07-01 Uroš Bizjak - - * config/i386/predicates.md (ix86_endbr_immediate_operand): - Return true/false instead of 1/0. - (movq_parallel): Ditto. - -2021-07-01 Uroš Bizjak - - * recog.c (general_operand): Return true/false instead of 1/0. - (register_operand): Ditto. - (immediate_operand): Ditto. - (const_int_operand): Ditto. - (const_scalar_int_operand): Ditto. - (const_double_operand): Ditto. - (push_operand): Ditto. - (pop_operand): Ditto. - (memory_operand): Ditto. - (indirect_operand): Ditto. - -2021-07-01 Uroš Bizjak - - * genpreds.c (write_predicate_subfunction): - Change the type of written subfunction to bool. - (write_one_predicate_function): - Change the type of written function to bool. - (write_tm_preds_h): Ditto. - * recog.h (*insn_operand_predicate_fn): Change the type to bool. - * recog.c (general_operand): Change the type to bool. - (address_operand): Ditto. - (register_operand): Ditto. - (pmode_register_operand): Ditto. - (scratch_operand): Ditto. - (immediate_operand): Ditto. - (const_int_operand): Ditto. - (const_scalar_int_operand): Ditto. - (const_double_operand): Ditto. - (nonimmediate_operand): Ditto. - (nonmemory_operand): Ditto. - (push_operand): Ditto. - (pop_operand): Ditto. - (memory_operand): Ditto. - (indirect_operand): Ditto. - (ordered_comparison_operator): Ditto. - (comparison_operator): Ditto. - * config/i386/i386-expand.c (ix86_expand_sse_cmp): - Change the type of indirect predicate function to bool. - * config/rs6000/rs6000.c (easy_vector_constant): - Change the type to bool. - * config/mips/mips-protos.h (m16_based_address_p): - Change the type of operand 3 to bool. - -2021-07-01 Richard Biener - - PR tree-optimization/101280 - PR tree-optimization/101173 - * gimple-loop-interchange.cc - (tree_loop_interchange::valid_data_dependences): Revert - previous change and instead correctly handle DDR_REVERSED_P - dependence. - -2021-07-01 Richard Biener - - PR tree-optimization/101278 - * tree-ssa-dse.c (dse_classify_store): First check for - uses, then ignore stmt for chaining purposes. - -2021-07-01 Richard Biener - - PR tree-optimization/100778 - * tree-vect-slp.c (vect_schedule_slp_node): Do not place trapping - vectorized ops ahead of their scalar BB. - -2021-07-01 Uroš Bizjak - - PR target/101044 - * config/i386/i386.md (*nabs2_doubleword): - New insn_and_split pattern. - (*nabs2_1): Ditto. - * config/i386/i386-features.c - (general_scalar_chain::compute_convert_gain): - Handle (NEG (ABS (...))) RTX. Rewrite src code - scanner as switch statement. - (general_scalar_chain::convert_insn): - Handle (NEG (ABS (...))) RTX. - (general_scalar_to_vector_candidate_p): - Detect (NEG (ABS (...))) RTX. Reorder case statements - for (AND (NOT (...) ...)) fallthrough. - -2021-07-01 Richard Biener - - PR tree-optimization/101178 - * tree-vect-slp.c (slpg_vertex::materialize): Remove. - (slpg::perm_in): Add. - (slpg::get_perm_in): Remove. - (slpg::get_perm_materialized): Add. - (vect_optimize_slp): Handle VEC_PERM nodes more optimally - during permute propagation and materialization. - -2021-07-01 Jakub Jelinek - - PR debug/101266 - * dwarf2out.c (loc_list_from_tree_1): Handle COMPOUND_LITERAL_EXPR. - -2021-07-01 Jakub Jelinek - - PR middle-end/94366 - * omp-low.c (lower_rec_input_clauses): Rename is_fp_and_or to - is_truth_op, set it for TRUTH_*IF_EXPR regardless of new_var's type, - use boolean_type_node instead of integer_type_node as NE_EXPR type. - (lower_reduction_clauses): Likewise. - -2021-06-30 Hafiz Abid Qadeer - - * config/gcn/gcn.c: Include dwarf2.h. - (gcn_addr_space_debug): New function. - (TARGET_ADDR_SPACE_DEBUG): New hook. - -2021-06-30 Hafiz Abid Qadeer - - * common/config/gcn/gcn-common.c - (gcn_option_optimization_table): Change OPT_fomit_frame_pointer to -O3. - * config/gcn/gcn.c (gcn_expand_prologue): Prefer the frame pointer - when emitting CFI. - (gcn_expand_prologue): Prefer the frame pointer when emitting CFI. - (gcn_frame_pointer_rqd): New function. - (TARGET_FRAME_POINTER_REQUIRED): New hook. - -2021-06-30 Hafiz Abid Qadeer - - * config/gcn/gcn.c (move_callee_saved_registers): Emit CFI notes for - prologue register saves. - (gcn_debug_unwind_info): Use UI_DWARF2. - (gcn_dwarf_register_number): Map DWARF_LINK_REGISTER to DWARF PC. - (gcn_dwarf_register_span): DWARF_LINK_REGISTER doesn't span. - * config/gcn/gcn.h: (DWARF_FRAME_RETURN_COLUMN): New define. - (DWARF_LINK_REGISTER): New define. - (FIRST_PSEUDO_REGISTER): Increment. - (FIXED_REGISTERS): Add entry for DWARF_LINK_REGISTER. - (CALL_USED_REGISTERS): Likewise. - (REGISTER_NAMES): Likewise. - -2021-06-30 Richard Biener - - PR tree-optimization/101267 - * tree-vect-stmts.c (vect_check_scalar_mask): Adjust - API and use SLP compatible interface of vect_is_simple_use. - Reject not vectorized SLP defs for callers that do not support - that. - (vect_check_store_rhs): Handle masked stores and pass down - the appropriate operator index. - (vectorizable_call): Adjust. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. Handle SLP pecularity of - masked loads. - (vect_is_simple_use): Remove special-casing of masked stores. - -2021-06-30 Tobias Burnus - - * common.opt (foffload): Remove help as Driver only. - * gcc.c (display_help): Add -foffload. - -2021-06-30 Tobias Burnus - - * gcc.c (close_at_file, execute): Replace alloca by XALLOCAVEC. - (check_offload_target_name): Fix splitting OFFLOAD_TARGETS into - a candidate list; better inform no offload target is configured - and fix hint extraction when passed target is not '\0' at [len]. - * common.opt (foffload): Add tailing '.'. - (foffload-options): Likewise; fix flag name in the help string. - -2021-06-30 prathamesh.kulkarni - - PR target/66791 - * config/arm/arm_neon.h: Move vabs intrinsics before vcage_f32. - (vcage_f32): Gate comparison on __FAST_MATH__. - (vcageq_f32): Likewise. - (vcale_f32): Likewise. - (vcaleq_f32): Likewise. - (vcagt_f32): Likewise. - (vcagtq_f32): Likewise. - (vcalt_f32): Likewise. - (vcaltq_f32): Likewise. - (vcage_f16): Likewise. - (vcageq_f16): Likewise. - (vcale_f16): Likewise. - (vcaleq_f16): Likewise. - (vcagt_f16): Likewise. - (vcagtq_f16): Likewise. - (vcalt_f16): Likewise. - (vcaltq_f16): Likewise. - -2021-06-30 Richard Biener - - PR tree-optimization/101264 - * tree-vect-slp.c (vect_optimize_slp): Propagate the - computed perm_in to all "any" permute successors - we cannot de-duplicate immediately. - -2021-06-30 liuhongt - - PR target/101248 - * config/i386/sse.md - (avx512f_sfixupimm): - Refined to .. - (avx512f_sfixupimm): - this. - (avx512f_sfixupimm_mask"): Refined. - * config/i386/subst.md (maskz_scalar): New define_subst. - (maskz_scalar_name): New subst_attr. - (maskz_scalar_op5): Ditto. - (round_saeonly_maskz_scalar_op5): Ditto. - (round_saeonly_maskz_scalar_operand5): Ditto. - -2021-06-30 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): - Increase code CSECT alignment to at least 32 bytes. - * config/rs6000/xcoff.h (TEXT_SECTION_ASM_OP): Add 32 byte - alignment designation. - -2021-06-29 Sergei Trofimovich - - * doc/generic.texi: Fix s/net yet/not yet/ typo. - -2021-06-29 Andrew MacLeod - - PR tree-optimization/101254 - * range-op.cc (operator_minus::op1_op2_relation_effect): Check for - wrapping/non-wrapping when setting the result range. - -2021-06-29 Andrew MacLeod - - * value-query.cc (gimple_range_global): Allow phis. - -2021-06-29 Andrew MacLeod - - * vr-values.c (vr_values::vrp_stmt_computes_nonzero): Use stmt. - (simplify_using_ranges::op_with_boolean_value_range_p): Add a - statement for location context. - (check_for_binary_op_overflow): Ditto. - (simplify_using_ranges::get_vr_for_comparison): Ditto. - (simplify_using_ranges::compare_name_with_value): Ditto. - (simplify_using_ranges::compare_names): Ditto. - (vrp_evaluate_conditional_warnv_with_ops_using_ranges): Ditto. - (simplify_using_ranges::simplify_truth_ops_using_ranges): Ditto. - (simplify_using_ranges::simplify_min_or_max_using_ranges): Ditto. - (simplify_using_ranges::simplify_internal_call_using_ranges): Ditto. - (simplify_using_ranges::two_valued_val_range_p): Ditto. - (simplify_using_ranges::simplify): Ditto. - * vr-values.h: Adjust prototypes. - -2021-06-29 Uroš Bizjak - - PR target/95046 - * config/i386/mmx.md (vec_addsubv2sf3): New insn pattern. - -2021-06-29 Julian Brown - - * config/gcn/gcn.c (gcn_init_libfuncs): New function. - (TARGET_INIT_LIBFUNCS): Define target hook using above function. - * config/gcn/gcn.h (UNITS_PER_WORD): Define to 8 for IN_LIBGCC2, 4 - otherwise. - (LIBGCC2_UNITS_PER_WORD, BITS_PER_WORD): Remove definitions. - (MAX_FIXED_MODE_SIZE): Change to 128. - -2021-06-29 Julian Brown - - * config/gcn/gcn.md (UNSPEC_FLBIT_INT): New unspec constant. - (s_mnemonic): Add clrsb. - (gcn_flbit_int): Add insn pattern for SImode/DImode. - (clrsb2): Add expander for SImode/DImode. - -2021-06-29 Julian Brown - - * config/gcn/gcn.md (mulsidi3, mulsidi3_reg, mulsidi3_imm, - muldi3): Add patterns. - -2021-06-29 Julian Brown - - * config/gcn/gcn.md (mulsi3_highpart): Change to expander. - (mulsi3_highpart_reg, mulsi3_highpart_imm): New patterns. - -2021-06-29 Julian Brown - - * config/gcn/gcn.md (mulsi3): Make s_mulk_i32 variant clobber SCC. - -2021-06-29 Joseph Myers - - * btfout.c, ctfout.c: Include "memmodel.h". - -2021-06-29 Tobias Burnus - - * gcc.c (check_offload_target_name): Cast len argument to - %q.*s to 'int'; avoid -Wstringop-truncation warning. - -2021-06-29 Richard Biener - - * tree-vect-slp.c (vect_optimize_slp): Forward propagate - to "any" permute nodes and relax "any" permute proapgation - during iterative backward propagation. - -2021-06-29 Tobias Burnus - - PR other/67300 - * common.opt (-foffload=): Update description. - (-foffload-options=): New. - * doc/invoke.texi (C Language Options): Document - -foffload and -foffload-options. - * gcc.c (check_offload_target_name): New, split off from - handle_foffload_option. - (check_foffload_target_names): New. - (handle_foffload_option): Handle -foffload=default. - (driver_handle_option): Update for -foffload-options. - * lto-opts.c (lto_write_options): Use -foffload-options - instead of -foffload. - * lto-wrapper.c (merge_and_complain, append_offload_options): - Likewise. - * opts.c (common_handle_option): Likewise. - -2021-06-29 Tobias Burnus - - * doc/invoke.texi (C Language Options): Sort options - alphabetically in optlist and also the description itself. - Remove leftover -fallow-single-precision from and add missing - -fgnu-tm to the optlist. - -2021-06-29 Richard Biener - - * tree-vect-slp.c (slpg_vertex::visited): Remove. - (vect_slp_perms_eq): Handle -1 permutes. - (vect_optimize_slp): Rewrite permute propagation. - -2021-06-29 Jakub Jelinek - - PR c++/101210 - * match.pd ((intptr_t)x eq/ne CST to x eq/ne (typeof x) CST): Don't - perform the optimization in GENERIC when sanitizing and x has a - reference type. - -2021-06-29 Richard Biener - - PR tree-optimization/101242 - * tree-vect-slp.c (vect_slp_build_vertices): Force-add - PHIs with not represented initial values as leafs. - -2021-06-29 Jan-Benedict Glaw - - * config/pdp11/pdp11.h (ASM_OUTPUT_SKIP): Fix signedness warning. - * config/pdp11/pdp11.c (pdp11_asm_print_operand_punct_valid_p): Remove - "register" keyword. - (pdp11_initial_elimination_offset) Remove unused variable. - (pdp11_cmp_length) Ditto. - (pdp11_insn_cost): Ditto, and fix signedness warning. - -2021-06-29 David Edelsohn - - * btfout.c: Include tm_p.h. - * ctfout.c: Same. - -2021-06-28 Indu Bhagat - - * config/bpf/bpf.c (bpf_expand_prologue): Do not mark insns as - frame related. - (bpf_expand_epilogue): Likewise. - * config/bpf/bpf.h (DWARF2_FRAME_INFO): Define to 0. - Do not define DBX_DEBUGGING_INFO. - -2021-06-28 Indu Bhagat - - * doc/invoke.texi: Document the CTF and BTF debug info options. - -2021-06-28 Indu Bhagat - David Faust - Jose E. Marchesi - Weimin Pan - - * Makefile.in: Add ctfc.*, ctfout.c and btfout.c files to - GTFILES. Add new object files. - * common.opt: Add CTF and BTF debug info options. - * btfout.c: New file. - * ctfc.c: Likewise. - * ctfc.h: Likewise. - * ctfout.c: Likewise. - * dwarf2ctf.c: Likewise. - * dwarf2ctf.h: Likewise. - * dwarf2cfi.c (dwarf2out_do_frame): Acknowledge CTF_DEBUG and - BTF_DEBUG. - * dwarf2out.c (dwarf2out_source_line): Likewise. - (dwarf2out_finish): Skip emitting DWARF if CTF or BTF are to - be generated. - (debug_format_do_cu): New function. - (dwarf2out_early_finish): Traverse DIEs and emit CTF/BTF for - them if requested. - Include dwarf2ctf.c. - * final.c (dwarf2_debug_info_emitted_p): Acknowledge DWARF-based debug - formats. - * flag-types.h (enum debug_info_type): Add CTF_DEBUG and BTF_DEBUG. - (CTF_DEBUG): New bitmask. - (BTF_DEBUG): Likewise. - (enum ctf_debug_info_levels): New enum. - * gengtype.c (open_base_files): Handle ctfc.h. - (main): Handle uint32_t type. - * flags.h (btf_debuginfo_p): New definition. - (dwarf_based_debuginfo_p): Likewise. - * opts.c (debug_type_names): Add entries for CTF and BTF. - (btf_debuginfo_p): New function. - (dwarf_based_debuginfo_p): Likewise. - (common_handle_option): Handle -gctfN and -gbtf options. - (set_debug_level): Set CTF_DEBUG, BTF_DEBUG whenever appropriate. - * toplev.c (process_options): Inform the user and ignore -gctfLEVEL if - frontend is not C. - -2021-06-28 Jose E. Marchesi - - * dwarf2out.c (AT_class): Function is no longer static. - (AT_int): Likewise. - (AT_unsigned): Likewise. - (AT_loc): Likewise. - (get_AT): Likewise. - (get_AT_string): Likewise. - (get_AT_flag): Likewise. - (get_AT_unsigned): Likewise. - (get_AT_ref): Likewise. - (new_die_raw): Likewise. - (lookup_decl_die): Likewise. - (base_type_die): Likewise. - (add_name_attribute): Likewise. - (add_AT_int): Likewise. - (add_AT_unsigned): Likewise. - (add_AT_loc): Likewise. - (dw_get_die_tag): New function. - (dw_get_die_child): Likewise. - (dw_get_die_sib): Likewise. - (struct dwarf_file_data): Move from here to dwarf2out.h - (struct dw_attr_struct): Likewise. - * dwarf2out.h: Analogous changes. - -2021-06-28 Martin Jambor - - PR ipa/93385 - * ipa-param-manipulation.h (class ipa_param_body_adjustments): New - members m_dead_stmts and m_dead_ssas. - * ipa-param-manipulation.c - (ipa_param_body_adjustments::mark_dead_statements): New function. - (ipa_param_body_adjustments::common_initialization): Call it on - all removed but not split parameters. - (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize - new mwmbers. - (ipa_param_body_adjustments::modify_call_stmt): Remove arguments that - are dead. - * tree-inline.c (remap_gimple_stmt): Do not copy dead statements, reset - dead debug statements. - (copy_phis_for_bb): Do not copy dead PHI nodes. - -2021-06-28 Martin Jambor - - PR ipa/93385 - * symtab-clones.h (clone_info): Removed member param_adjustments. - * ipa-param-manipulation.h: Adjust initial comment to reflect how we - deal with pass-through splits now. - (ipa_param_performed_split): Removed. - (ipa_param_adjustments::modify_call): Adjusted parameters. - (class ipa_param_body_adjustments): Adjusted parameters of - register_replacement, modify_gimple_stmt and modify_call_stmt. - (ipa_verify_edge_has_no_modifications): Declare. - (ipa_edge_modifications_finalize): Declare. - * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Remove - performed_splits processing, pas only edge to padjs->modify_call, - check that call arguments were not modified if they should not have - been. - * cgraphclones.c (cgraph_node::create_clone): Do not copy performed - splits. - * ipa-param-manipulation.c (struct pass_through_split_map): New type. - (ipa_edge_modification_info): Likewise. - (ipa_edge_modification_sum): Likewise. - (ipa_edge_modifications): New edge summary. - (ipa_verify_edge_has_no_modifications): New function. - (transitive_split_p): Removed. - (transitive_split_map): Likewise. - (init_transitive_splits): Likewise. - (ipa_param_adjustments::modify_call): Adjusted to use the new edge - summary instead of performed_splits. - (ipa_param_body_adjustments::register_replacement): Drop dummy - parameter, set base_index of the created ipa_param_body_replacement. - (phi_arg_will_live_p): New function. - (ipa_param_body_adjustments::common_initialization): Do not create - IPA_SRA dummy decls. - (simple_tree_swap_info): Removed. - (remap_split_decl_to_dummy): Likewise. - (record_argument_state_1): New function. - (record_argument_state): Likewise. - (ipa_param_body_adjustments::modify_call_stmt): New parameter - orig_stmt. Do not work with dummy decls, save necessary info about - changes to ipa_edge_modifications. - (ipa_param_body_adjustments::modify_gimple_stmt): New parameter - orig_stmt, pass it to modify_call_stmt. - (ipa_param_body_adjustments::modify_cfun_body): Adjust call to - modify_gimple_stmt. - (ipa_edge_modifications_finalize): New function. - * tree-inline.c (remap_gimple_stmt): Pass original statement to - modify_gimple_stmt. - (copy_phis_for_bb): Do not copy dead PHI nodes. - (expand_call_inline): Do not remap performed_splits. - (update_clone_info): Likewise. - * toplev.c: Include ipa-param-manipulation.h. - (toplev::finalize): Call ipa_edge_modifications_finalize. - -2021-06-28 Andrew Pinski - - * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Duplicate range - info if we're the only things setting the target PHI. - (value_replacement): Don't duplicate range here. - (minmax_replacement): Likewise. - -2021-06-28 Richard Biener - - PR tree-optimization/101229 - * gimple-walk.c (gimple_walk_op): Handle PHIs. - -2021-06-28 Martin Liska - - * config/v850/v850.c (construct_dispose_instruction): Allocate - a bigger buffer. - (construct_prepare_instruction): Likewise. - -2021-06-28 Martin Liska - - * config/v850/v850.c (v850_option_override): Build default - target node. - (v850_can_inline_p): New. Allow MASK_PROLOG_FUNCTION to be - ignored for inlining. - (TARGET_CAN_INLINE_P): New. - -2021-06-28 Richard Biener - - PR tree-optimization/101207 - * tree-vect-slp.c (vect_optimize_slp): Do BB reduction - permute eliding for load permutations properly. - -2021-06-28 Richard Biener - - PR tree-optimization/101173 - * gimple-loop-interchange.cc - (tree_loop_interchange::valid_data_dependences): Disallow outer - loop dependence distance of zero. - -2021-06-28 liuhongt - - PR target/100648 - * config/i386/sse.md (*avx_cmp3_lt): New - define_insn_and_split. - (*avx_cmp3_ltint): Ditto. - (*avx2_pcmp3_3): Ditto. - (*avx2_pcmp3_4): Ditto. - (*avx2_pcmp3_5): Ditto. - -2021-06-28 liuhongt - - * config/i386/i386-builtin.def (IX86_BUILTIN_BLENDVPD256, - IX86_BUILTIN_BLENDVPS256, IX86_BUILTIN_PBLENDVB256, - IX86_BUILTIN_BLENDVPD, IX86_BUILTIN_BLENDVPS, - IX86_BUILTIN_PBLENDVB128): Replace icode with - CODE_FOR_nothing. - * config/i386/i386.c (ix86_gimple_fold_builtin): Fold blendv - builtins. - * config/i386/sse.md (*_pblendvb_lt_subreg_not): - New pre_reload splitter. - -2021-06-27 Andrew Pinski - - PR middle-end/101230 - * fold-const.c (fold_ternary_loc): Check - the return value of invert_tree_comparison. - -2021-06-27 David Edelsohn - - * config.gcc: Add SPDX License Identifier. - (powerpc-ibm-aix789): Default to aix73.h. - (powerpc-ibm-aix7.2.*.*): New stanza. - * config/rs6000/aix72.h: Add SPDX License Identifier. - * config/rs6000/aix73.h: New file. - -2021-06-26 Jason Merrill - - * except.c: #include "dwarf2.h" instead of "dwarf2out.h". - -2021-06-26 Andrew Pinski - - * genmatch.c (lower_cond): Copy for_subst_vec - for the simplify also. - (lower): Swap the order for lower_for and lower_cond. - -2021-06-26 Andrew Pinski - - * tree-ssa-phiopt.c (match_simplify_replacement): Reset - flow senatitive info on the moved ssa set. - -2021-06-26 Andrew Pinski - - * fold-const.c (fold_cond_expr_with_comparison): - Exand arg0 into comp_code, arg00, and arg01. - (fold_ternary_loc): Use invert_tree_comparison - instead of fold_invert_truthvalue for the case - where we have A CMP B ? C : A. - -2021-06-25 Martin Sebor - - PR middle-end/101216 - * calls.c (maybe_warn_rdwr_sizes): Use the no_warning constant. - -2021-06-25 Jeff Law - - * config/h8300/h8300.c (select_cc_mode): Handle ASHIFTRT and LSHIFTRT. - -2021-06-25 Richard Biener - - PR tree-optimization/101202 - * tree-vect-slp.c (vect_optimize_slp): Explicitely handle - failed nodes. - -2021-06-25 Richard Biener - - * tree-vect-slp-patterns.c (addsub_pattern::build): Copy - STMT_VINFO_REDUC_DEF from the original representative. - -2021-06-25 Martin Sebor - - * builtins.c (warn_string_no_nul): Replace uses of TREE_NO_WARNING, - gimple_no_warning_p and gimple_set_no_warning with - warning_suppressed_p, and suppress_warning. - (c_strlen): Same. - (maybe_warn_for_bound): Same. - (warn_for_access): Same. - (check_access): Same. - (expand_builtin_strncmp): Same. - (fold_builtin_varargs): Same. - * calls.c (maybe_warn_nonstring_arg): Same. - (maybe_warn_rdwr_sizes): Same. - * cfgexpand.c (expand_call_stmt): Same. - * cgraphunit.c (check_global_declaration): Same. - * fold-const.c (fold_undefer_overflow_warnings): Same. - (fold_truth_not_expr): Same. - (fold_unary_loc): Same. - (fold_checksum_tree): Same. - * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): Same. - (array_bounds_checker::check_mem_ref): Same. - (array_bounds_checker::check_addr_expr): Same. - (array_bounds_checker::check_array_bounds): Same. - * gimple-expr.c (copy_var_decl): Same. - * gimple-fold.c (gimple_fold_builtin_strcpy): Same. - (gimple_fold_builtin_strncat): Same. - (gimple_fold_builtin_stxcpy_chk): Same. - (gimple_fold_builtin_stpcpy): Same. - (gimple_fold_builtin_sprintf): Same. - (fold_stmt_1): Same. - * gimple-ssa-isolate-paths.c (diag_returned_locals): Same. - * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Same. - * gimple-ssa-sprintf.c (handle_printf_call): Same. - * gimple-ssa-store-merging.c (imm_store_chain_info::output_merged_store): Same. - * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Same. - * gimple-ssa-warn-restrict.h: Adjust declarations. - (maybe_diag_access_bounds): Replace uses of TREE_NO_WARNING, - gimple_no_warning_p and gimple_set_no_warning with - warning_suppressed_p, and suppress_warning. - (check_call): Same. - (check_bounds_or_overlap): Same. - * gimple.c (gimple_build_call_from_tree): Same. - * gimplify.c (gimplify_return_expr): Same. - (gimplify_cond_expr): Same. - (gimplify_modify_expr_complex_part): Same. - (gimplify_modify_expr): Same. - (gimple_push_cleanup): Same. - (gimplify_expr): Same. - * omp-expand.c (expand_omp_for_generic): Same. - (expand_omp_taskloop_for_outer): Same. - * omp-low.c (lower_rec_input_clauses): Same. - (lower_lastprivate_clauses): Same. - (lower_send_clauses): Same. - (lower_omp_target): Same. - * tree-cfg.c (pass_warn_function_return::execute): Same. - * tree-complex.c (create_one_component_var): Same. - * tree-inline.c (remap_gimple_op_r): Same. - (copy_tree_body_r): Same. - (declare_return_variable): Same. - (expand_call_inline): Same. - * tree-nested.c (lookup_field_for_decl): Same. - * tree-sra.c (create_access_replacement): Same. - (generate_subtree_copies): Same. - * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Same. - * tree-ssa-forwprop.c (combine_cond_expr_cond): Same. - * tree-ssa-loop-ch.c (ch_base::copy_headers): Same. - * tree-ssa-loop-im.c (execute_sm): Same. - * tree-ssa-phiopt.c (cond_store_replacement): Same. - * tree-ssa-strlen.c (maybe_warn_overflow): Same. - (handle_builtin_strcpy): Same. - (maybe_diag_stxncpy_trunc): Same. - (handle_builtin_stxncpy_strncat): Same. - (handle_builtin_strcat): Same. - * tree-ssa-uninit.c (get_no_uninit_warning): Same. - (set_no_uninit_warning): Same. - (uninit_undefined_value_p): Same. - (warn_uninit): Same. - (maybe_warn_operand): Same. - * tree-vrp.c (compare_values_warnv): Same. - * vr-values.c (vr_values::extract_range_for_var_from_comparison_expr): Same. - (test_for_singularity): Same. - * gimple.h (warning_suppressed_p): New function. - (suppress_warning): Same. - (copy_no_warning): Same. - (gimple_set_block): Call gimple_set_location. - (gimple_set_location): Call copy_warning. - -2021-06-25 Martin Sebor - - * tree.h (warning_suppressed_at, copy_warning, - warning_suppressed_p, suppress_warning): New functions. - -2021-06-25 Martin Sebor - - * Makefile.in (OBJS-libcommon): Add diagnostic-spec.o. - * gengtype.c (open_base_files): Add diagnostic-spec.h. - * diagnostic-spec.c: New file. - * diagnostic-spec.h: New file. - * tree.h (no_warning, all_warnings, suppress_warning_at): New - declarations. - * warning-control.cc: New file. - -2021-06-25 liuhongt - - PR target/101185 - * config/i386/i386.c (x86_order_regs_for_local_alloc): - Revert r12-1669. - -2021-06-24 Andrew MacLeod - - PR tree-optimization/101189 - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Pass - LHS range of condition to postfold routine. - (fold_using_range::postfold_gcond_edges): Only process the TRUE or - FALSE edge if the LHS range supports it being taken. - * gimple-range-fold.h (postfold_gcond_edges): Add range parameter. - -2021-06-24 Andrew MacLeod - - * value-relation.cc (equiv_oracle::dump): Do not dump NULL blocks. - (relation_oracle::find_relation_block): Check correct bitmap. - (relation_oracle::dump): Do not dump NULL blocks. - -2021-06-24 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::propagate_cache): Call - range_on_edge instead of manually calculating. - -2021-06-24 Andrew MacLeod - - * range-op.cc: Fix comment. - -2021-06-24 Uroš Bizjak - - PR target/89021 - * config/i386/i386-expand.c (ix86_expand_sse_unpack): - Handle V8QI and V4HI modes. - * config/i386/mmx.md (sse4_1_v4qiv4hi2): - New insn pattern. - (sse4_1_v4qiv4hi2): Ditto. - (mmxpackmode): New mode attribute. - (vec_pack_trunc_): New expander. - (mmxunpackmode): New mode attribute. - (vec_unpacks_lo_): New expander. - (vec_unpacks_hi_): Ditto. - (vec_unpacku_lo_): Ditto. - (vec_unpacku_hi_): Ditto. - * config/i386/i386.md (extsuffix): Move from ... - * config/i386/sse.md: ... here. - -2021-06-24 Eric Botcazou - - * dwarf2out.c (dwarf2out_assembly_start): Emit .file 0 marker here.. - (dwarf2out_finish): ...instead of here. - -2021-06-24 Eric Botcazou - - * configure.ac (--gdwarf-5 option): Use objdump instead of readelf. - (working --gdwarf-4/--gdwarf-5 for all sources): Likewise. - (--gdwarf-4 not refusing generated .debug_line): Adjust for Windows. - * configure: Regenerate. - -2021-06-24 Richard Biener - - * config/i386/sse.md (vec_addsubv4df3, vec_addsubv2df3, - vec_addsubv8sf3, vec_addsubv4sf3): Merge into ... - (vec_addsub3): ... using a new addsub_cst mode attribute. - -2021-06-24 Richard Biener - - * config/i386/sse.md (avx_addsubv4df3): Rename to - vec_addsubv4df3. - (avx_addsubv8sf3): Rename to vec_addsubv8sf3. - (sse3_addsubv2df3): Rename to vec_addsubv2df3. - (sse3_addsubv4sf3): Rename to vec_addsubv4sf3. - * config/i386/i386-builtin.def: Adjust. - * internal-fn.def (VEC_ADDSUB): New internal optab fn. - * optabs.def (vec_addsub_optab): New optab. - * tree-vect-slp-patterns.c (class addsub_pattern): New. - (slp_patterns): Add addsub_pattern. - * tree-vect-slp.c (vect_optimize_slp): Disable propagation - across CFN_VEC_ADDSUB. - * tree-vectorizer.h (vect_pattern::vect_pattern): Make - m_ops optional. - * doc/md.texi (vec_addsub3): Document. - -2021-06-24 Jakub Jelinek - - PR middle-end/101170 - * df-scan.c (df_ref_record): For paradoxical big-endian SUBREGs - where regno + subreg_regno_offset wraps around use 0 as starting - regno. - -2021-06-24 Jakub Jelinek - - PR middle-end/101172 - * stor-layout.c (finish_bitfield_representative): If nextf has - error_mark_node type, set repr type to error_mark_node too. - -2021-06-24 Ilya Leoshkevich - - * config/s390/s390.c (s390_function_profiler): Ignore labelno - parameter. - * config/s390/s390.h (NO_PROFILE_COUNTERS): Define. - -2021-06-24 Richard Biener - - * tree-vect-slp.c (vect_optimize_slp): Do not propagate - across operations that have different semantics on different - lanes. - -2021-06-24 Jakub Jelinek - - * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): Document meaning for OpenMP. - * gimplify.c (gimplify_scan_omp_clauses): For OpenMP map clauses - with OMP_CLAUSE_MAP_IN_REDUCTION flag partially defer gimplification - of non-decl OMP_CLAUSE_DECL. For OMP_CLAUSE_IN_REDUCTION on - OMP_TARGET user outer_ctx instead of ctx for placeholders and - initializer/combiner gimplification. - * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE_MAP_IN_REDUCTION - on target constructs. - (lower_rec_input_clauses): Likewise. - (lower_omp_target): Likewise. - * omp-expand.c (expand_omp_target): Temporarily ignore nowait clause - on target if in_reduction is present. - -2021-06-24 Kewen Lin - - * tree-predcom.c (class pcom_worker): New class. - (release_chain): Renamed to... - (pcom_worker::release_chain): ...this. - (release_chains): Renamed to... - (pcom_worker::release_chains): ...this. - (aff_combination_dr_offset): Renamed to... - (pcom_worker::aff_combination_dr_offset): ...this. - (determine_offset): Renamed to... - (pcom_worker::determine_offset): ...this. - (class comp_ptrs): New class. - (split_data_refs_to_components): Renamed to... - (pcom_worker::split_data_refs_to_components): ...this, - and update with class comp_ptrs. - (suitable_component_p): Renamed to... - (pcom_worker::suitable_component_p): ...this. - (filter_suitable_components): Renamed to... - (pcom_worker::filter_suitable_components): ...this. - (valid_initializer_p): Renamed to... - (pcom_worker::valid_initializer_p): ...this. - (find_looparound_phi): Renamed to... - (pcom_worker::find_looparound_phi): ...this. - (add_looparound_copies): Renamed to... - (pcom_worker::add_looparound_copies): ...this. - (determine_roots_comp): Renamed to... - (pcom_worker::determine_roots_comp): ...this. - (determine_roots): Renamed to... - (pcom_worker::determine_roots): ...this. - (single_nonlooparound_use): Renamed to... - (pcom_worker::single_nonlooparound_use): ...this. - (remove_stmt): Renamed to... - (pcom_worker::remove_stmt): ...this. - (execute_pred_commoning_chain): Renamed to... - (pcom_worker::execute_pred_commoning_chain): ...this. - (execute_pred_commoning): Renamed to... - (pcom_worker::execute_pred_commoning): ...this. - (struct epcc_data): New member worker. - (execute_pred_commoning_cbck): Call execute_pred_commoning - with pcom_worker pointer. - (find_use_stmt): Renamed to... - (pcom_worker::find_use_stmt): ...this. - (find_associative_operation_root): Renamed to... - (pcom_worker::find_associative_operation_root): ...this. - (find_common_use_stmt): Renamed to... - (pcom_worker::find_common_use_stmt): ...this. - (combinable_refs_p): Renamed to... - (pcom_worker::combinable_refs_p): ...this. - (reassociate_to_the_same_stmt): Renamed to... - (pcom_worker::reassociate_to_the_same_stmt): ...this. - (stmt_combining_refs): Renamed to... - (pcom_worker::stmt_combining_refs): ...this. - (combine_chains): Renamed to... - (pcom_worker::combine_chains): ...this. - (try_combine_chains): Renamed to... - (pcom_worker::try_combine_chains): ...this. - (prepare_initializers_chain): Renamed to... - (pcom_worker::prepare_initializers_chain): ...this. - (prepare_initializers): Renamed to... - (pcom_worker::prepare_initializers): ...this. - (prepare_finalizers_chain): Renamed to... - (pcom_worker::prepare_finalizers_chain): ...this. - (prepare_finalizers): Renamed to... - (pcom_worker::prepare_finalizers): ...this. - (tree_predictive_commoning_loop): Renamed to... - (pcom_worker::tree_predictive_commoning_loop): ...this, adjust - some calls and remove some cleanup code. - (tree_predictive_commoning): Adjusted to use pcom_worker instance. - (static variable looparound_phis): Remove. - (static variable name_expansions): Remove. - -2021-06-24 Richard Biener - - * tree-vect-slp.c (slpg_vertex): New struct. - (vect_slp_build_vertices): Adjust. - (vect_optimize_slp): Likewise. Maintain an outgoing permute - and a materialized one. - -2021-06-24 Richard Biener - - PR tree-optimization/101105 - * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): - Only ignore steps when they are equal or scalar order is preserved. - -2021-06-24 liuhongt - - PR target/98434 - * config/i386/i386-expand.c (ix86_expand_vec_interleave): - Adjust comments for ix86_expand_vecop_qihi2. - (ix86_expand_vecmul_qihi): Renamed to .. - (ix86_expand_vecop_qihi2): Adjust function prototype to - support shift operation, add static to definition. - (ix86_expand_vec_shift_qihi_constant): Add static to definition. - (ix86_expand_vecop_qihi): Call ix86_expand_vecop_qihi2 and - ix86_expand_vec_shift_qihi_constant. - * config/i386/i386-protos.h (ix86_expand_vecmul_qihi): Deleted. - (ix86_expand_vec_shift_qihi_constant): Deleted. - * config/i386/sse.md (VI12_256_512_AVX512VL): New mode - iterator. - (mulv8qi3): Call ix86_expand_vecop_qihi directly, add - condition TARGET_64BIT. - (mul3): Ditto. - (3): Ditto. - (vlshr3): Extend to support avx512 vlshr. - (v3): New expander for - vashr/vlshr/vashl. - (vv8qi3): Ditto. - (vashrv8hi3): Renamed to .. - (vashr3): And extend to support V16QImode for avx512. - (vashrv16qi3): Deleted. - (vashrv2di3): Extend expander to support avx512 - instruction. - -2021-06-23 Dimitar Dimitrov - - * doc/lto.texi (Design Overview): Update that slim objects are - the default. - -2021-06-23 Aaron Sawdey - - * config/rs6000/rs6000-cpus.def: Take OPTION_MASK_PCREL_OPT out - of OTHER_POWER10_MASKS so it will not be enabled by default. - -2021-06-23 Richard Biener - Martin Jambor - - * tree-inline.c (setup_one_parameter): Set TREE_READONLY of the - param replacement unconditionally. Adjust comment. - -2021-06-23 Andrew MacLeod - - * Makefile.in (OBJS): Add gimple-range-fold.o - * gimple-range-fold.cc: New. - * gimple-range-fold.h: New. - * gimple-range-gori.cc (gimple_range_calc_op1): Move to here. - (gimple_range_calc_op2): Ditto. - * gimple-range-gori.h: Move prototypes to here. - * gimple-range.cc: Adjust include files. - (fur_source:fur_source): Relocate to gimple-range-fold.cc. - (fur_source::get_operand): Ditto. - (fur_source::get_phi_operand): Ditto. - (fur_source::query_relation): Ditto. - (fur_source::register_relation): Ditto. - (class fur_edge): Ditto. - (fur_edge::fur_edge): Ditto. - (fur_edge::get_operand): Ditto. - (fur_edge::get_phi_operand): Ditto. - (fur_stmt::fur_stmt): Ditto. - (fur_stmt::get_operand): Ditto. - (fur_stmt::get_phi_operand): Ditto. - (fur_stmt::query_relation): Ditto. - (class fur_depend): Relocate to gimple-range-fold.h. - (fur_depend::fur_depend): Relocate to gimple-range-fold.cc. - (fur_depend::register_relation): Ditto. - (fur_depend::register_relation): Ditto. - (class fur_list): Ditto. - (fur_list::fur_list): Ditto. - (fur_list::get_operand): Ditto. - (fur_list::get_phi_operand): Ditto. - (fold_range): Ditto. - (adjust_pointer_diff_expr): Ditto. - (gimple_range_adjustment): Ditto. - (gimple_range_base_of_assignment): Ditto. - (gimple_range_operand1): Ditto. - (gimple_range_operand2): Ditto. - (gimple_range_calc_op1): Relocate to gimple-range-gori.cc. - (gimple_range_calc_op2): Ditto. - (fold_using_range::fold_stmt): Relocate to gimple-range-fold.cc. - (fold_using_range::range_of_range_op): Ditto. - (fold_using_range::range_of_address): Ditto. - (fold_using_range::range_of_phi): Ditto. - (fold_using_range::range_of_call): Ditto. - (fold_using_range::range_of_builtin_ubsan_call): Ditto. - (fold_using_range::range_of_builtin_call): Ditto. - (fold_using_range::range_of_cond_expr): Ditto. - (fold_using_range::range_of_ssa_name_with_loop_info): Ditto. - (fold_using_range::relation_fold_and_or): Ditto. - (fold_using_range::postfold_gcond_edges): Ditto. - * gimple-range.h: Add gimple-range-fold.h to include files. Change - GIMPLE_RANGE_STMT_H to GIMPLE_RANGE_H. - (gimple_range_handler): Relocate to gimple-range-fold.h. - (gimple_range_ssa_p): Ditto. - (range_compatible_p): Ditto. - (class fur_source): Ditto. - (class fur_stmt): Ditto. - (class fold_using_range): Ditto. - (gimple_range_calc_op1): Relocate to gimple-range-gori.h - (gimple_range_calc_op2): Ditto. - -2021-06-23 Andrew MacLeod - - PR tree-optimization/101148 - PR tree-optimization/101014 - * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust. - (ranger_cache::~ranger_cache): Adjust. - (ranger_cache::block_range): Check if propagation disallowed. - (ranger_cache::propagate_cache): Disallow propagation if new value - can't be stored properly. - * gimple-range-cache.h (ranger_cache::m_propfail): New member. - -2021-06-23 Andrew MacLeod - - * gimple-range-cache.cc (class ssa_block_ranges): Adjust prototype. - (sbr_vector::set_bb_range): Return true. - (class sbr_sparse_bitmap): Adjust. - (sbr_sparse_bitmap::set_bb_range): Return value. - (block_range_cache::set_bb_range): Return value. - (ranger_cache::propagate_cache): Use return value to print msg. - * gimple-range-cache.h (class block_range_cache): Adjust. - -2021-06-23 Andrew MacLeod - - * gimple-range.cc (dump_bb): Use range_on_edge from the cache. - -2021-06-23 Jeff Law - - * config/h8300/logical.md (3): Use - so this pattern can be used for test/compare removal. Pass - current insn to compute_logical_op_length and output_logical_op. - * config/h8300/h8300.c (compute_logical_op_cc): Remove. - (h8300_and_costs): Add argument to compute_logical_op_length. - (output_logical_op): Add new argument. Use it to determine if the - condition codes are used and adjust the output accordingly. - (compute_logical_op_length): Add new argument and update length - computations when condition codes are used. - * config/h8300/h8300-protos.h (compute_logical_op_length): Update - prototype. - (output_logical_op): Likewise. - -2021-06-23 Uroš Bizjak - - PR target/89021 - * config/i386/i386-expand.c (expand_vec_perm_pshufb): - Handle 64bit modes for TARGET_XOP. Use indirect gen_* functions. - * config/i386/mmx.md (mmx_ppermv64): New insn pattern. - * config/i386/i386.md (unspec): Move UNSPEC_XOP_PERMUTE from ... - * config/i386/sse.md (unspec): ... here. - -2021-06-23 Martin Liska - - PR target/98636 - * optc-save-gen.awk: Put back arm_fp16_format to - checked_options. - -2021-06-23 Uroš Bizjak - - PR target/101175 - * config/i386/i386.md (bsr_rex64): Add zero-flag setting RTX. - (bsr): Ditto. - (*bsrhi): Remove. - (clz2): Update RTX pattern for additions. - -2021-06-23 Jakub Jelinek - - PR middle-end/101167 - * omp-low.c (lower_omp_regimplify_p): Regimplify also PARM_DECLs - and RESULT_DECLs that have DECL_HAS_VALUE_EXPR_P set. - -2021-06-22 Sergei Trofimovich - - * doc/rtl.texi: drop unbalanced parenthesis. - -2021-06-22 Richard Biener - - PR middle-end/101156 - * gimplify.c (gimplify_expr): Remove premature incorrect - optimization. - -2021-06-22 Jakub Jelinek - - PR tree-optimization/101159 - * tree-vect-patterns.c (vect_recog_popcount_pattern): Fix some - comment typos. - -2021-06-22 Jakub Jelinek - - PR middle-end/101160 - * function.c (assign_parms): For decl_result with TYPE_EMPTY_P type - clear crtl->return_rtx instead of keeping it referencing a pseudo. - -2021-06-22 Jakub Jelinek - Andrew Pinski - - PR tree-optimization/101162 - * fold-const.c (range_check_type): Handle OFFSET_TYPE like pointer - types. - -2021-06-22 Andrew MacLeod - - * range-op.cc (range_relational_tests): New. - (range_op_tests): Call range_relational_tests. - -2021-06-22 Andrew MacLeod - - * range-op.cc (operator_cast::lhs_op1_relation): New. - (operator_identity::lhs_op1_relation): Mew. - -2021-06-22 Andrew MacLeod - - * range-op.cc (operator_minus::op1_op2_relation_effect): New. - -2021-06-22 Andrew MacLeod - - * range-op.cc (operator_plus::lhs_op1_relation): New. - (operator_plus::lhs_op2_relation): New. - -2021-06-22 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Create a - relation_oracle if dominators exist. - (ranger_cache::~ranger_cache): Dispose of oracle. - (ranger_cache::dump_bb): Dump oracle. - * gimple-range.cc (fur_source::fur_source): New. - (fur_source::get_operand): Use mmeber query. - (fur_source::get_phi_operand): Use member_query. - (fur_source::query_relation): New. - (fur_source::register_dependency): Delete. - (fur_source::register_relation): New. - (fur_edge::fur_edge): Adjust. - (fur_edge::get_phi_operand): Fix comment. - (fur_edge::query): Delete. - (fur_stmt::fur_stmt): Adjust. - (fur_stmt::query): Delete. - (fur_depend::fur_depend): Adjust. - (fur_depend::register_relation): New. - (fur_depend::register_relation): New. - (fur_list::fur_list): Adjust. - (fur_list::get_operand): Use member query. - (fold_using_range::range_of_range_op): Process and query relations. - (fold_using_range::range_of_address): Adjust dependency call. - (fold_using_range::range_of_phi): Ditto. - (gimple_ranger::gimple_ranger): New. Use ranger_ache oracle. - (fold_using_range::relation_fold_and_or): New. - (fold_using_range::postfold_gcond_edges): New. - * gimple-range.h (class gimple_ranger): Adjust. - (class fur_source): Adjust members. - (class fur_stmt): Ditto. - (class fold_using_range): Ditto. - -2021-06-22 Andrew MacLeod - - * range-op.cc (range_operator::wi_fold): Apply relation effect. - (range_operator::fold_range): Adjust and apply relation effect. - (*::fold_range): Add relation parameters. - (*::op1_range): Ditto. - (*::op2_range): Ditto. - (range_operator::lhs_op1_relation): New. - (range_operator::lhs_op2_relation): New. - (range_operator::op1_op2_relation): New. - (range_operator::op1_op2_relation_effect): New. - (relop_early_resolve): New. - (operator_equal::op1_op2_relation): New. - (operator_equal::fold_range): Call relop_early_resolve. - (operator_not_equal::op1_op2_relation): New. - (operator_not_equal::fold_range): Call relop_early_resolve. - (operator_lt::op1_op2_relation): New. - (operator_lt::fold_range): Call relop_early_resolve. - (operator_le::op1_op2_relation): New. - (operator_le::fold_range): Call relop_early_resolve. - (operator_gt::op1_op2_relation): New. - (operator_gt::fold_range): Call relop_early_resolve. - (operator_ge::op1_op2_relation): New. - (operator_ge::fold_range): Call relop_early_resolve. - * range-op.h (class range_operator): Adjust parameters and methods. - -2021-06-22 Andrew MacLeod - - * Makefile.in (OBJS): Add value-relation.o. - * gimple-range.h: Adjust include files. - * tree-data-ref.c: Adjust include file order. - * value-query.cc (range_query::get_value_range): Default to no oracle. - (range_query::query_relation): New. - (range_query::query_relation): New. - * value-query.h (class range_query): Adjust. - * value-relation.cc: New. - * value-relation.h: New. - -2021-06-22 Richard Biener - - PR tree-optimization/101151 - * tree-ssa-sink.c (statement_sink_location): Expand irreducible - region check. - -2021-06-22 Jojo R - - * config/riscv/riscv.c (thead_c906_tune_info): New. - (riscv_tune_info_table): Use new tune. - -2021-06-22 Richard Biener - - PR tree-optimization/101158 - * tree-vect-slp.c (vect_build_slp_tree_1): Move same operand - checking after checking for matching operation. - -2021-06-22 Richard Biener - - PR tree-optimization/101159 - * tree-vect-patterns.c (vect_recog_popcount_pattern): Add - missing NULL vectype check. - -2021-06-22 Richard Biener - - PR tree-optimization/101154 - * tree-vect-slp.c (vect_build_slp_tree_2): Fix out-of-bound access. - -2021-06-22 Jakub Jelinek - - PR target/11877 - * config/i386/i386-protos.h (ix86_last_zero_store_uid): Declare. - * config/i386/i386-expand.c (ix86_last_zero_store_uid): New variable. - * config/i386/i386.c (ix86_expand_prologue): Clear it. - * config/i386/i386.md (peephole2s for 1/2/4 stores of const0_rtx): - Remove "" from match_operand. Emit new insns using emit_move_insn and - set ix86_last_zero_store_uid to INSN_UID of the last store. - Add peephole2s for 1/2/4 stores of const0_rtx following previous - successful peep2s. - -2021-06-22 Martin Liska - - * auto-profile.c (AUTO_PROFILE_VERSION): Bump as string format - was changed. - -2021-06-22 Martin Liska - - * gcov-io.h: Remove padding entries. - -2021-06-22 liuhongt - - PR tree-optimization/97770 - * tree-vect-patterns.c (vect_recog_popcount_pattern): - New. - (vect_recog_func vect_vect_recog_func_ptrs): Add new pattern. - -2021-06-22 liuhongt - - PR target/100267 - * config/i386/i386-builtin.def (BDESC): Adjust builtin name. - * config/i386/sse.md (_expand_mask): Rename to .. - (expand_mask): this .. - (*expand_mask): New pre_reload splitter to transform - v{,p}expand* to vmov* when mask is zero, all ones, or has all - ones in it's lower part, otherwise still generate - v{,p}expand*. - -2021-06-22 liuhongt - - PR target/100310 - * config/i386/i386-expand.c - (ix86_expand_special_args_builtin): Keep constm1_operand only - if it satisfies insn's operand predicate. - -2021-06-21 Jason Merrill - - PR target/88529 - * df-scan.c (df_ref_record): Check that regno < endregno. - * function.c (assign_parms, expand_function_end): Do nothing with a - TYPE_EMPTY_P result. - -2021-06-21 Richard Biener - - PR tree-optimization/101120 - * tree-vect-data-refs.c (bump_vector_ptr): Fold the - built increment. - * tree-vect-slp.c (vect_transform_slp_perm_load): Add - DR chain DCE capability. - * tree-vectorizer.h (vect_transform_slp_perm_load): Adjust. - * tree-vect-stmts.c (vectorizable_load): Remove unused - loads in the DR chain for SLP. - -2021-06-21 Jakub Jelinek - - PR inline-asm/100785 - * gimplify.c (gimplify_asm_expr): Don't diagnose errors if - output or input operands were already error_mark_node. - * cfgexpand.c (expand_asm_stmt): If errors are emitted, - remove all inputs, outputs and clobbers from the asm and - set template to "". - -2021-06-21 prathamesh.kulkarni - - * config/arm/arm_neon.h (vceq_s8): Replace builtin with __a == __b. - (vceq_s16): Likewise. - (vceq_s32): Likewise. - (vceq_u8): Likewise. - (vceq_u16): Likewise. - (vceq_u32): Likewise. - (vceq_p8): Likewise. - (vceqq_s8): Likewise. - (vceqq_s16): Likewise. - (vceqq_s32): Likewise. - (vceqq_u8): Likewise. - (vceqq_u16): Likewise. - (vceqq_u32): Likewise. - (vceqq_p8): Likewise. - (vceq_f32): Gate __a == __b on __FAST_MATH__. - (vceqq_f32): Likewise. - (vceq_f16): Likewise. - (vceqq_f16): Likewise. - -2021-06-21 prathamesh.kulkarni - - PR target/97906 - * config/arm/iterators.md (NEON_VACMP): Remove. - * config/arm/neon.md (neon_vca): Use GLTE instead of GTGE - iterator. - (neon_vca_insn): Likewise. - (neon_vca_insn_unspec): Use NEON_VAGLTE instead of - NEON_VACMP. - -2021-06-21 Richard Biener - - PR tree-optimization/101121 - * tree-vect-slp.c (vect_build_slp_tree_2): To not fail fatally - when we just lack a stmt with the desired op when doing permutation. - (vect_build_slp_tree): When caching a failed SLP build attempt - assert that at least one lane is marked as not matching. - -2021-06-21 liuhongt - - PR target/101142 - * config/i386/i386.md: (*anddi_1): Disparage slightly the mask - register alternative. - (*and_1): Ditto. - (*andqi_1): Ditto. - (*andn_1): Ditto. - (*_1): Ditto. - (*qi_1): Ditto. - (*one_cmpl2_1): Ditto. - (*one_cmplsi2_1_zext): Ditto. - (*one_cmplqi2_1): Ditto. - * config/i386/i386.c (x86_order_regs_for_local_alloc): Change - the order of mask registers to be before general registers. - -2021-06-21 Roger Sayle - - PR target/11877 - * config/i386/i386.md: New define_peephole2s to shrink writing - 1, 2 or 4 consecutive zeros to memory when optimizing for size. - -2021-06-18 Jeff Law - - * config/h8300/h8300.c (h8300_select_cc_mode): Handle SYMBOL_REF. - * config/h8300/logical.md (3 logcial expander): Generate - more efficient code when the source can be trivially simplified. - -2021-06-18 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::range_of_def): Calculate - a range if global is not available. - (ranger_cache::entry_range): Fallback to range_of_def. - * gimple-range-cache.h (range_of_def): Adjust prototype. - -2021-06-18 Andrew MacLeod - - PR tree-optimization/101014 - * gimple-range-cache.cc (ranger_cache::ranger_cache): Remove poor - value list. - (ranger_cache::~ranger_cache): Ditto. - (ranger_cache::enable_new_values): Delete. - (ranger_cache::push_poor_value): Delete. - (ranger_cache::range_of_def): Remove poor value processing. - (ranger_cache::entry_range): Ditto. - (ranger_cache::fill_block_cache): Ditto. - * gimple-range-cache.h (class ranger_cache): Remove poor value members. - * gimple-range.cc (gimple_ranger::range_of_expr): Remove call. - * gimple-range.h (class gimple_ranger): Adjust. - -2021-06-18 Srinath Parvathaneni - - PR target/100856 - * common/config/arm/arm-common.c (arm_canon_arch_option_1): New function - derived from arm_canon_arch. - (arm_canon_arch_option): Call it. - (arm_canon_arch_multilib_option): New function. - * config/arm/arm-cpus.in (IGNORE_FOR_MULTILIB): New fgroup. - * config/arm/arm.h (arm_canon_arch_multilib_option): New prototype. - (CANON_ARCH_MULTILIB_SPEC_FUNCTION): New macro. - (MULTILIB_ARCH_CANONICAL_SPECS): New macro. - (DRIVER_SELF_SPECS): Add MULTILIB_ARCH_CANONICAL_SPECS. - * config/arm/arm.opt (mlibarch): New option. - * config/arm/t-rmprofile (MULTILIB_MATCHES): For armv8*-m, replace use - of march on RHS with mlibarch. - -2021-06-18 Marcel Vollweiler - - * config.in: Regenerate. - * config/gcn/gcn.c (print_operand_address): Fix for global_load assembler - functions. - * configure: Regenerate. - * configure.ac: Fix for global_load assembler functions. - -2021-06-18 Richard Biener - - PR tree-optimization/101112 - * tree-vect-slp.c (vect_slp_linearize_chain): Fix condition - to lookup a pattern stmt def. - -2021-06-18 Jakub Jelinek - - PR middle-end/101062 - * stor-layout.c (finish_bitfield_layout): Don't add bitfield - representatives in QUAL_UNION_TYPE. - -2021-06-18 Andrew Pinski - - * tree-ssa-phiopt.c (replace_phi_edge_with_variable): - Add counting of how many times it is done. - (factor_out_conditional_conversion): Likewise. - (match_simplify_replacement): Likewise. - (value_replacement): Likewise. - (spaceship_replacement): Likewise. - (cond_store_replacement): Likewise. - (cond_if_else_store_replacement_1): Likewise. - (hoist_adjacent_loads): Likewise. - -2021-06-18 Andrew Pinski - - * tree-cfg.c (verify_gimple_assign_unary): Reject point and offset - types on NEGATE_EXPR, ABS_EXPR, BIT_NOT_EXPR, PAREN_EXPR and CNONJ_EXPR. - (verify_gimple_assign_binary): Reject point and offset types on - MULT_EXPR, MULT_HIGHPART_EXPR, TRUNC_DIV_EXPR, CEIL_DIV_EXPR, - FLOOR_DIV_EXPR, ROUND_DIV_EXPR, TRUNC_MOD_EXPR, CEIL_MOD_EXPR, - FLOOR_MOD_EXPR, ROUND_MOD_EXPR, RDIV_EXPR, and EXACT_DIV_EXPR. - -2021-06-18 Michael Meissner - - * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support for ISA - 3.1 IEEE 128-bit floating point xsmaxcqp/xsmincqp instructions. - * config/rs6000/rs6000.md (s3, IEEE128 iterator): - New insns. - -2021-06-17 Aaron Sawdey - - * config/rs6000/genfusion.pl (gen_logical_addsubf): Add - earlyclobber to alts 0/1. - (gen_addadd): Add earlyclobber to alts 0/1. - * config/rs6000/fusion.md: Regenerate file. - -2021-06-17 Trevor Saunders - - * cfgloopanal.c (get_loop_hot_path): Make path an auto_vec. - -2021-06-17 Andrew MacLeod - - * gimple-range-cache.cc: Comment cleanups. - * gimple-range-gori.cc: Comment cleanups. - * gimple-range.cc: Comment/spacing cleanups - * value-range.h: Comment cleanups. - -2021-06-17 H.J. Lu - - PR target/100704 - * calls.c (expand_call): Replace PUSH_ARGS with - targetm.calls.push_argument (0). - (emit_library_call_value_1): Likewise. - * defaults.h (PUSH_ARGS): Removed. - (PUSH_ARGS_REVERSED): Replace PUSH_ARGS with - targetm.calls.push_argument (0). - * expr.c (block_move_libcall_safe_for_call_parm): Likewise. - (emit_push_insn): Pass the number bytes to push to - targetm.calls.push_argument and pass 0 if ARGS_ADDR is 0. - * hooks.c (hook_bool_uint_true): New. - * hooks.h (hook_bool_uint_true): Likewise. - * rtlanal.c (nonzero_bits1): Replace PUSH_ARGS with - targetm.calls.push_argument (0). - * target.def (push_argument): Add a targetm.calls hook. - * targhooks.c (default_push_argument): New. - * targhooks.h (default_push_argument): Likewise. - * config/bpf/bpf.h (PUSH_ARGS): Removed. - * config/cr16/cr16.c (TARGET_PUSH_ARGUMENT): New. - * config/cr16/cr16.h (PUSH_ARGS): Removed. - * config/i386/i386.c (ix86_push_argument): New. - (TARGET_PUSH_ARGUMENT): Likewise. - * config/i386/i386.h (PUSH_ARGS): Removed. - * config/m32c/m32c.c (TARGET_PUSH_ARGUMENT): New. - * config/m32c/m32c.h (PUSH_ARGS): Removed. - * config/nios2/nios2.h (PUSH_ARGS): Likewise. - * config/pru/pru.h (PUSH_ARGS): Likewise. - * doc/tm.texi.in: Remove PUSH_ARGS documentation. Add - TARGET_PUSH_ARGUMENT hook. - * doc/tm.texi: Regenerated. - -2021-06-17 Uroš Bizjak - - PR target/97194 - * config/i386/i386-expand.c (expand_vector_set_var): - Handle V2FS mode remapping. Pass TARGET_MMX_WITH_SSE to - ix86_expand_vector_init_duplicate. - (ix86_expand_vector_init_duplicate): Emit insv_1 for - QImode for !TARGET_PARTIAL_REG_STALL. - * config/i386/predicates.md (vec_setm_mmx_operand): New predicate. - * config/i386/mmx.md (vec_setv2sf): Use vec_setm_mmx_operand - as operand 2 predicate. Call ix86_expand_vector_set_var - for non-constant index operand. - (vec_setv2si): Ditto. - (vec_setv4hi): Ditto. - (vec_setv8qi): ditto. - -2021-06-17 Aldy Hernandez - - PR tree-optimization/100790 - * gimple-range.cc (range_of_builtin_call): Cleanup clz and ctz - code. - -2021-06-17 Martin Liska - - * doc/invoke.texi: Use consistently -O1 instead of -O. - -2021-06-17 Martin Liska - - * gcov-io.h: Update documentation entry about string format. - -2021-06-17 Marius Hillenbrand - - PR target/100871 - * config/s390/vecintrin.h (vec_doublee): Fix to use - __builtin_s390_vflls. - (vec_floate): Fix to use __builtin_s390_vflrd. - -2021-06-17 Trevor Saunders - - * dominance.c (get_dominated_to_depth): Return auto_vec. - * dominance.h (get_dominated_to_depth): Likewise. - (get_all_dominated_blocks): Likewise. - * cfgcleanup.c (delete_unreachable_blocks): Adjust. - * gcse.c (hoist_code): Likewise. - * tree-cfg.c (remove_edge_and_dominated_blocks): Likewise. - * tree-parloops.c (oacc_entry_exit_ok): Likewise. - * tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise. - * tree-ssa-phiprop.c (pass_phiprop::execute): Likewise. - -2021-06-17 Trevor Saunders - - * dominance.c (get_dominated_by_region): Return auto_vec. - * dominance.h (get_dominated_by_region): Likewise. - * tree-cfg.c (gimple_duplicate_sese_region): Adjust. - (gimple_duplicate_sese_tail): Likewise. - (move_sese_region_to_fn): Likewise. - -2021-06-17 Trevor Saunders - - * dominance.c (get_dominated_by): Return auto_vec. - * dominance.h (get_dominated_by): Likewise. - * auto-profile.c (afdo_find_equiv_class): Adjust. - * cfgloopmanip.c (duplicate_loop_to_header_edge): Likewise. - * loop-unroll.c (unroll_loop_runtime_iterations): Likewise. - * tree-cfg.c (test_linear_chain): Likewise. - (test_diamond): Likewise. - -2021-06-17 Trevor Saunders - - * cfgloop.h (get_loop_hot_path): Return auto_vec. - * cfgloopanal.c (get_loop_hot_path): Likewise. - * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise. - -2021-06-17 Trevor Saunders - - * cgraph.c (cgraph_node::collect_callers): Return - auto_vec. - * cgraph.h (cgraph_node::collect_callers): Likewise. - * ipa-cp.c (create_specialized_node): Adjust. - (decide_about_value): Likewise. - (decide_whether_version_node): Likewise. - * ipa-sra.c (process_isra_node_results): Likewise. - -2021-06-17 Trevor Saunders - - * vec.h (vl_ptr>::using_auto_storage): Handle null m_vec. - (auto_vec::auto_vec): Define move constructor, and delete copy - constructor. - (auto_vec::operator=): Define move assignment and delete copy - assignment. - -2021-06-17 Aldy Hernandez - - * gimple-range.cc (debug_seed_ranger): New. - (dump_ranger): New. - (debug_ranger): New. - -2021-06-17 Richard Biener - - PR tree-optimization/54400 - * tree-vectorizer.h (enum slp_instance_kind): Add - slp_inst_kind_bb_reduc. - (reduction_fn_for_scalar_code): Declare. - * tree-vect-data-refs.c (vect_slp_analyze_instance_dependence): - Check SLP_INSTANCE_KIND instead of looking at the - representative. - (vect_slp_analyze_instance_alignment): Likewise. - * tree-vect-loop.c (reduction_fn_for_scalar_code): Export. - * tree-vect-slp.c (vect_slp_linearize_chain): Split out - chain linearization from vect_build_slp_tree_2 and generalize - for the use of BB reduction vectorization. - (vect_build_slp_tree_2): Adjust accordingly. - (vect_optimize_slp): Elide permutes at the root of BB reduction - instances. - (vectorizable_bb_reduc_epilogue): New function. - (vect_slp_prune_covered_roots): Likewise. - (vect_slp_analyze_operations): Use them. - (vect_slp_check_for_constructors): Recognize associatable - chains for BB reduction vectorization. - (vectorize_slp_instance_root_stmt): Generate code for the - BB reduction epilogue. - -2021-06-17 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::has_edge_range_p): Check with - may_recompute_p. - (gori_compute::may_recompute_p): New. - (gori_compute::outgoing_edge_range_p): Perform recomputations. - * gimple-range-gori.h (class gori_compute): Add prototype. - -2021-06-17 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::range_on_edge): Always return - true when a range can be calculated. - * gimple-range.cc (gimple_ranger::dump_bb): Check has_edge_range_p. - -2021-06-16 Martin Sebor - - * doc/invoke.texi (-Wmismatched-dealloc, -Wmismatched-new-delete): - Correct documented defaults. - -2021-06-16 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Initialize - m_new_value_p directly. - -2021-06-16 Uroš Bizjak - - PR target/89021 - * config/i386/i386-expand.c (expand_vec_perm_2perm_pblendv): - Handle 64bit modes for TARGET_SSE4_1. - (expand_vec_perm_pshufb2): Handle 64bit modes for TARGET_SSSE3. - (expand_vec_perm_even_odd_pack): Handle V4HI mode. - (expand_vec_perm_even_odd_1) : Expand via - expand_vec_perm_pshufb2 for TARGET_SSSE3 and via - expand_vec_perm_even_odd_pack for TARGET_SSE4_1. - * config/i386/mmx.md (mmx_packusdw): New insn pattern. - -2021-06-16 Jonathan Wright - - * config/aarch64/aarch64-simd.md (aarch64_hn): - Change to an expander that emits the correct instruction - depending on endianness. - (aarch64_hn_insn_le): Define. - (aarch64_hn_insn_be): Define. - -2021-06-16 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Split generator - for aarch64_qmovn builtins into scalar and vector - variants. - * config/aarch64/aarch64-simd.md (aarch64_qmovn_insn_le): - Define. - (aarch64_qmovn_insn_be): Define. - (aarch64_qmovn): Split into scalar and vector - variants. Change vector variant to an expander that emits the - correct instruction depending on endianness. - -2021-06-16 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Split generator - for aarch64_sqmovun builtins into scalar and vector variants. - * config/aarch64/aarch64-simd.md (aarch64_sqmovun): - Split into scalar and vector variants. Change vector variant - to an expander that emits the correct instruction depending - on endianness. - (aarch64_sqmovun_insn_le): Define. - (aarch64_sqmovun_insn_be): Define. - -2021-06-16 Jonathan Wright - - * config/aarch64/aarch64-simd.md (aarch64_xtn_insn_le): - Define - modeling zero-high-half semantics. - (aarch64_xtn): Change to an expander that emits the - appropriate instruction depending on endianness. - (aarch64_xtn_insn_be): Define - modeling zero-high-half - semantics. - (aarch64_xtn2_le): Rename to... - (aarch64_xtn2_insn_le): This. - (aarch64_xtn2_be): Rename to... - (aarch64_xtn2_insn_be): This. - (vec_pack_trunc_): Emit truncation instruction instead - of aarch64_xtn. - * config/aarch64/iterators.md (Vnarrowd): Add Vnarrowd mode - attribute iterator. - -2021-06-16 Martin Jambor - - PR tree-optimization/100453 - * tree-sra.c (create_access): Disqualify any const candidates - which are written to. - (sra_modify_expr): Do not store sub-replacements back to a const base. - (handle_unscalarized_data_in_subtree): Likewise. - (sra_modify_assign): Likewise. Earlier, use TREE_READONLy test - instead of constant_decl_p. - -2021-06-16 Jakub Jelinek - - PR middle-end/101062 - * stor-layout.c (finish_bitfield_representative): For fields in unions - assume nextf is always NULL. - (finish_bitfield_layout): Compute bit field representatives also in - unions, but handle it as if each bitfield was the only field in the - aggregate. - -2021-06-16 Richard Biener - - PR tree-optimization/101088 - * tree-ssa-loop-im.c (sm_seq_valid_bb): Only look for - supported refs on edges. Do not assert same ref but - different kind stores are unsuported but mark them so. - (hoist_memory_references): Only look for supported refs - on exits. - -2021-06-16 Roger Sayle - - PR rtl-optimization/46235 - * config/i386/i386.md: New define_split for bt followed by cmov. - (*bt_setcqi): New define_insn_and_split for bt followed by setc. - (*bt_setncqi): New define_insn_and_split for bt then setnc. - (*bt_setnc): New define_insn_and_split for bt followed - by setnc with zero extension. - -2021-06-16 Richard Biener - - PR tree-optimization/101083 - * tree-vect-slp.c (vect_slp_build_two_operator_nodes): Get - vectype as argument. - (vect_build_slp_tree_2): Adjust. - -2021-06-15 Martin Sebor - - PR middle-end/100876 - * builtins.c: (gimple_call_return_array): Account for size_t - mangling as either unsigned int or unsigned long - -2021-06-15 Jeff Law - - * compare-elim.c (try_eliminate_compare): Run DCE to clean things - up before eliminating comparisons. - -2021-06-15 Aldy Hernandez - - * range-op.cc (operator_bitwise_or::wi_fold): Make sure - nonzero|X is nonzero. - (range_op_bitwise_and_tests): Add tests for above. - -2021-06-15 Carl Love - - PR target/101022 - * config/rs6000/rs6000-builtin.def (VCMPEQUT): Fix the ICODE for the - enum definition. - (VRLQ, VSLQ, VSRQ, VSRAQ): Remove unused BU_P10_OVERLOAD_2 - definitions. - -2021-06-15 Tobias Burnus - - PR fortran/92568 - * gimplify.c (enum gimplify_defaultmap_kind): Add GDMK_SCALAR_TARGET. - (struct gimplify_omp_ctx): Extend defaultmap array by one. - (new_omp_context): Init defaultmap[GDMK_SCALAR_TARGET]. - (omp_notice_variable): Update type classification for Fortran. - (gimplify_scan_omp_clauses): Update calls for new argument; handle - GDMK_SCALAR_TARGET; for Fortran, GDMK_POINTER avoid GOVD_MAP_0LEN_ARRAY. - * langhooks-def.h (lhd_omp_scalar_p): Add 'ptr_ok' argument. - * langhooks.c (lhd_omp_scalar_p): Likewise. - (LANG_HOOKS_OMP_ALLOCATABLE_P, LANG_HOOKS_OMP_SCALAR_TARGET_P): New. - (LANG_HOOKS_DECLS): Add them. - * langhooks.h (struct lang_hooks_for_decls): Add new hooks, update - omp_scalar_p pointer type to include the new bool argument. - -2021-06-15 David Malcolm - - * doc/analyzer.texi - (Special Functions for Debugging the Analyzer): Add - __analyzer_dump_capacity. - -2021-06-15 Jakub Jelinek - - PR target/101046 - * expr.c (expand_expr_real_2) : Clear subtarget when changing mode. - -2021-06-15 Richard Biener - - * cfgloopanal.c (mark_irreducible_loops): Use a dominance - check to identify loop latches. - * cfgloop.c (verify_loop_structure): Likewise. - * loop-init.c (apply_loop_flags): Allow marked irreducible - regions even with multiple latches. - * predict.c (rebuild_frequencies): Simplify. - -2021-06-15 Richard Biener - - * tree-ssa-threadupdate.c - (jump_thread_path_registry::mark_threaded_blocks): Assert we - have marked irreducible regions. - -2021-06-14 Martin Sebor - - PR c++/100876 - * builtins.c (gimple_call_return_array): Check for attribute fn spec. - Handle calls to placement new. - (ndecl_dealloc_argno): Avoid placement delete. - -2021-06-14 Peter Bergner - - PR target/100777 - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Use - create_tmp_reg_or_ssa_name(). - -2021-06-14 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust. - (ranger_cache::enable_new_values): Set to specified value and - return the old value. - (ranger_cache::disable_new_values): Delete. - (ranger_cache::fill_block_cache): Disable non 1st order derived - poor values. - * gimple-range-cache.h (ranger_cache): Adjust prototypes. - * gimple-range.cc (gimple_ranger::range_of_expr): Adjust. - -2021-06-14 Uroš Bizjak - - PR target/101058 - * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): - Return true early when testing with V2HImode. - * config/i386/mmx.md (*punpckwd): Split to sse2_pshuflw_1. - -2021-06-14 Christophe Lyon - - * config/arm/mve.md (mve_vec_unpack_lo_): New pattern. - (mve_vec_unpack_hi_): New pattern. - (@mve_vec_pack_trunc_lo_): New pattern. - (mve_vmovntq_): Prefix with '@'. - * config/arm/neon.md (vec_unpack_hi_): Move to - vec-common.md. - (vec_unpack_lo_): Likewise. - (vec_pack_trunc_): Rename to - neon_quad_vec_pack_trunc_. - * config/arm/vec-common.md (vec_unpack_hi_): New - pattern. - (vec_unpack_lo_): New. - (vec_pack_trunc_): New. - -2021-06-14 Richard Biener - - PR tree-optimization/100934 - * tree-ssa-dom.c (pass_dominator::execute): Properly - mark irreducible regions. - -2021-06-14 Martin Liska - - * doc/invoke.texi: Put r{...} on the same line as @item. - -2021-06-14 Martin Liska - - * doc/invoke.texi: Add missing newline. - -2021-06-14 Martin Liska - - * doc/invoke.texi: Remove '+' charasters. - -2021-06-14 Claudiu Zissulescu - - * config.gcc (arc): Add support for with_cpu option. - * config/arc/arc.h (OPTION_DEFAULT_SPECS): Add fpu. - -2021-06-14 Richard Biener - - PR tree-optimization/101031 - * tree-ssa-strlen.c (maybe_invalidate): Increment max_size - instead of size when accounting for a possibly string - terminating nul. - -2021-06-14 Martin Liska - - * gimple-ssa-evrp.c (pointer_equiv_analyzer::~pointer_equiv_analyzer): Use delete[]. - -2021-06-14 Aldy Hernandez - - * value-query.cc (gimple_range_global): Call get_range_global - if called after inlining. - -2021-06-13 Uroš Bizjak - - PR target/101021 - * config/i386/i386-expand.c (expand_vec_perm_pshufb): - Emit constant permutation insn directly from here. - -2021-06-13 Trevor Saunders - - * attribs.c (find_attribute_namespace): Iterate over vec<> with - range based for. - * auto-profile.c (afdo_find_equiv_class): Likewise. - * gcc.c (do_specs_vec): Likewise. - (do_spec_1): Likewise. - (driver::set_up_specs): Likewise. - * gimple-loop-jam.c (any_access_function_variant_p): Likewise. - * gimple-ssa-store-merging.c (compatible_load_p): Likewise. - (imm_store_chain_info::try_coalesce_bswap): Likewise. - (imm_store_chain_info::coalesce_immediate_stores): Likewise. - (get_location_for_stmts): Likewise. - * graphite-poly.c (print_iteration_domains): Likewise. - (free_poly_bb): Likewise. - (remove_gbbs_in_scop): Likewise. - (free_scop): Likewise. - (dump_gbb_cases): Likewise. - (dump_gbb_conditions): Likewise. - (print_pdrs): Likewise. - (print_scop): Likewise. - * ifcvt.c (cond_move_process_if_block): Likewise. - * lower-subreg.c (decompose_multiword_subregs): Likewise. - * regcprop.c (pass_cprop_hardreg::execute): Likewise. - * sanopt.c (sanitize_rewrite_addressable_params): Likewise. - * sel-sched-dump.c (dump_insn_vector): Likewise. - * store-motion.c (store_ops_ok): Likewise. - (store_killed_in_insn): Likewise. - * timevar.c (timer::named_items::print): Likewise. - * tree-cfgcleanup.c (cleanup_control_flow_pre): Likewise. - (cleanup_tree_cfg_noloop): Likewise. - * tree-data-ref.c (dump_data_references): Likewise. - (print_dir_vectors): Likewise. - (print_dist_vectors): Likewise. - (dump_data_dependence_relations): Likewise. - (dump_dist_dir_vectors): Likewise. - (dump_ddrs): Likewise. - (create_runtime_alias_checks): Likewise. - (free_subscripts): Likewise. - (save_dist_v): Likewise. - (save_dir_v): Likewise. - (invariant_access_functions): Likewise. - (same_access_functions): Likewise. - (access_functions_are_affine_or_constant_p): Likewise. - (find_data_references_in_stmt): Likewise. - (graphite_find_data_references_in_stmt): Likewise. - (free_dependence_relations): Likewise. - (free_data_refs): Likewise. - * tree-inline.c (copy_debug_stmts): Likewise. - * tree-into-ssa.c (dump_currdefs): Likewise. - (rewrite_update_phi_arguments): Likewise. - * tree-ssa-propagate.c (clean_up_loop_closed_phi): Likewise. - * tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr): - Likewise. - (vect_slp_analyze_node_dependences): Likewise. - (vect_slp_analyze_instance_dependence): Likewise. - (vect_record_base_alignments): Likewise. - (vect_get_peeling_costs_all_drs): Likewise. - (vect_peeling_supportable): Likewise. - * tree-vectorizer.c (vec_info::~vec_info): Likewise. - (vec_info::free_stmt_vec_infos): Likewise. - -2021-06-13 Jeff Law - - * config/h8300/logical.md (qi3_1): New pattern. - (andqi3_1): Removed. - (qi3_1): Do not split for IOR/XOR a single bit. - (H8/SX bit logicals): Split out from other patterns. - * config/h8300/multiply.md (mulqihi3_const): Renamed from - mulqihi3_const_clobber_flags. - (mulqihi3, mulhisi3_const, mulhisi3): Similarly - -2021-06-13 H.J. Lu - - PR target/101023 - * config/i386/i386.c (ix86_expand_prologue): Set red_zone_used - to true if red zone is used. - (ix86_output_indirect_jmp): Replace ix86_red_zone_size with - ix86_red_zone_used. - * config/i386/i386.h (machine_function): Add red_zone_used. - (ix86_red_zone_size): Removed. - (ix86_red_zone_used): New. - * config/i386/i386.md (peephole2 patterns): Replace - ix86_red_zone_size with ix86_red_zone_used. - -2021-06-12 Jason Merrill - - * doc/extend.texi (unused variable attribute): Applies to - structure fields as well. - -2021-06-12 Eugene Rozenfeld - - * auto-profile.c (read_profile): fix a typo in an error string - -2021-06-11 Thomas Schwinge - - * tree-pretty-print.h (dump_omp_clauses): Add 'bool = true' - default argument. - * tree-pretty-print.c (dump_omp_clauses): Update. - (dump_generic_node) : Use it. - -2021-06-11 Srinath Parvathaneni - - PR target/101016 - * config/arm/arm_mve.h (__arm_vld1q): Change __ARM_mve_coerce(p0, - int8_t const *) to __ARM_mve_coerce1(p0, int8_t *) in the argument for - the polymorphic variants matching code. - (__arm_vld1q_z): Likewise. - (__arm_vld2q): Likewise. - (__arm_vld4q): Likewise. - (__arm_vldrbq_gather_offset): Likewise. - (__arm_vldrbq_gather_offset_z): Likewise. - -2021-06-11 Roger Sayle - - PR tree-optimization/96392 - * fold-const.h (tree_expr_maybe_real_minus_zero_p): Fix prototype. - -2021-06-11 Roger Sayle - - PR tree-optimization/96392 - * fold-const.c (fold_real_zero_addition_p): Take both arguments - of the addition or subtraction, not just the zero. Use this - other argument in tests for signaling NaNs and signed zeros. - (tree_expr_maybe_real_minus_zero_p): New predicate. - * fold-const.h (fold_real_zero_addition_p): Update prototype. - (tree_expr_maybe_real_minus_zero_p): New function prototype. - * match.pd: Update calls to fold_real_zero_addition_p. - Replace HONOR_NANS with tree_expr_maybe_nan_p. - Replace HONOR_SIGNED_ZEROS with tree_expr_maybe_real_minus_zero_p. - Replace HONOR_SNANS with tree_expr_maybe_signaling_nan_p. - * tree-ssa-reassoc.c (eliminate_using_constants): Update - call to fold_real_zero_addition_p. - -2021-06-11 Richard Biener - - PR tree-optimization/101025 - * tree-ssa-loop-im.c (sm_seq_valid_bb): Make sure to process - all refs that require dependence checking. - -2021-06-11 Richard Biener - - PR tree-optimization/101028 - * tree-vect-slp.c (vect_build_slp_tree_2): When SLP - reassoc discovery fails fatally, mark appropriate lanes - in matches[] so. - -2021-06-11 Richard Biener - - PR tree-optimization/101026 - * tree-vect-slp.c (vect_build_slp_tree_2): Make sure we - have a representative for the associated chain nodes. - -2021-06-11 Jakub Jelinek - - PR rtl-optimization/101008 - * simplify-rtx.c (relational_result): New function. - (simplify_logical_relational_operation, - simplify_relational_operation): Use it. - -2021-06-11 Jakub Jelinek - - PR target/101007 - * config/i386/sse.md (*vec_concat_0_1): Require TARGET_SSE2. - -2021-06-11 Uroš Bizjak - - PR target/101021 - * config/i386/i386-expand.c (expand_vec_perm_pshufb): Return - false if the permutation can be implemented with constant - permutation instruction in wider mode. - (canonicalize_vector_int_perm): Move above expand_vec_perm_pshufb. - Handle V8QImode and V4HImode. - -2021-06-11 Martin Liska - - PR gcov-profile/100788 - * common.opt: Add new option. - * coverage.c (coverage_begin_function): Emit warning instead on - the internal compiler error. - * doc/invoke.texi: Document the option. - * toplev.c (process_options): Enable it by default. - -2021-06-11 Richard Biener - - PR middle-end/101009 - * tree-data-ref.c (build_classic_dist_vector_1): Make sure - to set *init_b to true when we encounter a constant equal - index pair. - (compute_affine_dependence): Also dump the actual DR_REF. - -2021-06-10 Aldy Hernandez - - PR tree-optimization/100984 - * gimple-ssa-evrp.c (ssa_equiv_stack): Use auto_vec for - replacements table. - (ssa_equiv_stack::~ssa_equiv_stack): Remove. - -2021-06-11 Kewen Lin - - * config/rs6000/rs6000.md - (floatsi2_lfiwax__mem_zext): New - define_insn_and_split. - -2021-06-11 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_2): Use stablesort - to sort operands of the associative chain. - -2021-06-11 Richard Biener - - * system.h (gcc_stablesort_r): Declare. - * sort.cc (gcc_sort_r): Support stable sort. - (gcc_stablesort_r): Define. - * vec.h (vec<>::stablesort): Add. - -2021-06-10 Uroš Bizjak - - PR target/89021 - * config/i386/i386-expand.c (ix86_split_mmx_punpck): - Handle V2SF mode. Emit SHUFPS to fixup unpack-high for V2SF mode. - (expand_vec_perm_blend): Handle 64bit modes for TARGET_SSE4_1. - (expand_vec_perm_pshufb): Handle 64bit modes for TARGET_SSSE3. - (expand_vec_perm_pblendv): Handle 64bit modes for TARGET_SSE4_1. - (expand_vec_perm_interleave2): Handle 64bit modes. - (expand_vec_perm_even_odd_pack): Handle V8QI mode. - (expand_vec_perm_even_odd_1): Ditto. - (ix86_vectorize_vec_perm_const): Ditto. - * config/i386/i386.md (UNSPEC_PSHUFB): Move from ... - * config/i386/sse.md: ... here. - * config/i386/mmx.md (*vec_interleave_lowv2sf): - New insn_and_split pattern. - (*vec_interleave_highv2sf): Ditto. - (mmx_pshufbv8qi3): New insn pattern. - (*mmx_pblendw): Ditto. - -2021-06-10 Peter Bergner - - * config/rs6000/rs6000-builtin.def (build_pair): New built-in. - (build_acc): Likewise. - * config/rs6000/rs6000-call.c (mma_expand_builtin): Swap assemble - source operands in little-endian mode. - (rs6000_gimple_fold_mma_builtin): Handle VSX_BUILTIN_BUILD_PAIR. - (mma_init_builtins): Likewise. - * config/rs6000/rs6000.c (rs6000_split_multireg_move): Handle endianness - ordering for the MMA assemble and build source operands. - * doc/extend.texi (__builtin_vsx_build_acc, __builtin_mma_build_pair): - Document. - (__builtin_mma_assemble_acc, __builtin_mma_assemble_pair): Remove - documentation. - -2021-06-10 Jeff Law - - * config/h8300/h8300.c (select_cc_mode): Handle MEM. Use - REG_P. - * config/h8300/extensions.md: Replace _clobber_flags patterns - with . - -2021-06-10 Robin Dapp - - * config/s390/vector.md (vcond_mask_): Change to - (vcond_mask_): this. - -2021-06-10 Andrew Stubbs - Thomas Schwinge - - * omp-builtins.def (BUILT_IN_GOACC_ENTER_EXIT_DATA): Split into... - (BUILT_IN_GOACC_ENTER_DATA, BUILT_IN_GOACC_EXIT_DATA): ... these. - * gimple.h (enum gf_mask): Split - 'GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA' into - 'GF_OMP_TARGET_KIND_OACC_ENTER_DATA' and - 'GF_OMP_TARGET_KIND_OACC_EXIT_DATA'. - (is_gimple_omp_oacc): Update. - * gimple-pretty-print.c (dump_gimple_omp_target): Likewise. - * gimplify.c (gimplify_omp_target_update): Likewise. - * omp-expand.c (expand_omp_target, build_omp_regions_1) - (omp_make_gimple_edges): Likewise. - * omp-low.c (check_omp_nesting_restrictions, lower_omp_target): - Likewise. - -2021-06-10 Aldy Hernandez - - * value-query.cc (value_query::value_on_edge): Rename name to - expr. - (range_query::range_on_edge): Same. - (range_query::value_of_expr): Same. - (range_query::value_on_edge): Same. - * value-query.h (class value_query): Same. - (class range_query): Same. - -2021-06-10 Richard Biener - - PR tree-optimization/101003 - * tree-vect-slp.c (vect_build_slp_tree_2): Appropriately - use the pattern stmt defs when linearizing a chain. - -2021-06-10 Jakub Jelinek - - PR debug/100852 - * ifcvt.c (noce_get_alt_condition, noce_try_abs): Use - prev_nonnote_nondebug_insn instead of prev_nonnote_insn. - -2021-06-10 Clement Chigot - - * config/rs6000/aix71.h (ASM_CPU_SPEC): Add Power10 directive. - * config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise. - -2021-06-09 Andrew Pinski - - PR tree-optimization/100925 - * match.pd (a ? CST1 : CST2): Limit transformations - that would produce a negative to integeral types only. - Change !POINTER_TYPE_P to INTEGRAL_TYPE_P also. - -2021-06-09 Jeff Law - - Revert: - 2021-06-09 Jeff Law - - * doc/tm.texi: Correctly update. - -2021-06-09 Jeff Law - - * doc/tm.texi: Correctly update. - -2021-06-09 H.J. Lu - - PR other/100735 - * doc/tm.texi.in (Trampolines): Add a missing blank line. - -2021-06-09 Paul Eggert - - PR other/100735 - * doc/invoke.texi (Code Gen Options); Document that -fno-trampolines - and -ftrampolines work only with Ada. - * doc/tm.texi.in (Trampolines): Likewise. - * doc/tm.texi: Regenerated. - -2021-06-09 Carl Love - - * config/rs6000/altivec.h (vec_signextll, vec_signexti, vec_signextq): - Add define for new builtins. - * config/rs6000/altivec.md(altivec_vreveti2): Add define_expand. - * config/rs6000/rs6000-builtin.def (VSIGNEXTI, VSIGNEXTLL): Add - overloaded builtin definitions. - (VSIGNEXTSB2W, VSIGNEXTSH2W, VSIGNEXTSB2D, VSIGNEXTSH2D,VSIGNEXTSW2D, - VSIGNEXTSD2Q): Add builtin expansions. - (SIGNEXT): Add P10 overload definition. - * config/rs6000/rs6000-call.c (P9V_BUILTIN_VEC_VSIGNEXTI, P9V_BUILTIN_VEC_VSIGNEXTLL, - P10_BUILTIN_VEC_SIGNEXT): Add overloaded argument definitions. - * config/rs6000/vsx.md (vsx_sign_extend_v2di_v1ti): Add define_insn. - (vsignextend_v2di_v1ti, vsignextend_qi_, vsignextend_hi_, - vsignextend_si_v2di)[VIlong]: Add define_expand. - Make define_insn vsx_sign_extend_si_v2di visible. - * doc/extend.texi: Add documentation for the vec_signexti, - vec_signextll builtins and vec_signextq. - -2021-06-09 Carl Love - - * config/rs6000/rs6000.c (__fixkfti, __fixunskfti, __floattikf, - __floatuntikf): Names changed to __fixkfti_sw, __fixunskfti_sw, - __floattikf_sw, __floatuntikf_sw respectively. - * config/rs6000/rs6000.md (floatti2, floatunsti2, - fix_truncti2, fixuns_truncti2): Add - define_insn for mode IEEE 128. - -2021-06-09 Carl Love - - * config/rs6000/altivec.md (altivec_vslq, altivec_vsrq): - Rename to altivec_vslq_, altivec_vsrq_, mode VEC_TI. - * config/rs6000/vector.md (VEC_TI): Was named VSX_TI in vsx.md. - (vashlv1ti3): Change to vashl3, mode VEC_TI. - (vlshrv1ti3): Change to vlshr3, mode VEC_TI. - * config/rs6000/vsx.md (VSX_TI): Remove define_mode_iterator. Update - uses of VSX_TI to VEC_TI. - -2021-06-09 Carl Love - - * config/rs6000/dfp.md (floattitd2, fixtdti2): New define_insns. - -2021-06-09 Carl Love - - * config/rs6000/altivec.h (vec_dive, vec_mod): Add define for new - builtins. - * config/rs6000/altivec.md (UNSPEC_VMULEUD, UNSPEC_VMULESD, - UNSPEC_VMULOUD, UNSPEC_VMULOSD): New unspecs. - (altivec_eqv1ti, altivec_gtv1ti, altivec_gtuv1ti, altivec_vmuleud, - altivec_vmuloud, altivec_vmulesd, altivec_vmulosd, altivec_vrlq, - altivec_vrlqmi, altivec_vrlqmi_inst, altivec_vrlqnm, - altivec_vrlqnm_inst, altivec_vslq, altivec_vsrq, altivec_vsraq, - altivec_vcmpequt_p, altivec_vcmpgtst_p, altivec_vcmpgtut_p): New - define_insn. - (vec_widen_umult_even_v2di, vec_widen_smult_even_v2di, - vec_widen_umult_odd_v2di, vec_widen_smult_odd_v2di, altivec_vrlqmi, - altivec_vrlqnm): New define_expands. - * config/rs6000/rs6000-builtin.def (VCMPEQUT_P, VCMPGTST_P, - VCMPGTUT_P): Add macro expansions. - (BU_P10V_AV_P): Add builtin predicate definition. - (VCMPGTUT, VCMPGTST, VCMPEQUT, CMPNET, CMPGE_1TI, - CMPGE_U1TI, CMPLE_1TI, CMPLE_U1TI, VNOR_V1TI_UNS, VNOR_V1TI, VCMPNET_P, - VCMPAET_P, VMULEUD, VMULESD, VMULOUD, VMULOSD, VRLQ, - VSLQ, VSRQ, VSRAQ, VRLQNM, DIV_V1TI, UDIV_V1TI, DIVES_V1TI, DIVEU_V1TI, - MODS_V1TI, MODU_V1TI, VRLQMI): New macro expansions. - (VRLQ, VSLQ, VSRQ, VSRAQ, DIVE, MOD): New overload expansions. - * config/rs6000/rs6000-call.c (P10_BUILTIN_VCMPEQUT, - P10V_BUILTIN_CMPGE_1TI, P10V_BUILTIN_CMPGE_U1TI, - P10V_BUILTIN_VCMPGTUT, P10V_BUILTIN_VCMPGTST, - P10V_BUILTIN_CMPLE_1TI, P10V_BUILTIN_VCMPLE_U1TI, - P10V_BUILTIN_DIV_V1TI, P10V_BUILTIN_UDIV_V1TI, - P10V_BUILTIN_VMULESD, P10V_BUILTIN_VMULEUD, - P10V_BUILTIN_VMULOSD, P10V_BUILTIN_VMULOUD, - P10V_BUILTIN_VNOR_V1TI, P10V_BUILTIN_VNOR_V1TI_UNS, - P10V_BUILTIN_VRLQ, P10V_BUILTIN_VRLQMI, - P10V_BUILTIN_VRLQNM, P10V_BUILTIN_VSLQ, - P10V_BUILTIN_VSRQ, P10V_BUILTIN_VSRAQ, - P10V_BUILTIN_VCMPGTUT_P, P10V_BUILTIN_VCMPGTST_P, - P10V_BUILTIN_VCMPEQUT_P, P10V_BUILTIN_VCMPGTUT_P, - P10V_BUILTIN_VCMPGTST_P, P10V_BUILTIN_CMPNET, - P10V_BUILTIN_VCMPNET_P, P10V_BUILTIN_VCMPAET_P, - P10V_BUILTIN_DIVES_V1TI, P10V_BUILTIN_MODS_V1TI, - P10V_BUILTIN_MODU_V1TI): - New overloaded definitions. - (rs6000_gimple_fold_builtin) [P10V_BUILTIN_VCMPEQUT, - P10V_BUILTIN_CMPNET, P10V_BUILTIN_CMPGE_1TI, - P10V_BUILTIN_CMPGE_U1TI, P10V_BUILTIN_VCMPGTUT, - P10V_BUILTIN_VCMPGTST, P10V_BUILTIN_CMPLE_1TI, - P10V_BUILTIN_CMPLE_U1TI]: New case statements. - (rs6000_init_builtins) [bool_V1TI_type_node, int_ftype_int_v1ti_v1ti]: - New assignments. - (altivec_init_builtins): New E_V1TImode case statement. - (builtin_function_type)[P10_BUILTIN_128BIT_VMULEUD, - P10_BUILTIN_128BIT_VMULOUD, P10_BUILTIN_128BIT_DIVEU_V1TI, - P10_BUILTIN_128BIT_MODU_V1TI, P10_BUILTIN_CMPGE_U1TI, - P10_BUILTIN_VCMPGTUT, P10_BUILTIN_VCMPEQUT]: New case statements. - * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute) [E_TImode, - E_V1TImode]: New case statements. - * config/rs6000/rs6000.h (rs6000_builtin_type_index): New enum - value RS6000_BTI_bool_V1TI. - * config/rs6000/vector.md (vector_gtv1ti,vector_nltv1ti, - vector_gtuv1ti, vector_nltuv1ti, vector_ngtv1ti, vector_ngtuv1ti, - vector_eq_v1ti_p, vector_ne_v1ti_p, vector_ae_v1ti_p, - vector_gt_v1ti_p, vector_gtu_v1ti_p, vrotlv1ti3, vashlv1ti3, - vlshrv1ti3, vashrv1ti3): New define_expands. - * config/rs6000/vsx.md (UNSPEC_VSX_DIVSQ, UNSPEC_VSX_DIVUQ, - UNSPEC_VSX_DIVESQ, UNSPEC_VSX_DIVEUQ, UNSPEC_VSX_MODSQ, - UNSPEC_VSX_MODUQ): New unspecs. - (mulv2di3, vsx_div_v1ti, vsx_udiv_v1ti, vsx_dives_v1ti, - vsx_diveu_v1ti, vsx_mods_v1ti, vsx_modu_v1ti, xxswapd_v1ti): New - define_insns. - (vcmpnet): New define_expand. - * doc/extend.texi: Add documentation for the new builtins vec_rl, - vec_rlmi, vec_rlnm, vec_sl, vec_sr, vec_sra, vec_mule, vec_mulo, - vec_div, vec_dive, vec_mod, vec_cmpeq, vec_cmpne, vec_cmpgt, vec_cmplt, - vec_cmpge, vec_cmple, vec_all_eq, vec_all_ne, vec_all_gt, vec_all_lt, - vec_all_ge, vec_all_le, vec_any_eq, vec_any_ne, vec_any_gt, vec_any_lt, - vec_any_ge, vec_any_le. - -2021-06-09 Carl Love - - * config/rs6000/altivec.md (altivec_vrlmi): Fix - bug in argument generation. - -2021-06-09 Christophe Lyon - - * config/arm/iterators.md (): Remove VCLZQ_U, VCLZQ_S. - (VCLZQ): Remove. - * config/arm/mve.md (mve_vclzq_): Add '@' prefix, - remove iterator. - (mve_vclzq_u): New. - * config/arm/neon.md (clz2): Rename to neon_vclz. - (neon_vclz - - * config/arm/mve.md (mve_vhaddq_): Prefix with '@'. - (@mve_vrhaddq_hadd): Likewise. - * config/arm/vec-common.md (avg3_floor, uavg3_floor) - (avg3_ceil", uavg3_ceil): New patterns. - -2021-06-09 imba-tjd <109224573@qq.com> - - * doc/invoke.texi: Fix typo. - -2021-06-09 Roger Sayle - - PR middle-end/53267 - * fold-const-call.c (fold_const_call_sss) [CASE_CFN_FMOD]: - Support evaluation of fmod/fmodf/fmodl at compile-time. - -2021-06-09 Richard Biener - - PR tree-optimization/100981 - * tree-vect-loop.c (vect_create_epilog_for_reduction): Use - gimple_get_lhs to also handle calls. - * tree-vect-slp-patterns.c (complex_pattern::build): Transfer - reduction info. - -2021-06-09 Richard Biener - - PR tree-optimization/97832 - * tree-vectorizer.h (_slp_tree::failed): New. - * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize - failed member. - (_slp_tree::~_slp_tree): Free failed. - (vect_build_slp_tree): Retain failed nodes and record - matches in them, copying that back out when running - into a cached fail. Dump start and end of discovery. - (dt_sort_cmp): New. - (vect_build_slp_tree_2): Handle associatable chains - together doing more aggressive operand swapping. - -2021-06-09 H.J. Lu - - PR target/100896 - * config.gcc (gcc_cv_initfini_array): Set to yes for Linux and - GNU targets. - * doc/install.texi: Require glibc 2.1 and binutils 2.12 for - Linux and GNU targets. - -2021-06-09 Richard Biener - - * tree-vect-stmts.c (vect_is_simple_use): Always get dt - from the stmt. - -2021-06-09 Claudiu Zissulescu - - * config/arc/arc.md (loop_end): Change it to - define_insn_and_split. - -2021-06-09 Claudiu Zissulescu - - * config/arc/arc.md (maddhisi4): Use VMAC2H instruction. - (machi): New pattern. - (umaddhisi4): Use VMAC2HU instruction. - (umachi): New pattern. - -2021-06-09 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_split_move_p): New prototype. - * config/arc/arc.c (arc_split_move_p): New function. - (arc_split_move): Clean up. - * config/arc/arc.md (movdi_insn): Clean up, use arc_split_move_p. - (movdf_insn): Likewise. - * config/arc/simdext.md (mov_insn): Likewise. - -2021-06-09 Uroš Bizjak - - PR target/100936 - * config/i386/i386.c (print_operand_address_as): Rename "no_rip" - argument to "raw". Do not emit segment overrides when "raw" is true. - -2021-06-09 Martin Liska - - * doc/gcov.texi: Create a proper JSON files. - * doc/invoke.texi: Remove dots in order to make it a valid - JSON object. - -2021-06-09 Xionghu Luo - - * config/rs6000/rs6000-p8swap.c (pattern_is_rotate64): New. - (insn_is_load_p): Use pattern_is_rotate64. - (insn_is_swap_p): Likewise. - (quad_aligned_load_p): Likewise. - (const_load_sequence_p): Likewise. - (replace_swapped_aligned_load): Likewise. - (recombine_lvx_pattern): Likewise. - (recombine_stvx_pattern): Likewise. - -2021-06-09 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::outgoing_edge_range_p): Use a - fur_stmt source record. - * gimple-range.cc (fur_source::get_operand): Generic range query. - (fur_source::get_phi_operand): New. - (fur_source::register_dependency): New. - (fur_source::query): New. - (class fur_edge): New. Edge source for operands. - (fur_edge::fur_edge): New. - (fur_edge::get_operand): New. - (fur_edge::get_phi_operand): New. - (fur_edge::query): New. - (fur_stmt::fur_stmt): New. - (fur_stmt::get_operand): New. - (fur_stmt::get_phi_operand): New. - (fur_stmt::query): New. - (class fur_depend): New. Statement source and process dependencies. - (fur_depend::fur_depend): New. - (fur_depend::register_dependency): New. - (class fur_list): New. List source for operands. - (fur_list::fur_list): New. - (fur_list::get_operand): New. - (fur_list::get_phi_operand): New. - (fold_range): New. Instantiate appropriate fur_source class and fold. - (fold_using_range::range_of_range_op): Use new API. - (fold_using_range::range_of_address): Ditto. - (fold_using_range::range_of_phi): Ditto. - (imple_ranger::fold_range_internal): Use fur_depend class. - (fold_using_range::range_of_ssa_name_with_loop_info): Use new API. - * gimple-range.h (class fur_source): Now a base class. - (class fur_stmt): New. - (fold_range): New prototypes. - (fur_source::fur_source): Delete. - -2021-06-08 Andrew Pinski - - PR tree-optimization/25290 - * tree-ssa-phiopt.c (xor_replacement): Delete. - (tree_ssa_phiopt_worker): Delete use of xor_replacement. - (match_simplify_replacement): Allow one cheap preparation - statement that can be moved to before the if. - -2021-06-08 Pat Haugen - - * config/rs6000/power10.md (power10-fused-load, power10-fused-store, - power10-fused_alu, power10-fused-vec, power10-fused-branch): New. - -2021-06-08 Jeff Law - - * config/h8300/logical.md (andqi3_1): Move BCLR case into define_insn_and_split. - Create length attribute on define_insn_and_split. Only split for cases which we - know will use AND. - (andqi3_1): Renamed from andqi3_1_clobber_flags. Only handle AND here and - fix length computation. - (bmsx): Combine QImode and HImode H8/SX patterns using iterator. - -2021-06-08 Richard Biener - - PR tree-optimization/100923 - * tree-ssa-sccvn.c (valueize_refs_1): Take a pointer to - the operand vector to be valueized. - (valueize_refs): Likewise. - (valueize_shared_reference_ops_from_ref): Adjust. - (valueize_shared_reference_ops_from_call): Likewise. - (vn_reference_lookup_3): Likewise. - (vn_reference_lookup_pieces): Likewise. Re-valueize - with honoring availability when we are about to create - the ao_ref and valueized before. - (vn_reference_lookup): Likewise. - (vn_reference_insert_pieces): Adjust. - -2021-06-08 Richard Biener - - * tree-vectorizer.h (_slp_instance::root_stmt): Change to... - (_slp_instance::root_stmts): ... a vector. - (SLP_INSTANCE_ROOT_STMT): Rename to ... - (SLP_INSTANCE_ROOT_STMTS): ... this. - (slp_root::root): Change to... - (slp_root::roots): ... a vector. - (slp_root::slp_root): Adjust. - * tree-vect-slp.c (_slp_instance::location): Adjust. - (vect_free_slp_instance): Release the root stmt vector. - (vect_build_slp_instance): Adjust. - (vect_analyze_slp): Likewise. - (_bb_vec_info::~_bb_vec_info): Likewise. - (vect_slp_analyze_operations): Likewise. - (vect_bb_vectorization_profitable_p): Likewise. Adjust - costs for the root stmt. - (vect_slp_check_for_constructors): Gather all BIT_INSERT_EXPRs - as root stmts. - (vect_slp_analyze_bb_1): Simplify by marking all root stmts - as pure_slp. - (vectorize_slp_instance_root_stmt): Adjust. - (vect_schedule_slp): Likewise. - -2021-06-08 Aldy Hernandez - - * gimple-ssa-evrp.c (class ssa_equiv_stack): New. - (ssa_equiv_stack::ssa_equiv_stack): New. - (ssa_equiv_stack::~ssa_equiv_stack): New. - (ssa_equiv_stack::enter): New. - (ssa_equiv_stack::leave): New. - (ssa_equiv_stack::push_replacement): New. - (ssa_equiv_stack::get_replacement): New. - (is_pointer_ssa): New. - (class pointer_equiv_analyzer): New. - (pointer_equiv_analyzer::pointer_equiv_analyzer): New. - (pointer_equiv_analyzer::~pointer_equiv_analyzer): New. - (pointer_equiv_analyzer::set_global_equiv): New. - (pointer_equiv_analyzer::set_cond_equiv): New. - (pointer_equiv_analyzer::get_equiv): New. - (pointer_equiv_analyzer::enter): New. - (pointer_equiv_analyzer::leave): New. - (pointer_equiv_analyzer::get_equiv_expr): New. - (pta_valueize): New. - (pointer_equiv_analyzer::visit_stmt): New. - (pointer_equiv_analyzer::visit_edge): New. - (hybrid_folder::value_of_expr): Call PTA. - (hybrid_folder::value_on_edge): Same. - (hybrid_folder::pre_fold_bb): New. - (hybrid_folder::post_fold_bb): New. - (hybrid_folder::pre_fold_stmt): New. - (rvrp_folder::pre_fold_bb): New. - (rvrp_folder::post_fold_bb): New. - (rvrp_folder::pre_fold_stmt): New. - (rvrp_folder::value_of_expr): Call PTA. - (rvrp_folder::value_on_edge): Same. - -2021-06-08 Jakub Jelinek - - PR c++/100957 - * tree-inline.c (copy_tree_body_r): For OMP_CLAUSE_DEPEND don't - check TREE_CODE if OMP_CLAUSE_DECL is NULL. - -2021-06-08 Richard Biener - - PR middle-end/100951 - * tree-vect-generic.c (expand_vector_piecewise): Build a - VECTOR_CST if all elements are constant. - (expand_vector_condition): Likewise. - (lower_vec_perm): Likewise. - (expand_vector_conversion): Likewise. - -2021-06-08 Martin Liska - - * doc/invoke.texi: Document new param evrp-sparse-threshold. - -2021-06-08 Martin Liska - - * genautomata.c (create_automata): Fix typo. - -2021-06-08 Kewen Lin - - PR tree-optimization/100794 - * tree-predcom.c (tree_predictive_commoning_loop): Add parameter - allow_unroll_p and only allow unrolling when it's true. - (tree_predictive_commoning): Add parameter allow_unroll_p and - adjust for it. - (run_tree_predictive_commoning): Likewise. - (pass_predcom::gate): Check flag_tree_loop_vectorize and - global_options_set.x_flag_predictive_commoning. - (pass_predcom::execute): Adjust for allow_unroll_p. - -2021-06-08 Kewen Lin - - * tree-predcom.c (execute_pred_commoning): Remove update_ssa call. - (tree_predictive_commoning_loop): Factor some cleanup stuffs into - lambda function cleanup, remove scev_reset call, and adjust return - value. - (tree_predictive_commoning): Adjust for different changed values, - only set flag TODO_update_ssa_only_virtuals if changed. - (pass_data pass_data_predcom): Remove TODO_update_ssa_only_virtuals - from todo_flags_finish. - -2021-06-07 Andrew MacLeod - - * gimple-range-cache.cc (class sbr_sparse_bitmap): New. - (sbr_sparse_bitmap::sbr_sparse_bitmap): New. - (sbr_sparse_bitmap::bitmap_set_quad): New. - (sbr_sparse_bitmap::bitmap_get_quad): New. - (sbr_sparse_bitmap::set_bb_range): New. - (sbr_sparse_bitmap::get_bb_range): New. - (sbr_sparse_bitmap::bb_range_p): New. - (block_range_cache::block_range_cache): initialize bitmap obstack. - (block_range_cache::~block_range_cache): Destruct obstack. - (block_range_cache::set_bb_range): Decide when to utilze the - sparse on entry cache. - * gimple-range-cache.h (block_range_cache): Add bitmap obstack. - * params.opt (-param=evrp-sparse-threshold): New. - -2021-06-07 Andrew MacLeod - - * bitmap.c (bitmap_set_aligned_chunk): New. - (bitmap_get_aligned_chunk): New. - (test_aligned_chunk): New. - (bitmap_c_tests): Call test_aligned_chunk. - * bitmap.h (bitmap_set_aligned_chunk, bitmap_get_aligned_chunk): New. - -2021-06-07 Uroš Bizjak - - PR target/100637 - * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate): - Handle V4QI mode. - (ix86_expand_vector_init_one_nonzero): Ditto. - (ix86_expand_vector_init_one_var): Ditto. - (ix86_expand_vector_init_general): Ditto. - * config/i386/mmx.md (vec_initv4qiqi): New expander. - -2021-06-07 Jeff Law - - * config/h8300/movepush.md: Change most _clobber_flags - patterns to instead use subst. - (movsi_cczn): New pattern with usable CC cases split out. - (movsi_h8sx_cczn): Likewise. - -2021-06-07 Martin Liska - - * common/common-target.def: Split long lines and replace them - with '\n\'. - * target.def: Likewise. - * doc/tm.texi: Re-generated. - -2021-06-07 Jakub Jelinek - - PR target/100887 - * fold-const.c (fold_read_from_vector): Return NULL if trying to - read from a CONSTRUCTOR with vector type elements. - -2021-06-07 Jakub Jelinek - - PR middle-end/100898 - * tree-inline.c (copy_bb): Only use gimple_call_arg_ptr if memcpy - should copy any arguments. Don't call gimple_call_num_args - on id->call_stmt or call_stmt more than once. - -2021-06-07 liuhongt - - PR target/100885 - * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): Refine - constraints. - (v4siv4di2): Delete constraints for define_expand. - -2021-06-07 liuhongt - - PR target/82735 - * config/i386/i386-expand.c (ix86_expand_builtin): Remove - assignment of cfun->machine->has_explicit_vzeroupper. - * config/i386/i386-features.c - (ix86_add_reg_usage_to_vzerouppers): Delete. - (ix86_add_reg_usage_to_vzeroupper): Ditto. - (rest_of_handle_insert_vzeroupper): Remove - ix86_add_reg_usage_to_vzerouppers, add df_analyze at the end - of the function. - (gate): Remove cfun->machine->has_explicit_vzeroupper. - * config/i386/i386-protos.h (ix86_expand_avx_vzeroupper): - Declared. - * config/i386/i386.c (ix86_insn_callee_abi): New function. - (ix86_initialize_callee_abi): Ditto. - (ix86_expand_avx_vzeroupper): Ditto. - (ix86_hard_regno_call_part_clobbered): Adjust for vzeroupper - ABI. - (TARGET_INSN_CALLEE_ABI): Define as ix86_insn_callee_abi. - (ix86_emit_mode_set): Call ix86_expand_avx_vzeroupper - directly. - * config/i386/i386.h (struct GTY(()) machine_function): Delete - has_explicit_vzeroupper. - * config/i386/i386.md (enum unspec): New member - UNSPEC_CALLEE_ABI. - (ABI_DEFAULT,ABI_VZEROUPPER,ABI_UNKNOWN): New - define_constants for insn callee abi index. - * config/i386/predicates.md (vzeroupper_pattern): Adjust. - * config/i386/sse.md (UNSPECV_VZEROUPPER): Deleted. - (avx_vzeroupper): Call ix86_expand_avx_vzeroupper. - (*avx_vzeroupper): Rename to .. - (avx_vzeroupper_callee_abi): .. this, and adjust pattern as - call_insn which has a special vzeroupper ABI. - (*avx_vzeroupper_1): Deleted. - -2021-06-07 liuhongt - - PR target/82735 - * df-scan.c (df_get_call_refs): When call_insn is a fake call, - it won't use stack pointer reg. - * final.c (leaf_function_p): When call_insn is a fake call, it - won't affect caller as a leaf function. - * reg-stack.c (callee_clobbers_any_stack_reg): New. - (subst_stack_regs): When call_insn doesn't clobber any stack - reg, don't clear the arguments. - * rtl.c (shallow_copy_rtx): Don't clear flag used when orig is - a insn. - * shrink-wrap.c (requires_stack_frame_p): No need for stack - frame for a fake call. - * rtl.h (FAKE_CALL_P): New macro. - -2021-06-06 Eric Botcazou - - * config/sparc/sparc-protos.h (order_regs_for_local_alloc): Rename - to... - (sparc_order_regs_for_local_alloc): ...this. - (sparc_leaf_reg_remap): Declare. - * config/sparc/sparc.h (ADJUST_REG_ALLOC_ORDER): Adjust. - (LEAF_REG_REMAP): Reimplement as call to sparc_leaf_reg_remap. - * config/sparc/sparc.c (leaf_reg_remap): Delete. - (order_regs_for_local_alloc): Rename to... - (sparc_order_regs_for_local_alloc): ...this. - (sparc_leaf_reg_remap): New function. - (sparc_conditional_register_usage): Do not modify leaf_reg_remap. - -2021-06-06 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_aligned_decl_common): - Use assemble_name to output BSS section name. - -2021-06-06 Uroš Bizjak - - * config/i386/constraints.md (Bs): - Remove boolean operators from match_test RTX. - (Bw): Ditto. - (L): Ditto. - (M): Use "mode" variable instead of GET_MODE (op) in match_test RTX. - (Wz): Ditto. - -2021-06-06 Martin Liska - - * doc/extend.texi: Add missing @headitem. - * doc/invoke.texi: Likewise. - * doc/objc.texi: Likewise. - -2021-06-06 Martin Liska - - * genhooks.c (emit_findices): Remove unused function. - (emit_documentation): Do not call emit_findices - and do not search for @Fcode directives. - -2021-06-06 Martin Liska - - * doc/invoke.texi: Remove extra character. - -2021-06-05 Kewen Lin - - * config/sh/sh.md (doloop_end_split): Fix empty split condition. - -2021-06-05 Kewen Lin - - * config/sparc/sparc.md (*snedi_zero_vis3, - *neg_snedi_zero_subxc, *plus_snedi_zero, - *plus_plus_snedi_zero, *minus_snedi_zero, - *minus_minus_snedi_zero): Fix empty split condition. - -2021-06-05 Kewen Lin - - * config/or1k/or1k.md (*movdi): Fix empty split condition. - -2021-06-05 Kewen Lin - - * config/mips/mips.md (, bswapsi2, bswapdi2): Fix empty - split condition. - -2021-06-05 Kewen Lin - - * config/m68k/m68k.md (*zero_extend_inc, *zero_extend_dec, - *zero_extendsidi2): Fix empty split condition. - -2021-06-05 Jeff Law - - * config/h8300/addsub.md: Fix split condition in define_insn_and_split - patterns. - * config/h8300/bitfield.md: Likewise. - * config/h8300/combiner.md: Likewise. - * config/h8300/divmod.md: Likewise. - * config/h8300/extensions.md: Likewise. - * config/h8300/jumpcall.md: Likewise. - * config/h8300/movepush.md: Likewise. - * config/h8300/multiply.md: Likewise. - * config/h8300/other.md: Likewise. - * config/h8300/shiftrotate.md: Likewise. - * config/h8300/logical.md: Likewise. Fix split pattern to use - code iterator that somehow slipped through. - -2021-06-04 Tobias Burnus - - PR middle-end/100905 - * tree-nested.c (convert_nonlocal_omp_clauses, - convert_local_omp_clauses): Handle OMP_CLAUSE_BIND. - -2021-06-04 Martin Sebor - - PR middle-end/100732 - * gimple-fold.c (gimple_fold_builtin_sprintf): Avoid folding calls - with either source or destination argument of invalid type. - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Avoid checking - calls with arguments of invalid type. - -2021-06-04 Martin Sebor - - * attribs.c (init_attr_rdwr_indices): Use VLA bounds in the expected - order. - (attr_access::vla_bounds): Also handle VLA bounds. - -2021-06-04 Uroš Bizjak - - * config/i386/predicates.md (GOT_memory_operand): - Implement using match_code RTXes. - (GOT32_symbol_operand): Ditto. - -2021-06-04 Uroš Bizjak - - PR target/100637 - * config/i386/i386-expand.c (ix86_expand_vector_init_duplicate): - Handle V2HI mode. - (ix86_expand_vector_init_general): Ditto. - Use SImode instead of word_mode for logic operations - when GET_MODE_SIZE (mode) < UNITS_PER_WORD. - (expand_vec_perm_even_odd_1): Assert that V2HI mode should be - implemented by expand_vec_perm_1. - (expand_vec_perm_broadcast_1): Assert that V2HI and V4HI modes - should be implemented using standard shuffle patterns. - (ix86_vectorize_vec_perm_const): Handle V2HImode. Add V4HI and - V2HI modes to modes, implementable with shuffle for one operand. - * config/i386/mmx.md (*punpckwd): New insn_and_split pattern. - (*pshufw_1): New insn pattern. - (*vec_dupv2hi): Ditto. - (vec_initv2hihi): New expander. - -2021-06-04 Kewen Lin - - * config/arm/vfp.md (no_literal_pool_df_immediate, - no_literal_pool_sf_immediate): Fix empty split condition. - -2021-06-04 Kewen Lin - - * config/i386/i386.md (*load_tp_x32_zext, *add_tp_x32_zext, - *tls_dynamic_gnu2_combine_32): Fix empty split condition. - * config/i386/sse.md (*_pmovmskb_lt, - *_pmovmskb_zext_lt, *sse2_pmovmskb_ext_lt, - *_pblendvb_lt): Likewise. - -2021-06-04 Jakub Jelinek - - PR target/100887 - * config/i386/i386-expand.c (ix86_expand_vector_init): Handle - concatenation from half-sized modes with TImode elements. - -2021-06-04 Claudiu Zissulescu - - * config/arc/arc.c (arc_override_options): Disable millicode - thunks when RF16 is on. - -2021-06-04 Haochen Gui - - * config/rs6000/rs6000.h (PROMOTE_MODE): Remove. - -2021-06-04 Haochen Gui - - * config/rs6000/rs6000-call.c (rs6000_promote_function_mode): - Replace PROMOTE_MODE marco with its content. - -2021-06-03 Kewen Lin - - * config/cris/cris.md (*addi_reload): Fix empty split condition. - -2021-06-03 Jim Wilson - - * config.gcc (riscv*-*-*): If --with-riscv-attribute not used, - turn it on for all riscv targets. - -2021-06-03 Uroš Bizjak - - PR target/100637 - * config/i386/i386-expand.c (ix86_expand_vector_set): - Handle V2HI and V4QI modes. - (ix86_expand_vector_extract): Ditto. - * config/i386/mmx.md (*pinsrw): New insn pattern. - (*pinsrb): Ditto. - (*pextrw): Ditto. - (*pextrw_zext): Ditto. - (*pextrb): Ditto. - (*pextrb_zext): Ditto. - (vec_setv2hi): New expander. - (vec_extractv2hihi): Ditto. - (vec_setv4qi): Ditto. - (vec_extractv4qiqi): Ditto. - (vec_setv8qi): Enable only for TARGET_SSE4_1. - (vec_extractv8qiqi): Ditto. - -2021-06-03 Aaron Sawdey - - * config/rs6000/genfusion.pl (gen_logical_addsubf): Fix input - order to subf instruction. - * config/rs6000/fusion.md: Regenerate. - -2021-06-03 Aldy Hernandez - - * calls.c (get_size_range): Use range_of_expr instead of - determine_value_range. - * tree-affine.c (expr_to_aff_combination): Same. - * tree-data-ref.c (split_constant_offset): Same. - * tree-vrp.c (determine_value_range_1): Remove. - (determine_value_range): Remove. - * tree-vrp.h (determine_value_range): Remove. - -2021-06-03 Aldy Hernandez - - * function-tests.c (test_ranges): Call gimple_range_tests. - * gimple-range-cache.cc (ranger_cache::range_of_expr): Pass stmt - to get_tree_range. - * gimple-range.cc (fur_source::get_operand): Do not call - get_tree_range or gimple_range_global. - get_tree_range. - (get_tree_range): Move to value-query.cc. - Call get_arith_expr_range. - (gimple_ranger::range_of_expr): Add argument to get_tree_range. - Include gimple-range-tests.cc. - * gimple-range.h (fold_range): Add argument. - (get_tree_range): Remove. - * selftest.h (gimple_range_tests): New. - * value-query.cc (global_range_query::range_of_expr): Add - stmt argument. - (range_query::get_tree_range): Move from gimple-range.cc. - * value-query.h (class range_query): Add get_tree_range and - get_arith_expr_range. Make fur_source a friend. - * vr-values.c (vr_values::range_of_expr): Pass stmt to - get_tree_range. - * gimple-range-tests.cc: New file. - -2021-06-03 Aldy Hernandez - - * gimple-range.cc (gimple_ranger::export_global_ranges): Call - update_global_range. - * value-query.cc (update_global_range): New. - * value-query.h (update_global_range): New. - -2021-06-03 David Malcolm - - * diagnostic-show-locus.c (diagnostic_show_locus): Don't reject - printing the same location twice if there are fix-it hints, - multiple locations, or a label. - -2021-06-03 Andre Vieira - - * tree-vect-loop.c (vect_transform_loop): Use main loop's various' - thresholds to narrow the upper bound on epilogue iterations. - -2021-06-03 Christophe Lyon - - * config/arm/mve.md (mve_vabsq_f): Use 'abs' instead of unspec. - (mve_vabsq_s): Likewise. - * config/arm/neon.md (abs2): Rename to neon_abs2. - * config/arm/unspecs.md (VABSQ_F, VABSQ_S): Delete. - * config/arm/vec-common.md (neg2): Rename to - 2. - -2021-06-03 Claudiu Zissulescu - - * common/config/arc/arc-common.c (arc_option_optimization_table): - Remove malign-call. - * config/arc/arc.c (arc_unalign_branch_p): Remove unused function. - * config/arc/arc.h (TARGET_MIXED_CODE): Remove macro. - (INDEX_REG_CLASS): Only refer to GENERAL_REGS. - * config/arc/arc.md (abssi2_mixed): Remove pattern. - * config/arc/arc.opt (munalign-prob-threshold): Mark it obsolete. - (malign-call): Likewise. - (mmixed-code): Likewise. - * doc/invoke.texi (ARC): Update doc. - -2021-06-03 Martin Liska - - * common.opt: Use proper Enum values. - * opts.c (COVERAGE_SANITIZER_OPT): Remove. - (parse_sanitizer_options): Handle only sanitizer_opts. - (common_handle_option): Just assign value. - -2021-06-03 Eric Botcazou - - PR ipa/99122 - * tree-inline.c (inline_forbidden_p): Remove test on return type. - -2021-06-03 Eric Botcazou - - * dwarf2out.c (loc_list_from_tree_1) : Also generate - DW_OP_GNU_variable_value referencing an existing DIE at file scope. - (type_byte_size): Inline into... - (add_byte_size_attribute): ...this and call add_scalar_info. - -2021-06-03 Eric Botcazou - - * dwarf2out.c (mem_loc_descriptor) : Fix typo. - (typed_binop_from_tree): New function. - (loc_list_from_tree_1) : For an unsigned type, - turn a divide by a power of 2 into a shift. - : For an unsigned type, use a signed divide if the - size of the mode is lower than DWARF2_ADDR_SIZE; otherwise, do a - typed divide by calling typed_binop_from_tree. - -2021-06-03 Eric Botcazou - - * dwarf2out.c (scompare_loc_descriptor): Fix head comment. - (is_handled_procedure_type): Likewise. - (struct loc_descr_context): Add strict_signedness field. - (resolve_args_picking_1): Deal with DW_OP_[GNU_]deref_type, - DW_OP_[GNU_]convert and DW_OP_[GNU_]reinterpret. - (resolve_args_picking): Minor tweak. - (function_to_dwarf_procedure): Initialize strict_signedness field. - (type_byte_size): Likewise. - (field_byte_offset): Likewise. - (gen_descr_array_type_die): Likewise. - (gen_variant_part): Likewise. - (loc_list_from_tree_1) : Tidy up and set strict_signedness - to true when a context is present before evaluating the arguments. - : Do not generate a useless comparison with zero. - When dereferencing an address, if strict_signedness is true and the - type is small and signed, use DW_OP_deref_type to do the dereference - and then DW_OP_convert to convert back to the generic type. - -2021-06-03 Jakub Jelinek - - PR c++/100859 - * tree-inline.c (copy_tree_body_r): Handle iterators on - OMP_CLAUSE_AFFINITY or OMP_CLAUSE_DEPEND. - -2021-06-03 Kewen Lin - - * config/arc/arc.md (*bbit_di): Remove. - -2021-06-02 Christoph Muellner - - PR rtl-optimization/100264 - * ree.c (get_sub_rtx): Ignore SET expressions without register - destinations and remove assertion, as it is not valid anymore - with this new behaviour. - (merge_def_and_ext): Eliminate destination check for register - as such SET expressions can't occur anymore. - (combine_reaching_defs): Likewise. - -2021-06-02 Jakub Jelinek - - PR target/100841 - * config/xtensa/xtensa.h (LEAF_REG_REMAP): Cast REGNO to int to avoid - -Wtype-limits warnings. - (DWARF_FRAME_REGISTER): Rewrite into ternary operator with addition - in operands to avoid -Wsign-compare warnings. - -2021-06-02 Pat Haugen - - * config/rs6000/rs6000-logue.c (rs6000_emit_prologue): Use - gen_frame_store. - -2021-06-02 Vineet Gupta - - * config/arc/arc.h (TARGET_CPU_DEFAULT): Change to hs38_linux. - -2021-06-02 Ilya Leoshkevich - - * config/s390/s390.md(*ashrdi3_31): Use a single - constraint. - * config/s390/subst.md(cconly_subst): Use a single constraint - in (match_scratch). - -2021-06-02 Martin Liska - - * ipa-icf.h: Use auto_vec for memory_access_types. - -2021-06-02 Jeff Law - - * config/h8300/h8300-protos.h (compute_a_shift_length): Drop unused - argument from prototype. - (output_logical_op): Add rtx_code argument. - (compute_logical_op_length): Likewise. - * config/h8300/h8300.c (h8300_and_costs): Pass additional argument - to compute_a_shift_length. - (output_logical_op); New argument with the rtx code rather than - extracting it from an operand. Handle QImode too. - (compute_logical_op_length): Similary. - (compute_a_shift_length): Drop unused argument. - * config/h8300/h8300.md (logicals): New code iterator. - * config/h8300/logical.md (3 expander): Combine - the "and" expander with the "ior"/"xor" expander. - (bclrmsx): Combine the QI/HI mode patterns. - (3 insns): Use code iterator rather than match_operator. - Handle QImode as well. Update call to output_logical_op and - compute_logical_op_length to pass in rtx_code - Fix split condition on all define_insn_and_split patterns. - (one_cmpl2): Use to support both clobbering - the flags and setting ZN via existing define_subst. - * config/h8300/shiftrotate.md: Drop unused argument from - calls to compute_a_shift_length. - Signed-off-by: Jeff Law - -2021-06-01 Andrew Pinski - - PR tree-optimization/25290 - * tree-ssa-phiopt.c (match_simplify_replacement): - New function. - (tree_ssa_phiopt_worker): Use match_simplify_replacement. - (two_value_replacement): Change the comment about - conditional_replacement. - (conditional_replacement): Delete. - -2021-06-01 Andrew Pinski - - PR tree-optimization/95481 - * tree-tailcall.c (find_tail_calls): Handle empty typed - return decls. - -2021-06-01 Andrew Pinski - - * gimplify.c (zero_sized_field_decl): Delete - (zero_sized_type): Delete - (gimplify_init_ctor_eval): Use is_empty_type instead - of zero_sized_field_decl. - (gimplify_modify_expr): Use is_empty_type instead of - zero_sized_type. - -2021-06-01 Jason Merrill - - PR c++/91859 - * tree.h (CALL_FROM_NEW_OR_DELETE_P): Adjust comment. - -2021-06-01 Jason Merrill - - PR c++/94492 - * diagnostic.h (warning_enabled_at): Declare. - * diagnostic.c (diagnostic_enabled): Factor out from... - (diagnostic_report_diagnostic): ...here. - (warning_enabled_at): New. - -2021-06-01 Aldy Hernandez - - * gimple-ssa-evrp.c: Enable exporting of global ranges. - -2021-06-01 Martin Liska - - PR other/100826 - * doc/invoke.texi: Mention that -fgcse-after-reload - is enabled with -O3. - -2021-06-01 liuhongt - - PR tree-optimization/98365 - * tree-if-conv.c (strip_nop_cond_scalar_reduction): New function. - (is_cond_scalar_reduction): Handle nop_expr in cond scalar reduction. - (convert_scalar_cond_reduction): Ditto. - (predicate_scalar_phi): Ditto. - -2021-06-01 Andrew MacLeod - - PR tree-optimization/100781 - * gimple-range-cache.cc (ranger_cache::ranger_cache): Enable new - value calculation by default. - (ranger_cache::enable_new_values): New. - (ranger_cache::disable_new_values): New. - (ranger_cache::push_poor_value): Check if new values are allowed. - * gimple-range-cache.h (class ranger_cache): New member/methods. - * gimple-range.cc (gimple_ranger::range_of_expr): Check for debug - statement, and disable/renable new value calculation. - -2021-06-01 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ssa_range_in_bb): Delete. - (ranger_cache::range_of_def): New. - (ranger_cache::entry_range): New. - (ranger_cache::exit_range): New. - (ranger_cache::range_of_expr): Adjust. - (ranger_cache::range_on_edge): Adjust. - (ranger_cache::propagate_cache): Call exit_range directly. - * gimple-range-cache.h (class ranger_cache): Adjust. - -2021-06-01 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust for - gori_compute being a member rather than base class. - dervied call to member call. - (ranger_cache::dump): No longer dump gori_map. - (ranger_cache::dump_bb): New. - (ranger_cache::get_non_stale_global_range): Adjust for gori_compute - being a member rather than base class. - (ranger_cache::set_global_range): Ditto. - (ranger_cache::ssa_range_in_bb): Ditto. - (ranger_cache::range_of_expr): New. - (ranger_cache::range_on_edge): New. - (ranger_cache::block_range): Adjust for gori_computes. Debug changes. - (ranger_cache::propagate_cache): Adjust debugging output. - (ranger_cache::fill_block_cache): Adjust for gori_computes. Debug - output changes. - * gimple-range-cache.h (class ranger_cache): Make gori_compute a - member, and inherit from range_query instead. - (ranger_cache::dump_bb): New. split from dump. - * gimple-range-gori.cc (gori_compute::ssa_range_in_bb): Delete. - (gori_compute::expr_range_at_stmt): Delete. - (gori_compute::compute_name_range_op): Delete. - (gori_compute::compute_operand_range_switch): Add fur_source. - (gori_compute::compute_operand_range): Add fur_source param, inline - old compute_name_range_op and optimize_logical_operands. - (struct tf_range): Delete. - (gori_compute::logical_combine): Adjust - (gori_compute::optimize_logical_operands): Delete. - (gori_compute::compute_logical_operands_in_chain): Delete. - (gori_compute::compute_logical_operands): Adjust. - (gori_compute::compute_operand1_range): Adjust to fur_source. - (gori_compute::compute_operand2_range): Ditto. - (gori_compute::compute_operand1_and_operand2_range): Ditto. - (gori_compute::outgoing_edge_range_p): Add range_query parameter, - and adjust to fur_source. - * gimple-range-gori.h (class gori_compute): Simplify and adjust to - range_query and fur_source. - * gimple-range.cc (gimple_ranger::range_on_edge): Query range_on_edge - from the ranger_cache.. - (gimple_ranger::fold_range_internal): Adjust to base class change of - ranger_cache. - (gimple_ranger::dump_bb): Adjust dump. - * gimple-range.h (gimple_ranger):export gori computes object. - -2021-06-01 Andrew MacLeod - - PR tree-optimization/100774 - * gimple-range-cache.cc (ranger_cache::get_non_stale_global_range): - Constant values are also not stale. - (ranger_cache::set_global_range): Range invariant values should also - have the correct timestamp. - -2021-05-31 Martin Liska - - * tree-streamer-in.c (unpack_ts_function_decl_value_fields): - Unpack FUNCTION_DECL_DECL_TYPE. - * tree-streamer-out.c (pack_ts_function_decl_value_fields): - Stream FUNCTION_DECL_DECL_TYPE instead of - DECL_IS_OPERATOR_NEW_P. - * tree.h (set_function_decl_type): Use FUNCTION_DECL_DECL_TYPE - macro. - (DECL_IS_OPERATOR_NEW_P): Likewise. - (DECL_IS_OPERATOR_DELETE_P): Likewise. - (DECL_LAMBDA_FUNCTION_P): Likewise. - -2021-05-31 Richard Biener - - PR c++/88601 - * internal-fn.c (expand_SHUFFLEVECTOR): Define. - * internal-fn.def (SHUFFLEVECTOR): New. - * internal-fn.h (expand_SHUFFLEVECTOR): Declare. - * doc/extend.texi: Document __builtin_shufflevector. - -2021-05-31 Peter Bergner - - PR target/99842 - * config/rs6000/predicates.md(mma_assemble_input_operand): Allow - indexed form addresses. - -2021-05-29 Jeff Law - - * config/h8300/h8300.c (h8300_emit_stack_adjustment): Drop unused - parameter. Call callers fixed. - (push): Likewise. - (output_plussi): Add FALLTHRU markers. - (h8300_shift_needs_scratch_p): Add gcc_unreachable marker. - -2021-05-29 Jakub Jelinek - - PR middle-end/99928 - * gimplify.c (gimplify_scan_omp_clauses): For taskloop simd - combined with parallel, make sure to add shared clause to - parallel for explicit linear clause. - -2021-05-29 Aldy Hernandez - - PR tree-optimization/100787 - * gimple-ssa-evrp.c: Disable exporting of global ranges. - -2021-05-28 Jason Merrill - - * tree-iterator.h (struct tree_stmt_iterator): Add operator++, - operator--, operator*, operator==, and operator!=. - (class tsi_range): New. - -2021-05-28 Richard Biener - - PR tree-optimization/100778 - * tree-vect-slp.c (vect_build_slp_tree_1): Prevent possibly - trapping ops in different BBs. - -2021-05-28 Richard Biener - - PR ipa/100791 - * tree-inline.c (copy_bb): When processing __builtin_va_arg_pack - copy fntype from original call. - -2021-05-28 Martin Liska - - PR gcov-profile/100751 - * doc/gcov.texi: Revert partially a hunk that was wrong. - -2021-05-28 Cooper Qu - - * config/csky/csky-linux-elf.h (HAVE_sync_compare_and_swapqi): - Defined. - (HAVE_sync_compare_and_swaphi): Likewise. - (HAVE_sync_compare_and_swapsi): Likewise. - -2021-05-28 Jakub Jelinek - - PR middle-end/99928 - * tree.h (OMP_CLAUSE_MAP_IMPLICIT): Define. - -2021-05-28 Tobias Burnus - - * gimplify.c (gimplify_omp_affinity): New. - (gimplify_scan_omp_clauses): Call it; remove affinity clause afterwards. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_AFFINITY. - * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_AFFINITY. - * tree.c (omp_clause_num_ops, omp_clause_code_name): Add clause. - (walk_tree_1): Handle OMP_CLAUSE_AFFINITY. - -2021-05-28 Joern Rennecke - Richard Biener - - * match.pd : - When generating popcount directly fails, try doing it in two halves. - -2021-05-28 Bernd Edlinger - - * Makefile.in (generated_files): Add gimple-match.c and - generic-match.c - -2021-05-28 Joern Rennecke - - * gensupport.c (alter_predicate_for_insn): Handle MATCH_DUP. - -2021-05-28 Joern Rennecke - - * gensupport.c (alter_constraints): Add MATCH_SCRATCH case. - -2021-05-28 Kewen Lin - - PR tree-optimization/99398 - * tree-ssa-forwprop.c (simplify_permutation): Optimize some cases - where the fed operands are CTOR/CST and propagated through - VIEW_CONVERT_EXPR. Call vec_perm_indices::new_shrunk_vector. - * vec-perm-indices.c (vec_perm_indices::new_shrunk_vector): New - function. - * vec-perm-indices.h (vec_perm_indices::new_shrunk_vector): New - declare. - -2021-05-27 Uroš Bizjak - - * config/i386/mmx.md (addv2sf3): Do not call - ix86_fixup_binary_operands_no_copy. - (subv2sf3): Ditto. - (mulv2sf3): Ditto. - (v2sf3): Ditto. - (3): Ditto. - (3): Remove expander. - (3): Rename from - "*3". - (mulv4hi): Do not call ix86_fixup_binary_operands_no_copy. - (mulv2hi3): Remove expander. - (mulv2hi3): Rename from *mulv2hi3. - (mulv2hi3_highpart): Remove expander. - (mulv2hi3_highpart): Rename from *mulv2hi3_highpart. - (3): Rename from - "*mmx_3". - (3): Remove expander. - (SMAXMIN_MMXMODEI): Remove mode iterator. - (v4hi3): New expander. - (v4qi3): Rename from *v4qi3. - (v2hi3): Rename from *v2hi3. - (3): Remove expander. - (SMAXMIN_VI_32): Remove mode iterator. - (3): Rename from - "*mmx_3". - (3): Remove expander. - (UMAXMIN_MMXMODEI): Remove mode iterator. - (v8qi3): New expander. - (v4qi3): Rename from *v4qi3. - (v2hi3): Rename from *v2hi3. - (3): Remove expander. - (UMAXMIN_VI_32): Remove mode iterator. - (v2hi3): Remove expander. - (v2hi3): Rename from *v2hi3. - (3): Do not call - ix86_fixup_binary_operands_no_copy. - (3): Remove expander. - (3): Rename from - "*3". - (uavg3_ceil): Do not call ix86_fixup_binary_operands_no_copy. - * config/i386/sse.md (div3): Do not call - ix86_fixup_binary_operands_no_copy. - (div3): Ditto. - (3): Ditto. - (smulhrsv4hi3): Ditto. - (smulhrsv2hi3): Ditto. - -2021-05-27 Martin Sebor - - * ggc.h (gt_ggc_mx): Add overloads for all integers. - (gt_pch_nx): Same. - * hash-map.h (class hash_map): Add pch_nx_helper overloads for all - integers. - (hash_map::operator==): New function. - -2021-05-27 Uroš Bizjak - - PR target/100637 - * config/i386/i386-expand.c (ix86_expand_int_sse_cmp): - For TARGET_XOP bypass SSE comparisons for all supported vector modes. - * config/i386/mmx.md (*xop_maskcmp3): New insn pattern. - (*xop_maskcmp3): Ditto. - (*xop_maskcmp_uns3): Ditto. - (*xop_maskcmp_uns3): Ditto. - -2021-05-27 Richard Earnshaw - - PR target/100767 - * config/arm/arm.c (arm_configure_build_target): Remove parameter - opts_set, directly check opts parameters for being non-null. - (arm_option_restore): Update call to arm_configure_build_target. - (arm_option_override): Likewise. - (arm_can_inline_p): Likewise. - (arm_valid_target_attribute_tree): Likewise. - * config/arm/arm-c.c (arm_pragma_target_parse): Likewise. - * config/arm/arm-protos.h (arm_configure_build_target): Adjust - prototype. - -2021-05-27 Aldy Hernandez - - * vr-values.c (simplify_conversion_using_ranges): Use - get_range_query instead of get_global_range_query. - -2021-05-27 Aldy Hernandez - - * gimple-range.cc (get_range_global): Move to value-query.cc. - (gimple_range_global): Same. - (get_global_range_query): Same. - (global_range_query::range_of_expr): Same. - * gimple-range.h (class global_range_query): Move to - value-query.h. - (gimple_range_global): Same. - * tree-ssanames.c (get_range_info): Move to value-query.cc. - (get_ptr_nonnull): Same. - * tree-ssanames.h (get_range_info): Remove. - (get_ptr_nonnull): Remove. - * value-query.cc (get_ssa_name_range_info): Move from - tree-ssanames.c. - (get_ssa_name_ptr_info_nonnull): Same. - (get_range_global): Move from gimple-range.cc. - (gimple_range_global): Same. - (get_global_range_query): Same. - (global_range_query::range_of_expr): Same. - * value-query.h (class global_range_query): Move from - gimple-range.h. - (gimple_range_global): Same. - -2021-05-27 Uroš Bizjak - - PR target/100637 - * config/i386/mmx.md (uavgv4qi3_ceil): New insn pattern. - (uavgv2hi3_ceil): Ditto. - -2021-05-26 Eric Botcazou - - PR c/100653 - * doc/extend.texi (scalar_storage_order): Rephrase slightly. - -2021-05-26 Aldy Hernandez - - * tree-ssanames.c (get_range_info): Merge both copies of - get_range_info into one that works with irange. - * tree-ssanames.h (get_range_info): Remove version that works on - wide_ints. - -2021-05-26 Aldy Hernandez - - * builtins.c (check_nul_terminated_array): Convert to get_range_query. - (expand_builtin_strnlen): Same. - (determine_block_size): Same. - * fold-const.c (expr_not_equal_to): Same. - * gimple-fold.c (size_must_be_zero_p): Same. - * gimple-match-head.c: Include gimple-range.h. - * gimple-pretty-print.c (dump_ssaname_info): Convert to get_range_query. - * gimple-ssa-warn-restrict.c - (builtin_memref::extend_offset_range): Same. - * graphite-sese-to-poly.c (add_param_constraints): Same. - * internal-fn.c (get_min_precision): Same. - * ipa-fnsummary.c (set_switch_stmt_execution_predicate): Same. - * ipa-prop.c (ipa_compute_jump_functions_for_edge): Same. - * match.pd: Same. - * tree-data-ref.c (split_constant_offset): Same. - (dr_step_indicator): Same. - * tree-dfa.c (get_ref_base_and_extent): Same. - * tree-scalar-evolution.c (iv_can_overflow_p): Same. - * tree-ssa-loop-niter.c (refine_value_range_using_guard): Same. - (determine_value_range): Same. - (record_nonwrapping_iv): Same. - (infer_loop_bounds_from_signedness): Same. - (scev_var_range_cant_overflow): Same. - * tree-ssa-phiopt.c (two_value_replacement): Same. - * tree-ssa-pre.c (insert_into_preds_of_block): Same. - * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Same. - * tree-ssa-strlen.c (handle_builtin_stxncpy_strncat): Same. - (get_range): Same. - (dump_strlen_info): Same. - (set_strlen_range): Same. - (maybe_diag_stxncpy_trunc): Same. - (get_len_or_size): Same. - (handle_integral_assign): Same. - * tree-ssa-structalias.c (find_what_p_points_to): Same. - * tree-ssa-uninit.c (find_var_cmp_const): Same. - * tree-switch-conversion.c (bit_test_cluster::emit): Same. - * tree-vect-patterns.c (vect_get_range_info): Same. - (vect_recog_divmod_pattern): Same. - * tree-vrp.c (intersect_range_with_nonzero_bits): Same. - (register_edge_assert_for_2): Same. - (determine_value_range_1): Same. - * tree.c (get_range_pos_neg): Same. - * vr-values.c (vr_values::get_lattice_entry): Same. - (vr_values::update_value_range): Same. - (simplify_conversion_using_ranges): Same. - -2021-05-26 Aldy Hernandez - - * gimple-ssa-warn-alloca.c (alloca_call_type): Use - get_range_query instead of query argument. - (pass_walloca::execute): Enable and disable global ranger. - -2021-05-26 Aldy Hernandez - - * gimple-ssa-evrp.c (rvrp_folder::rvrp_folder): Call - enable_ranger. - (rvrp_folder::~rvrp_folder): Call disable_ranger. - (hybrid_folder::hybrid_folder): Call enable_ranger. - (hybrid_folder::~hybrid_folder): Call disable_ranger. - -2021-05-26 Aldy Hernandez - - * function.c (allocate_struct_function): Set cfun->x_range_query. - * function.h (struct function): Declare x_range_query. - (get_range_query): New. - (get_global_range_query): New. - * gimple-range-cache.cc (ssa_global_cache::ssa_global_cache): - Remove call to safe_grow_cleared. - * gimple-range.cc (get_range_global): New. - (gimple_range_global): Move from gimple-range.h. - (get_global_range_query): New. - (global_range_query::range_of_expr): New. - (enable_ranger): New. - (disable_ranger): New. - * gimple-range.h (gimple_range_global): Move to gimple-range.cc. - (class global_range_query): New. - (enable_ranger): New. - (disable_ranger): New. - * gimple-ssa-evrp.c (evrp_folder::~evrp_folder): Rename - dump_all_value_ranges to dump. - * tree-vrp.c (vrp_prop::finalize): Same. - * value-query.cc (range_query::dump): New. - * value-query.h (range_query::dump): New. - * vr-values.c (vr_values::dump_all_value_ranges): Rename to... - (vr_values::dump): ...this. - * vr-values.h (class vr_values): Rename dump_all_value_ranges to - dump and make virtual. - -2021-05-26 Uroš Bizjak - - * config/i386/i386.c (ix86_autovectorize_vector_modes): - Add V4QImode and V16QImode for TARGET_SSE2. - * doc/sourcebuild.texi (Vector-specific attributes): - Add vect64 and vect32 description. - -2021-05-26 Bernd Edlinger - - * gimple-range-gori.cc (range_def_chain::register_dependency): - Resize m_def_chain when needed. - -2021-05-26 Christophe Lyon - - * config/arm/mve.md (mve_vaddvq_): Prefix with '@'. - * config/arm/neon.md (reduc_plus_scal_): Move to .. - * config/arm/vec-common.md: .. here. Add support for MVE. - -2021-05-26 Jakub Jelinek - - * config/epiphany/epiphany.c (epiphany_print_operand_address): Remove - register keywords. - * config/microblaze/microblaze.c (microblaze_legitimize_address, - call_internal1, - microblaze_option_override, print_operand): Likewise. - * config/microblaze/microblaze.md (call_internal_plt, - call_value_intern_plt, call_value_intern): Likewise. - * config/arm/aout.h (ASM_OUTPUT_ALIGN): Likewise. - * config/iq2000/iq2000.md (call_internal1, call_value_internal1, - call_value_multiple_internal1): Likewise. - * config/bfin/bfin.c (symbolic_reference_mentioned_p): Likewise. - -2021-05-26 Jan-Benedict Glaw - - * config/arc/arc.c (arc_address_cost, arc_print_operand_address, - arc_ccfsm_advance, symbolic_reference_mentioned_p, - arc_raw_symbolic_reference_mentioned_p): Remove register - keyword. - -2021-05-26 Jakub Jelinek - - PR libgomp/100573 - * omp-low.c: Include omp-offload.h. - (create_omp_child_function): If current_function_decl has - "omp declare target" attribute and is_gimple_omp_offloaded, - remove that attribute from the copy of attribute list and - add "omp target entrypoint" attribute instead. - (lower_omp_target): Mark .omp_data_sizes.* and .omp_data_kinds.* - variables for offloading if in omp_maybe_offloaded_ctx. - * omp-offload.c (pass_omp_target_link::execute): Nullify second - argument to GOMP_target_data_ext in offloaded code. - -2021-05-26 Geng Qi - - * config/csky/csky.c (csky_can_change_mode_class): Delete. - For csky, HF/SF mode use the low bits of VREGS. - -2021-05-26 Eric Botcazou - - * gimplify.c (gimplify_decl_expr): Do not clear TREE_READONLY on a - DECL which is a reference for OMP. - -2021-05-26 Martin Liska - - PR gcov-profile/100751 - * doc/gcov.texi: Document that __gcov_dump can be called just - once and that __gcov_reset resets run-time counters. - -2021-05-26 Martin Liska - - * doc/install.texi: Port relevant part from install-old.texi - and re-generate list of CPUs and systems. - -2021-05-26 Martin Liska - - * Makefile.in: Remove it. - * doc/include/fdl.texi: Update next/previous chapters. - * doc/install.texi: Likewise. - * doc/install-old.texi: Removed. - -2021-05-26 Geng Qi - - * config/csky/csky.c (ck810_legitimate_index_p): Support - "base + index" with DF mode. - * config/csky/constraints.md ("Y"): New constraint for memory operands - without index register. - * config/csky/csky_insn_fpuv2.md (fpuv3_movdf): Use "Y" instead of "m" - when mov between memory and general registers, and lower their priority. - * config/csky/csky_insn_fpuv3.md (fpuv2_movdf): Likewise. - -2021-05-26 Geng Qi - - * config/csky/csky.c (TARGET_PROMOTE_PROTOTYPES): Delete. - -2021-05-26 Geng Qi - - * config/csky/csky.md (untyped_call): Emit clobber for return - registers to mark them used. - -2021-05-26 Geng Qi - - * config/csky/csky.md (cskyv2_sextend_ldbs): New. - -2021-05-26 Andrew Pinski - - * match.pd (x < 0 ? ~y : y): New patterns. - -2021-05-26 Andrew Pinski - - * match.pd (A?CST1:CST2): Add simplifcations for A?0:+-1, A?+-1:0, - A?POW2:0 and A?0:POW2. - -2021-05-25 Andrew MacLeod - - * gimple-range-gori.cc (class logical_stmt_cache): Delete - (logical_stmt_cache::logical_stmt_cache ): Delete. - (logical_stmt_cache::~logical_stmt_cache): Delete. - (logical_stmt_cache::cache_entry::dump): Delete. - (logical_stmt_cache::get_range): Delete. - (logical_stmt_cache::cached_name ): Delete. - (logical_stmt_cache::same_cached_name): Delete. - (logical_stmt_cache::cacheable_p): Delete. - (logical_stmt_cache::slot_diagnostics ): Delete. - (logical_stmt_cache::dump): Delete. - (gori_compute_cache::gori_compute_cache): Delete. - (gori_compute_cache::~gori_compute_cache): Delete. - (gori_compute_cache::compute_operand_range): Delete. - (gori_compute_cache::cache_stmt): Delete. - * gimple-range-gori.h (gori_compute::compute_operand_range): Remove - virtual. - (class gori_compute_cache): Delete. - -2021-05-25 Andrew MacLeod - - * gimple-range.cc (fold_using_range::range_of_range_op): Use m_gori - intead of m_cache. - (fold_using_range::range_of_address): Adjust. - (fold_using_range::range_of_phi): Adjust. - * gimple-range.h (class fur_source): Adjust. - (fur_source::fur_source): Adjust. - -2021-05-25 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute::expr_range_at_stmt): Rename - from expr_range_in_bb and adjust. - (gori_compute::compute_name_range_op): Adjust. - (gori_compute::optimize_logical_operands): Adjust. - (gori_compute::compute_logical_operands_in_chain): Adjust. - (gori_compute::compute_operand1_range): Adjust. - (gori_compute::compute_operand2_range): Adjust. - (ori_compute_cache::cache_stmt): Adjust. - * gimple-range-gori.h (gori_compute): Rename prototype. - -2021-05-25 Andrew MacLeod - - * gimple-range.cc (gimple_ranger::range_of_expr): Non-null should be - checked only after range_of_stmt, not range_on_entry. - (gimple_ranger::range_on_entry): Check for non-null in any - predecessor block, if it is not already non-null. - (gimple_ranger::range_on_exit): DOnt check for non-null after - range on entry call. - (gimple_ranger::dump_bb): New. Split from dump. - (gimple_ranger::dump): Adjust. - * gimple-range.h (class gimple_ranger): Adjust. - -2021-05-25 Andrew MacLeod - - * gimple-range-cache.cc (struct range_timestamp): Delete. - (class temporal_cache): Adjust. - (temporal_cache::get_timestamp): Delete. - (temporal_cache::set_dependency): Delete. - (temporal_cache::temporal_value): Adjust. - (temporal_cache::current_p): Take dependencies as params. - (temporal_cache::set_timestamp): Adjust. - (temporal_cache::set_always_current): Adjust. - (ranger_cache::get_non_stale_global_range): Adjust. - (ranger_cache::register_dependency): Delete. - * gimple-range-cache.h (class range_cache): Adjust. - -2021-05-25 Andrew MacLeod - - * gimple-range-gori.cc (range_def_chain::range_def_chain): init - bitmap obstack. - (range_def_chain::~range_def_chain): Dispose of obstack rather than - each individual bitmap. - (range_def_chain::set_import): New. - (range_def_chain::get_imports): New. - (range_def_chain::chain_import_p): New. - (range_def_chain::register_dependency): Rename from build_def_chain - and set imports. - (range_def_chain::def_chain_in_bitmap_p): New. - (range_def_chain::add_def_chain_to_bitmap): New. - (range_def_chain::has_def_chain): Just check first depenedence. - (range_def_chain::get_def_chain): Process imports, use generic - register_dependency routine. - (range_def_chain::dump): New. - (gori_map::gori_map): Allocate import list. - (gori_map::~gori_map): Release imports. - (gori_map::exports): Check for past allocated block size. - (gori_map::imports): New. - (gori_map::def_chain_in_export_p): Delete. - (gori_map::is_import_p): New. - (gori_map::maybe_add_gori): Handle imports. - (gori_map::dump): Adjust output, add imports. - (gori_compute::has_edge_range_p): Remove def_chain_in_export call. - (gori_export_iterator::gori_export_iterator): New. - (gori_export_iterator::next): New. - (gori_export_iterator::get_name): New. - * gimple-range-gori.h (range_def_chain): Add imports and direct - dependecies via struct rdc. - (range_def_chain::depend1): New. - (range_def_chain::depend2): New. - (class gori_map): Adjust. - (FOR_EACH_GORI_IMPORT_NAME): New. - (FOR_EACH_GORI_EXPORT_NAME): New. - (class gori_export_iterator): New. - -2021-05-25 Andrew MacLeod - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Move initial - export cache filling to here. - * gimple-range-gori.cc (gori_compute::gori_compute) : From Here. - -2021-05-25 Andrew MacLeod - - * gimple-range-gori.cc (range_def_chain): Move to gimple-range-gori.h. - (gori_map): Move to gimple-range-gori.h. - (gori_compute::gori_compute): Adjust. - (gori_compute::~gori_compute): Delete. - (gori_compute::compute_operand_range_switch): Adjust. - (gori_compute::compute_operand_range): Adjust. - (gori_compute::compute_logical_operands): Adjust. - (gori_compute::has_edge_range_p ): Adjust. - (gori_compute::set_range_invariant): Delete. - (gori_compute::dump): Adjust. - (gori_compute::outgoing_edge_range_p): Adjust. - * gimple-range-gori.h (class range_def_chain): Relocate here. - (class gori_map): Relocate here. - (class gori_compute): Inherit from gori_map, and adjust. - -2021-05-25 Aldy Hernandez - - * value-range.cc (range_tests_legacy): Use - build_nonstandard_integer_type instead of int and short. - -2021-05-25 Eric Botcazou - - * gimplify.c (gimplify_decl_expr): Clear TREE_READONLY on the DECL - when really creating an initialization statement for it. - -2021-05-25 Eric Botcazou - - * tree-inline.c (setup_one_parameter): Fix thinko in new condition. - -2021-05-25 Kito Cheng - - * config/riscv/riscv.h (ASM_SPEC): Pass -mno-relax. - -2021-05-25 Martin Liska - - PR tree-optimization/92860 - PR target/99592 - * optc-save-gen.awk: Remove exceptions. - -2021-05-25 Martin Liska - - * asan.h (sanitize_coverage_p): New function. - * doc/extend.texi: Document it. - * fold-const.c (fold_range_test): Use sanitize_flags_p - instead of flag_sanitize_coverage. - (fold_truth_andor): Likewise. - * sancov.c: Likewise. - * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. - * ipa-inline.c (sanitize_attrs_match_for_inline_p): Handle - -fsanitize-coverage when inlining. - -2021-05-25 Cooper Qu - - * config/csky/csky-modes.def : Fix copyright. - -2021-05-25 Cooper Qu - - * config/csky/csky-modes.def : Amend copyright. - * config/csky/csky_insn_fpuv2.md : Likewise. - * config/csky/csky_insn_fpuv3.md : Likewise. - -2021-05-25 Richard Biener - - PR middle-end/100727 - * calls.c (initialize_argument_information): Explicitely test - for WITH_SIZE_EXPR. - * gimple-expr.c (mark_addressable): Skip outer WITH_SIZE_EXPR. - -2021-05-25 Geng Qi - - * config/csky/csky.h (FRAME_POINTER_REGNUM): Use - HARD_FRAME_POINTER_REGNUM and FRAME_POINTER_REGNUM instead of - the signle definition. The signle definition may not work well - at simplify_subreg_regno(). - (HARD_FRAME_POINTER_REGNUM): New. - (ELIMINABLE_REGS): Add for HARD_FRAME_POINTER_REGNUM. - * config/csky/csky.c (get_csky_live_regs, csky_can_eliminate, - csky_initial_elimination_offset, csky_expand_prologue, - csky_expand_epilogue): Add for HARD_FRAME_POINTER_REGNUM. - -2021-05-25 Geng Qi - - * config/csky/csky.c (csky_option_override): - Init csky_arch_isa_features[] in advance, so TARGET_DSP - and TARGET_DIV can be set well. - -2021-05-25 Geng Qi - - * config/csky/constraints.md ("l", "h"): Delete. - * config/csky/csky.h (reg_class, REG_CLASS_NAMES, - REG_CLASS_CONTENTS): Delete LO_REGS and HI_REGS. - * config/csky/csky.c (regno_reg_classm, - csky_secondary_reload, csky_register_move_cost): - Use HILO_REGS instead of LO_REGS and HI_REGS. - -2021-05-25 Geng Qi - - * config/csky/constraints.md ("W"): New constriant for mem operand - with base reg, index register. - ("Q"): Renamed and modified "csky_valid_fpuv2_mem_operand" to - "csky_valid_mem_constraint_operand" to deal with both "Q" and "W" - constraint. - ("Dv"): New constraint for const double value that can be used at - fmovi instruction. - * config/csky/csky-modes.def (HFmode): New mode. - * config/csky/csky-protos.h (csky_valid_fpuv2_mem_operand): Rename - to "csky_valid_mem_constraint_operand" and support new constraint - "W". - (csky_get_movedouble_length): New. - (fpuv3_output_move): New. - (fpuv3_const_double): New. - * config/csky/csky.c (csky_option_override): New arch CK860 with fpv3. - (decompose_csky_address): Refine. - (csky_print_operand): New "CONST_DOUBLE" operand. - (csky_output_move): Support fpv3 instructions. - (csky_get_movedouble_length): New. - (fpuv3_output_move): New. - (fpuv3_const_double): New. - (csky_emit_compare): Cover float comparsion. - (csky_emit_compare_float): Refine. - (csky_vaild_fpuv2_mem_operand): Rename to - "csky_valid_mem_constraint_operand" and support new constraint "W". - (ck860_rtx_costs): New. - (csky_rtx_costs): Add the cost calculation of CK860. - (regno_reg_class): New vregs for fpuv3. - (csky_dbx_regno): Likewise. - (csky_cpu_cpp_builtins): New builtin macro for fpuv3. - (csky_conditional_register_usage): Suporrot fpuv3. - (csky_dwarf_register_span): Suporrot fpuv3. - (csky_init_builtins, csky_mangle_type): Support "__fp16" type. - (ck810_legitimate_index_p): Support fp16. - * config/csky/csky.h (TARGET_TLS): ADD CK860. - (CSKY_VREG_P, CSKY_VREG_LO_P, CSKY_VREG_HI_P): Support fpuv3. - (TARGET_SINGLE_FPU): Support fpuv3. - (TARGET_SUPPORT_FPV3): New. - (FIRST_PSEUDO_REGISTER): Change to 202 to hold the new fpuv3 registers. - (FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS, REGISTER_NAMES, - REG_CLASS_CONTENTS): Support fpuv3. - * config/csky/csky.md (movsf): Move to cksy_insn_fpu.md and refine. - (csky_movsf_fpv2): Likewise. - (ck801_movsf): Likewise. - (csky_movsf): Likewise. - (movdf): Likewise. - (csky_movdf_fpv2): Likewise. - (ck801_movdf): Likewise. - (csky_movdf): Likewise. - (movsicc): Refine. Use "comparison_operatior" instead of - "ordered_comparison_operatior". - (addsicc): Likewise. - (CSKY_FIRST_VFP3_REGNUM, CSKY_LAST_VFP3_REGNUM): New constant. - (call_value_internal_vh): New. - * config/csky/csky_cores.def (CK860): New arch and cpu. - (fpv3_hf): New. - (fpv3_hsf): New. - (fpv3_sdf): New. - (fpv3): New. - * config/csky/csky_insn_fpu.md: Refactor. Separate all float patterns - into emit-patterns and match-patterns, remain the emit-patterns here, - and move the match-patterns to csky_insn_fpuv2.md or - csky_insn_fpuv3.md. - * config/csky/csky_insn_fpuv2.md: New file for fpuv2 instructions. - * config/csky/csky_insn_fpuv3.md: New file and new patterns for fpuv3 - isntructions. - * config/csky/csky_isa.def (fcr): New. - (fpv3_hi): New. - (fpv3_hf): New. - (fpv3_sf): New. - (fpv3_df): New. - (CK860): New definition for ck860. - * config/csky/csky_tables.opt (ck860): New processors ck860, - ck860f. And new arch ck860. - (fpv3_hf): New. - (fpv3_hsf): New. - (fpv3_hdf): New. - (fpv3): New. - * config/csky/predicates.md (csky_float_comparsion_operator): Delete - "geu", "gtu", "leu", "ltu", which will never appear at float comparison. - * config/csky/t-csky-elf: Support 860. - * config/csky/t-csky-linux: Likewise. - * doc/md.texi: Add "Q" and "W" constraints for C-SKY. - -2021-05-24 Aaron Sawdey - - * config/rs6000/genfusion.pl (gen_logical_addsubf): Refactor to - add generation of logical-add and add-logical fusion pairs. - * config/rs6000/rs6000-cpus.def: Add new fusion to ISA 3.1 mask - and powerpc mask. - * config/rs6000/rs6000.c (rs6000_option_override_internal): Turn on - logical-add and add-logical fusion by default. - * config/rs6000/rs6000.opt: Add -mpower10-fusion-logical-add and - -mpower10-fusion-add-logical options. - * config/rs6000/fusion.md: Regenerate file. - -2021-05-24 Aldy Hernandez - - * value-range.cc (irange::legacy_equal_p): Check type when - comparing VR_VARYING types. - (range_tests_legacy): Test comparing VARYING ranges of different - sizes. - -2021-05-24 Wilco Dijkstra - - * config/aarch64/aarch64.c (neoversen1_tunings): - Enable AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND. - -2021-05-24 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_classify_symbol): Use GOT for - extern weak symbols. Limit symbol offsets for non-GOT symbols with - PIC/PIE. - -2021-05-24 Christophe Lyon - - * config/arm/neon.md (vec_load_lanesxi) - (vec_store_lanexoi): Move ... - * config/arm/vec-common.md: here. - -2021-05-24 Christophe Lyon - - * config/arm/neon.md (vec_load_lanesoi) - (vec_store_lanesoi): Move ... - * config/arm/vec-common.md: here. - -2021-05-24 liuhongt - - PR target/100660 - * config/i386/i386.c (ix86_gimple_fold_builtin): Replacing - stmt with GIMPLE_NOP when lhs doesn't exist. - -2021-05-23 Uroš Bizjak - - PR target/100722 - * config/i386/mmx.md (*push2_rex64): - New instruction pattern. - (*push2): Ditto. - (push splitter for SSE registers): New splitter. - -2021-05-23 Andrew Pinski - - * match.pd ((A & C) != 0 ? D : 0): Limit to non pointer types. - -2021-05-22 Aaron Sawdey - - * config/rs6000/genfusion.pl (gen_addadd): Fix incorrect attr types. - * config/rs6000/fusion.md: Regenerate file. - -2021-05-21 Aaron Sawdey - - * config/rs6000/genfusion.pl (gen_addadd): New function. - * config/rs6000/fusion.md: Regenerate file. - * config/rs6000/rs6000-cpus.def: Add - OPTION_MASK_P10_FUSION_2ADD to masks. - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Handle default value of OPTION_MASK_P10_FUSION_2ADD. - * config/rs6000/rs6000.opt: Add -mpower10-fusion-2add. - -2021-05-21 Jakub Jelinek - - PR middle-end/99928 - * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET): Define. - * gimplify.c (enum gimplify_omp_var_data): Fix up - GOVD_MAP_HAS_ATTACHMENTS value, add GOVD_FIRSTPRIVATE_IMPLICIT. - (omp_lastprivate_for_combined_outer_constructs): If combined target - has GOVD_FIRSTPRIVATE_IMPLICIT set for the decl, change it to - GOVD_MAP | GOVD_SEEN. - (gimplify_scan_omp_clauses): Set GOVD_FIRSTPRIVATE_IMPLICIT for - firstprivate clauses with OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT. - (gimplify_adjust_omp_clauses): For firstprivate clauses with - OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT either clear that bit and - OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET too, or remove it and - let it be replaced by implicit map clause. - -2021-05-21 Jakub Jelinek - - PR middle-end/99928 - * gimplify.c (omp_lastprivate_for_combined_outer_constructs): New - function. - (gimplify_scan_omp_clauses) : Use it. - (gimplify_omp_for): Likewise. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * omp-low.c (oacc_privatization_candidate_p): Reject 'static', - 'external' in blocks. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * flag-types.h (enum openacc_privatization): New. - * params.opt (-param=openacc-privatization): New. - * doc/invoke.texi (openacc-privatization): Document it. - * omp-general.h (get_openacc_privatization_dump_flags): New - function. - * omp-low.c (oacc_privatization_candidate_p): Add diagnostics. - * omp-offload.c (execute_oacc_device_lower) - : Re-work diagnostics. - * target.def (goacc.adjust_private_decl): Add 'location_t' - parameter. - * doc/tm.texi: Regenerate. - * config/gcn/gcn-protos.h (gcn_goacc_adjust_private_decl): Adjust. - * config/gcn/gcn-tree.c (gcn_goacc_adjust_private_decl): Likewise. - * config/nvptx/nvptx.c (nvptx_goacc_adjust_private_decl): - Likewise. Preserve it for... - (nvptx_goacc_expand_var_decl): ... use here. - -2021-05-21 Thomas Schwinge - - * doc/sourcebuild.texi (Other attributes): Document '__OPTIMIZE__' - DejaGnu selector. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * omp-low.c (oacc_privatization_candidate_p): New function. - (oacc_privatization_scan_clause_chain) - (oacc_privatization_scan_decl_chain): Use it. Also - 'gcc_checking_assert' that we're not seeing duplicates. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * omp-offload.c (execute_oacc_device_lower): Skip processing if no - work to be done. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * omp-offload.c (execute_oacc_device_lower): Explain. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * omp-offload.c (execute_oacc_device_lower) - : Diagnose and handle for 'level == -1' - case, too. - * internal-fn.c (expand_UNIQUE): Don't expect - 'IFN_UNIQUE_OACC_PRIVATE'. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * omp-low.c (lower_omp_for): Don't evaluate OpenMP 'for' clauses. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * config/nvptx/nvptx.c (nvptx_goacc_adjust_private_decl) - (nvptx_goacc_expand_var_decl): Tighten. - -2021-05-21 Julian Brown - Chung-Lin Tang - Thomas Schwinge - - PR middle-end/90115 - * doc/tm.texi.in (TARGET_GOACC_EXPAND_VAR_DECL) - (TARGET_GOACC_ADJUST_PRIVATE_DECL): Add documentation hooks. - * doc/tm.texi: Regenerate. - * expr.c (expand_expr_real_1): Expand decls using the - expand_var_decl OpenACC hook if defined. - * internal-fn.c (expand_UNIQUE): Handle IFN_UNIQUE_OACC_PRIVATE. - * internal-fn.h (IFN_UNIQUE_CODES): Add OACC_PRIVATE. - * omp-low.c (omp_context): Add oacc_privatization_candidates - field. - (lower_oacc_reductions): Add PRIVATE_MARKER parameter. Insert - before fork. - (lower_oacc_head_tail): Add PRIVATE_MARKER parameter. Modify - private marker's gimple call arguments, and pass it to - lower_oacc_reductions. - (oacc_privatization_scan_clause_chain) - (oacc_privatization_scan_decl_chain, lower_oacc_private_marker): - New functions. - (lower_omp_for, lower_omp_target, lower_omp_1): Use these. - * omp-offload.c (convert.h): Include. - (oacc_loop_xform_head_tail): Treat private-variable markers like - fork/join when transforming head/tail sequences. - (struct var_decl_rewrite_info): Add struct. - (oacc_rewrite_var_decl, is_sync_builtin_call): New functions. - (execute_oacc_device_lower): Support rewriting gang-private - variables using target hook, and fix up addr_expr and var_decl - nodes afterwards. - * target.def (adjust_private_decl, expand_var_decl): New hooks. - * config/gcn/gcn-protos.h (gcn_goacc_adjust_gangprivate_decl): - Rename to... - (gcn_goacc_adjust_private_decl): ...this. - * config/gcn/gcn-tree.c (gcn_goacc_adjust_gangprivate_decl): - Rename to... - (gcn_goacc_adjust_private_decl): ...this. Add LEVEL parameter. - * config/gcn/gcn.c (TARGET_GOACC_ADJUST_GANGPRIVATE_DECL): Rename - definition using gcn_goacc_adjust_gangprivate_decl... - (TARGET_GOACC_ADJUST_PRIVATE_DECL): ...to this, using - gcn_goacc_adjust_private_decl. - * config/nvptx/nvptx.c (tree-pretty-print.h): Include. - (gang_private_shared_size): New global variable. - (gang_private_shared_align): Likewise. - (gang_private_shared_sym): Likewise. - (gang_private_shared_hmap): Likewise. - (nvptx_option_override): Initialize these. - (nvptx_file_end): Output gang_private_shared_sym. - (nvptx_goacc_adjust_private_decl, nvptx_goacc_expand_var_decl): - New functions. - (nvptx_set_current_function): Clear gang_private_shared_hmap. - (TARGET_GOACC_ADJUST_PRIVATE_DECL): Define hook. - (TARGET_GOACC_EXPAND_VAR_DECL): Likewise. - -2021-05-21 H.J. Lu - - * config/i386/i386-modes.def (MAX_BITSIZE_MODE_ANY_INT): Removed. - -2021-05-21 Richard Biener - H.J. Lu - - PR middle-end/90773 - * expr.c (expand_constructor): Elide expand_constructor if - move by pieces is preferred. - -2021-05-21 Kyrylo Tkachov - - * config/aarch64/aarch64-builtins.c (aarch64_call_properties): - Take a flag and mode value as arguments. - (aarch64_modifies_global_state_p): Likewise. - (aarch64_reads_global_state_p): Likewise. - (aarch64_could_trap_p): Likewise. - (aarch64_get_attributes): Likewise. - (aarch64_init_simd_builtins): Adjust callsite of above. - (aarch64_init_fcmla_laneq_builtins): Use aarch64_get_attributes to get - function attributes to apply to builtins. - (aarch64_init_crc32_builtins): Likewise. - (aarch64_init_builtin_rsqrt): Likewise. - -2021-05-21 Aaron Sawdey - - * config/rs6000/rs6000.md (define_attr "type"): Add types for fusion. - * config/rs6000/genfusion.pl (gen_ld_cmpi_p10): Use new fusion types. - (gen_2logical): Use new fusion types. - * config/rs6000/fusion.md: Regenerate. - -2021-05-21 Uroš Bizjak - - PR target/100637 - * config/i386/i386-expand.c (ix86_expand_sse_movcc): - Handle V4QI and V2HI modes. - (ix86_expand_sse_movcc): Ditto. - * config/i386/mmx.md (*3): - New instruction pattern. - (*eq3): Ditto. - (*gt3): Ditto. - (*xop_pcmov_): Ditto. - (mmx_pblendvb32): Ditto. - (mmx_pblendvb64): Rename from mmx_pblendvb. - (vec_cmp): New expander. - (vec_cmpu): Ditto. - (vcond): Ditto. - (vcondu): Ditto. - (vcond_mask_): Ditto. - -2021-05-21 Jakub Jelinek - - PR tree-optimization/94589 - * tree-ssa-phiopt.c (spaceship_replacement): For integral rhs1 and - rhs2, treat x <= 4 equivalently to x < 5 etc. In cmp1 and cmp2 (if - not the same as cmp3) treat <= the same as < and >= the same as >. - Don't require that cond2_phi_edge is true edge, instead take - false/true edges into account based on cmp1/cmp2 comparison kinds. - -2021-05-21 Uroš Bizjak - - PR target/100637 - * config/i386/mmx.md (SMAXMIN_MMXMODEI): New mode iterator. - (3): Macroize expander - from v4hi3> and 3 - using SMAXMIN_MMXMODEI mode iterator. - (*v4qi3): New insn pattern. - (*v2hi3): Ditto. - (SMAXMIN_VI_32): New mode iterator. - (mode3): New expander. - (UMAXMIN_MMXMODEI): New mode iterator. - (3): Macroize expander - from v8qi3> and 3 - using UMAXMIN_MMXMODEI mode iterator. - (*v4qi3): New insn pattern. - (*v2hi3): Ditto. - (UMAXMIN_VI_32): New mode iterator. - (mode3): New expander. - (abs2): New insn pattern. - (ssse3_abs2, abs2): Move from ... - * config/i386/sse.md: ... here. - -2021-05-20 Clement Chigot - David Edelsohn - - * collect2.c (scan_prog_file): Issue non-fatal warning for - non-COFF files. - -2021-05-20 Jonathan Wakely - - * doc/invoke.texi (-Wno-c++11-extensions) - (-Wno-c++14-extensions, -Wno-c++17-extensions) - (-Wno-c++20-extensions, -Wno-c++23-extensions): Document - new options. - -2021-05-20 Indu Bhagat - - * config/c6x/c6x.c (c6x_output_file_unwind): Use dwarf_debuginfo_p. - * config/darwin.c (darwin_override_options): Likewise. - * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise. - * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise. - (DWARF2_FRAME_REG_OUT): Likewise. - * config/mips/mips.c (mips_output_filename): Likewise. - * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): - Likewise. - (rs6000_dbx_register_number): Likewise. - * dbxout.c: Include flags.h. - * dwarf2cfi.c (cfi_label_required_p): Likewise. - (dwarf2out_do_frame): Likewise. - * except.c: Include flags.h. - * final.c (dwarf2_debug_info_emitted_p): Likewise. - (final_scan_insn_1): Likewise. - * flags.h (dwarf_debuginfo_p): New function declaration. - * opts.c (dwarf_debuginfo_p): New function definition. - * targhooks.c (default_debug_unwind_info): Use dwarf_debuginfo_p. - * toplev.c (process_options): Likewise. - -2021-05-20 Indu Bhagat - - * common.opt: Change type to support bitmasks. - * flag-types.h (enum debug_info_type): Rename enumerator constants. - (NO_DEBUG): New bitmask. - (DBX_DEBUG): Likewise. - (DWARF2_DEBUG): Likewise. - (XCOFF_DEBUG): Likewise. - (VMS_DEBUG): Likewise. - (VMS_AND_DWARF2_DEBUG): Likewise. - * flags.h (debug_set_to_format): New function declaration. - (debug_set_count): Likewise. - (debug_set_names): Likewise. - * opts.c (debug_type_masks): Array of bitmasks for debug formats. - (debug_set_to_format): New function definition. - (debug_set_count): Likewise. - (debug_set_names): Likewise. - (set_debug_level): Update access to debug_type_names. - * toplev.c: Likewise. - -2021-05-20 Martin Sebor - - PR middle-end/100684 - * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Handle C++ lambda. - -2021-05-20 Uroš Bizjak - - PR target/100701 - * config/i386/i386.md (isa): Remove x64_bmi. - (enabled): Remove x64_bmi. - * config/i386/mmx.md (mmx_andnot3): - Remove general register alternative. - (*andnot3): Ditto. - (*mmx_3): Ditto. - (*3): Ditto. - -2021-05-20 Kewen Lin - - * config/arm/arm.c: Include head files tree-vectorizer.h and - cfgloop.h. - -2021-05-20 Uroš Bizjak - - PR target/100637 - * config/i386/mmx.md (Yv_Yw): Revert adding V4QI and V2HI modes. - (*3): Use Yw instad of constrint. - (mulv4hi3_highpart): New expander. - (*mulv2hi3_highpart): New insn pattern. - (mulv2hi3_higpart): New expander. - (*v2hi3): New insn pattern. - (v2hi3): New expander. - * config/i386/sse.md (smulhrsv2hi3): New expander. - (*smulhrsv2hi3): New insn pattern. - -2021-05-20 Kewen Lin - - * doc/invoke.texi (vect-inner-loop-cost-factor): Document new - parameter. - * params.opt (vect-inner-loop-cost-factor): New. - * targhooks.c (default_add_stmt_cost): Replace hardcoded factor - 50 with LOOP_VINFO_INNER_LOOP_COST_FACTOR, include head file - tree-vectorizer.h and its required ones. - * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Replace - hardcoded factor 50 with LOOP_VINFO_INNER_LOOP_COST_FACTOR. - * config/arm/arm.c (arm_add_stmt_cost): Likewise. - * config/i386/i386.c (ix86_add_stmt_cost): Likewise. - * config/rs6000/rs6000.c (rs6000_add_stmt_cost): Likewise. - * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): - Likewise. - (_loop_vec_info::_loop_vec_info): Init inner_loop_cost_factor. - * tree-vectorizer.h (_loop_vec_info): Add inner_loop_cost_factor. - (LOOP_VINFO_INNER_LOOP_COST_FACTOR): New macro. - -2021-05-20 Christophe Lyon - Torbjörn Svensson - - PR c/42579 - * doc/cpp.texi (Common Predefined Macros): Document __FILE_NAME__. - -2021-05-20 Jakub Jelinek - - PR middle-end/99928 - * gimplify.c (gimplify_scan_omp_clauses) : For - explicit linear clause when combined with target, make it map(tofrom:) - instead of no clause or firstprivate. - -2021-05-20 Jakub Jelinek - - PR tree-optimization/94589 - * match.pd ((X & Y) == X -> (X & ~Y) == 0): Simplify even in presence - of integral conversions. - -2021-05-19 Andrew MacLeod - - * gimple-range.cc (fur_source::get_operand): New. - (gimple_range_fold): Delete. - (fold_using_range::fold_stmt): Move from gimple_ranger::calc_stmt. - (fold_using_range::range_of_range_op): Move from gimple_ranger. - (fold_using_range::range_of_address): Ditto. - (fold_using_range::range_of_phi): Ditto. - (fold_using_range::range_of_call): Ditto. - (fold_using_range::range_of_builtin_ubsan_call): Move from - range_of_builtin_ubsan_call. - (fold_using_range::range_of_builtin_call): Move from - range_of_builtin_call. - (gimple_ranger::range_of_builtin_call): Delete. - (fold_using_range::range_of_cond_expr): Move from gimple_ranger. - (gimple_ranger::fold_range_internal): New. - (gimple_ranger::range_of_stmt): Use new fold_using_range API. - (fold_using_range::range_of_ssa_name_with_loop_info): Move from - gimple_ranger. Improve ranges of SSA_NAMES when possible. - * gimple-range.h (gimple_ranger): Remove various range_of routines. - (class fur_source): New. - (class fold_using_range): New. - (fur_source::fur_source): New. - (fold_range): New. - * vr-values.c (vr_values::extract_range_basic): Use fold_using_range - instead of range_of_builtin_call. - -2021-05-19 Jonathan Wakely - - * doc/cpp.texi (Common Predefined Macros): Update documentation - for the __GXX_EXPERIMENTAL_CXX0X__ macro. - -2021-05-19 Alex Coplan - - PR target/100333 - * config/arm/arm.md (nonsecure_call_internal): Always ensure - callee's address is in a register. - -2021-05-19 Geng Qi - - * common/config/riscv/riscv-common.c - (riscv_subset_list::parsing_subset_version): Properly parse the letter - 'p' in '-march'. - (riscv_subset_list::parse_std_ext, - riscv_subset_list::parse_multiletter_ext): To handle errors generated - in riscv_subset_list::parsing_subset_version. - -2021-05-19 Jonathan Wright - - * config/aarch64/aarch64-simd.md: Use "neon_move_narrow_q" - type attribute in patterns generating XTN(2). - -2021-05-19 Jonathan Wright - - * config/aarch64/aarch64-simd.md (aarch64_simd_vec_pack_trunc_): - Remove as duplicate of... - (aarch64_xtn): This. - (aarch64_xtn2_le): Move position in file. - (aarch64_xtn2_be): Move position in file. - (aarch64_xtn2): Move position in file. - (vec_pack_trunc_): Define as an expander. - -2021-05-19 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Split builtin - generation for aarch64_qshrn_n pattern into - separate scalar and vector generators. - * config/aarch64/aarch64-simd.md - (aarch64_qshrn_n): Define as an expander and - split into... - (aarch64_qshrn_n_insn_le): This and... - (aarch64_qshrn_n_insn_be): This. - * config/aarch64/iterators.md: Define SD_HSDI iterator. - -2021-05-19 Jonathn Wright - - * config/aarch64/aarch64-simd.md: Use UNSPEC_SQXTUN instead - of UNSPEC_SQXTUN2. - * config/aarch64/iterators.md: Remove UNSPEC_SQXTUN2. - -2021-05-19 Jonathan Wright - - * config/aarch64/aarch64-simd.md (aarch64_qshrn2_n): - Implement as an expand emitting a big/little endian - instruction pattern. - (aarch64_qshrn2_n_insn_le): Define. - (aarch64_qshrn2_n_insn_be): Define. - -2021-05-19 Jonathan Wright - - * config/aarch64/aarch64-simd.md (aarch64_hn2): - Implement as an expand emitting a big/little endian - instruction pattern. - (aarch64_hn2_insn_le): Define. - (aarch64_hn2_insn_be): Define. - * config/aarch64/iterators.md: Remove UNSPEC_[R]ADDHN2 and - UNSPEC_[R]SUBHN2 unspecs and ADDSUBHN2 iterator. - -2021-05-19 Richard Biener - - PR middle-end/100672 - * fold-const.c (fold_negate_expr_1): Use element_precision. - (negate_expr_p): Likewise. - -2021-05-19 Andre Vieira - - * config/aarch64/iterators.md (SVE_PRED_LOAD): New iterator. - (pred_load): New int attribute. - * config/aarch64/aarch64-sve.md - (aarch64_load_): Use - SVE_PRED_LOAD enum iterator and corresponding pred_load attribute. - * config/aarch64/aarch64-sve-builtins-base.cc (expand): Update call to - code_for_aarch64_load. - -2021-05-19 Richard Biener - - * cfgexpand.c (discover_nonconstant_array_refs_r): Make - sure TARGET_MEM_REF bases are expanded as memory. - * tree-ssa-operands.c (operands_scanner::get_tmr_operands): - Do not mark TARGET_MEM_REF bases addressable. - * tree-ssa.c (non_rewritable_mem_ref_base): Handle - TARGET_MEM_REF bases as never rewritable. - * gimple-walk.c (walk_stmt_load_store_addr_ops): Do not - walk TARGET_MEM_REF bases as address-takens. - * tree-ssa-dce.c (ref_may_be_aliased): Handle TARGET_MEM_REF. - -2021-05-19 Richard Biener - - * builtins.c (get_object_alignment_1): Strip outer - WITH_SIZE_EXPR. - * tree-dfa.c (get_ref_base_and_extent): Handle outer - WITH_SIZE_EXPR for size processing and process the - containing ref. - * tree-ssa-alias.c (ao_ref_base_alias_set): Strip - outer WITH_SIZE_EXPR. - (ao_ref_base_alias_ptr_type): Likewise. - (refs_may_alias_p_2): Allow WITH_SIZE_EXPR in ref->ref - and handle that accordingly, stripping it for the - core alias workers. - * tree.c (get_base_address): Handle WITH_SIZE_EXPR by - looking through it instead of returning NULL. - -2021-05-19 Jakub Jelinek - - PR middle-end/100576 - * builtins.c (check_read_access): Convert bound to size_type_node if - non-NULL. - -2021-05-19 Richard Biener - - * tree-cfg.c (verify_types_in_gimple_min_lval): Inline... - (verify_types_in_gimple_reference): ... here. Sanitize. - (verify_gimple_call): Verify references in LHS and arguments. - (verify_gimple_assign_single): Reject WITH_SIZE_EXPR. - -2021-05-19 Uroš Bizjak - - * config/i386/i386.h (VALID_INT_MODE_P): - Add V8QI, V4HI and V2SI modes for TARGET_64BIT. - * config/i386/i386.md (isa): Add x64_bmi. - (enabled): Handle x64_bmi. - * config/i386/mmx.md (mmx_andnot3): - Add alternative using 64bit general registers. - (*mmx_3): Ditto. - -2021-05-19 Jakub Jelinek - - PR middle-end/99928 - * tree.h (OMP_MASTER_COMBINED): Define. - * gimplify.c (gimplify_scan_omp_clauses): Rewrite lastprivate - handling for outer combined/composite constructs to a loop. - Handle lastprivate on combined target. - (gimplify_expr): Formatting fix. - -2021-05-19 Xionghu Luo - - * passes.def: Add sink_code pass before store_merging. - * tree-ssa-sink.c (pass_sink_code:clone): New. - -2021-05-18 Bill Schmidt - - * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Remove call to - rs6000_special_adjust_field_align_p. - * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise. - * config/rs6000/rs6000-call.c (rs6000_function_arg_boundary): - Remove ABI warning. - (rs6000_function_arg): Likewise. - * config/rs6000/rs6000-protos.h - (rs6000_special_adjust_field_align_p): Remove prototype. - * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): - Remove. - * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove call to - rs6000_special_adjust_field_align_p. - -2021-05-18 Uroš Bizjak - - PR target/100637 - * config/i386/i386.h (VALID_SSE2_REG_MODE): - Add V4QI and V2HI modes. - (VALID_INT_MODE_P): Ditto. - * config/i386/mmx.md (VI_32): New mode iterator. - (mmxvecsize): Handle V4QI and V2HI. - (Yv_Yw): Ditto. - (mov): New expander. - (*mov_internal): New insn pattern. - (movmisalign): New expander. - (neg): New expander. - (3): New expander. - (*3): New insn pattern. - (mulv2hi3): New expander. - (*mulv2hi3): New insn pattern. - (one_cmpl2): New expander. - (*andnot3): New insn pattern. - (3): New expander. - (*3): New insn pattern. - -2021-05-18 Uroš Bizjak - - * config/i386/sse.md (v4qiv4di2): - Fix a mode mismatch with operand 1. - -2021-05-18 Uroš Bizjak - - PR target/100626 - * config/i386/i386-expand.c (split_double_mode): Return - temporary register when simplify_gen_subreg fails with - the high half od the paradoxical subreg. - -2021-05-18 Richard Biener - - * cfgexpand.c (expand_one_var): Pass in forced_stack_var - and honor it when expanding. - (expand_used_vars_for_block): Pass through forced_stack_var. - (expand_used_vars): Likewise. - (discover_nonconstant_array_refs_r): Set bits in - forced_stack_vars instead of marking vars TREE_ADDRESSABLE. - (avoid_type_punning_on_regs): Likewise. - (discover_nonconstant_array_refs): Likewise. - (pass_expand::execute): Create and pass down forced_stack_var - bitmap. For parameters and returns temporarily set - TREE_ADDRESSABLE when expand_function_start. - -2021-05-18 Thomas Schwinge - - * doc/sourcebuild.texi: Document 'dg-note'. - -2021-05-18 Tobias Burnus - - PR other/100598 - * configure: Regenerate. - * configure.ac (BUILD_CFLAG, BUILD_CXXFLAGS): Add $(CFLAGS-$@). - -2021-05-18 Thomas Schwinge - - * gimple.h (is_gimple_omp_oacc): Tighten. - * omp-low.c (check_omp_nesting_restrictions): Adjust. - -2021-05-18 Richard Biener - - * tree-ssa-operands.c (mark_address_taken): Simplify. - -2021-05-18 Martin Liska - - * config/gcn/mkoffload.c (STR): Redefine. - * config/i386/intelmic-mkoffload.c (STR): Likewise. - * config/nvptx/mkoffload.c (STR): Likewise. - -2021-05-18 Martin Liska - - * common/config/aarch64/aarch64-common.c (aarch64_parse_extension): - Use startswith function instead of strncmp. - * common/config/bfin/bfin-common.c (bfin_handle_option): Likewise. - * common/config/riscv/riscv-common.c (riscv_subset_list::parse): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc (parse_type): Likewise. - * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Likewise. - * config/alpha/alpha.c (alpha_elf_section_type_flags): Likewise. - * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise. - * config/arm/arm.c (arm_file_start): Likewise. - (arm_valid_target_attribute_rec): Likewise. - (thumb1_md_asm_adjust): Likewise. - * config/arm/driver-arm.c (host_detect_local_cpu): Likewise. - * config/avr/avr.c (STR_PREFIX_P): Likewise. - (avr_set_current_function): Likewise. - (avr_handle_addr_attribute): Likewise. - (avr_asm_output_aligned_decl_common): Likewise. - (avr_asm_named_section): Likewise. - (avr_section_type_flags): Likewise. - (avr_asm_select_section): Likewise. - * config/c6x/c6x.c (c6x_in_small_data_p): Likewise. - (c6x_section_type_flags): Likewise. - * config/darwin-c.c (darwin_cfstring_ref_p): Likewise. - (darwin_objc_declare_unresolved_class_reference): Likewise. - (darwin_objc_declare_class_definition): Likewise. - * config/darwin.c (indirect_data): Likewise. - (darwin_encode_section_info): Likewise. - (darwin_objc2_section): Likewise. - (darwin_objc1_section): Likewise. - (machopic_select_section): Likewise. - (darwin_globalize_label): Likewise. - (darwin_label_is_anonymous_local_objc_name): Likewise. - (darwin_asm_named_section): Likewise. - (darwin_asm_output_dwarf_offset): Likewise. - * config/frv/frv.c (frv_string_begins_with): Likewise. - (frv_in_small_data_p): Likewise. - * config/gcn/mkoffload.c (STR): Likewise. - (main): Likewise. - * config/i386/i386-builtins.c (get_builtin_code_for_version): Likewise. - * config/i386/i386-options.c (ix86_option_override_internal): Likewise. - * config/i386/i386.c (x86_64_elf_section_type_flags): Likewise. - (ix86_md_asm_adjust): Likewise. - * config/i386/intelmic-mkoffload.c (STR): Likewise. - * config/i386/winnt.c (i386_pe_asm_named_section): Likewise. - (i386_pe_file_end): Likewise. - * config/ia64/ia64.c (ia64_in_small_data_p): Likewise. - (ia64_section_type_flags): Likewise. - * config/mips/driver-native.c (host_detect_local_cpu): Likewise. - * config/mips/mips.c (mips_handle_interrupt_attr): Likewise. - (mips16_stub_function_p): Likewise. - (mips_function_rodata_section): Likewise. - * config/msp430/msp430.c (msp430_mcu_name): Likewise. - (msp430_function_section): Likewise. - (msp430_section_type_flags): Likewise. - (msp430_expand_helper): Likewise. - * config/nios2/nios2.c (nios2_small_section_name_p): Likewise. - (nios2_valid_target_attribute_rec): Likewise. - * config/nvptx/mkoffload.c (process): Likewise. - (STR): Likewise. - * config/pa/som.h: Likewise. - * config/pdp11/pdp11.c (pdp11_output_ident): Likewise. - * config/riscv/riscv.c (riscv_elf_select_rtx_section): Likewise. - * config/rs6000/rs6000.c (VTABLE_NAME_P): Likewise. - (rs6000_inner_target_options): Likewise. - * config/s390/driver-native.c (s390_host_detect_local_cpu): Likewise. - * config/sparc/driver-sparc.c (host_detect_local_cpu): Likewise. - * config/vax/vax.c (vax_output_int_move): Likewise. - * config/vms/vms-ld.c (startswith): Likewise. - (process_args): Likewise. - (main): Likewise. - * config/vms/vms.c: Likewise. - -2021-05-18 Jakub Jelinek - - PR rtl-optimization/100590 - * regcprop.c (copyprop_hardreg_forward_1): Only DCE dead sets if - they are NONJUMP_INSN_P. - -2021-05-18 Jakub Jelinek - - PR c++/100580 - * function.c (push_dummy_function): Set DECL_ARTIFICIAL and - DECL_ASSEMBLER_NAME on the fn_decl. - -2021-05-18 Jakub Jelinek - - PR tree-optimization/94589 - * tree-ssa-phiopt.c (spaceship_replacement): Pattern match - phi result used in (res & ~1) == 0 comparison as res >= 0 as - res == 2 would be UB with -ffinite-math-only. - -2021-05-18 Martin Liska - - * Makefile.in: genversion.o should depend on DATESTAMP. - -2021-05-18 Claudiu Zissulescu - - * config/arc/simdext.md (negv2si2): Remove round bracket. - -2021-05-18 Andreas Krebbel - - * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define - _Bool as macro expanding to _Bool. - -2021-05-18 Andreas Krebbel - - PR c++/100281 - * tree.c (build_reference_type_for_mode) - (build_pointer_type_for_mode): Pick pointer mode if MODE argument - is VOIDmode. - (build_reference_type, build_pointer_type): Invoke - build_*_type_for_mode with VOIDmode. - -2021-05-17 Andrew MacLeod - - PR tree-optimization/100512 - * gimple-range-cache.cc (ranger_cache::set_global_range): Mark const - and non-zero pointer ranges as invariant. - * gimple-range.cc (gimple_ranger::range_of_stmt): Remove pointer - processing from here. - -2021-05-17 Tom de Vries - - PR target/100497 - * config/nvptx/nvptx-protos.h (nvptx_output_atomic_insn): Declare - * config/nvptx/nvptx.c (nvptx_output_barrier) - (nvptx_output_atomic_insn): New function. - (nvptx_print_operand): Add support for 'B'. - * config/nvptx/nvptx.md: Use nvptx_output_atomic_insn for atomic - insns. - -2021-05-17 Aldy Hernandez - - PR tree-optimization/100349 - * vr-values.c (bounds_of_var_in_loop): Bail if scev returns - NULL. - -2021-05-17 Tamar Christina - - * config/aarch64/driver-aarch64.c (DEFAULT_ARCH): New. - (host_detect_local_cpu): Use it. - -2021-05-17 Martin Liska - - * doc/invoke.texi: Add 2 missing dots. - -2021-05-17 Marius Hillenbrand - - PR bootstrap/100552 - * configure.ac: Replace pattern substitution with call to sed. - * configure: Regenerate. - -2021-05-17 Richard Biener - - PR middle-end/100582 - * tree.c (array_at_struct_end_p): Get to the base of the - reference before looking for the underlying decl. - -2021-05-17 Joern Rennecke - - * genoutput.c (validate_insn_alternatives) Make "wrong number of - alternatives" message more specific, and remove assumption on where - the problem is. - -2021-05-17 Christophe Lyon - - * config/arm/iterators.md (V16): New iterator. - (VH_cvtto): New iterator. - (v_cmp_result): Added V4HF and V8HF support. - * config/arm/vec-common.md (vec_cmp): Use VDQWH. - (vcond): Likewise. - (vcond_mask_): Likewise. - (vcond): New expander. - -2021-05-17 Christophe Lyon - - * config/arm/arm-protos.h (arm_expand_vector_compare): Update - prototype. - * config/arm/arm.c (arm_expand_vector_compare): Add support for - MVE. - (arm_expand_vcond): Likewise. - * config/arm/iterators.md (supf): Remove VCMPNEQ_S, VCMPEQQ_S, - VCMPEQQ_N_S, VCMPNEQ_N_S. - (VCMPNEQ, VCMPEQQ, VCMPEQQ_N, VCMPNEQ_N): Remove. - * config/arm/mve.md (@mve_vcmpq_): Add '@' prefix. - (@mve_vcmpq_f): Likewise. - (@mve_vcmpq_n_f): Likewise. - (@mve_vpselq_): Likewise. - (@mve_vpselq_f"): Likewise. - * config/arm/neon.md (vec_cmp): Likewise. - (vcond): Likewise. - (vcond): Likewise. - (vcondu): Likewise. - (vcond_mask_): Likewise. - * config/arm/unspecs.md (VCMPNEQ_U, VCMPNEQ_S, VCMPEQQ_S) - (VCMPEQQ_N_S, VCMPNEQ_N_S, VCMPEQQ_U, CMPEQQ_N_U, VCMPNEQ_N_U) - (VCMPGEQ_N_S, VCMPGEQ_S, VCMPGTQ_N_S, VCMPGTQ_S, VCMPLEQ_N_S) - (VCMPLEQ_S, VCMPLTQ_N_S, VCMPLTQ_S, VCMPCSQ_N_U, VCMPCSQ_U) - (VCMPHIQ_N_U, VCMPHIQ_U): Remove. - * config/arm/vec-common.md (vec_cmp): Likewise. - (vcond): Likewise. - (vcond): Likewise. - (vcondu): Likewise. - (vcond_mask_): Likewise. Added unsafe math - condition. - -2021-05-17 liuhongt - - PR target/100549 - * config/i386/i386.c (ix86_gimple_fold_builtin): Use - gsi_insert_seq_before instead. - -2021-05-17 Christophe Lyon - - * doc/sourcebuild.texi (arm_qbit_ok): Rename into... - (arm_sat_ok): ...this. - -2021-05-17 Martin Liska - - * lto-wrapper.c (merge_flto_options): Factor out a new function. - (merge_and_complain): Use it. - (run_gcc): Merge also linker command line -flto=foo argument - with IL files. - -2021-05-16 Christophe Lyon - - * config/arm/arm.h (CPP_SPEC): Remove error message about - -mlittle-endian/-mbig-endian conflict. - -2021-05-15 Bill Schmidt - - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define - __ROP_PROTECT__ if -mrop-protect is selected. - -2021-05-15 Bill Schmidt - - * config/rs6000/rs6000-internal.h (rs6000_stack): Add - rop_hash_save_offset and rop_hash_size. - * config/rs6000/rs6000-logue.c (rs6000_stack_info): Compute - rop_hash_size and rop_hash_save_offset. - (debug_stack_info): Dump rop_hash_save_offset and rop_hash_size. - (rs6000_emit_prologue): Emit hashst[p] in prologue. - (rs6000_emit_epilogue): Emit hashchk[p] in epilogue. - * config/rs6000/rs6000.md (unspec): Add UNSPEC_HASHST and - UNSPEC_HASHCHK. - (hashst): New define_insn. - (hashchk): Likewise. - -2021-05-15 Bill Schmidt - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Disable shrink wrap when inserting ROP-protect instructions. - * config/rs6000/rs6000.opt (mrop-protect): New option. - (mprivileged): Likewise. - * doc/invoke.texi: Document mrop-protect and mprivileged. - -2021-05-15 Hans-Peter Nilsson - - * reorg.c (fill_slots_from_thread): Reinstate code typoed out in - "Remove CC0". - -2021-05-15 Martin Jambor - - Revert: - 2021-05-13 Martin Jambor - - PR tree-optimization/100453 - * tree-sra.c (sra_modify_assign): All const base accesses do not - need refreshing, not just those from decl_pool. - (sra_modify_assign): Do not refresh into a const base decl. - -2021-05-15 Jakub Jelinek - - PR rtl-optimization/100342 - * regcprop.c (copy_value): When copying a source reg in a wider - mode than it has recorded for the value, adjust recorded destination - mode too or punt if !REG_CAN_CHANGE_MODE_P. - -2021-05-14 Jason Merrill - - * intl.h: Add comments. - -2021-05-14 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md - (aarch64_sqdmll2_lane_internal): Split into... - (aarch64_sqdmlsl2_lane_internal): ... This... - (aarch64_sqdmlal2_lane_internal): ... And this. - (aarch64_sqdmll2_laneq_internal): Split into ... - (aarch64_sqdmlsl2_laneq_internal): ... This... - (aarch64_sqdmlal2_laneq_internal): ... And this. - (aarch64_sqdmll2_n_internal): Split into... - (aarch64_sqdmlsl2_n_internal): ... This... - (aarch64_sqdmlal2_n_internal): ... And this. - -2021-05-14 Prathamesh Kulkarni - - PR target/66791 - * config/arm/arm_neon.h (vtst_s8): Replace call to vtst builtin with it's - boolean logic equivalent. - (vtst_s16): Likewise. - (vtst_s32): Likewise. - (vtst_u8): Likewise. - (vtst_u16): Likewise. - (vtst_u32): Likewise. - (vtst_p8): Likewise. - (vtst_p16): Likewise. - (vtstq_s8): Likewise. - (vtstq_s16): Likewise. - (vtstq_s32): Likewise. - (vtstq_u8): Likewise. - (vtstq_u16): Likewise. - (vtstq_u32): Likewise. - (vtstq_p8): Likewise. - (vtstq_p16): Likewise. - * config/arm/arm_neon_builtins.def: Remove entry for vtst. - * config/arm/neon.md (neon_vtst): Remove pattern. - -2021-05-14 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_sqdmlal2): Merge into... - (aarch64_sqdmll2): ... This. - (aarch64_sqdmlsl2): Delete. - (aarch64_sqdmlal2_lane): Merge this... - (aarch64_sqdmlsl2_lane): ... And this... - (aarch64_sqdmll2_lane): ... Into this. - (aarch64_sqdmlal2_laneq): Merge this... - (aarch64_sqdmlsl2_laneq): ... And this... - (aarch64_sqdmll2_laneq): ... Into this. - (aarch64_sqdmlal2_n): Merge this... - (aarch64_sqdmlsl2_n): ... And this... - (aarch64_sqdmll2_n): ... Into this. - -2021-05-13 Martin Sebor - - PR middle-end/100574 - * builtins.c (access_ref::get_ref): Improve detection of PHIs with - all null arguments. - -2021-05-13 Martin Sebor - - PR tree-optimization/93100 - PR middle-end/98583 - * tree-ssa-uninit.c (check_defs): Exclude intrinsic functions that - don't modify referenced objects. - -2021-05-13 Martin Jambor - - PR tree-optimization/100453 - * tree-sra.c (sra_modify_assign): All const base accesses do not - need refreshing, not just those from decl_pool. - (sra_modify_assign): Do not refresh into a const base decl. - -2021-05-13 Martin Liska - - * tree-ssa-dom.c: Remove m_simplifier. - -2021-05-13 Richard Earnshaw - - PR target/100563 - * config/arm/arm.c (arm_canonicalize_comparison): Correctly - canonicalize DImode inequality comparisons against the - maximum integral value. - -2021-05-13 Jakub Jelinek - - PR tree-optimization/98856 - * config/i386/i386.c (ix86_shift_rotate_cost): Add CODE argument. - Expect V2DI and V4DI arithmetic right shifts to be emulated. - (ix86_rtx_costs, ix86_add_stmt_cost): Adjust ix86_shift_rotate_cost - caller. - * config/i386/i386-expand.c (expand_vec_perm_2perm_interleave, - expand_vec_perm_2perm_pblendv): New functions. - (ix86_expand_vec_perm_const_1): Use them. - * config/i386/sse.md (ashr3): Rename to ... - (ashr3): ... this. - (ashr3): New define_expand with VI248_AVX512BW iterator. - (ashrv4di3): New define_expand. - (ashrv2di3): Change condition to TARGET_SSE2, handle !TARGET_XOP - and !TARGET_AVX512VL expansion. - -2021-05-13 Uroš Bizjak - - PR target/100581 - * config/i386/i386-expand.c (ix86_expand_sse_movcc): Force mode - sizes < 16 to a register when constructing vpcmov pattern. - * config/i386/mmx.md (*xop_pcmov_): Use MMXMODE124 mode. - -2021-05-13 Martin Liska - - * gcov-io.c (gcov_write_block): Remove. - (gcov_write_words): Likewise. - (gcov_read_words): Re-implement using gcov_read_bytes. - (gcov_allocate): Remove. - (GCOV_BLOCK_SIZE): Likewise. - (struct gcov_var): Remove most of the fields. - (gcov_position): Implement with ftell. - (gcov_rewrite): Remove setting of start and offset fields. - (from_file): Re-format. - (gcov_open): Remove setbuf call. It should not be needed. - (gcov_close): Remove internal buffer handling. - (gcov_magic): Use __builtin_bswap32. - (gcov_write_counter): Use directly gcov_write_unsigned. - (gcov_write_string): Use direct fwrite and do not round - to 4 bytes. - (gcov_seek): Use directly fseek. - (gcov_write_tag): Use gcov_write_unsigned directly. - (gcov_write_length): Likewise. - (gcov_write_tag_length): Likewise. - (gcov_read_bytes): Use directly fread. - (gcov_read_unsigned): Use gcov_read_words. - (gcov_read_counter): Likewise. - (gcov_read_string): Use gcov_read_bytes. - * gcov-io.h (GCOV_WORD_SIZE): Adjust to reflect - that size is not in bytes, but words (4B). - (GCOV_TAG_FUNCTION_LENGTH): Likewise. - (GCOV_TAG_ARCS_LENGTH): Likewise. - (GCOV_TAG_ARCS_NUM): Likewise. - (GCOV_TAG_COUNTER_LENGTH): Likewise. - (GCOV_TAG_COUNTER_NUM): Likewise. - (GCOV_TAG_SUMMARY_LENGTH): Likewise. - -2021-05-13 liuhongt - - PR target/94680 - * config/i386/sse.md (ssedoublevecmode): Add attribute for - V64QI/V32HI/V16SI/V4DI. - (ssehalfvecmode): Add attribute for V2DI/V2DF. - (*vec_concatv4si_0): Extend to VI124_128. - (*vec_concat_0): New pre-reload splitter. - * config/i386/predicates.md (movq_parallel): New predicate. - -2021-05-13 Alexandre Oliva - - * targhooks.c (default_zero_call_used_regs): Retry using - successfully-zeroed registers as sources. - -2021-05-12 Tobias Burnus - - * omp-low.c (finish_taskreg_scan): Use the proper detach decl. - -2021-05-12 Aldy Hernandez - - PR c/100521 - * gimple-range.cc (range_of_builtin_call): Skip out on - processing __builtin_clz when varying. - -2021-05-12 Tom de Vries - - PR target/96005 - * config/nvptx/nvptx-opts.h (enum ptx_version): New enum. - * config/nvptx/nvptx.c (nvptx_file_start): Print .version according - to ptx_version_option. - * config/nvptx/nvptx.h (TARGET_PTX_6_3): Define. - * config/nvptx/nvptx.md (define_insn "nvptx_shuffle") - (define_insn "nvptx_vote_ballot"): Use sync variant for - TARGET_PTX_6_3. - * config/nvptx/nvptx.opt (ptx_version): Add enum. - (mptx): Add option. - * doc/invoke.texi (Nvidia PTX Options): Add mptx item. - -2021-05-12 Richard Biener - - PR tree-optimization/100566 - * tree-ssa-sccvn.c (dominated_by_p_w_unex): Properly handle - allow_back for all edge queries. - -2021-05-12 liuhongt - - PR target/99908 - * config/i386/sse.md (_pblendvb): Add - splitters for pblendvb of NOT mask register. - -2021-05-12 Richard Biener - - PR tree-optimization/100519 - * tree-ssa-reassoc.c (can_associate_p): Split into... - (can_associate_op_p): ... this - (can_associate_type_p): ... and this. - (is_reassociable_op): Call can_associate_op_p. - (break_up_subtract_bb): Call the appropriate predicates. - (reassociate_bb): Likewise. - -2021-05-12 Martin Liska - - * lto-wrapper.c (merge_and_complain): Merge -flto=arg options. - (run_gcc): Use -flto argument detection for merged - fdecoded_options. - -2021-05-12 Martin Liska - - * lto-wrapper.c (print_lto_docs_link): New function. - (run_gcc): Print warning about missing job server detection - after we know NR of partitions. Do the same for -flto{,=1}. - * opts.c (get_option_html_page): Support -flto option. - -2021-05-12 Martin Liska - - * lto-wrapper.c (get_options_from_collect_gcc_options): Change - return type. - (append_option): Remove. - (find_option): Rework to use the vector type. - (remove_option): Remove. - (merge_and_complain): Use vectors for cl_decoded_option data - type arguments. - (append_compiler_options): Likewise. - (append_diag_options): Likewise. - (append_linker_options): Likewise. - (append_offload_options): Likewise. - (compile_offload_image): Likewise. - (compile_images_for_offload_targets): Likewise. - (find_and_merge_options): Likewise. - (run_gcc): Likewise. - -2021-05-12 Bernd Edlinger - - PR debug/100515 - * dwarf2out.c (dwarf2out_finish): Set - have_multiple_function_sections with multi-range text_section. - -2021-05-12 Martin Liska - - PR bootstrap/100560 - * Makefile.in: Remove version.h from linker command line. - -2021-05-12 Richard Biener - - PR middle-end/100547 - * rtl.h (rtvec_alloc): Make argument size_t. - * rtl.c (rtvec_alloc): Verify the count is less than INT_MAX. - -2021-05-12 Jakub Jelinek - - PR middle-end/100508 - * cfgexpand.c (expand_debug_expr): For DEBUG_EXPR_DECL with vector - type, don't reuse DECL_RTL if it has different mode, instead force - creation of a new DEBUG_EXPR. - -2021-05-12 Jakub Jelinek - Marc Glisse - - PR tree-optimization/94589 - * match.pd ((X & Y) == X -> (X & ~Y) == 0, - (X | Y) == Y -> (X & ~Y) == 0): New GIMPLE simplifications. - -2021-05-12 Uroš Bizjak - - PR target/98218 - * config/i386/i386-expand.c (ix86_expand_sse_movcc): Handle V2SF mode. - * config/i386/mmx.md (MMXMODE124): New mode iterator. - (V2FI): Ditto. - (mmxintvecmode): New mode attribute. - (mmxintvecmodelower): Ditto. - (*mmx_maskcmpv2sf3_comm): New insn pattern. - (*mmx_maskcmpv2sf3): Ditto. - (vec_cmpv2sfv2si): New expander. - (vcondv2si): Ditto. - (mmx_vlendvps): New insn pattern. - (vcond): Also handle V2SFmode. - (vcondu): Ditto. - (vcond_mask_): Ditto. - -2021-05-11 Martin Sebor - - PR middle-end/21433 - * expr.c (expand_expr_real_1): Replace unreachable code with an assert. - -2021-05-11 Richard Biener - - * gimple-fold.c (gimple_fold_call): Do not call - maybe_fold_reference on call arguments or the static chain. - (fold_stmt_1): Do not call maybe_fold_reference on GIMPLE_ASM - inputs. - -2021-05-11 Martin Liska - - * builtins.def (DEF_HSAIL_BUILTIN): Remove. - (DEF_HSAIL_ATOMIC_BUILTIN): Likewise. - (DEF_HSAIL_SAT_BUILTIN): Likewise. - (DEF_HSAIL_INTR_BUILTIN): Likewise. - (DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise. - * doc/frontends.texi: Remove BRIG. - * doc/install.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/standards.texi: Likewise. - * brig-builtins.def: Removed. - * brig/ChangeLog: Removed. - * brig/Make-lang.in: Removed. - * brig/brig-builtins.h: Removed. - * brig/brig-c.h: Removed. - * brig/brig-lang.c: Removed. - * brig/brigfrontend/brig-arg-block-handler.cc: Removed. - * brig/brigfrontend/brig-atomic-inst-handler.cc: Removed. - * brig/brigfrontend/brig-basic-inst-handler.cc: Removed. - * brig/brigfrontend/brig-branch-inst-handler.cc: Removed. - * brig/brigfrontend/brig-cmp-inst-handler.cc: Removed. - * brig/brigfrontend/brig-code-entry-handler.cc: Removed. - * brig/brigfrontend/brig-code-entry-handler.h: Removed. - * brig/brigfrontend/brig-comment-handler.cc: Removed. - * brig/brigfrontend/brig-control-handler.cc: Removed. - * brig/brigfrontend/brig-copy-move-inst-handler.cc: Removed. - * brig/brigfrontend/brig-cvt-inst-handler.cc: Removed. - * brig/brigfrontend/brig-fbarrier-handler.cc: Removed. - * brig/brigfrontend/brig-function-handler.cc: Removed. - * brig/brigfrontend/brig-function.cc: Removed. - * brig/brigfrontend/brig-function.h: Removed. - * brig/brigfrontend/brig-inst-mod-handler.cc: Removed. - * brig/brigfrontend/brig-label-handler.cc: Removed. - * brig/brigfrontend/brig-lane-inst-handler.cc: Removed. - * brig/brigfrontend/brig-machine.c: Removed. - * brig/brigfrontend/brig-machine.h: Removed. - * brig/brigfrontend/brig-mem-inst-handler.cc: Removed. - * brig/brigfrontend/brig-module-handler.cc: Removed. - * brig/brigfrontend/brig-queue-inst-handler.cc: Removed. - * brig/brigfrontend/brig-seg-inst-handler.cc: Removed. - * brig/brigfrontend/brig-signal-inst-handler.cc: Removed. - * brig/brigfrontend/brig-to-generic.cc: Removed. - * brig/brigfrontend/brig-to-generic.h: Removed. - * brig/brigfrontend/brig-util.cc: Removed. - * brig/brigfrontend/brig-util.h: Removed. - * brig/brigfrontend/brig-variable-handler.cc: Removed. - * brig/brigfrontend/hsa-brig-format.h: Removed. - * brig/brigfrontend/phsa.h: Removed. - * brig/brigspec.c: Removed. - * brig/config-lang.in: Removed. - * brig/gccbrig.texi: Removed. - * brig/lang-specs.h: Removed. - * brig/lang.opt: Removed. - -2021-05-11 Richard Biener - - PR ipa/100513 - * ipa-param-manipulation.c - (ipa_param_body_adjustments::modify_call_stmt): Avoid - altering SSA_NAME_DEF_STMT by adjusting the calls LHS - via gimple_call_lhs_ptr. - -2021-05-11 Alex Coplan - - PR target/99725 - * config/arm/arm.c (cmse_nonsecure_call_inline_register_clear): - Avoid emitting CFA adjusts on the sp if we have the fp. - -2021-05-11 Richard Sandiford - - * config/aarch64/iterators.md (VMUL_CHANGE_NLANES): Delete. - (VMULD): New iterator. - (VCOND): Handle V4HF and V8HF. - (VCONQ): Fix entry for V2SF. - * config/aarch64/aarch64-simd.md (mul_lane3): Use VMULD - instead of VMUL. Use a 64-bit vector mode for the indexed operand. - (*aarch64_mul3_elt_): Merge with... - (mul_laneq3): ...this define_insn. Use VMUL instead of VDQSF. - Use a 128-bit vector mode for the indexed operand. Use stype for - the scheduling type. - -2021-05-11 Richard Biener - - * gimple-fold.c (maybe_fold_reference): Only return - is_gimple_min_invariant values. - -2021-05-11 Richard Biener - - PR middle-end/100509 - * gimple-fold.c (fold_gimple_assign): Only call - get_symbol_constant_value on register type symbols. - -2021-05-11 Srinath Parvathaneni - Joe Ramsay - - PR target/100419 - * config/arm/arm_mve.h (__arm_vstrwq_scatter_offset): Fix wrong arguments. - (__arm_vcmpneq): Remove duplicate definition. - (__arm_vstrwq_scatter_offset_p): Likewise. - (__arm_vmaxq_x): Likewise. - (__arm_vmlsdavaq): Likewise. - (__arm_vmlsdavaxq): Likewise. - (__arm_vmlsdavq_p): Likewise. - (__arm_vmlsdavxq_p): Likewise. - (__arm_vrmlaldavhaq): Likewise. - (__arm_vstrbq_p): Likewise. - (__arm_vstrbq_scatter_offset): Likewise. - (__arm_vstrbq_scatter_offset_p): Likewise. - (__arm_vstrdq_scatter_offset): Likewise. - (__arm_vstrdq_scatter_offset_p): Likewise. - (__arm_vstrdq_scatter_shifted_offset): Likewise. - (__arm_vstrdq_scatter_shifted_offset_p): Likewise. - -2021-05-11 Jakub Jelinek - - PR middle-end/100471 - * omp-low.c (lower_omp_task_reductions): For OMP_TASKLOOP, if data - is 0, bypass the reduction loop including - GOMP_taskgroup_reduction_unregister call. - -2021-05-11 Kewen Lin - - * config/rs6000/rs6000.c (struct rs6000_cost_data): New member - costing_for_scalar. - (rs6000_density_test): Early return if costing_for_scalar is true. - (rs6000_init_cost): Init costing_for_scalar of rs6000_cost_data. - -2021-05-11 Kewen Lin - - * doc/tm.texi: Regenerated. - * target.def (init_cost): Add new parameter costing_for_scalar. - * targhooks.c (default_init_cost): Adjust for new parameter. - * targhooks.h (default_init_cost): Likewise. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Likewise. - (vect_compute_single_scalar_iteration_cost): Likewise. - (vect_analyze_loop_2): Likewise. - * tree-vect-slp.c (_bb_vec_info::_bb_vec_info): Likewise. - (vect_bb_vectorization_profitable_p): Likewise. - * tree-vectorizer.h (init_cost): Likewise. - * config/aarch64/aarch64.c (aarch64_init_cost): Likewise. - * config/i386/i386.c (ix86_init_cost): Likewise. - * config/rs6000/rs6000.c (rs6000_init_cost): Likewise. - -2021-05-11 Kewen Lin - - * config/rs6000/rs6000.c (rs6000_vect_nonmem): Renamed to - vect_nonmem and moved into... - (struct rs6000_cost_data): ...here. - (rs6000_init_cost): Use vect_nonmem of cost_data instead. - (rs6000_add_stmt_cost): Likewise. - (rs6000_finish_cost): Likewise. - -2021-05-10 Eric Botcazou - - * range-op.cc (get_bool_state): Adjust head comment. - (operator_not_equal::op1_range): Fix comment. - (operator_bitwise_xor::op1_range): Remove call to gcc_unreachable. - -2021-05-10 Martin Sebor - - PR middle-end/100425 - PR middle-end/100510 - * gimple-ssa-warn-alloca.c (pass_walloca::firast_time_p): Rename... - (pass_walloca::xlimit_certain_p): ...to this. - (pass_walloca::gate): Execute for any kind of handled warning. - (pass_walloca::execute): Avoid issuing "maybe" and "unbounded" - warnings when xlimit_certain_p is set. - -2021-05-10 Pat Haugen - - * config/rs6000/rs6000.c (rs6000_ira_change_pseudo_allocno_class): - Return ALTIVEC_REGS if that is best_class. - (rs6000_compute_pressure_classes): Add ALTIVEC_REGS. - -2021-05-10 Christophe Lyon - - * config/arm/arm.h (CPP_SPEC): Remove error message about - -mfloat-abi. - -2021-05-10 Martin Jambor - - * ipa-prop.h (IPA_NODE_REF): Removed. - (IPA_NODE_REF_GET_CREATE): Likewise. - (IPA_EDGE_REF): Likewise. - (IPA_EDGE_REF_GET_CREATE): Likewise. - (IS_VALID_JUMP_FUNC_INDEX): Likewise. - * ipa-cp.c (print_all_lattices): Replaced IPA_NODE_REF with a direct - use of ipa_node_params_sum. - (ipcp_versionable_function_p): Likewise. - (push_node_to_stack): Likewise. - (pop_node_from_stack): Likewise. - (set_single_call_flag): Replaced two IPA_NODE_REF with one single - direct use of ipa_node_params_sum. - (initialize_node_lattices): Replaced IPA_NODE_REF with a direct use of - ipa_node_params_sum. - (ipa_context_from_jfunc): Replaced IPA_EDGE_REF with a direct use of - ipa_edge_args_sum. - (ipcp_verify_propagated_values): Replaced IPA_NODE_REF with a direct - use of ipa_node_params_sum. - (self_recursively_generated_p): Likewise. - (propagate_scalar_across_jump_function): Likewise. - (propagate_context_across_jump_function): Replaced IPA_EDGE_REF with a - direct use of ipa_edge_args_sum, moved the lookup after the early - exit. Replaced IPA_NODE_REF with a direct use of ipa_node_params_sum. - (propagate_bits_across_jump_function): Replaced IPA_NODE_REF with - direct uses of ipa_node_params_sum. - (propagate_vr_across_jump_function): Likewise. - (propagate_aggregate_lattice): Likewise. - (propagate_aggs_across_jump_function): Likewise. - (propagate_constants_across_call): Likewise, also replaced - IPA_EDGE_REF with a direct use of ipa_edge_args_sum. - (good_cloning_opportunity_p): Replaced IPA_NODE_REF with a direct use - of ipa_node_params_sum. - (estimate_local_effects): Likewise. - (add_all_node_vals_to_toposort): Likewise. - (propagate_constants_topo): Likewise. - (ipcp_propagate_stage): Likewise. - (ipcp_discover_new_direct_edges): Likewise. - (calls_same_node_or_its_all_contexts_clone_p): Likewise. - (cgraph_edge_brings_value_p): Likewise (in both overloaded functions). - (get_info_about_necessary_edges): Likewise. - (want_remove_some_param_p): Likewise. - (create_specialized_node): Likewise. - (self_recursive_pass_through_p): Likewise. - (self_recursive_agg_pass_through_p): Likewise. - (find_more_scalar_values_for_callers_subset): Likewise and also - replaced IPA_EDGE_REF with direct uses of ipa_edge_args_sum, in one - case replacing two of those with a single query. - (find_more_contexts_for_caller_subset): Likewise for the - ipa_polymorphic_call_context overload. - (intersect_aggregates_with_edge): Replaced IPA_EDGE_REF with a direct - use of ipa_edge_args_sum. Replaced IPA_NODE_REF with direct uses of - ipa_node_params_sum. - (find_aggregate_values_for_callers_subset): Likewise, also reusing - results of ipa_edge_args_sum->get. - (cgraph_edge_brings_all_scalars_for_node): Replaced IPA_NODE_REF with - direct uses of ipa_node_params_sum, replaced IPA_EDGE_REF with a - direct use of ipa_edge_args_sum. - (cgraph_edge_brings_all_agg_vals_for_node): Likewise, moved node - summary query after the early exit and reused the result later. - (decide_about_value): Replaced IPA_NODE_REF with a direct use of - ipa_node_params_sum. - (decide_whether_version_node): Likewise. Removed re-querying for - summaries after cloning. - (spread_undeadness): Replaced IPA_NODE_REF with a direct use of - ipa_node_params_sum. - (has_undead_caller_from_outside_scc_p): Likewise, reusing results of - some queries. - (identify_dead_nodes): Likewise. - (ipcp_store_bits_results): Replaced IPA_NODE_REF with direct uses of - ipa_node_params_sum. - (ipcp_store_vr_results): Likewise. - * ipa-fnsummary.c (evaluate_properties_for_edge): Likewise. - (ipa_fn_summary_t::duplicate): Likewise. - (analyze_function_body): Likewise. - (estimate_calls_size_and_time): Likewise. - (ipa_cached_call_context::duplicate_from): Likewise. - (ipa_call_context::equal_to): Likewise. - (remap_edge_params): Likewise. - (ipa_merge_fn_summary_after_inlining): Likewise. - (inline_read_section): Likewise. - * ipa-icf.c (sem_function::param_used_p): Likewise. - * ipa-modref.c (compute_parm_map): Likewise. - (compute_parm_map): Replaced IPA_EDGE_REF with a direct use of - ipa_edge_args_sum. - (get_access_for_fnspec): Replaced IPA_NODE_REF with a direct use of - ipa_node_params_sum and replaced IPA_EDGE_REF with a direct use of - ipa_edge_args_sum. - * ipa-profile.c (check_argument_count): Likewise. - * ipa-prop.c (ipa_alloc_node_params): Replaced IPA_NODE_REF_GET_CREATE - with a direct use of ipa_node_params_sum. - (ipa_initialize_node_params): Likewise. - (ipa_print_node_jump_functions_for_edge): Replaced IPA_EDGE_REF with a - direct use of ipa_edge_args_sum and reused the query result. - (ipa_compute_jump_functions_for_edge): Replaced IPA_NODE_REF with a - direct use of ipa_node_params_sum and replaced IPA_EDGE_REF with a - direct use of ipa_edge_args_sum. - (ipa_note_param_call): Replaced IPA_NODE_REF with a direct use of - ipa_node_params_sum and reused the result of the query. - (ipa_analyze_node): Likewise. - (ipa_analyze_controlled_uses): Replaced IPA_NODE_REF with a direct use - of ipa_node_params_sum. - (update_jump_functions_after_inlining): Replaced IPA_EDGE_REF with - direct uses of ipa_edge_args_sum. - (update_indirect_edges_after_inlining): Replaced IPA_NODE_REF with - direct uses of ipa_node_params_sum and replaced IPA_EDGE_REF with a - direct use of ipa_edge_args_sum. Removed superficial re-querying the - top edge summary. - (propagate_controlled_uses): Replaced IPA_NODE_REF with direct uses of - ipa_node_params_sum and replaced IPA_EDGE_REF with a direct use of - ipa_edge_args_sum. - (ipa_propagate_indirect_call_infos): Replaced IPA_EDGE_REF with a - direct use of ipa_edge_args_sum. - (ipa_edge_args_sum_t::duplicate): Replaced IPA_NODE_REF with a direct - use of ipa_node_params_sum. - (ipa_print_node_params): Likewise. - (ipa_write_node_info): Likewise and also replaced IPA_EDGE_REF with - direct uses of ipa_edge_args_sum. - (ipa_read_edge_info): Replaced IPA_EDGE_REF with a direct use of - ipa_edge_args_sum. - (ipa_read_node_info): Replaced IPA_NODE_REF with a direct use of - ipa_node_params_sum. - (ipa_prop_write_jump_functions): Likewise. Move variable node to the - scopes where it is used. - -2021-05-10 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_sse_movcc) - : Force op_true to register. - -2021-05-10 Christophe Lyon - - * config/arm/iterators.md (MVE_FP_COMPARISONS): New. - * config/arm/mve.md (mve_vcmpq_f) - (mve_vcmpq_n_f): New, merge all vcmp_*f* - patterns. - (mve_vcmpeqq_f, mve_vcmpeqq_n_f, mve_vcmpgeq_f) - (mve_vcmpgeq_n_f, mve_vcmpgtq_f) - (mve_vcmpgtq_n_f, mve_vcmpleq_f) - (mve_vcmpleq_n_f, mve_vcmpltq_f) - (mve_vcmpltq_n_f, mve_vcmpneq_f) - (mve_vcmpneq_n_f): Remove. - * config/arm/unspecs.md (VCMPEQQ_F, VCMPEQQ_N_F, VCMPGEQ_F) - (VCMPGEQ_N_F, VCMPGTQ_F, VCMPGTQ_N_F, VCMPLEQ_F, VCMPLEQ_N_F) - (VCMPLTQ_F, VCMPLTQ_N_F, VCMPNEQ_F, VCMPNEQ_N_F): Remove. - -2021-05-10 Christophe Lyon - - * config/arm/iterators.md (MVE_COMPARISONS): New. - (mve_cmp_op): New. - (mve_cmp_type): New. - * config/arm/mve.md (mve_vcmpq_): New, merge all - mve_vcmp patterns. - (mve_vcmpneq_, mve_vcmpcsq_n_, mve_vcmpcsq_) - (mve_vcmpeqq_n_, mve_vcmpeqq_, mve_vcmpgeq_n_) - (mve_vcmpgeq_, mve_vcmpgtq_n_, mve_vcmpgtq_) - (mve_vcmphiq_n_, mve_vcmphiq_, mve_vcmpleq_n_) - (mve_vcmpleq_, mve_vcmpltq_n_, mve_vcmpltq_) - (mve_vcmpneq_n_, mve_vcmpltq_n_, mve_vcmpltq_) - (mve_vcmpneq_n_): Remove. - -2021-05-10 Christophe Lyon - - * config/arm/arm_mve.h (__arm_vcmp*): Remove 's' suffix. - * config/arm/arm_mve_builtins.def (vcmp*): Remove 's' suffix. - * config/arm/mve.md (mve_vcmp*): Remove 's' suffix in pattern - names. - -2021-05-10 Christophe Lyon - - * config/arm/arm_mve_builtins.def (vcmpneq_u): Remove. - (vcmpneq_n_u): Likewise. - (vcmpeqq_u,): Likewise. - (vcmpeqq_n_u): Likewise. - * config/arm/iterators.md (supf): Remove VCMPNEQ_U, VCMPEQQ_U, - VCMPEQQ_N_U and VCMPNEQ_N_U. - * config/arm/mve.md (mve_vcmpneq): Remove iteration. - (mve_vcmpeqq_n): Likewise. - (mve_vcmpeqq): Likewise. - (mve_vcmpneq_n): Likewise. - -2021-05-10 Christophe Lyon - - * config/arm/arm_mve.h (__arm_vcmpeq*u*, __arm_vcmpne*u*): Call - the 's' version of the builtin. - -2021-05-10 Richard Biener - - PR tree-optimization/100492 - * tree-loop-distribution.c (find_seed_stmts_for_distribution): - Find nothing when the loop contains an irreducible region. - -2021-05-10 Richard Biener - - PR middle-end/100464 - PR c++/100468 - * gimple-fold.c (canonicalize_constructor_val): Do not set - TREE_ADDRESSABLE. - -2021-05-10 Richard Biener - - PR tree-optimization/100434 - * tree-ssa-dse.c (initialize_ao_ref_for_dse): Handle - call LHS. - (dse_optimize_stmt): Handle call LHS by dropping the - LHS or the whole call if it doesn't have other - side-effects. - (pass_dse::execute): Adjust. - -2021-05-10 Martin Liska - - * Makefile.in: Add missing genversion rule. - -2021-05-10 Alex Coplan - - PR target/99960 - * config/arm/mve.md (*mve_mov): Simplify output code. Use - vldrw.u32 and vstrw.32 for V2D[IF]mode loads and stores. - -2021-05-10 Martin Liska - - * builtins.c (is_builtin_name): Use startswith - function instead of strncmp. - * collect2.c (main): Likewise. - (has_lto_section): Likewise. - (scan_libraries): Likewise. - * coverage.c (coverage_checksum_string): Likewise. - (coverage_init): Likewise. - * dwarf2out.c (is_cxx): Likewise. - (gen_compile_unit_die): Likewise. - * gcc-ar.c (main): Likewise. - * gcc.c (init_spec): Likewise. - (read_specs): Likewise. - (execute): Likewise. - (check_live_switch): Likewise. - * genattrtab.c (write_attr_case): Likewise. - (IS_ATTR_GROUP): Likewise. - * gencfn-macros.c (main): Likewise. - * gengtype.c (type_for_name): Likewise. - (gen_rtx_next): Likewise. - (get_file_langdir): Likewise. - (write_local): Likewise. - * genmatch.c (get_operator): Likewise. - (get_operand_type): Likewise. - (expr::gen_transform): Likewise. - * genoutput.c (validate_optab_operands): Likewise. - * incpath.c (add_sysroot_to_chain): Likewise. - * langhooks.c (lang_GNU_C): Likewise. - (lang_GNU_CXX): Likewise. - (lang_GNU_Fortran): Likewise. - (lang_GNU_OBJC): Likewise. - * lto-wrapper.c (run_gcc): Likewise. - * omp-general.c (omp_max_simt_vf): Likewise. - * omp-low.c (omp_runtime_api_call): Likewise. - * opts-common.c (parse_options_from_collect_gcc_options): Likewise. - * read-rtl-function.c (function_reader::read_rtx_operand_r): Likewise. - * real.c (real_from_string): Likewise. - * selftest.c (assert_str_startswith): Likewise. - * timevar.c (timer::validate_phases): Likewise. - * tree.c (get_file_function_name): Likewise. - * ubsan.c (ubsan_use_new_style_p): Likewise. - * varasm.c (default_function_rodata_section): Likewise. - (incorporeal_function_p): Likewise. - (default_section_type_flags): Likewise. - * system.h (startswith): Define startswith. - -2021-05-10 Martin Liska - - * bitmap.h (class auto_bitmap): Remove - __cplusplus >= 201103. - * config/aarch64/aarch64.c: Likewise. - * gimple-ssa-store-merging.c (store_immediate_info::store_immediate_info): - Likewise. - * sbitmap.h: Likewise. - -2021-05-10 Martin Liska - - * Makefile.in: Rename gcov-iov to genversion and depend - on version.h (instead of gcov-iov.h). - * gcov-io.h: Include version.h instread of gcov-iov.h. - * gengtype-state.c (read_state_version): Likewise. - * gcov-iov.c: Moved to... - * genversion.c: ...here. - * lto-streamer.h (LTO_major_version): Define it with - GCC_major_version. - * version.c: Removed. - * version.h: Removed. - -2021-05-10 Claudiu Zissulescu - - * config/arc/arc.md (UNSPEC_ARC_DMPYWH): Define. - * config/arc/simdext.md (VCT): Add predicates for iterator - elements. - (EMUVEC): Define. - (voptab): Likewise. - (vec_widen_mult_hi_v4hi): Change pattern predicate. - (v2si3): New patterns. - (neg): Likewise. - (reduc_plus_scal_v4hi): Likewise. - (reduc_plus_scal_v2si): Likewise. - (vec_duplicatev2si): Likewise. - (vec_duplicatev4hi): Likewise. - -2021-05-10 Claudiu Zissulescu - - * config/arc/simdext.md: Format and cleanup file. - -2021-05-10 Claudiu Zissulescu - - * config/arc/simdext.md (movmisalignv2hi): Allow misaligned access - only when munaligned-access option is on. - (movmisalign): Likewise. - -2021-05-10 Claudiu Zissulescu - - * common/config/arc/arc-common.c (arc_handle_option): Remove dot - from string. - * config/arc/arc.c (arc_reorg): Remove underscore from string. - -2021-05-10 Claudiu Zissulescu - - * config/arc/arc.h (CLZ_DEFINED_VALUE_AT_ZERO): Define. - (CTZ_DEFINED_VALUE_AT_ZERO): Likewise. - * config/arc/arc.md (clrsbsi2): Cleanup pattern. - (norm_f): Likewise. - (ffs): Likewise. - (ffs_f): Likewise. - (clzsi2): Use fls instruction when available. - (arc_clzsi2): Likewise. - -2021-05-10 Claudiu Zissulescu - - * config/arc/arc.h (ADDITIONAL_REGISTER_NAMES): Add r26 and r27. - -2021-05-10 Claudiu Zissulescu - - * doc/extend.texi (__builtin_arc_sr): Swap arguments. - -2021-05-10 Bernd Edlinger - - PR middle-end/100467 - * toplev.c (compile_file): Call insn_locations_init before - targetm.asm_out.code_end. - -2021-05-07 Andrew Stubbs - - Revert: - 2021-05-07 Andrew Stubbs - - * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode. - -2021-05-07 Jakub Jelinek - Andrew Stubbs - - PR target/100418 - * builtins.c (try_store_by_multiple_pieces): Use force_operand for - emit_move_insn operands. - -2021-05-07 Eric Botcazou - - * cfgexpand.c (expand_gimple_basic_block): Do not inherit a current - location for the outgoing edges of an empty block. - * dwarf2out.c (add_subscript_info): Retrieve the bounds and index - type by means of the get_array_descr_info langhook, if it is set and - returns true. Remove obsolete code dealing with unnamed subtypes. - -2021-05-07 Andrew MacLeod - - * gimple-range-cache.cc (ssa_block_ranges): Virtualize. - (sbr_vector): Renamed from ssa_block_cache. - (sbr_vector::sbr_vector): Allocate from obstack abd initialize. - (ssa_block_ranges::~ssa_block_ranges): Remove. - (sbr_vector::set_bb_range): Use varying and undefined cached values. - (ssa_block_ranges::set_bb_varying): Remove. - (sbr_vector::get_bb_range): Adjust assert. - (sbr_vector::bb_range_p): Adjust assert. - (~block_range_cache): No freeing loop required. - (block_range_cache::get_block_ranges): Remove. - (block_range_cache::set_bb_range): Inline get_block_ranges. - (block_range_cache::set_bb_varying): Remove. - * gimple-range-cache.h (set_bb_varying): Remove prototype. - * value-range.h (irange_allocator::get_memory): New. - -2021-05-07 Andrew MacLeod - - * gimple-range-cache.cc (non_null_ref::non_null_deref_p): Search - dominator tree is available and requested. - (ranger_cache::ssa_range_in_bb): Don't search dom tree here. - (ranger_cache::fill_block_cache): Don't search dom tree here either. - * gimple-range-cache.h (non_null_deref_p): Add dom_search param. - -2021-05-07 Andrew MacLeod - - * gimple-range.cc (gimple_ranger::range_on_exit): Handle block with - only PHI nodes better. - -2021-05-07 Andrew MacLeod - - * gimple-range-edge.h (gimple_outgoing_range): Rename from - outgoing_range. - (gcond_edge_range): Export prototype. - * gimple-range-edge.cc (gcond_edge_range): New. - (gimple_outgoing_range::edge_range_p): Use gcond_edge_range. - * gimple-range-gori.h (gori_compute): Use gimple_outgoing_range. - -2021-05-07 Andrew MacLeod - - * gimple-range-edge.cc (outgoing_range::calc_switch_ranges): Compute - default range into a temp and allocate only what is needed. - -2021-05-07 Andrew MacLeod - - * range-op.cc (operator_trunc_mod::wi_fold): x % 0 is UNDEFINED. - -2021-05-07 Andrew MacLeod - - * gimple-range.h (gimple_range_global): Pick up parameter initial - values, and use-before defined locals are UNDEFINED. - -2021-05-07 Eric Botcazou - - * doc/extend.texi (scalar_storage_order): Mention effect on pointer - and vector fields. - * tree.h (reverse_storage_order_for_component_p): Return false if - the type is a pointer. - -2021-05-07 Andrew Stubbs - - * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode. - -2021-05-07 Uroš Bizjak - - PR target/98218 - * config/i386/i386-expand.c (ix86_expand_sse_movcc): - Handle V8QI, V4HI and V2SI modes. - * config/i386/mmx.md (mmx_pblendvb): New insn pattern. - * config/i386/sse.md (unspec): Move UNSPEC_BLENDV ... - * config/i386/i386.md (unspec): ... here. - -2021-05-07 Tobias Burnus - Tom de Vries - - * omp-low.c (lower_rec_simd_input_clauses): Set max_vf = 1 if - a truth_value_p reduction variable is nonintegral. - -2021-05-07 Uroš Bizjak - - PR target/100445 - * config/i386/i386-expand.c (ix86_use_mask_cmp_p): - Return false for mode sizes < 16. - -2021-05-07 Jakub Jelinek - - PR target/100445 - * config/i386/mmx.md (*xop_pcmov_): New define_insn. - -2021-05-06 Martin Jambor - - * ipa-sra.c (ipa_sra_dump_all_summaries): Dump edge summaries even - when there is no function summary. - (ipa_sra_summarize_function): produce edge summaries even when - bailing out early. - -2021-05-06 Tom Tromey - - * godump.c (string_hash_eq): Remove. - (go_finish): Use htab_eq_string. - -2021-05-06 Tom Tromey - - * gengtype-state.c (read_state): Use htab_eq_string. - (string_eq): Remove. - -2021-05-06 Tom Tromey - - * gensupport.c (htab_eq_string): Remove. - -2021-05-06 Bernd Edlinger - - PR ipa/97937 - * debug.h (gcc_debug_hooks): Add set_ignored_loc function pointer. - * dwarf2out.h (dw_fde_node::ignored_debug): New data item. - * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Add dummy - set_ignored_loc callbacks. - * debug.c (do_nothing_debug_hooks): Likewise. - * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. - * dwarf2out.c (text_section_used, cold_text_section_used): Remove. - (in_text_section_p, last_text_label, last_cold_label, - switch_text_ranges, switch_cold_ranges): New data items. - (dwarf2out_note_section_used): Remove. - (dwarf2out_begin_prologue): Set fde->ignored_debug and - in_text_section_p. - (mark_ignored_debug_section): New helper function. - (dwarf2out_end_epilogue, dwarf2out_switch_text_section): Call - mark_ignored_debug_section. - (dwarf2_debug_hooks): Use dwarf2out_set_ignored_loc. - (dwarf2_lineno_debug_hooks): Use dummy for set_ignored_loc. - (size_of_aranges): Adjust formula for multi-part text ranges size. - (output_aranges): Output multi-part text ranges. - (dwarf2out_set_ignored_loc): New callback function. - (dwarf2out_finish): Output multi-part text ranges. - (dwarf2out_c_finalize): Clear new data items. - * final.c (final_start_function_1): Call set_ignored_loc callback. - (final_scan_insn_1): Likewise. - * ggc-page.c (gt_ggc_mx): New helper function. - * stringpool.c (gt_pch_nx): Likewise. - -2021-05-06 Richard Biener - - * timevar.def (TV_TREE_INSERT_PHI_NODES): Remove. - (TV_TREE_SSA_REWRITE_BLOCKS): Likewise. - (TV_TREE_INTO_SSA): New. - * tree-into-ssa.c (insert_phi_nodes): Do not account separately. - (rewrite_blocks): Likewise. - (pass_data_build_ssa): Account to TV_TREE_INTO_SSA. - -2021-05-06 Jakub Jelinek - - * tree-ssa-phiopt.c (value_replacement, minmax_replacement, - abs_replacement, xor_replacement, - cond_removal_in_popcount_clz_ctz_pattern, - replace_phi_edge_with_variable): Change type of phi argument from - gimple * to gphi *. - -2021-05-06 Richard Biener - - * tree-ssa-loop-split.c (split_loop): Delay updating SSA form. - Output an opt-info message. - (do_split_loop_on_cond): Likewise. - (tree_ssa_split_loops): Update SSA form here. - -2021-05-06 Richard Biener - - * tree-inline.c (tree_function_versioning): Fix DECL_BY_REFERENCE - return variable removal. - -2021-05-06 Marius Hillenbrand - - * config/s390/s390-builtins.def (O_M5, O1_M5, ...): Remove unused macros. - (s390_vec_permi_s64, s390_vec_permi_b64, s390_vec_permi_u64) - (s390_vec_permi_dbl, s390_vpdi): Use the O3_U2 type for the immediate - operand. - * config/s390/s390.c (s390_const_operand_ok): Remove unused - values. - -2021-05-06 Jakub Jelinek - - PR tree-optimization/94589 - * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call - spaceship_replacement. - (cond_only_block_p, spaceship_replacement): New functions. - -2021-05-06 Richard Biener - - PR ipa/100373 - * tree-emutls.c (gen_emutls_addr): Pass in whether we're - dealing with a debug use and only query existing addresses - if so. - (lower_emutls_1): Avoid splitting out addresses for debug - stmts, reset the debug stmt when we fail to find existing - lowered addresses. - (lower_emutls_phi_arg): Set wi.stmt. - -2021-05-06 Christoph Muellner - - PR target/100266 - * config/riscv/riscv.c (riscv_block_move_loop): Use cbranch helper. - * config/riscv/riscv.md (cbranch4): Generate helpers. - (stack_protect_test): Use cbranch helper. - -2021-05-05 Eric Botcazou - - PR target/100402 - * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target, - always return the establisher frame for __builtin_frame_address (0). - -2021-05-05 Ivan Sorokin - - PR target/91400 - * config/i386/i386-builtins.c (ix86_cpu_model_type_node): New. - (ix86_cpu_model_var): Likewise. - (ix86_cpu_features2_type_node): Likewise. - (ix86_cpu_features2_var): Likewise. - (fold_builtin_cpu): Cache __cpu_model and __cpu_features2 with - their types. - -2021-05-05 Martin Sebor - - * passes.def (pass_warn_printf): Run after SSA. - -2021-05-05 Prathamesh Kulkarni - - * config/arm/neon.md (neon_vtst_combine): New pattern. - * config/arm/predicates.md (minus_one_operand): New predicate. - -2021-05-05 Jeff Law - - * config/avr/avr.md: Remove references to CC_STATUS_INIT. - -2021-05-05 Stefan Schulze Frielinghaus - - PR rtl-optimization/100263 - * postreload.c (move2add_valid_value_p): Ensure register can - change mode. - -2021-05-05 Eric Botcazou - - PR rtl-optimization/100411 - * cfgcleanup.c (try_crossjump_to_edge): Also skip end of prologue - and beginning of function markers. - -2021-05-05 Jeff Law - - * config/cr16/cr16.h (NOTICE_UPDATE_CC): Remove. - * config/cr16/cr16.c (notice_update_cc): Remove. - * config/cr16/cr16-protos.h (notice_update_cc): Remove. - -2021-05-05 Uroš Bizjak - - PR target/98218 - * config/i386/i386-expand.c (ix86_expand_int_sse_cmp): - Handle V8QI, V4HI and V2SI modes. - * config/i386/i386.c (ix86_build_const_vector): Handle V2SImode. - (ix86_build_signbit_mask): Ditto. - * config/i386/mmx.md (MMXMODE14): New mode iterator. - (3): New expander. - (*mmx_3): New insn pattern. - (3): New expander. - (*mmx_3): New insn pattern. - (vec_cmp): New expander. - (vec_cmpu): Ditto. - (vcond): Ditto. - (vcondu): Ditto. - (vcond_mask_): Ditto. - -2021-05-05 Eric Botcazou - - * dwarf2out.c (loc_list_from_tree_1) : During early DWARF, do - not expand the VALUE_EXPR of variables put in the non-local frame. - * gimplify.c (gimplify_type_sizes) : If the type is not - to be ignored for debug info, ensure its variable offsets are not. - -2021-05-05 Richard Biener - - PR tree-optimization/79333 - * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): - Fold stmt following SSA edges. - -2021-05-05 Richard Biener - - PR middle-end/100394 - * calls.c (expand_call): Preserve possibly throwing calls. - * cfgexpand.c (expand_call_stmt): When a call can throw signal - RTL expansion there are side-effects. - * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Simplify, - mark all possibly throwing stmts necessary unless we can elide - dead EH. - * tree-ssa-dse.c (pass_dse::execute): Preserve exceptions unless - -fdelete-dead-exceptions. - * tree.h (DECL_PURE_P): Add note about exceptions. - -2021-05-05 Alexandre Oliva - - * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Make it - unconditional. - -2021-05-04 David Edelsohn - - * config/rs6000/rs6000-call.c (rs6000_output_mi_thunk): Use - get_fnname_from_decl for name of thunk. - * config/rs6000/rs6000.c (rs6000_declare_alias): Use assemble_name - and ASM_OUTPUT_LABEL. - (rs6000_xcoff_declare_function_name): Use assemble_name and - ASM_OUTPUT_LABEL. - (rs6000_xcoff_declare_object_name): Use ASM_OUTPUT_LABEL. - (rs6000_xcoff_encode_section_info): Don't add mapping class - for aliases. Always add [DS] mapping class to primary - FUNCTION_DECL. - (rs6000_asm_weaken_decl): Don't explicitly add [DS]. - -2021-05-04 Martin Sebor - - PR middle-end/100307 - * builtins.c (compute_objsize_r): Clear base0 for pointers. - -2021-05-04 Jeff Law - - * config/bfin/bfin.h (NOTICE_UPDATE_CC): Remove. - -2021-05-04 Segher Boessenkool - - * caller-save.c: Remove CC0. - * cfgcleanup.c: Remove CC0. - * cfgrtl.c: Remove CC0. - * combine.c: Remove CC0. - * compare-elim.c: Remove CC0. - * conditions.h: Remove CC0. - * config/h8300/h8300.h: Remove CC0. - * config/h8300/h8300-protos.h: Remove CC0. - * config/h8300/peepholes.md: Remove CC0. - * config/i386/x86-tune-sched.c: Remove CC0. - * config/m68k/m68k.c: Remove CC0. - * config/rl78/rl78.c: Remove CC0. - * config/sparc/sparc.c: Remove CC0. - * config/xtensa/xtensa.c: Remove CC0. - (gen_conditional_move): Use pc_rtx instead of cc0_rtx in a piece of - RTL where that is used as a placeholder only. - * cprop.c: Remove CC0. - * cse.c: Remove CC0. - * cselib.c: Remove CC0. - * df-problems.c: Remove CC0. - * df-scan.c: Remove CC0. - * doc/md.texi: Remove CC0. Adjust an example. - * doc/rtl.texi: Remove CC0. Adjust an example. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Remove CC0. - * emit-rtl.c: Remove CC0. - * final.c: Remove CC0. - * fwprop.c: Remove CC0. - * gcse-common.c: Remove CC0. - * gcse.c: Remove CC0. - * genattrtab.c: Remove CC0. - * genconfig.c: Remove CC0. - * genemit.c: Remove CC0. - * genextract.c: Remove CC0. - * gengenrtl.c: Remove CC0. - * genrecog.c: Remove CC0. - * haifa-sched.c: Remove CC0. - * ifcvt.c: Remove CC0. - * ira-costs.c: Remove CC0. - * ira.c: Remove CC0. - * jump.c: Remove CC0. - * loop-invariant.c: Remove CC0. - * lra-constraints.c: Remove CC0. - * lra-eliminations.c: Remove CC0. - * optabs.c: Remove CC0. - * postreload-gcse.c: Remove CC0. - * postreload.c: Remove CC0. - * print-rtl.c: Remove CC0. - * read-rtl-function.c: Remove CC0. - * reg-notes.def: Remove CC0. - * reg-stack.c: Remove CC0. - * reginfo.c: Remove CC0. - * regrename.c: Remove CC0. - * reload.c: Remove CC0. - * reload1.c: Remove CC0. - * reorg.c: Remove CC0. - * resource.c: Remove CC0. - * rtl.c: Remove CC0. - * rtl.def: Remove CC0. - * rtl.h: Remove CC0. - * rtlanal.c: Remove CC0. - * sched-deps.c: Remove CC0. - * sched-rgn.c: Remove CC0. - * shrink-wrap.c: Remove CC0. - * simplify-rtx.c: Remove CC0. - * system.h: Remove CC0. Poison NOTICE_UPDATE_CC, CC_STATUS_MDEP_INIT, - CC_STATUS_MDEP, and CC_STATUS. - * target.def: Remove CC0. - * valtrack.c: Remove CC0. - * var-tracking.c: Remove CC0. - -2021-05-04 Richard Biener - - PR tree-optimization/100414 - * tree-ssa-phiopt.c (get_non_trapping): Do not compute dominance - info here. - (tree_ssa_phiopt_worker): But unconditionally here. - -2021-05-04 Tobias Burnus - - * omp-low.c (lower_rec_input_clauses, lower_reduction_clauses): Handle - && and || with floating-point and complex arguments. - -2021-05-04 Eric Botcazou - - * tree-inline.c (insert_debug_decl_map): Delete. - (copy_debug_stmt): Minor tweak. - (setup_one_parameter): Do not use a variable if the value is either - a read-only DECL or a non-addressable local variable in the caller. - In this case, insert the debug-only variable in the map manually. - (expand_call_inline): Do not generate a CLOBBER for these values. - * tree-inline.h (debug_map): Minor tweak. - -2021-05-04 Eric Botcazou - - * builtins.c (builtin_with_linkage_p): Return true for stp[n]cpy. - * symtab.c (symtab_node::output_to_lto_symbol_table_p): Tidy up. - -2021-05-04 Richard Biener - - PR tree-optimization/100329 - * tree-ssa-reassoc.c (can_reassociate_p): Do not reassociate - asm goto defs. - (insert_stmt_after): Assert we're not running into asm goto. - -2021-05-04 Richard Biener - - PR tree-optimization/100398 - * tree-ssa-dse.c (pass_dse::execute): Preserve control - altering stmts. - -2021-05-04 Prathamesh Kulkarni - - * builtins.c (try_store_by_multiple_pieces): Fix constfun's prototype. - -2021-05-04 Alexandre Oliva - - * builtins.c (try_store_by_multiple_pieces): New. - (expand_builtin_memset_args): Use it. If target_char_cast - fails, proceed as for non-constant val. Pass len's ctz to... - * expr.c (clear_storage_hints): ... this. Try store by - multiple pieces after setmem. - (clear_storage): Adjust. - * expr.h (clear_storage_hints): Likewise. - (try_store_by_multiple_pieces): Declare. - * passes.def: Replace the last copy_prop with ccp. - -2021-05-03 Tom de Vries - - PR target/100321 - * omp-low.c (lower_rec_input_clauses): Disable SIMT for user-defined - reduction. - -2021-05-03 Richard Biener - - * tree-ssa-dse.c (dse_classify_store): Track two PHI defs. - -2021-05-03 Richard Biener - - * tree-ssa-dse.c: Do not include domwalk.h but cfganal.h. - (dse_dom_walker): Remove. - (dse_dom_walker::dse_optimize_stmt): Rename... - (dse_optimize_stmt): ... to this, pass in live_bytes sbitmap. - (dse_dom_walker::before_dom_children): Inline ... - (pass_dse::execute): ... here. Perform a reverse program - order walk. - -2021-05-03 H.J. Lu - - PR bootstrap/99703 - * configure: Regenerated. - -2021-05-03 Ilya Leoshkevich - - PR target/100217 - * config/s390/s390.c (s390_hard_fp_reg_p): New function. - (s390_md_asm_adjust): Handle hard registers. - -2021-05-03 Jakub Jelinek - - PR tree-optimization/100382 - * tree-ssa-dse.c: Include tree-eh.h. - (dse_dom_walker::before_dom_children): Don't remove stmts if - stmt_unremovable_because_of_non_call_eh_p is true. - -2021-05-02 David Edelsohn - - * varasm.c (compute_reloc_for_var): Split out from... - (get_variable_section): Use it. - * output.h (compute_reloc_for_var): Declare. - * config/rs6000/rs6000-protos.h - (rs6000_xcoff_asm_output_aligned_decl_common): Change alignment to - unsigned int. - * config/rs6000/rs6000.c (rs6000_legitimize_tls_address_aix): - Don't append storage mapping class to symbol. - (rs6000_xcoff_asm_named_section): Add BS and UL mapping classes. - Don't convert TLS BSS to common. - (rs6000_xcoff_unique_section): Don't fall back to select_secton. - (rs6000_xcoff_section_type_flags): Add SECTION_BSS if DECL is - bss_initializer. - (rs6000_xcoff_asm_globalize_decl_name): Don't strip storage - mapping class. - (rs6000_xcoff_asm_output_aligned_decl_common): Align is unsigned int. - If align is 0 from TLS class, use the same rules as varasm.c - If not common, switch to BSS section manually. - If common, emit appropriate comm or lcomm directive. - (rs6000_xcoff_encode_section_info): Add logic to append all - storage mapping classes. - (rs6000_asm_weaken_decl): Adjust for qualname symbols. - * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use - rs6000_xcoff_asm_output_aligned_decl_common. - (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use - rs6000_xcoff_asm_output_aligned_decl_common. - (ASM_OUTPUT_TLS_COMMON): Use - rs6000_xcoff_asm_output_aligned_decl_common. - -2021-05-02 Jakub Jelinek - - PR target/100375 - * config/nvptx/nvptx.c (nvptx_sese_pseudo): Use nullptr instead of 0 - as first argument of pseudo_node_t constructors. - -2021-05-02 Jakub Jelinek - - PR target/100336 - * config/i386/t-i386 (TM_H): Add $(srcdir)/config/i386/i386-isa.def. - -2021-05-01 Aldy Hernandez - - * value-range.cc (DEFINE_INT_RANGE_GC_STUBS): Remove. - (gt_pch_nx (int_range<1> *&)): New. - (gt_ggc_mx (int_range<1> *&)): New. - * value-range.h (class irange): Add GTY support for - the base class. - -2021-05-01 Geng Qi - - * doc/options.texi (Negative): Change either or to both and. - -2021-04-30 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add - float_ml[as][q]_laneq builtin generator macros. - * config/aarch64/aarch64-simd.md (mul_laneq3): Define. - (aarch64_float_mla_laneq): Define. - (aarch64_float_mls_laneq): Define. - * config/aarch64/arm_neon.h (vmla_laneq_f32): Use RTL builtin - instead of GCC vector extensions. - (vmlaq_laneq_f32): Likewise. - (vmls_laneq_f32): Likewise. - (vmlsq_laneq_f32): Likewise. - -2021-04-30 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add - float_ml[as]_lane builtin generator macros. - * config/aarch64/aarch64-simd.md (*aarch64_mul3_elt): - Rename to... - (mul_lane3): This, and re-order arguments. - (aarch64_float_mla_lane): Define. - (aarch64_float_mls_lane): Define. - * config/aarch64/arm_neon.h (vmla_lane_f32): Use RTL builtin - instead of GCC vector extensions. - (vmlaq_lane_f32): Likewise. - (vmls_lane_f32): Likewise. - (vmlsq_lane_f32): Likewise. - -2021-04-30 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add float_ml[as] - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_float_mla): - Define. - (aarch64_float_mls): Define. - * config/aarch64/arm_neon.h (vmla_f32): Use RTL builtin - instead of relying on GCC vector extensions. - (vmla_f64): Likewise. - (vmlaq_f32): Likewise. - (vmlaq_f64): Likewise. - (vmls_f32): Likewise. - (vmls_f64): Likewise. - (vmlsq_f32): Likewise. - (vmlsq_f64): Likewise. - * config/aarch64/iterators.md: Define VDQF_DF mode iterator. - -2021-04-30 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add - float_ml[as]_n_builtin generator macros. - * config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_from_dup): - Rename to... - (mul_n3): This, and re-order arguments. - (aarch64_float_mla_n): Define. - (aarch64_float_mls_n): Define. - * config/aarch64/arm_neon.h (vmla_n_f32): Use RTL builtin - instead of inline asm. - (vmlaq_n_f32): Likewise. - (vmls_n_f32): Likewise. - (vmlsq_n_f32): Likewise. - -2021-04-30 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add pmull[2] - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_pmullv8qi): Define. - (aarch64_pmull_hiv16qi_insn): Define. - (aarch64_pmull_hiv16qi): Define. - * config/aarch64/arm_neon.h (vmull_high_p8): Use RTL builtin - instead of inline asm. - (vmull_p8): Likewise. - -2021-04-30 Senthil Kumar Selvaraj - - * config/avr/avr.md: Adjust peepholes to match and - generate parallels with clobber of REG_CC. - (mov_insn): Rename to mov_insn_split. - (*mov_insn): Rename to mov_insn. - -2021-04-30 David Edelsohn - - * varasm.c (use_blocks_for_decl_p): Don't use section anchors - for VAR_DECLs if -fdata-sections enabled. - -2021-04-30 Michael Meissner - - PR bootstrap/100327 - * config/rs6000/rs6000.c - (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define. - (rs6000_libgcc_floating_mode_supported_p): New target hook. - -2021-04-30 Aldy Hernandez - - * tree-ssa-threadbackward.c (class thread_jumps): Split out code - from here... - (class back_threader_registry): ...to here... - (class back_threader_profitability): ...and here... - (thread_jumps::thread_through_all_blocks): Remove argument. - (back_threader_registry::back_threader_registry): New. - (back_threader_registry::~back_threader_registry): New. - (back_threader_registry::thread_through_all_blocks): New. - (thread_jumps::profitable_jump_thread_path): Move from here... - (back_threader_profitability::profitable_path_p): ...to here. - (thread_jumps::find_taken_edge): New. - (thread_jumps::convert_and_register_current_path): Move... - (back_threader_registry::register_path): ...to here. - (thread_jumps::register_jump_thread_path_if_profitable): Move... - (thread_jumps::maybe_register_path): ...to here. - (thread_jumps::handle_phi): Call find_taken_edge and - maybe_register_path. - (thread_jumps::handle_assignment): Same. - (thread_jumps::fsm_find_control_statement_thread_paths): Remove - tree argument to handle_phi and handle_assignment. - (thread_jumps::find_jump_threads_backwards): Set m_name. Remove - set of m_speed_p and m_max_threaded_paths. - (pass_thread_jumps::execute): Remove second argument from - find_jump_threads_backwards. - (pass_early_thread_jumps::execute): Same. - -2021-04-30 Aldy Hernandez - - * tree-ssa-dom.c (class dom_jump_threader_simplifier): New. - (class dom_opt_dom_walker): Initialize some class variables. - (pass_dominator::execute): Pass evrp_range_analyzer and - dom_jump_threader_simplifier to dom_opt_dom_walker. - Adjust for some functions moving into classes. - (simplify_stmt_for_jump_threading): Adjust and move to... - (jump_threader_simplifier::simplify): ...here. - (dom_opt_dom_walker::before_dom_children): Adjust for - m_evrp_range_analyzer. - (dom_opt_dom_walker::after_dom_children): Remove x_vr_values hack. - (test_for_singularity): Place in dom_opt_dom_walker class. - (dom_opt_dom_walker::optimize_stmt): The argument - evrp_range_analyzer is now a class field. - * tree-ssa-threadbackward.c (class thread_jumps): Add m_registry. - (thread_jumps::thread_through_all_blocks): New. - (thread_jumps::convert_and_register_current_path): Use m_registry. - (pass_thread_jumps::execute): Adjust for thread_through_all_blocks - being in the threader class. - (pass_early_thread_jumps::execute): Same. - * tree-ssa-threadedge.c (threadedge_initialize_values): Move... - (jump_threader::jump_threader): ...here. - (threadedge_finalize_values): Move... - (jump_threader::~jump_threader): ...here. - (jump_threader::remove_jump_threads_including): New. - (jump_threader::thread_through_all_blocks): New. - (record_temporary_equivalences_from_phis): Move... - (jump_threader::record_temporary_equivalences_from_phis): ...here. - (record_temporary_equivalences_from_stmts_at_dest): Move... - (jump_threader::record_temporary_equivalences_from_stmts_at_dest): - Here... - (simplify_control_stmt_condition_1): Move to jump_threader class. - (simplify_control_stmt_condition): Move... - (jump_threader::simplify_control_stmt_condition): ...here. - (thread_around_empty_blocks): Move... - (jump_threader::thread_around_empty_blocks): ...here. - (thread_through_normal_block): Move... - (jump_threader::thread_through_normal_block): ...here. - (thread_across_edge): Move... - (jump_threader::thread_across_edge): ...here. - (thread_outgoing_edges): Move... - (jump_threader::thread_outgoing_edges): ...here. - * tree-ssa-threadedge.h: Move externally facing functings... - (class jump_threader): ...here... - (class jump_threader_simplifier): ...and here. - * tree-ssa-threadupdate.c (struct redirection_data): Remove comment. - (jump_thread_path_allocator::jump_thread_path_allocator): New. - (jump_thread_path_allocator::~jump_thread_path_allocator): New. - (jump_thread_path_allocator::allocate_thread_edge): New. - (jump_thread_path_allocator::allocate_thread_path): New. - (jump_thread_path_registry::jump_thread_path_registry): New. - (jump_thread_path_registry::~jump_thread_path_registry): New. - (jump_thread_path_registry::allocate_thread_edge): New. - (jump_thread_path_registry::allocate_thread_path): New. - (dump_jump_thread_path): Make extern. - (debug (const vec &path)): New. - (struct removed_edges): Move to tree-ssa-threadupdate.h. - (struct thread_stats_d): Remove. - (remove_ctrl_stmt_and_useless_edges): Make static. - (lookup_redirection_data): Move... - (jump_thread_path_registry::lookup_redirection_data): ...here. - (ssa_redirect_edges): Make static. - (thread_block_1): Move... - (jump_thread_path_registry::thread_block_1): ...here. - (thread_block): Move... - (jump_thread_path_registry::thread_block): ...here. - (thread_through_loop_header): Move... - (jump_thread_path_registry::thread_through_loop_header): ...here. - (mark_threaded_blocks): Move... - (jump_thread_path_registry::mark_threaded_blocks): ...here. - (debug_path): Move... - (jump_thread_path_registry::debug_path): ...here. - (debug_all_paths): Move... - (jump_thread_path_registry::dump): ..here. - (rewire_first_differing_edge): Move... - (jump_thread_path_registry::rewire_first_differing_edge): ...here. - (adjust_paths_after_duplication): Move... - (jump_thread_path_registry::adjust_paths_after_duplication): ...here. - (duplicate_thread_path): Move... - (jump_thread_path_registry::duplicate_thread_path): ..here. - (remove_jump_threads_including): Move... - (jump_thread_path_registry::remove_jump_threads_including): ...here. - (thread_through_all_blocks): Move to... - (jump_thread_path_registry::thread_through_all_blocks): ...here. - (delete_jump_thread_path): Remove. - (register_jump_thread): Move... - (jump_thread_path_registry::register_jump_thread): ...here. - * tree-ssa-threadupdate.h: Move externally facing functions... - (class jump_thread_path_allocator): ...here... - (class jump_thread_path_registry): ...and here. - (thread_through_all_blocks): Remove. - (struct removed_edges): New. - (register_jump_thread): Remove. - (remove_jump_threads_including): Remove. - (delete_jump_thread_path): Remove. - (remove_ctrl_stmt_and_useless_edges): Remove. - (free_dom_edge_info): New prototype. - * tree-vrp.c: Remove x_vr_values hack. - (class vrp_jump_threader_simplifier): New. - (vrp_jump_threader_simplifier::simplify): New. - (vrp_jump_threader::vrp_jump_threader): Adjust method signature. - Remove m_dummy_cond. - Instantiate m_simplifier and m_threader. - (vrp_jump_threader::thread_through_all_blocks): New. - (vrp_jump_threader::simplify_stmt): Remove. - (vrp_jump_threader::after_dom_children): Do not set m_dummy_cond. - Remove x_vr_values hack. - (execute_vrp): Adjust for thread_through_all_blocks being in a - class. - -2021-04-30 Christophe Lyon - - * genflags.c (gen_insn): Print failed expansion string. - -2021-04-30 H.J. Lu - - * expr.c (alignment_for_piecewise_move): Call mode_for_size - without limit to MAX_FIXED_MODE_SIZE. - -2021-04-30 H.J. Lu - - PR middle-end/90773 - * builtins.c (builtin_memset_gen_str): Don't use return from - simplify_gen_subreg. - -2021-04-30 Uroš Bizjak - - PR target/98060 - * config/i386/i386.md (*add3_carry_0r): New insn pattern. - (*addsi3_carry_zext_0r): Ditto. - (*sub3_carry_0): Ditto. - (*subsi3_carry_zext_0r): Ditto. - * config/i386/predicates.md (ix86_carry_flag_unset_operator): - New predicate. - * config/i386/i386.c (ix86_rtx_costs) : - Also consider ix86_carry_flag_unset_operator to calculate - the cost of adc/sbb insn. - -2021-04-30 Roman Zhuykov - - PR rtl-optimization/100225 - PR rtl-optimization/84878 - * modulo-sched.c (sms_schedule): Use note_stores to skip loops - where we have an instruction which touches (writes) any hard - register from df->regular_block_artificial_uses set. - Allow not-single-set instruction only right before basic block - tail. - -2021-04-30 Geng Qi - - * config/riscv/riscv.opt (march=,mabi=): Negative itself. - -2021-04-30 LevyHsu - - * config/riscv/riscv.c (riscv_min_arithmetic_precision): New. - * config/riscv/riscv.h (TARGET_MIN_ARITHMETIC_PRECISION): New. - * config/riscv/riscv.md (addv4, uaddv4): New. - (subv4, usubv4, mulv4, umulv4): New. - -2021-04-29 Alexandre Oliva - - * config.gcc: Merged x86 and x86_64 cpu_type-setting cases. - -2021-04-29 Alexandre Oliva - - * config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): Rename to... - (ASM_OUTPUT_MAX_SKIP_ALIGN): ... this. Enclose in do/while(0). - * config/i386/i386.c: Adjust. - * config/i386/i386.md: Adjust. - * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Drop. - * config/i386/dragonfly.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/gnu-user.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/iamcu.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/lynx.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/netbsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/openbsdelf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. - (ASM_OUTPUT_MAX_SKIP_PAD): Likewise. - -2021-04-29 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_int_compare): - Swap operands of GTU and LEU comparison to emit carry flag comparison. - * config/i386/i386.md (*add3_carry_0): Change insn - predicate to allow more combine opportunities with memory operands. - (*sub3_carry_0): Ditto. - -2021-04-29 Richard Sandiford - - PR rtl-optimization/100303 - * rtl-ssa/accesses.cc (function_info::make_use_available): Take a - boolean that indicates whether the use will only be used in - debug instructions. Treat it in the same way that existing - cross-EBB debug references would be handled if so. - (function_info::make_uses_available): Likewise. - * rtl-ssa/functions.h (function_info::make_uses_available): Update - prototype accordingly. - (function_info::make_uses_available): Likewise. - * fwprop.c (try_fwprop_subst): Update call accordingly. - -2021-04-29 Jeff Law - - * config/nios2/nios2-protos.h (nios2_fpu_insn_enabled): Move outside - of RTX_CODE guard. - -2021-04-29 Uroš Bizjak - Richard Biener - - PR target/100312 - * config/i386/i386-builtin.def (IX86_BUILTIN_MASKLOADPD) - (IX86_BUILTIN_MASKLOADPS, IX86_BUILTIN_MASKLOADPD256) - (IX86_BUILTIN_MASKLOADPS256, IX86_BUILTIN_MASKLOADD) - (IX86_BUILTIN_MASKLOADQ, IX86_BUILTIN_MASKLOADD256) - (IX86_BUILTIN_MASKLOADQ256): Move from SPECIAL_ARGS - to PURE_ARGS category. - * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): - Handle PURE_ARGS category. - * config/i386/i386-expand.c (ix86_expand_builtin): Ditto. - -2021-04-29 Eric Botcazou - - * configure.ac: Check for the presence of sys/locking.h header and - for whether _LK_LOCK is supported by _locking. - * configure: Regenerate. - * config.in: Likewise. - * gcov-io.h: Define GCOV_LOCKED_WITH_LOCKING if HOST_HAS_LK_LOCK. - * gcov-io.c (gcov_open): Add support for GCOV_LOCKED_WITH_LOCKING. - * system.h: Include if HAVE_SYS_LOCKING_H. - -2021-04-29 Uroš Bizjak - - * config/i386/predicates.md (fcmov_comparison_operator): - Do not check for trivial FP comparison operator. - : Allow CCGZmode. - : Do not allow CCCmode. - (ix86_comparison_operator) : Allow only CCmode. - (ix86_carry_flag_operator): Match only LTU and UNLT code. - Do not check for trivial FP comparison operator. Allow CCGZmode. - -2021-04-29 Tom de Vries - - * omp-expand.c (expand_omp_simd): Add step_orig, and replace uses of - fd->loop.step by either step or orig_step. - -2021-04-29 Eric Botcazou - - * config/sparc/sparc.c (gen_load_pcrel_sym): Delete. - (load_got_register): Do the PIC dance here. - (sparc_legitimize_tls_address): Simplify. - (sparc_emit_probe_stack_range): Likewise. - (sparc32_initialize_trampoline): Likewise. - (sparc64_initialize_trampoline): Likewise. - * config/sparc/sparc.md (load_pcrel_sym): Add @ marker. - (probe_stack_range): Likewise. - (flush): Likewise. - (tgd_hi22): Likewise. - (tgd_lo10): Likewise. - (tgd_add): Likewise. - (tgd_call): Likewise. - (tldm_hi22): Likewise. - (tldm_lo10): Likewise. - (tldm_add): Likewise. - (tldm_call): Likewise. - (tldo_hix22): Likewise. - (tldo_lox10): Likewise. - (tldo_add): Likewise. - (tie_hi22): Likewise. - (tie_lo10): Likewise. - (tie_add): Likewise. - (tle_hix22): Likewise. - (tle_lox10): Likewise. - (stack_protect_setsi): Rename to... - (stack_protect_set32): ...this. - (stack_protect_setdi): Rename to... - (stack_protect_set64): ...this. - (stack_protect_set): Adjust calls to above. - (stack_protect_testsi): Rename to... - (stack_protect_test32): ...this. - (stack_protect_testdi): Rename to... - (stack_protect_test64): ...this. - (stack_protect_test): Adjust calls to above. - -2021-04-29 H.J. Lu - - PR middle-end/90773 - * builtins.c (builtin_memcpy_read_str): Add a dummy argument. - (builtin_strncpy_read_str): Likewise. - (builtin_memset_read_str): Add an argument for the previous RTL - information and generate the new RTL from the previous RTL info. - (builtin_memset_gen_str): Likewise. - * builtins.h (builtin_strncpy_read_str): Update the prototype. - (builtin_memset_read_str): Likewise. - * expr.c (by_pieces_ninsns): If targetm.overlap_op_by_pieces_p() - returns true, round up size and alignment to the widest integer - mode for maximum size. - (pieces_addr::adjust): Add a pointer to by_pieces_prev argument - and pass it to m_constfn. - (op_by_pieces_d): Add m_push and m_overlap_op_by_pieces. - (op_by_pieces_d::op_by_pieces_d): Add a bool argument to - initialize m_push. Initialize m_overlap_op_by_pieces with - targetm.overlap_op_by_pieces_p (). - (op_by_pieces_d::run): Pass the previous RTL information to - pieces_addr::adjust and generate overlapping operations if - m_overlap_op_by_pieces is true. - (PUSHG_P): New. - (move_by_pieces_d::move_by_pieces_d): Updated for op_by_pieces_d - change. - (store_by_pieces_d::store_by_pieces_d): Updated for op_by_pieces_d - change. - (can_store_by_pieces): Use by_pieces_constfn on constfun. - (store_by_pieces): Use by_pieces_constfn on constfun. Updated - for op_by_pieces_d change. - (clear_by_pieces_1): Add a dummy argument. - (clear_by_pieces): Updated for op_by_pieces_d change. - (compare_by_pieces_d::compare_by_pieces_d): Likewise. - (string_cst_read_str): Add a dummy argument. - * expr.h (by_pieces_constfn): Add a dummy argument. - (by_pieces_prev): New. - * target.def (overlap_op_by_pieces_p): New target hook. - * config/i386/i386.c (TARGET_OVERLAP_OP_BY_PIECES_P): New. - * doc/tm.texi.in: Add TARGET_OVERLAP_OP_BY_PIECES_P. - * doc/tm.texi: Regenerated. - -2021-04-29 Richard Biener - - PR tree-optimization/100253 - * tree-vect-stmts.c (vectorizable_load): Do not assume - element alignment when DR_MISALIGNMENT is -1. - (vectorizable_store): Likewise. - -2021-04-29 Jakub Jelinek - - PR target/100302 - * config/aarch64/aarch64.c (aarch64_add_offset_1_temporaries): Use - absu_hwi instead of abs_hwi. - -2021-04-29 Richard Biener - - PR middle-end/38474 - * tree-ssa-structalias.c (add_graph_edge): Avoid direct - forwarding when indirect forwarding through ESCAPED - alread happens. - -2021-04-29 Tom de Vries - - PR target/100232 - * internal-fn.c (expand_GOMP_SIMT_ENTER_ALLOC) - (expand_GOMP_SIMT_LAST_LANE, expand_GOMP_SIMT_ORDERED_PRED) - (expand_GOMP_SIMT_VOTE_ANY, expand_GOMP_SIMT_XCHG_BFLY) - (expand_GOMP_SIMT_XCHG_IDX): Ensure target is assigned to. - -2021-04-29 Richard Biener - - PR tree-optimization/99912 - * tree-ssa-dse.c (dse_dom_walker::m_need_cfg_cleanup): New. - (dse_dom_walker::todo): Likewise. - (dse_dom_walker::dse_optimize_stmt): Move VDEF check to the - caller. - (dse_dom_walker::before_dom_children): Remove trivially - dead SSA defs and schedule CFG cleanup if we removed all - PHIs in a block. - (pass_dse::execute): Get TODO as computed by the DOM walker - and return it. Wipe dominator info earlier. - -2021-04-29 Richard Biener - - PR ipa/100308 - * ipa-prop.c (ipcp_modif_dom_walker::before_dom_children): - Track blocks to cleanup EH in new m_need_eh_cleanup. - (ipcp_modif_dom_walker::cleanup_eh): New. - (ipcp_transform_function): Release dominator info before - doing EH cleanup. - -2021-04-29 Martin Sebor - - PR middle-end/100250 - * attribs.c (attr_access::array_as_string): Avoid dereferencing - a pointer when it's null. - -2021-04-29 Martin Sebor - - * Makefile.in (OBJS): Add ipa-free-lang-data.o. - * ipa-free-lang-data.cc: New file. - * tree.c: Move pass free_lang_data to file above. - (build_array_type_1): Declare extern. - * tree.h (build_array_type_1): Declare. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Modify comment to - make consistent with updated RTL pattern. - * config/aarch64/aarch64-simd.md (aarch64_qmovn): - Implement using ss_truncate and us_truncate rather than - unspecs. - * config/aarch64/iterators.md: Remove redundant unspecs and - iterator: UNSPEC_[SU]QXTN and SUQMOVN respectively. - -2021-04-28 Jonathan Wright - - * config/aarch64/arm_acle.h (__attribute__): Make intrinsic - attributes consistent with those defined in arm_neon.h. - -2021-04-28 Jonathan Wright - - * config/aarch64/arm_fp16.h (__attribute__): Make intrinsic - attributes consistent with those defined in arm_neon.h. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add - float_trunc_rodd builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_float_trunc_rodd_df): - Define. - (aarch64_float_trunc_rodd_lo_v2sf): Define. - (aarch64_float_trunc_rodd_hi_v4sf_le): Define. - (aarch64_float_trunc_rodd_hi_v4sf_be): Define. - (aarch64_float_trunc_rodd_hi_v4sf): Define. - * config/aarch64/arm_neon.h (vcvtx_f32_f64): Use RTL builtin - instead of inline asm. - (vcvtx_high_f32_f64): Likewise. - (vcvtxd_f32_f64): Likewise. - * config/aarch64/iterators.md: Add FCVTXN unspec. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add tbx1 builtin - generator macros. - * config/aarch64/aarch64-simd.md (aarch64_tbx1): - Define. - * config/aarch64/arm_neon.h (vqtbx1_s8): USE RTL builtin - instead of inline asm. - (vqtbx1_u8): Likewise. - (vqtbx1_p8): Likewise. - (vqtbx1q_s8): Likewise. - (vqtbx1q_u8): Likewise. - (vqtbx1q_p8): Likewise. - (vtbx2_s8): Likewise. - (vtbx2_u8): Likewise. - (vtbx2_p8): Likewise. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add tbl1 builtin - generator macros. - * config/aarch64/arm_neon.h (vqtbl1_p8): Use RTL builtin - instead of inline asm. - (vqtbl1_s8): Likewise. - (vqtbl1_u8): Likewise. - (vqtbl1q_p8): Likewise. - (vqtbl1q_s8): Likewise. - (vqtbl1q_u8): Likewise. - (vtbl1_s8): Likewise. - (vtbl1_u8): Likewise. - (vtbl1_p8): Likewise. - (vtbl2_s8): Likewise. - (vtbl2_u8): Likewise. - (vtbl2_p8): Likewise. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add polynomial - ssri_n buitin generator macro. - * config/aarch64/arm_neon.h (vsri_n_p8): Use RTL builtin - instead of inline asm. - (vsri_n_p16): Likewise. - (vsri_n_p64): Likewise. - (vsriq_n_p8): Likewise. - (vsriq_n_p16): Likewise. - (vsriq_n_p64): Likewise. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use VALLP mode - iterator for polynomial ssli_n builtin generator macro. - * config/aarch64/arm_neon.h (vsli_n_p8): Use RTL builtin - instead of inline asm. - (vsli_n_p16): Likewise. - (vsliq_n_p8): Likewise. - (vsliq_n_p16): Likewise. - * config/aarch64/iterators.md: Define VALLP mode iterator. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use VDQV_L - iterator to generate [su]adalp RTL builtins. - * config/aarch64/aarch64-simd.md: Use VDQV_L iterator in - [su]adalp RTL pattern. - * config/aarch64/arm_neon.h (vpadal_s32): Use RTL builtin - instead of inline asm. - (vpadal_u32): Likewise. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]addlp - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_addlp): - Define. - * config/aarch64/arm_neon.h (vpaddl_s8): Use RTL builtin - instead of inline asm. - (vpaddl_s16): Likewise. - (vpaddl_s32): Likewise. - (vpaddl_u8): Likewise. - (vpaddl_u16): Likewise. - (vpaddl_u32): Likewise. - (vpaddlq_s8): Likewise. - (vpaddlq_s16): Likewise. - (vpaddlq_s32): Likewise. - (vpaddlq_u8): Likewise. - (vpaddlq_u16): Likewise. - (vpaddlq_u32): Liwewise. - * config/aarch64/iterators.md: Define [SU]ADDLP unspecs with - appropriate attributes. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Use VDQ_I iterator - for aarch64_addp builtin macro generator. - * config/aarch64/aarch64-simd.md: Use VDQ_I iterator in - aarch64_addp RTL pattern. - * config/aarch64/arm_neon.h (vpaddq_s8): Use RTL builtin - instead of inline asm. - (vpaddq_s16): Likewise. - (vpaddq_s32): Likewise. - (vpaddq_s64): Likewise. - (vpaddq_u8): Likewise. - (vpaddq_u16): Likewise. - (vpaddq_u32): Likewise. - (vpaddq_u64): Likewise. - -2021-04-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add sq[r]dmulh_n - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_n): - Define. - * config/aarch64/arm_neon.h (vqdmulh_n_s16): Use RTL builtin - instead of inline asm. - (vqdmulh_n_s32): Likewise. - (vqdmulhq_n_s16): Likewise. - (vqdmulhq_n_s32): Likewise. - (vqrdmulh_n_s16): Likewise. - (vqrdmulh_n_s32): Likewise. - (vqrdmulhq_n_s16): Likewise. - (vqrdmulhq_n_s32): Likewise. - -2021-04-28 Tobias Burnus - - * doc/install.texi (--enable-offload-defaulted): Document. - -2021-04-28 Senthil Kumar Selvaraj - - * config/avr/avr-dimode.md: Turn existing patterns into - define_insn_and_split style patterns where the splitter - adds a clobber of the condition code register. Drop "cc" - attribute. Add new patterns to match output of - the splitters. - * config/avr/avr-fixed.md: Likewise. - * config/avr/avr.c (cc_reg_rtx): New. - (avr_parallel_insn_from_insns): Adjust insn count - for removal of set of cc0. - (avr_is_casesi_sequence): Likewise. - (avr_casei_sequence_check_operands): Likewise. - (avr_optimize_casesi): Likewise. Also insert - new insns after jump_insn. - (avr_pass_casesi::avr_rest_of_handle_casesi): Adjust - for removal of set of cc0. - (avr_init_expanders): Initialize cc_reg_rtx. - (avr_regno_reg_class): Handle REG_CC. - (cond_string): Remove usage of CC_OVERFLOW_UNUSABLE. - (avr_notice_update_cc): Remove function. - (ret_cond_branch): Remove usage of CC_OVERFLOW_UNUSABLE. - (compare_condition): Adjust for PARALLEL with - REG_CC clobber. - (out_shift_with_cnt): Likewise. - (ashlhi3_out): Likewise. - (ashrhi3_out): Likewise. - (lshrhi3_out): Likewise. - (avr_class_max_nregs): Return single reg for REG_CC. - (avr_compare_pattern): Check for REG_CC instead - of cc0_rtx. - (avr_reorg_remove_redundant_compare): Likewise. - (avr_reorg):Adjust for PARALLEL with REG_CC clobber. - (avr_hard_regno_nregs): Return single reg for REG_CC. - (avr_hard_regno_mode_ok): Allow only CCmode for REG_CC. - (avr_md_asm_adjust): Clobber REG_CC. - (TARGET_HARD_REGNO_NREGS): Define. - (TARGET_CLASS_MAX_NREGS): Define. - (TARGET_MD_ASM_ADJUST): Define. - * config/avr/avr.h (FIRST_PSEUDO_REGISTER): Adjust - for REG_CC. - (enum reg_class): Add CC_REG class. - (NOTICE_UPDATE_CC): Remove. - (CC_OVERFLOW_UNUSABLE): Remove. - (CC_NO_CARRY): Remove. - * config/avr/avr.md: Turn existing patterns into - define_insn_and_split style patterns where the splitter - adds a clobber of the condition code register. Drop "cc" - attribute. Add new patterns to match output of - the splitters. - (sez): Remove unused pattern. - -2021-04-28 Richard Earnshaw - - PR target/100311 - * config/arm/arm.c (arm_hard_regno_mode_ok): Only allow VPR to be - used in HImode. - -2021-04-28 Richard Sandiford - - PR target/100305 - * config/aarch64/constraints.md (Utq): Require the address to - be valid for both the element mode and for V2DImode. - -2021-04-28 Jakub Jelinek - Tobias Burnus - - * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted. - * gcc.c (process_command): New variable. - (driver::maybe_putenv_OFFLOAD_TARGETS): If OFFLOAD_DEFAULTED, - set it if -foffload is defaulted. - * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define. - (compile_offload_image): If OFFLOAD_DEFAULTED and - OFFLOAD_TARGET_DEFAULT is in the environment, don't fail - if corresponding mkoffload can't be found. - (compile_images_for_offload_targets): Likewise. Free and clear - offload_names if no valid offload is found. - * config.in: Regenerate. - * configure: Regenerate. - -2021-04-28 Richard Biener - - PR tree-optimization/100292 - * tree-vect-generic.c (expand_vector_condition): Do not fold - the comparisons. - -2021-04-27 David Edelsohn - - * config/rs6000/aix.h (SUBTARGET_DRIVER_SELF_SPECS): New. - * config/rs6000/aix64.opt (m64): New. - (m32): New. - -2021-04-27 Maciej W. Rozycki - - * config/vax/vax.c (print_operand_address, vax_address_cost_1) - (index_term_p): Handle ASHIFT too. - -2021-04-27 Maciej W. Rozycki - - * config/vax/builtins.md (jbbi): Remove operand #3. - (sync_lock_test_and_set): Adjust accordingly. - (sync_lock_release): Likewise. - -2021-04-27 Maciej W. Rozycki - - * config/vax/vax-protos.h (adjacent_operands_p): Remove - prototype. - * config/vax/vax.c (adjacent_operands_p): Remove. - -2021-04-27 Maciej W. Rozycki - - * ifcvt.c (dead_or_predicable) [!IFCVT_MODIFY_TESTS]: Fall - through to the non-conditional execution case if getting the - condition for conditional execution has failed. - -2021-04-27 Richard Sandiford - - PR middle-end/100284 - * gimple.c (gimple_could_trap_p_1): Remove VEC_COND_EXPR test. - * tree-eh.c (operation_could_trap_p): Handle VEC_COND_EXPR rather - than asserting on it. - -2021-04-27 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_aix_precompute_tls_p): Protect - with TARGET_AIX_OS. - -2021-04-27 David Edelsohn - - PR target/94177 - * calls.c (precompute_register_parameters): Additionally test - targetm.precompute_tls_p to pre-compute argument. - * config/rs6000/aix.h (TARGET_PRECOMPUTE_TLS_P): Define. - * config/rs6000/rs6000.c (rs6000_aix_precompute_tls_p): New. - * target.def (precompute_tls_p): New. - * doc/tm.texi.in (TARGET_PRECOMPUTE_TLS_P): Add hook documentation. - * doc/tm.texi: Regenerated. - -2021-04-27 Jakub Jelinek - - PR target/100200 - * config/aarch64/aarch64.c (aarch64_print_operand): Cast -UINTVAL - back to HOST_WIDE_INT. - -2021-04-27 Bernd Edlinger - - PR target/100106 - * simplify-rtx.c (simplify_context::simplify_subreg): Check the - memory alignment for the outer mode. - -2021-04-27 H.J. Lu - - PR middle-end/90773 - * expr.c (op_by_pieces_d::get_usable_mode): New member function. - (op_by_pieces_d::run): Cange a while loop to a do-while loop. - -2021-04-27 Alex Coplan - - PR target/99977 - * config/arm/arm.c (arm_split_compare_and_swap): Fix up codegen - with negative immediates: ensure we expand cbranchsi4_scratch - correctly and ensure we satisfy its constraints. - * config/arm/sync.md - (@atomic_compare_and_swap_1): Don't - attempt to tie two output operands together with constraints; - collapse two alternatives. - (@atomic_compare_and_swap_1): Likewise. - * config/arm/thumb1.md (cbranchsi4_neg_late): New. - -2021-04-27 Jakub Jelinek - - PR target/100200 - * config/aarch64/predicates.md (aarch64_sub_immediate, - aarch64_plus_immediate): Use -UINTVAL instead of -INTVAL. - * config/aarch64/aarch64.md (casesi, rotl3): Likewise. - * config/aarch64/aarch64.c (aarch64_print_operand, - aarch64_split_atomic_op, aarch64_expand_subvti): Likewise. - -2021-04-27 Jakub Jelinek - - PR tree-optimization/100239 - * tree-vect-generic.c (lower_vec_perm): Don't accept constant - permutations with all indices from the first zero element as vec_shl. - -2021-04-27 Jakub Jelinek - - PR rtl-optimization/100254 - * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION on - last1 and last2 insns rather than BB_END (bb1) and BB_END (bb2) insns. - -2021-04-27 Richard Biener - - PR tree-optimization/99912 - * passes.def: Add comment about new TODO_remove_unused_locals. - * tree-stdarg.c (pass_data_stdarg): Run TODO_remove_unused_locals - at start. - -2021-04-27 Richard Biener - - PR tree-optimization/99912 - * passes.def (pass_all_optimizations): Add pass_dse before - the first pass_dce, move the first pass_dse before the - pass_dce following pass_pre. - -2021-04-27 Jakub Jelinek - - PR tree-optimization/95527 - * generic-match-head.c: Include tm.h. - * gimple-match-head.c: Include tm.h. - * match.pd (CLZ == INTEGER_CST): Don't use - #ifdef CLZ_DEFINED_VALUE_AT_ZERO, only test CLZ_DEFINED_VALUE_AT_ZERO - if clz == CFN_CLZ. Add missing val declaration. - (CTZ cmp CST): New simplifications. - -2021-04-27 Jakub Jelinek - - PR tree-optimization/96696 - * expr.c (expand_expr_divmod): New function. - (expand_expr_real_2) : Use it for truncations and - divisions. Formatting fixes. - : Optimize x / y * y as x - x % y if the latter is - cheaper. - -2021-04-27 Martin Jambor - - PR ipa/99951 - * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): - If removing a call statement LHS SSA name, release it. - -2021-04-27 Richard Earnshaw - - PR target/100236 - * config/arm/arm.c (THUMB2_WORK_REGS): Check PIC_OFFSET_TABLE_REGNUM - is valid before including it in the mask. - -2021-04-27 Richard Sandiford - - PR target/100270 - * config/aarch64/aarch64.c (aarch64_comp_type_attributes): Handle - SVE attributes. - -2021-04-27 Richard Biener - - PR tree-optimization/100051 - * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Add - disambiguator based on access size vs. decl size. - -2021-04-27 Richard Biener - - PR tree-optimization/100278 - * tree-ssa-pre.c (compute_avail): Give up when we cannot - adjust TBAA beacuse of mismatching bases. - -2021-04-27 Jakub Jelinek - - PR target/99405 - * config/i386/i386.md (*3_mask, *3_mask_1): - For any_rotate define_insn_split and following splitters, use - SWI iterator instead of SWI48. - -2021-04-27 Richard Biener - - PR tree-optimization/99776 - * match.pd (bit_field_ref (ctor)): Relax element extract - type compatibility checks. - -2021-04-27 Cui,Lili - - * common/config/i386/i386-common.c (processor_names): - Sync processor_names with processor_type. - * config/i386/i386-options.c (processor_cost_table): - Sync processor_cost_table with processor_type. - -2021-04-26 Aldy Hernandez - - * value-range.cc (irange::irange_set_1bit_anti_range): Add assert. - (irange::set): Call irange_set_1bit_anti_range for handling all - 1-bit ranges. Fall through on ~[MIN,MAX]. - -2021-04-26 Aldy Hernandez - - * value-range.cc (irange::legacy_num_pairs): Remove. - (irange::invert): Change gcc_assert to gcc_checking_assert. - * value-range.h (irange::num_pairs): Adjust for a cached - num_pairs(). Also, rename all gcc_assert's to - gcc_checking_assert's. - -2021-04-26 Aldy Hernandez - - * value-range.cc (irange::operator=): Set m_kind. - (irange::copy_to_legacy): Handle varying and undefined sources - as a legacy copy since they can be easily copied. - (irange::irange_set): Set m_kind. - (irange::irange_set_anti_range): Same. - (irange::set): Rename normalize_min_max to normalize_kind. - (irange::verify_range): Adjust for multi-ranges having the - m_kind field set. - (irange::irange_union): Set m_kind. - (irange::irange_intersect): Same. - (irange::invert): Same. - * value-range.h (irange::kind): Always return m_kind. - (irange::varying_p): Rename to... - (irange::varying_comptaible_p): ...this. - (irange::undefined_p): Only look at m_kind. - (irange::irange): Always set VR_UNDEFINED if applicable. - (irange::set_undefined): Always set VR_UNDEFINED. - (irange::set_varying): Always set m_kind to VR_VARYING. - (irange::normalize_min_max): Rename to... - (irange::normalize_kind): ...this. - -2021-04-26 Aldy Hernandez - - * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::set_ssa_range_info): - Adjust for constant_p including varying_p. - * tree-vrp.c (vrp_prop::finalize): Same. - (determine_value_range): Same. - * vr-values.c (vr_values::range_of_expr): Same. - * value-range.cc (irange::symbolic_p): Do not check varying_p. - (irange::constant_p): Same. - -2021-04-26 Aldy Hernandez - - * value-range.cc (irange::legacy_lower_bound): Replace - !undefined_p check with num_ranges > 0. - (irange::legacy_upper_bound): Same. - * value-range.h (irange::type): Same. - (irange::lower_bound): Same. - (irange::upper_bound): Same. - -2021-04-26 Richard Biener - - PR tree-optimization/99956 - * gimple-loop-interchange.cc (compute_access_stride): - Try instantiating the access in a shallower loop nest - if instantiating failed. - (compute_access_strides): Pass adjustable loop_nest - to compute_access_stride. - -2021-04-26 Christophe Lyon - - * doc/sourcebuild.texi (arm_cmse_hw): Document. - -2021-04-26 Kyrylo Tkachov - - * config/aarch64/iterators.md (vwcore): Handle V4BF, V8BF. - -2021-04-26 Thomas Schwinge - Nathan Sidwell - Tom de Vries - Julian Brown - Kwok Cheung Yeung - - * omp-offload.c (oacc_validate_dims): Implement - '-Wopenacc-parallelism'. - * doc/invoke.texi (-Wopenacc-parallelism): Document. - -2021-04-26 Richard Biener - - * tree-cfg.h (gimplify_build1): Remove. - (gimplify_build2): Likewise. - (gimplify_build3): Likewise. - * tree-cfg.c (gimplify_build1): Move to tree-vect-generic.c. - (gimplify_build2): Likewise. - (gimplify_build3): Likewise. - * tree-vect-generic.c (gimplify_build1): Move from tree-cfg.c. - Modernize. - (gimplify_build2): Likewise. - (gimplify_build3): Likewise. - (tree_vec_extract): Use resimplify with following SSA edges. - (expand_vector_parallel): Avoid passing NULL size/bitpos - to tree_vec_extract. - * expr.c (store_constructor): Deal with zero-element CTORs. - * match.pd (bit_field_ref ): Make sure to - produce vector constants when possible. - -2021-04-26 Richard Biener - - * tree-complex.c: Include gimple-fold.h. - (expand_complex_addition): Use gimple_build. - (expand_complex_multiplication_components): Likewise. - (expand_complex_multiplication): Likewise. - (expand_complex_div_straight): Likewise. - (expand_complex_div_wide): Likewise. - (expand_complex_division): Likewise. - (expand_complex_conjugate): Likewise. - (expand_complex_comparison): Likewise. - -2021-04-26 Richard Biener - - * tree-ssa-phiopt.c (two_value_replacement): Remove use - of legacy gimplify_buildN API. - -2021-04-26 Richard Biener - - PR tree-optimization/99473 - * tree-ssa-phiopt.c (cond_store_replacement): Handle all - stores. - -2021-04-26 Richard Biener - - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_builtin): - Use replace_call_with_value. - -2021-04-26 Richard Biener - - * tree-ssa-propagate.h (valid_gimple_rhs_p): Remove. - (update_gimple_call): Likewise. - (update_call_from_tree): Likewise. - * tree-ssa-propagate.c (valid_gimple_rhs_p): Remove. - (valid_gimple_call_p): Likewise. - (move_ssa_defining_stmt_for_defs): Likewise. - (finish_update_gimple_call): Likewise. - (update_gimple_call): Likewise. - (update_call_from_tree): Likewise. - (propagate_tree_value_into_stmt): Use replace_call_with_value. - * gimple-fold.h (update_gimple_call): Declare. - * gimple-fold.c (valid_gimple_rhs_p): Move here from - tree-ssa-propagate.c. - (update_gimple_call): Likewise. - (valid_gimple_call_p): Likewise. - (finish_update_gimple_call): Likewise, and simplify. - (gimplify_and_update_call_from_tree): Implement - update_call_from_tree functionality, avoid excessive - push/pop_gimplify_context. - (gimple_fold_builtin): Use only gimplify_and_update_call_from_tree. - (gimple_fold_call): Likewise. - * gimple-ssa-sprintf.c (try_substitute_return_value): Likewise. - * tree-ssa-ccp.c (ccp_folder::fold_stmt): Likewise. - (pass_fold_builtins::execute): Likewise. - (optimize_stack_restore): Use replace_call_with_value. - * tree-cfg.c (fold_loop_internal_call): Likewise. - * tree-ssa-dce.c (maybe_optimize_arith_overflow): Use - only gimplify_and_update_call_from_tree. - * tree-ssa-strlen.c (handle_builtin_strlen): Likewise. - (handle_builtin_strchr): Likewise. - * tsan.c: Include gimple-fold.h instead of tree-ssa-propagate.h. - -2021-04-26 Jakub Jelinek - - PR debug/100255 - * vmsdbgout.c (ASM_OUTPUT_DEBUG_STRING, vmsdbgout_begin_block, - vmsdbgout_end_block, lookup_filename, vmsdbgout_source_line): Remove - register keywords. - -2021-04-25 liuhongt - - PR target/98911 - * config/i386/i386-builtin.def (BDESC): Change the icode of - the following builtins to CODE_FOR_nothing. - * config/i386/i386.c (ix86_gimple_fold_builtin): Fold - IX86_BUILTIN_PCMPEQB128, IX86_BUILTIN_PCMPEQW128, - IX86_BUILTIN_PCMPEQD128, IX86_BUILTIN_PCMPEQQ, - IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256, - IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256, - IX86_BUILTIN_PCMPGTB128, IX86_BUILTIN_PCMPGTW128, - IX86_BUILTIN_PCMPGTD128, IX86_BUILTIN_PCMPGTQ, - IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256, - IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256. - * config/i386/sse.md (avx2_eq3): Deleted. - (sse2_eq3): Ditto. - (sse4_1_eqv2di3): Ditto. - (sse2_gt3): Rename to .. - (*sse2_gt3): .. this. - -2021-04-24 Iain Sandoe - - Revert: - 2021-04-24 Iain Sandoe - - PR target/100152 - * config/darwin.c (darwin_binds_local_p): Assume that any - public symbol might be interposed for PIC code. Update function - header comment to reflect current Darwin capability. - -2021-04-24 Iain Sandoe - - PR target/100152 - * config/darwin.c (darwin_binds_local_p): Assume that any - public symbol might be interposed for PIC code. Update function - header comment to reflect current Darwin capability. - -2021-04-24 Richard Sandiford - - * doc/sourcebuild.texi: Document no-opts and any-opts target - selectors. - -2021-04-23 YiFei Zhu - - * config/bpf/bpf.h (ASM_OUTPUT_ALIGNED_BSS): Use .type and .lcomm. - -2021-04-23 YiFei Zhu - - * config/bpf/bpf.h (FUNCTION_BOUNDARY): Set to 64. - -2021-04-23 Uroš Bizjak - - PR target/100041 - * config/i386/i386-options.c (ix86_option_override_internal): - Error out when -m96bit-long-double is used with 64bit targets. - * config/i386/i386.md (*pushxf_rounded): Remove pattern. - -2021-04-23 Martin Liska - - * lto-wrapper.c: Remove FIXME about usage of - hardware_concurrency. The function is not on par with - what we have now. - -2021-04-23 Uroš Bizjak - - PR target/100182 - * config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2): - Copy operand 3 to operand 4. Use sse_reg_operand - as operand 3 predicate. - (FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): Ditto. - (LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto. - (LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto. - (FILD_ATOMIC/FIST_ATOMIC FP store peephole2): - Copy operand 1 to operand 0. - (FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): Ditto. - (LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto. - (LDX_ATOMIC/LDX_ATOMIC FP store peephole2 with mem blockage): Ditto. - -2021-04-23 Alex Coplan - - PR rtl-optimization/100230 - * early-remat.c (early_remat::sort_candidates): Use delete[] - instead of delete for array allocated with new[]. - -2021-04-23 Richard Biener - - * genmatch.c (lower_cond): Remove VEC_COND_EXPR special-casing. - (capture_info::capture_info): Likewise. - (capture_info::walk_match): Likewise. - (expr::gen_transform): Likewise. - (dt_simplify::gen_1): Likewise. - * gimple-match-head.c (maybe_resimplify_conditional_op): - Remove VEC_COND_EXPR special-casing. - (gimple_simplify): Likewise. - * gimple.c (gimple_could_trap_p_1): Adjust. - * tree-ssa-pre.c (compute_avail): Allow VEC_COND_EXPR - to participate in PRE. - -2021-04-23 Richard Biener - - * cfganal.c (connect_infinite_loops_to_exit): First call - add_noreturn_fake_exit_edges. - * ipa-sra.c (process_scan_results): Do not call the now redundant - add_noreturn_fake_exit_edges. - * predict.c (tree_estimate_probability): Likewise. - (rebuild_frequencies): Likewise. - * store-motion.c (one_store_motion_pass): Likewise. - -2021-04-23 Richard Biener - - PR tree-optimization/100222 - * predict.c (pass_profile::execute): Remove redundant call to - mark_irreducible_loops. - (report_predictor_hitrates): Likewise. - -2021-04-23 Richard Biener - - * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid - valid_gimple_rhs_p by instead gimplifying to one. - -2021-04-23 Richard Biener - - PR tree-optimization/99971 - * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): - Always use TBAA for loads. - -2021-04-23 liuhongt - - PR target/100093 - * config/i386/i386-options.c (ix86_option_override_internal): - Clear MASK_AVX256_SPLIT_UNALIGNED_LOAD/STORE in x_target_flags - when X86_TUNE_AVX256_UNALIGNED_LOAD/STORE_OPTIMAL is enabled - by target attribute. - -2021-04-23 David Edelsohn - - * config/rs6000/aix71.h (PREFERRED_DEBUGGING_TYPE): Change to - DWARF2_DEBUG. - * config/rs6000/aix72.h (PREFERRED_DEBUGGING_TYPE): Same. - -2021-04-22 David Edelsohn - - * config.gcc (powerpc-ibm-aix6.*): Remove. - * config/rs6000/aix61.h: Delete. - -2021-04-22 Martin Liska - - PR testsuite/100159 - PR testsuite/100192 - * builtins.c (expand_builtin): Fix typos and missing comments. - * dwarf2out.c (gen_subprogram_die): Likewise. - (gen_struct_or_union_type_die): Likewise. - -2021-04-22 Uroš Bizjak - - PR target/100119 - * config/i386/i386-expand.c (ix86_expand_convert_uns_sidf_sse): - Remove the sign with FE_DOWNWARD, where x - x = -0.0. - -2021-04-21 Iain Sandoe - - * config/i386/darwin.h (TARGET_64BIT): Remove definition - based on TARGET_ISA_64BIT. - (TARGET_64BIT_P): Remove definition based on - TARGET_ISA_64BIT_P(). - -2021-04-21 Martin Liska - - Revert: - 2021-04-21 Martin Liska - - * lto-wrapper.c (cpuset_popcount): Remove. - (init_num_threads): Remove and use hardware_concurrency. - -2021-04-21 Martin Liska - - PR jit/98615 - * main.c (main): Call toplev::finalize in CHECKING_P mode. - * ipa-modref.c (ipa_modref_c_finalize): summaries are NULL - when incremental LTO linking happens. - -2021-04-21 Martin Liska - - * lto-wrapper.c (run_gcc): When -flto=jobserver is used, but the - makeserver cannot be detected, then use -flto=N fallback. - -2021-04-21 Richard Sandiford - - * acinclude.m4 (gcc_AC_INITFINI_ARRAY): When cross-compiling, - default to yes for aarch64-linux-gnu. - * configure: Regenerate. - -2021-04-21 Martin Liska - - * lto-wrapper.c (cpuset_popcount): Remove. - (init_num_threads): Remove and use hardware_concurrency. - -2021-04-21 Martin Liska - - * config/i386/i386.c: Remove superfluous || TARGET_MACHO - which remains to be '(... || 0)' and clang complains about it. - * dwarf2out.c (AT_vms_delta): Declare conditionally. - (add_AT_vms_delta): Likewise. - * tree.c (fld_simplified_type): Use rather more common pattern - for disabling of something (#if 0). - (get_tree_code_name): Likewise. - (verify_type_variant): Likewise. - -2021-04-21 Martin Liska - - * config/i386/i386-expand.c (decide_alignment): Use newly named - macro TARGET_CPU_P. - * config/i386/i386.c (ix86_decompose_address): Likewise. - (ix86_address_cost): Likewise. - (ix86_lea_outperforms): Likewise. - (ix86_avoid_lea_for_addr): Likewise. - (ix86_add_stmt_cost): Likewise. - * config/i386/i386.h (TARGET_*): Remove. - (TARGET_CPU_P): New macro. - * config/i386/i386.md: Use newly named macro TARGET_CPU_P. - * config/i386/x86-tune-sched-atom.c (do_reorder_for_imul): Likewise. - (swap_top_of_ready_list): Likewise. - (ix86_atom_sched_reorder): Likewise. - * config/i386/x86-tune-sched-bd.c (ix86_bd_has_dispatch): Likewise. - * config/i386/x86-tune-sched.c (ix86_adjust_cost): Likewise. - -2021-04-21 Martin Liska - - * config/i386/i386-options.c (TARGET_EXPLICIT_NO_SAHF_P): - Define. - (SET_TARGET_NO_SAHF): Likewise. - (TARGET_EXPLICIT_PREFETCH_SSE_P): Likewise. - (SET_TARGET_PREFETCH_SSE): Likewise. - (TARGET_EXPLICIT_NO_TUNE_P): Likewise. - (SET_TARGET_NO_TUNE): Likewise. - (TARGET_EXPLICIT_NO_80387_P): Likewise. - (SET_TARGET_NO_80387): Likewise. - (DEF_PTA): New. - * config/i386/i386.h (TARGET_*): Remove. - * opth-gen.awk: Generate new used macros. - -2021-04-21 Martin Liska - - * config/i386/i386.h (PTA_*): Remove. - (enum pta_flag): New. - (DEF_PTA): Generate PTA_* values from i386-isa.def. - * config/i386/i386-isa.def: New file. - -2021-04-21 Alex Coplan - - PR target/99988 - * config/aarch64/aarch64-bti-insert.c (aarch64_bti_j_insn_p): New. - (rest_of_insert_bti): Avoid inserting duplicate bti j insns for - jump table targets. - -2021-04-21 H.J. Lu - - * config.gcc: Install mwaitintrin.h for i[34567]86-*-* and - x86_64-*-* targets. - * common/config/i386/i386-common.c (OPTION_MASK_ISA2_MWAIT_SET): - New. - (OPTION_MASK_ISA2_MWAIT_UNSET): Likewise. - (ix86_handle_option): Handle -mmwait. - * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): - Replace OPTION_MASK_ISA_SSE3 with OPTION_MASK_ISA2_MWAIT on - __builtin_ia32_monitor and __builtin_ia32_mwait. - * config/i386/i386-options.c (isa2_opts): Add -mmwait. - (ix86_valid_target_attribute_inner_p): Likewise. - (ix86_option_override_internal): Enable mwait/monitor - instructions for -msse3. - * config/i386/i386.h (TARGET_MWAIT): New. - (TARGET_MWAIT_P): Likewise. - * config/i386/i386.opt: Add -mmwait. - * config/i386/mwaitintrin.h: New file. - * config/i386/pmmintrin.h: Include . - * config/i386/sse.md (sse3_mwait): Replace TARGET_SSE3 with - TARGET_MWAIT. - (@sse3_monitor_): Likewise. - * config/i386/x86gprintrin.h: Include . - * doc/extend.texi: Document mwait target attribute. - * doc/invoke.texi: Document -mmwait. - -2021-04-21 Martin Liska - - * config/i386/i386-options.c (DEF_ENUM): Remove it. - * config/i386/i386-opts.h (DEF_ENUM): Likewise. - * config/i386/stringop.def (DEF_ENUM): Likewise. - -2021-04-21 Martin Liska - - * tree-cfg.c (gimple_verify_flow_info): Use qD instead - of print_generic_expr. - -2021-04-21 Jakub Jelinek - - PR rtl-optimization/100148 - * cprop.c (constprop_register): Use next_nondebug_insn instead of - NEXT_INSN. - -2021-04-21 Martin Liska - - PR ipa/98815 - * cgraphunit.c (cgraph_node::analyze): Remove duplicate - free_dominance_info calls. - -2021-04-21 Richard Biener - - * gimple-fold.c (maybe_fold_reference): Remove is_lhs - parameter (and assume it to be false). - (fold_gimple_assign): Adjust, remove all callers of - maybe_fold_reference calling it with is_lhs true. - (gimple_fold_call): Likewise. - (fold_stmt_1): Likewise. - -2021-04-21 Richard Biener - - * fold-const.c (pedantic_non_lvalue_loc): Remove. - (fold_binary_loc): Adjust. - (fold_ternary_loc): Likewise. - -2021-04-21 Richard Sandiford - - PR middle-end/100130 - * varasm.c (get_block_for_decl): Make sure that any use of the - retain attribute matches the section's retain flag. - (switch_to_section): Check for retain mismatches even when - changing sections, but do not warn if the given decl is the - section's named.decl. - (output_object_block): Pass the first decl in the block (if any) - to switch_to_section. - -2021-04-20 H.J. Lu - - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __CRC32__ for -mcrc32. - * config/i386/i386-options.c (ix86_option_override_internal): - Enable crc32 instruction for -msse4.2. - * config/i386/i386.md (sse4_2_crc32): Remove TARGET_SSE4_2 - check. - (sse4_2_crc32di): Likewise. - * config/i386/ia32intrin.h: Use crc32 target option for CRC32 - intrinsics. - -2021-04-20 Segher Boessenkool - - PR target/100108 - * config/rs6000/rs6000.c (rs6000_machine_from_flags): Do not consider - OPTION_MASK_ISEL. - -2021-04-20 Martin Liska - - * doc/invoke.texi: Fix typo. - * params.opt: Likewise. - -2021-04-20 Martin Liska - - * doc/invoke.texi: Document new param. - -2021-04-19 Andrew MacLeod - - PR tree-optimization/100081 - * gimple-range-cache.h (ranger_cache): Inherit from gori_compute - rather than gori_compute_cache. - * gimple-range-gori.cc (is_gimple_logical_p): Move to top of file. - (range_def_chain::m_logical_depth): New member. - (range_def_chain::range_def_chain): Initialize m_logical_depth. - (range_def_chain::get_def_chain): Don't build defchains through more - than LOGICAL_LIMIT logical expressions. - * params.opt (param_ranger_logical_depth): New. - -2021-04-19 Richard Earnshaw - - PR target/100067 - * config/arm/arm.c (arm_configure_build_target): Do not strip - extended FPU/SIMD feature bits from the target ISA when -mfpu - is specified (partial revert of r11-8168). - -2021-04-19 Thomas Schwinge - - * params.opt (-param=openacc-kernels=): Add. - * omp-oacc-kernels-decompose.cc - (pass_omp_oacc_kernels_decompose::gate): Use it. - * doc/invoke.texi (-fopenacc-kernels=@var{mode}): Move... - (--param): ... here, 'openacc-kernels'. - -2021-04-19 Martin Liska - - PR c/100143 - * gengtype.c (finish_root_table): Align function arguments - in between declaration and definition. - -2021-04-19 Eric Botcazou - - * config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with - frames larger than the SEH maximum frame size. - -2021-04-18 Segher Boessenkool - - PR rtl-optimization/99927 - * combine.c (distribute_notes) [REG_UNUSED]: If the register already - is dead, just drop it. - -2021-04-17 Iain Buclaw - - PR d/99914 - * config/i386/winnt-d.c (TARGET_D_TEMPLATES_ALWAYS_COMDAT): Define. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (D language and ABI): Add @hook for - TARGET_D_TEMPLATES_ALWAYS_COMDAT. - -2021-04-17 Iain Buclaw - - * config/darwin-d.c (darwin_d_handle_target_object_format): New - function. - (darwin_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - * config/dragonfly-d.c (dragonfly_d_handle_target_object_format): New - function. - (dragonfly_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - * config/freebsd-d.c (freebsd_d_handle_target_object_format): New - function. - (freebsd_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - * config/glibc-d.c (glibc_d_handle_target_object_format): New - function. - (glibc_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - * config/i386/i386-d.c (ix86_d_handle_target_object_format): New - function. - (ix86_d_register_target_info): Add ix86_d_handle_target_object_format - as handler for objectFormat key. - * config/i386/winnt-d.c (winnt_d_handle_target_object_format): New - function. - (winnt_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - * config/netbsd-d.c (netbsd_d_handle_target_object_format): New - function. - (netbsd_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - * config/openbsd-d.c (openbsd_d_handle_target_object_format): New - function. - (openbsd_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - * config/pa/pa-d.c (pa_d_handle_target_object_format): New function. - (pa_d_register_target_info): Add pa_d_handle_target_object_format as - handler for objectFormat key. - * config/rs6000/rs6000-d.c (rs6000_d_handle_target_object_format): New - function. - (rs6000_d_register_target_info): Add - rs6000_d_handle_target_object_format as handler for objectFormat key. - * config/sol2-d.c (solaris_d_handle_target_object_format): New - function. - (solaris_d_register_target_info): New function. - (TARGET_D_REGISTER_OS_TARGET_INFO): Define. - -2021-04-16 Jakub Jelinek - - PR target/91710 - * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Change - abi_break argument from bool * to unsigned *, store there the pre-GCC 9 - alignment. - (aarch64_layout_arg, aarch64_gimplify_va_arg_expr): Adjust callers. - (aarch64_function_arg_regno_p): Likewise. Only emit -Wpsabi note if - the old and new alignment after applying MIN/MAX to it is different. - -2021-04-16 Tamar Christina - - PR target/100048 - * config/aarch64/aarch64-sve.md (@aarch64_sve_trn1_conv): New. - * config/aarch64/aarch64.c (aarch64_expand_sve_const_pred_trn): Use new - TRN optab. - * config/aarch64/iterators.md (UNSPEC_TRN1_CONV): New. - -2021-04-16 Bill Schmidt - - * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): Revise - this section and its subsections. - -2021-04-16 Jakub Jelinek - - PR target/100075 - * config/aarch64/aarch64.md (*neg_asr_si2_extr, *extrsi5_insn_di): New - define_insn patterns. - -2021-04-16 Richard Sandiford - - PR rtl-optimization/98689 - * reg-notes.def (UNTYPED_CALL): New note. - * combine.c (distribute_notes): Handle it. - * emit-rtl.c (try_split): Likewise. - * rtlanal.c (rtx_properties::try_to_add_insn): Likewise. Assume - that calls with the note implicitly set all return value registers. - * builtins.c (expand_builtin_apply): Add a REG_UNTYPED_CALL - to untyped_calls. - -2021-04-16 Richard Sandiford - - PR rtl-optimization/99596 - * rtlanal.c (rtx_properties::try_to_add_insn): Don't add global - register accesses for const calls. Assume that pure functions - can only read from global registers. Ignore cases in which - the stack pointer has been marked global. - -2021-04-16 Jakub Jelinek - - PR target/99767 - * tree-vect-loop.c (vect_transform_loop): Don't remove just - dead scalar .MASK_LOAD calls, but also dead .COND_* calls - replace - them by their last argument. - -2021-04-15 Martin Liska - - * doc/invoke.texi: Other params don't use it, remove it. - -2021-04-15 Richard Biener - - * gimple-builder.h: Add deprecation note. - -2021-04-15 Richard Sandiford - - PR c++/98852 - * attribs.h (restrict_type_identity_attributes_to): Declare. - * attribs.c (restrict_type_identity_attributes_to): New function. - -2021-04-15 Richard Sandiford - - PR c/98852 - * attribs.h (affects_type_identity_attributes): Declare. - * attribs.c (remove_attributes_matching): New function. - (affects_type_identity_attributes): Likewise. - -2021-04-15 Jakub Jelinek - - PR target/100056 - * config/aarch64/aarch64.md (*_3): - Add combine splitters for *_ashl3 with - ZERO_EXTEND, SIGN_EXTEND or AND. - -2021-04-14 Richard Sandiford - - PR rtl-optimization/99929 - * rtl.h (same_vector_encodings_p): New function. - * cse.c (exp_equiv_p): Check that CONST_VECTORs have the same encoding. - * cselib.c (rtx_equal_for_cselib_1): Likewise. - * jump.c (rtx_renumbered_equal_p): Likewise. - * lra-constraints.c (operands_match_p): Likewise. - * reload.c (operands_match_p): Likewise. - * rtl.c (rtx_equal_p_cb, rtx_equal_p): Likewise. - -2021-04-14 Richard Sandiford - - * print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Print - more information about variable-length CONST_VECTORs. - -2021-04-14 Vladimir N. Makarov - - PR rtl-optimization/100066 - * lra-constraints.c (split_reg): Check paradoxical_subreg_p for - ordered modes when choosing splitting mode for hard reg. - -2021-04-14 Richard Sandiford - - PR target/99246 - * config/aarch64/aarch64.c (aarch64_expand_sve_const_vector_sel): - New function. - (aarch64_expand_sve_const_vector): Use it for nelts_per_pattern==2. - -2021-04-14 Andreas Krebbel - - * config/s390/s390-builtins.def (O_M5, O_M12, ...): Add new macros - for mask operand types. - (s390_vec_permi_s64, s390_vec_permi_b64, s390_vec_permi_u64) - (s390_vec_permi_dbl, s390_vpdi): Use the M5 type for the immediate - operand. - (s390_vec_msum_u128, s390_vmslg): Use the M12 type for the - immediate operand. - * config/s390/s390.c (s390_const_operand_ok): Check the new - operand types and generate a list of valid values. - -2021-04-14 Iain Buclaw - - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (D language and ABI): Add @hook for - TARGET_D_REGISTER_OS_TARGET_INFO. - -2021-04-14 Iain Buclaw - - * config/aarch64/aarch64-d.c (aarch64_d_handle_target_float_abi): New - function. - (aarch64_d_register_target_info): New function. - * config/aarch64/aarch64-protos.h (aarch64_d_register_target_info): - Declare. - * config/aarch64/aarch64.h (TARGET_D_REGISTER_CPU_TARGET_INFO): - Define. - * config/arm/arm-d.c (arm_d_handle_target_float_abi): New function. - (arm_d_register_target_info): New function. - * config/arm/arm-protos.h (arm_d_register_target_info): Declare. - * config/arm/arm.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * config/i386/i386-d.c (ix86_d_handle_target_float_abi): New function. - (ix86_d_register_target_info): New function. - * config/i386/i386-protos.h (ix86_d_register_target_info): Declare. - * config/i386/i386.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * config/mips/mips-d.c (mips_d_handle_target_float_abi): New function. - (mips_d_register_target_info): New function. - * config/mips/mips-protos.h (mips_d_register_target_info): Declare. - * config/mips/mips.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * config/pa/pa-d.c (pa_d_handle_target_float_abi): New function. - (pa_d_register_target_info): New function. - * config/pa/pa-protos.h (pa_d_register_target_info): Declare. - * config/pa/pa.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * config/riscv/riscv-d.c (riscv_d_handle_target_float_abi): New - function. - (riscv_d_register_target_info): New function. - * config/riscv/riscv-protos.h (riscv_d_register_target_info): Declare. - * config/riscv/riscv.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * config/rs6000/rs6000-d.c (rs6000_d_handle_target_float_abi): New - function. - (rs6000_d_register_target_info): New function. - * config/rs6000/rs6000-protos.h (rs6000_d_register_target_info): - Declare. - * config/rs6000/rs6000.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * config/s390/s390-d.c (s390_d_handle_target_float_abi): New function. - (s390_d_register_target_info): New function. - * config/s390/s390-protos.h (s390_d_register_target_info): Declare. - * config/s390/s390.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * config/sparc/sparc-d.c (sparc_d_handle_target_float_abi): New - function. - (sparc_d_register_target_info): New function. - * config/sparc/sparc-protos.h (sparc_d_register_target_info): Declare. - * config/sparc/sparc.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (D language and ABI): Add @hook for - TARGET_D_REGISTER_CPU_TARGET_INFO. - -2021-04-14 Iain Buclaw - - * config/i386/i386-d.c (ix86_d_has_stdcall_convention): New function. - * config/i386/i386-protos.h (ix86_d_has_stdcall_convention): Declare. - * config/i386/i386.h (TARGET_D_HAS_STDCALL_CONVENTION): Define. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (D language and ABI): Add @hook for - TARGET_D_HAS_STDCALL_CONVENTION. - -2021-04-14 Richard Biener - - * tree-cfg.c (verify_gimple_assign_ternary): Verify that - VEC_COND_EXPRs have a gimple_val condition. - * tree-ssa-propagate.c (valid_gimple_rhs_p): VEC_COND_EXPR - can no longer have a GENERIC condition. - -2021-04-14 Richard Earnshaw - - PR target/100067 - * config/arm/arm.c (arm_configure_build_target): Strip isa_all_fpbits - from the isa_delta when -mfpu has been used. - (arm_options_perform_arch_sanity_checks): It's the architecture that - lacks an FPU not the processor. - -2021-04-13 Richard Biener - - PR tree-optimization/100053 - * tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do - not use optimistic dominance queries for backedges to validate - predicated values. - (dominated_by_p_w_unex): Add parameter to ignore executable - state on backedges. - (rpo_elim::eliminate_avail): Adjust. - -2021-04-13 Jakub Jelinek - - PR target/100028 - * config/aarch64/aarch64.md (*aarch64_bfxil_extr, - *aarch64_bfxilsi_extrdi): New define_insn patterns. - -2021-04-13 Jakub Jelinek - - PR target/99648 - * simplify-rtx.c (simplify_immed_subreg): For MODE_COMPOSITE_P - outermode, return NULL if the result doesn't encode back to the - original byte sequence. - (simplify_gen_subreg): Don't create SUBREGs from constants to - MODE_COMPOSITE_P outermode. - -2021-04-12 Jakub Jelinek - - PR rtl-optimization/99905 - * combine.c (expand_compound_operation): If pos + len > modewidth, - perform the right shift by pos in inner_mode and then convert to mode, - instead of trying to simplify a shift of rtx with inner_mode by pos - as if it was a shift in mode. - -2021-04-12 Jakub Jelinek - - PR debug/99830 - * combine.c (simplify_and_const_int_1): Don't optimize varop - away if it has side-effects. - -2021-04-12 Martin Liska - - * doc/extend.texi: Escape @smallexample content. - -2021-04-12 Stefan Schulze Frielinghaus - - * config/s390/s390.md ("*movdi_31", "*movdi_64"): Add - alternative in order to load a DFP zero. - -2021-04-12 Martin Liska - - * doc/extend.texi: Be more precise in documentation - of symver attribute. - -2021-04-12 Martin Liska - - PR sanitizer/99877 - * gimplify.c (gimplify_expr): Right now, we unpoison all - variables before a goto . We should not do it if we are - in a omp context. - -2021-04-12 Cui,Lili - - * common/config/i386/cpuinfo.h (get_intel_cpu): Handle - rocketlake. - * common/config/i386/i386-common.c (processor_names): Add - rocketlake. - (processor_alias_table): Add rocketlake. - * common/config/i386/i386-cpuinfo.h (processor_subtypes): Add - INTEL_COREI7_ROCKETLAKE. - * config.gcc: Add -march=rocketlake. - * config/i386/i386-c.c (ix86_target_macros_internal): Handle - rocketlake. - * config/i386/i386-options.c (m_ROCKETLAKE) : Define. - (processor_cost_table): Add rocketlake cost. - * config/i386/i386.h (ix86_size_cost) : Define - TARGET_ROCKETLAKE. - (processor_type) : Add PROCESSOR_ROCKETLAKE. - (PTA_ROCKETLAKE): Ditto. - * doc/extend.texi: Add rocketlake. - * doc/invoke.texi: Add rocketlake. - -2021-04-12 Cui,Lili - - * config/i386/i386.h (PTA_ALDERLAKE): Change alderlake ISA list. - * config/i386/i386-options.c (m_CORE_AVX2): Add m_ALDERLAKE. - * common/config/i386/cpuinfo.h (get_intel_cpu): Add AlderLake model. - * doc/invoke.texi: Change alderlake ISA list. - -2021-04-11 Hafiz Abid Qadeer - - PR middle-end/98088 - * omp-expand.c (expand_oacc_collapse_init): Update condition in - a gcc_assert. - -2021-04-10 H.J. Lu - - PR target/99744 - * config/i386/serializeintrin.h (_serialize): Defined as macro. - -2021-04-10 Jakub Jelinek - - PR lto/99849 - * expr.c (expand_expr_addr_expr_1): Test is_global_var rather than - just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs. - -2021-04-10 Jakub Jelinek - - PR middle-end/99989 - * gimple-ssa-warn-alloca.c - (alloca_type_and_limit::alloca_type_and_limit): Initialize limit to - 0 with integer precision unconditionally. - -2021-04-10 Jakub Jelinek - - PR rtl-optimization/98601 - * rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size - not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT - unaligned_mems handle VOIDmode like BLKmode. - -2021-04-10 Jan Hubicka - - PR lto/99857 - * tree.c (free_lang_data_in_decl): Do not release body of - declare_variant_alt. - -2021-04-09 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_option_restore): If the - architecture was specified explicitly and the tuning wasn't, - tune for the architecture rather than the configured default CPU. - -2021-04-09 Richard Sandiford - - * config/aarch64/aarch64.md (tlsdesc_small_sve_): Use X30 - as the temporary register. - -2021-04-09 Martin Liska - - * doc/extend.texi: Move non-target attributes on the top level. - -2021-04-09 Martin Liska - - * doc/invoke.texi: Document minimum and maximum value of the - argument for both supported compression algorithms. - -2021-04-08 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_xcoff_select_section): Select - TLS BSS before TLS data. - * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Use .comm. - -2021-04-08 Richard Sandiford - - * doc/sourcebuild.texi (stdint_types_mbig_endian): Document. - -2021-04-08 Richard Sandiford - - * match.pd: Extend vec_cond folds to handle shifts. - -2021-04-08 Maciej W. Rozycki - - * config/vax/vax.md: Fix comment for `*bit' pattern's - peephole. - -2021-04-08 Alex Coplan - - PR target/99647 - * config/arm/iterators.md (MVE_vecs): New. - (V_elem): Also handle V2DF. - * config/arm/mve.md (*mve_mov): Rename to ... - (*mve_vdup): ... this. Remove second alternative since - vec_duplicate of const_int is not canonical RTL, and we don't - want to match symbol_refs. - (*mve_vec_duplicate): Delete (pattern is redundant). - -2021-04-08 Xionghu Luo - - * fold-const.c (fold_single_bit_test): Fix typo. - * print-rtl.c (print_rtx_insn_vec): Call print_rtl_single - instead. - -2021-04-07 Richard Sandiford - - PR tree-optimization/97513 - * tree-vect-slp.c (vect_add_slp_permutation): New function, - split out from... - (vectorizable_slp_permutation): ...here. Detect cases in which - all VEC_PERM_EXPRs are guaranteed to have the same stepped - permute vector and only generate one permute vector for that case. - Extend that case to handle variable-length vectors. - -2021-04-07 Richard Sandiford - - PR tree-optimization/99873 - * tree-vect-slp.c (vect_slp_prefer_store_lanes_p): New function. - (vect_build_slp_instance): Don't split store groups that could - use IFN_STORE_LANES. - -2021-04-07 Jakub Jelinek - - PR target/99872 - * varasm.c (output_constant_pool_contents): Don't strip name encoding - from XSTR (desc->sym, 0) or from label before passing those to - ASM_OUTPUT_DEF. - -2021-04-07 Richard Biener - - PR tree-optimization/99954 - * tree-loop-distribution.c: Include tree-affine.h. - (generate_memcpy_builtin): Try using tree-affine to prove - non-overlap. - (loop_distribution::classify_builtin_ldst): Always classify - as PKIND_MEMMOVE. - -2021-04-07 Richard Biener - - PR tree-optimization/99947 - * tree-vect-loop.c (vectorizable_induction): Pre-allocate - steps vector to avoid pushing elements from the reallocated - vector. - -2021-04-07 Richard Biener - - * tree-ssa-sccvn.h (print_vn_reference_ops): Declare. - * tree-ssa-pre.c (print_pre_expr): Factor out VN reference operand - printing... - * tree-ssa-sccvn.c (print_vn_reference_ops): ... into this new - function. - (debug_vn_reference_ops): New. - -2021-04-07 Bin Cheng - - PR tree-optimization/98736 - * tree-loop-distribution.c - * (loop_distribution::bb_top_order_init): - Compute RPO with programing order preserved by calling function - rev_post_order_and_mark_dfs_back_seme. - -2021-04-06 Vladimir N. Makarov - - PR target/99781 - * lra-constraints.c (split_reg): Don't check paradoxical_subreg_p. - * lra-lives.c (clear_sparseset_regnos, regnos_in_sparseset_p): New - functions. - (process_bb_lives): Don't update biggest mode of hard reg for - implicit in multi-register group. Use the new functions for - updating dead_set and unused_set by register notes. - -2021-04-06 Xianmiao Qu - - * config/csky/csky_pipeline_ck802.md : Use insn reservation name - instead of *. - -2021-04-06 H.J. Lu - - * config/i386/x86-tune-costs.h (skylake_memcpy): Updated. - (skylake_memset): Likewise. - (skylake_cost): Change CLEAR_RATIO to 17. - * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): - Replace m_CANNONLAKE, m_ICELAKE_CLIENT, m_ICELAKE_SERVER, - m_TIGERLAKE and m_SAPPHIRERAPIDS with m_SKYLAKE and m_CORE_AVX512. - -2021-04-06 Richard Biener - - PR tree-optimization/99880 - * tree-vect-loop.c (maybe_set_vectorized_backedge_value): Only - set vectorized defs of relevant PHIs. - -2021-04-06 Richard Biener - - PR tree-optimization/99924 - * tree-vect-slp.c (vect_bb_partition_graph_r): Do not mark - nodes w/o scalar stmts as visited. - -2021-04-06 Alex Coplan - - PR target/99748 - * config/arm/arm.c (arm_libcall_uses_aapcs_base): Also use base - PCS for [su]fix_optab. - -2021-04-03 Iain Sandoe - - * config/darwin.c (machopic_legitimize_pic_address): Check - that the current pic register is one of the hard reg set - before setting liveness. - -2021-04-03 Iain Sandoe - - * config/darwin.c (machopic_legitimize_pic_address): Fix - whitespace, remove unused code. - -2021-04-03 Jakub Jelinek - - PR tree-optimization/99882 - * gimple-ssa-store-merging.c (bswap_view_convert): Handle val with - pointer type. - -2021-04-03 Jakub Jelinek - - PR rtl-optimization/99863 - * dse.c (replace_read): Drop regs_live argument. Instead of - regs_live, use store_insn->fixed_regs_live if non-NULL, - otherwise punt if insns sequence clobbers or sets any hard - registers. - -2021-04-03 Jakub Jelinek - - PR testsuite/98125 - * targhooks.h (default_print_patchable_function_entry_1): Declare. - * targhooks.c (default_print_patchable_function_entry_1): New function, - copied from default_print_patchable_function_entry with an added flags - argument. - (default_print_patchable_function_entry): Rewritten into a small - wrapper around default_print_patchable_function_entry_1. - * config/rs6000/rs6000.c (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): - Redefine. - (rs6000_print_patchable_function_entry): New function. - -2021-04-02 Eric Botcazou - - * doc/invoke.texi (fdelete-dead-exceptions): Minor tweak. - -2021-04-01 Jason Merrill - - PR c++/98481 - * common.opt: Document v15 and v16. - -2021-04-01 Richard Biener - - PR tree-optimization/99863 - * gimplify.c (gimplify_init_constructor): Recompute vector - constructor flags. - -2021-04-01 Jakub Jelinek - - * doc/extend.texi (symver attribute): Fix up syntax errors - in the examples. - -2021-04-01 Jakub Jelinek - - PR tree-optimization/96573 - * gimple-ssa-store-merging.c (init_symbolic_number): Handle - also pointer types. - -2021-04-01 Richard Biener - - PR tree-optimization/99856 - * tree-vect-patterns.c (vect_recog_over_widening_pattern): Promote - precision to vector element precision. - -2021-04-01 Martin Jambor - - PR tree-optimization/97009 - * tree-sra.c (access_or_its_child_written): New function. - (propagate_subaccesses_from_rhs): Use it instead of a simple grp_write - test. - -2021-03-31 Jan Hubicka - - PR ipa/98265 - * cif-code.def (USES_COMDAT_LOCAL): Make CIF_FINAL_NORMAL. - -2021-03-31 Pat Haugen - - PR target/99133 - * config/rs6000/altivec.md (xxspltiw_v4si, xxspltiw_v4sf_inst, - xxspltidp_v2df_inst, xxsplti32dx_v4si_inst, xxsplti32dx_v4sf_inst, - xxblend_, xxpermx_inst, xxeval): Mark prefixed. - * config/rs6000/mma.md (mma_, mma_, - mma_, mma_, mma_, mma_, - mma_, mma_, mma_, mma_): - Likewise. - * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Adjust test. - * config/rs6000/rs6000.md (define_attr "maybe_prefixed"): New. - (define_attr "prefixed"): Update initializer. - -2021-03-31 Jakub Jelinek - - PR debug/99490 - * dwarf2out.c (debug_ranges_dwo_section): New variable. - (DW_RANGES_IDX_SKELETON): Define. - (struct dw_ranges): Add begin_entry and end_entry members. - (DEBUG_DWO_RNGLISTS_SECTION): Define. - (add_ranges_num): Adjust r initializer for addition of *_entry - members. - (add_ranges_by_labels): For -gsplit-dwarf and force_direct, - set idx to DW_RANGES_IDX_SKELETON. - (use_distinct_base_address_for_range): New function. - (index_rnglists): Don't set r->idx if it is equal to - DW_RANGES_IDX_SKELETON. Initialize r->begin_entry and - r->end_entry for -gsplit-dwarf if those will be needed by - output_rnglists. - (output_rnglists): Add DWO argument. If true, switch to - debug_ranges_dwo_section rather than debug_ranges_section. - Adjust l1/l2 label indexes. Only output the offset table when - dwo is true and don't include in there the skeleton range - entry if present. For -gsplit-dwarf, skip ranges that belong - to the other rnglists section. Change return type from void - to bool and return true if there are any range entries for - the other section. For dwarf_split_debug_info use - DW_RLE_startx_endx, DW_RLE_startx_length and DW_RLE_base_addressx - entries instead of DW_RLE_start_end, DW_RLE_start_length and - DW_RLE_base_address. Use use_distinct_base_address_for_range. - (init_sections_and_labels): Initialize debug_ranges_dwo_section - if -gsplit-dwarf and DWARF >= 5. Adjust ranges_section_label - and range_base_label indexes. - (dwarf2out_finish): Call index_rnglists earlier before finalizing - .debug_addr. Never emit DW_AT_rnglists_base attribute. For - -gsplit-dwarf and DWARF >= 5 call output_rnglists up to twice - with different dwo arguments. - (dwarf2out_c_finalize): Clear debug_ranges_dwo_section. - -2021-03-31 Richard Sandiford - - PR tree-optimization/98268 - * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Call - recompute_tree_invariant_for_addr_expr after successfully - folding a TARGET_MEM_REF that occurs inside an ADDR_EXPR. - -2021-03-31 Richard Sandiford - - PR tree-optimization/99726 - * tree-data-ref.c (create_intersect_range_checks_index): Bail - out if there is more than one access function SCEV for the loop - being versioned. - -2021-03-31 Richard Sandiford - - PR rtl-optimization/97141 - PR rtl-optimization/98726 - * emit-rtl.c (valid_for_const_vector_p): Return true for - CONST_POLY_INT_P. - * rtx-vector-builder.h (rtx_vector_builder::step): Return a - poly_wide_int instead of a wide_int. - (rtx_vector_builder::apply_set): Take a poly_wide_int instead - of a wide_int. - * rtx-vector-builder.c (rtx_vector_builder::apply_set): Likewise. - * config/aarch64/aarch64.c (aarch64_legitimate_constant_p): Return - false for CONST_VECTORs that cannot be forced to memory. - * config/aarch64/aarch64-simd.md (mov): If a CONST_VECTOR - is too complex to force to memory, build it up from individual - elements instead. - -2021-03-31 Jan Hubicka - - PR lto/99447 - * cgraph.c (cgraph_node::release_body): Fix overactive check. - -2021-03-31 Christophe Lyon - - PR target/99786 - * config/arm/vec-common.md (mul3): Disable on iwMMXT, expect - for V4HI and V2SI. - -2021-03-31 H.J. Lu - - * config/i386/i386-expand.c (expand_set_or_cpymem_via_rep): - For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, don't convert QImode - to SImode. - (decide_alg): For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, use - "rep movsb/stosb" only for known sizes. - * config/i386/i386-options.c (processor_cost_table): Use Ice - Lake cost for Cannon Lake, Ice Lake, Tiger Lake, Sapphire - Rapids and Alder Lake. - * config/i386/i386.h (TARGET_PREFER_KNOWN_REP_MOVSB_STOSB): New. - * config/i386/x86-tune-costs.h (icelake_memcpy): New. - (icelake_memset): Likewise. - (icelake_cost): Likewise. - * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): - New. - -2021-03-31 Richard Sandiford - - PR target/98119 - * config/aarch64/aarch64.c - (aarch64_vectorize_preferred_vector_alignment): Query the size - of the provided SVE vector; do not assume that all SVE vectors - have the same size. - -2021-03-31 Jan Hubicka - - PR lto/99447 - * cgraph.c (cgraph_node::release_body): Remove all callers and - references. - * cgraphclones.c (cgraph_node::materialize_clone): Do not do it here. - * cgraphunit.c (cgraph_node::expand): And here. - -2021-03-31 Martin Liska - - * ipa-modref.c (analyze_ssa_name_flags): Fix coding style - and one negated condition. - -2021-03-31 Jakub Jelinek - Richard Sandiford - - PR target/99813 - * config/aarch64/aarch64.md (*add3_poly_1): Swap Uai and Uav - constraints on operands[2] and similarly 0 and rk constraints - on operands[1] corresponding to that. - -2021-03-31 Jakub Jelinek - - PR bootstrap/98860 - * configure.ac (HAVE_LD_BROKEN_PE_DWARF5): New AC_DEFINE if PECOFF - linker doesn't support DWARF sections new in DWARF5. - * config/i386/i386-options.c (ix86_option_override_internal): Default - to dwarf_version 4 if HAVE_LD_BROKEN_PE_DWARF5 for TARGET_PECOFF - targets. - * config.in: Regenerated. - * configure: Regenerated. - -2021-03-30 Kyrylo Tkachov - - PR target/99820 - * config/aarch64/aarch64.c (aarch64_analyze_loop_vinfo): Check for - available issue_info before using it. - -2021-03-30 Kyrylo Tkachov - - PR target/99822 - * config/aarch64/aarch64.md (sub3_compare1_imm): Do not allow zero - in operand 1. - -2021-03-30 Xionghu Luo - - PR target/99718 - * config/rs6000/altivec.md (altivec_lvsl_reg): Change to ... - (altivec_lvsl_reg_): ... this. - (altivec_lvsr_reg): Change to ... - (altivec_lvsr_reg_): ... this. - * config/rs6000/predicates.md (vec_set_index_operand): New. - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - Enable 32bit variable vec_insert for all TARGET_VSX. - * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9): - Enable 32bit variable vec_insert for p9 and above. - (rs6000_expand_vector_set_var_p8): Rename to ... - (rs6000_expand_vector_set_var_p7): ... this. - (rs6000_expand_vector_set): Use TARGET_VSX and adjust assert - position. - * config/rs6000/vector.md (vec_set): Use vec_set_index_operand. - * config/rs6000/vsx.md (xl_len_r): Use gen_altivec_lvsl_reg_di and - gen_altivec_lvsr_reg_di. - -2021-03-30 H.J. Lu - - PR target/99744 - * config/i386/ia32intrin.h (__rdtsc): Defined as macro. - (__rdtscp): Likewise. - -2021-03-30 Tamar Christina - - PR tree-optimization/99825 - * tree-vect-slp-patterns.c (vect_check_evenodd_blend): - Reject non-mult 2 lanes. - -2021-03-30 Richard Earnshaw - - PR target/99773 - * config/arm/arm.c (arm_file_start): Fix emission of - Tag_ABI_VFP_args attribute. - -2021-03-30 Richard Biener - - PR tree-optimization/99824 - * stor-layout.c (set_min_and_max_values_for_integral_type): - Assert the precision is within the bounds of - WIDE_INT_MAX_PRECISION. - * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use - the outermost component ref only to lower the access size - and initialize that from the access type. - -2021-03-30 Richard Sandiford - - PR target/98136 - * config/aarch64/aarch64.md (mov): Pass multi-instruction - CONST_INTs to aarch64_expand_mov_immediate when called after RA. - -2021-03-30 Mihailo Stojanovic - - * config/aarch64/aarch64.md - (_trunc2): Set the "arch" - attribute to disambiguate between SIMD and FP variants of the - instruction. - -2021-03-29 Jan Hubicka - - * ipa-modref.c (merge_call_lhs_flags): Correct handling of deref. - (analyze_ssa_name_flags): Fix typo in comment. - -2021-03-29 Alex Coplan - - PR target/99216 - * config/aarch64/aarch64-sve-builtins.cc - (function_builder::add_function): Add placeholder_p argument, use - placeholder decls if this is set. - (function_builder::add_unique_function): Instead of conditionally adding - direct overloads, unconditionally add either a direct overload or a - placeholder. - (function_builder::add_overloaded_function): Set placeholder_p if we're - using C++ overloads. Use the obstack for string storage instead - of relying on the tree nodes. - (function_builder::add_overloaded_functions): Don't return early for - m_direct_overloads: we need to add placeholders. - * config/aarch64/aarch64-sve-builtins.h - (function_builder::add_function): Add placeholder_p argument. - -2021-03-29 Richard Biener - - PR tree-optimization/99807 - * tree-vect-slp.c (vect_slp_analyze_node_operations_1): Move - assert below VEC_PERM handling. - -2021-03-29 Kyrylo Tkachov - - PR target/99037 - * config/aarch64/aarch64-simd.md (move_lo_quad_internal_): Use - aarch64_simd_or_scalar_imm_zero to match zeroes. Remove pattern - matching const_int 0. - (move_lo_quad_internal_be_): Likewise. - (move_lo_quad_): Update for the above. - * config/aarch64/iterators.md (VQ_2E): Delete. - -2021-03-29 Jakub Jelinek - - PR tree-optimization/99777 - * fold-const.c (extract_muldiv_1): For conversions, punt on casts from - types other than scalar integral types. - -2021-03-28 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Do not add - XCOFF TLS reloc decorations. - -2021-03-28 Gerald Pfeifer - - * doc/analyzer.texi (Analyzer Internals): Update link to - "A Memory Model for Static Analysis of C Programs". - -2021-03-26 David Edelsohn - - * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Call function. - * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align): - Declare. - * config/rs6000/rs6000.c (rs6000_special_adjust_field_align): New. - (rs6000_special_round_type_align): Recursively check innermost first - field. - -2021-03-26 Jakub Jelinek - - PR debug/99334 - * dwarf2out.h (struct dw_fde_node): Add rule18 member. - * dwarf2cfi.c (dwarf2out_frame_debug_expr): When handling (set hfp sp) - assignment with drap_reg active, queue reg save for hfp with offset 0 - and flush queued reg saves. When handling a push with rule18, - defer queueing reg save for hfp and just assert the offset is 0. - (scan_trace): Assert that fde->rule18 is false. - -2021-03-26 Vladimir Makarov - - PR target/99766 - * ira-costs.c (record_reg_classes): Put case with - CT_RELAXED_MEMORY adjacent to one with CT_MEMORY. - * ira.c (ira_setup_alts): Ditto. - * lra-constraints.c (process_alt_operands): Ditto. - * recog.c (asm_operand_ok): Ditto. - * reload.c (find_reloads): Ditto. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64-protos.h - (cpu_addrcost_table::post_modify_ld3_st3): New member variable. - (cpu_addrcost_table::post_modify_ld4_st4): Likewise. - * config/aarch64/aarch64.c (generic_addrcost_table): Update - accordingly, using the same costs as for post_modify. - (exynosm1_addrcost_table, xgene1_addrcost_table): Likewise. - (thunderx2t99_addrcost_table, thunderx3t110_addrcost_table): - (tsv110_addrcost_table, qdf24xx_addrcost_table): Likewise. - (a64fx_addrcost_table): Likewise. - (neoversev1_addrcost_table): New. - (neoversev1_tunings): Use neoversev1_addrcost_table. - (aarch64_address_cost): Use the new post_modify costs for CImode - and XImode. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64.opt - (-param=aarch64-loop-vect-issue-rate-niters=): New parameter. - * doc/invoke.texi: Document it. - * config/aarch64/aarch64-protos.h (aarch64_base_vec_issue_info) - (aarch64_scalar_vec_issue_info, aarch64_simd_vec_issue_info) - (aarch64_advsimd_vec_issue_info, aarch64_sve_vec_issue_info) - (aarch64_vec_issue_info): New structures. - (cpu_vector_cost): Write comments above the variables rather - than to the side. - (cpu_vector_cost::issue_info): New member variable. - * config/aarch64/aarch64.c: Include gimple-pretty-print.h - and tree-ssa-loop-niter.h. - (generic_vector_cost, a64fx_vector_cost, qdf24xx_vector_cost) - (thunderx_vector_cost, tsv110_vector_cost, cortexa57_vector_cost) - (exynosm1_vector_cost, xgene1_vector_cost, thunderx2t99_vector_cost) - (thunderx3t110_vector_cost): Initialize issue_info to null. - (neoversev1_scalar_issue_info, neoversev1_advsimd_issue_info) - (neoversev1_sve_issue_info, neoversev1_vec_issue_info): New structures. - (neoversev1_vector_cost): Use them. - (aarch64_vec_op_count, aarch64_sve_op_count): New structures. - (aarch64_vector_costs::saw_sve_only_op): New member variable. - (aarch64_vector_costs::num_vector_iterations): Likewise. - (aarch64_vector_costs::scalar_ops): Likewise. - (aarch64_vector_costs::advsimd_ops): Likewise. - (aarch64_vector_costs::sve_ops): Likewise. - (aarch64_vector_costs::seen_loads): Likewise. - (aarch64_simd_vec_costs_for_flags): New function. - (aarch64_analyze_loop_vinfo): Initialize num_vector_iterations. - Count the number of predicate operations required by SVE WHILE - instructions. - (aarch64_comparison_type, aarch64_multiply_add_p): New functions. - (aarch64_sve_only_stmt_p, aarch64_in_loop_reduction_latency): Likewise. - (aarch64_count_ops): Likewise. - (aarch64_add_stmt_cost): Record whether see an SVE operation - that cannot currently be implementing using Advanced SIMD. - Record issue information about the scalar, Advanced SIMD - and (where relevant) SVE versions of a loop. - (aarch64_vec_op_count::dump): New function. - (aarch64_sve_op_count::dump): Likewise. - (aarch64_estimate_min_cycles_per_iter): Likewise. - (aarch64_adjust_body_cost): If issue information is available, - try to compare the issue rates of the various loop implementations - and increase or decrease the vector body cost accordingly. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_detect_vector_stmt_subtype): - Assume a zero cost for induction phis. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_embedded_comparison_type): New - function. - (aarch64_adjust_stmt_cost): Add the costs of embedded scalar and - vector comparisons. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_detect_scalar_stmt_subtype): - New function. - (aarch64_add_stmt_cost): Call it. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64-tuning-flags.def (matched_vector_throughput): - New tuning parameter. - * config/aarch64/aarch64.c (neoversev1_tunings): Use it. - (aarch64_estimated_sve_vq): New function. - (aarch64_vector_costs::analyzed_vinfo): New member variable. - (aarch64_vector_costs::is_loop): Likewise. - (aarch64_vector_costs::unrolled_advsimd_niters): Likewise. - (aarch64_vector_costs::unrolled_advsimd_stmts): Likewise. - (aarch64_record_potential_advsimd_unrolling): New function. - (aarch64_analyze_loop_vinfo, aarch64_analyze_bb_vinfo): Likewise. - (aarch64_add_stmt_cost): Call aarch64_analyze_loop_vinfo or - aarch64_analyze_bb_vinfo on the first use of a costs structure. - Detect whether we're vectorizing a loop for SVE that might be - completely unrolled if it used Advanced SIMD instead. - (aarch64_adjust_body_cost_for_latency): New function. - (aarch64_finish_cost): Call it. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_vector_costs): New structure. - (aarch64_init_cost): New function. - (aarch64_add_stmt_cost): Use aarch64_vector_costs instead of - the default unsigned[3]. - (aarch64_finish_cost, aarch64_destroy_cost_data): New functions. - (TARGET_VECTORIZE_INIT_COST): Override. - (TARGET_VECTORIZE_FINISH_COST): Likewise. - (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64.c (neoversev1_advsimd_vector_cost) - (neoversev1_sve_vector_cost): New cost structures. - (neoversev1_vector_cost): Likewise. - (neoversev1_tunings): Use them. Enable use_new_vector_costs. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64-protos.h - (sve_vec_cost::scatter_store_elt_cost): New member variable. - * config/aarch64/aarch64.c (generic_sve_vector_cost): Update - accordingly, taking the cost from the cost of a scalar_store. - (a64fx_sve_vector_cost): Likewise. - (aarch64_detect_vector_stmt_subtype): Detect scatter stores. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64-protos.h - (simd_vec_cost::store_elt_extra_cost): New member variable. - * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update - accordingly, using the vec_to_scalar cost for the new field. - (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise. - (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise. - (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise. - (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost) - (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost) - (thunderx3t110_advsimd_vector_cost): Likewise. - (aarch64_detect_vector_stmt_subtype): Detect single-element stores. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64-protos.h (simd_vec_cost::ld2_st2_permute_cost) - (simd_vec_cost::ld3_st3_permute_cost): New member variables. - (simd_vec_cost::ld4_st4_permute_cost): Likewise. - * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update - accordingly, using zero for the new costs. - (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise. - (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise. - (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise. - (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost) - (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost) - (thunderx3t110_advsimd_vector_cost): Likewise. - (aarch64_ld234_st234_vectors): New function. - (aarch64_adjust_stmt_cost): Likewise. - (aarch64_add_stmt_cost): Call aarch64_adjust_stmt_cost if using - the new vector costs. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64-protos.h (sve_vec_cost): Turn into a - derived class of simd_vec_cost. Add information about CLAST[AB] - and FADDA instructions. - * config/aarch64/aarch64.c (generic_sve_vector_cost): Update - accordingly, using the vec_to_scalar costs for the new fields. - (a64fx_sve_vector_cost): Likewise. - (aarch64_reduc_type): New function. - (aarch64_sve_in_loop_reduction_latency): Likewise. - (aarch64_detect_vector_stmt_subtype): Take a vinfo parameter. - Use aarch64_sve_in_loop_reduction_latency to handle SVE reductions - that occur in the loop body. - (aarch64_add_stmt_cost): Update call accordingly. - -2021-03-26 Richard Sandiford - - * config/aarch64/aarch64-tuning-flags.def (use_new_vector_costs): - New tuning flag. - * config/aarch64/aarch64-protos.h (simd_vec_cost): Put comments - above the fields rather than to the right. - (simd_vec_cost::reduc_i8_cost): New member variable. - (simd_vec_cost::reduc_i16_cost): Likewise. - (simd_vec_cost::reduc_i32_cost): Likewise. - (simd_vec_cost::reduc_i64_cost): Likewise. - (simd_vec_cost::reduc_f16_cost): Likewise. - (simd_vec_cost::reduc_f32_cost): Likewise. - (simd_vec_cost::reduc_f64_cost): Likewise. - * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update - accordingly, using the vec_to_scalar_cost for the new fields. - (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise. - (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise. - (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise. - (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost) - (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost) - (thunderx3t110_advsimd_vector_cost): Likewise. - (aarch64_use_new_vector_costs_p): New function. - (aarch64_simd_vec_costs): New function, split out from... - (aarch64_builtin_vectorization_cost): ...here. - (aarch64_is_reduction): New function. - (aarch64_detect_vector_stmt_subtype): Likewise. - (aarch64_add_stmt_cost): Call aarch64_detect_vector_stmt_subtype if - using the new vector costs. - -2021-03-26 Iain Buclaw - - PR ipa/99466 - * tree-emutls.c (get_emutls_init_templ_addr): Mark initializer of weak - TLS declarations as public. - -2021-03-26 Iain Buclaw - - * config/aarch64/aarch64-d.c (IN_TARGET_CODE): Define. - * config/arm/arm-d.c (IN_TARGET_CODE): Likewise. - * config/i386/i386-d.c (IN_TARGET_CODE): Likewise. - * config/mips/mips-d.c (IN_TARGET_CODE): Likewise. - * config/pa/pa-d.c (IN_TARGET_CODE): Likewise. - * config/riscv/riscv-d.c (IN_TARGET_CODE): Likewise. - * config/rs6000/rs6000-d.c (IN_TARGET_CODE): Likewise. - * config/s390/s390-d.c (IN_TARGET_CODE): Likewise. - * config/sparc/sparc-d.c (IN_TARGET_CODE): Likewise. - -2021-03-26 Iain Buclaw - - PR d/91595 - * config.gcc (*-*-cygwin*): Add winnt-d.o - (*-*-mingw*): Likewise. - * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): New macro. - * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Likewise. - * config/i386/t-cygming: Add winnt-d.o. - * config/i386/winnt-d.c: New file. - -2021-03-26 Iain Buclaw - - * config/freebsd-d.c: Include memmodel.h. - -2021-03-26 Iain Buclaw - - PR d/99691 - * config.gcc (*-*-openbsd*): Add openbsd-d.o. - * config/t-openbsd: Add openbsd-d.o. - * config/openbsd-d.c: New file. - -2021-03-25 Stam Markianos-Wright - - PR tree-optimization/96974 - * tree-vect-stmts.c (vect_get_vector_types_for_stmt): Replace assert - with graceful exit. - -2021-03-25 H.J. Lu - - Revert: - 2021-03-25 H.J. Lu - - PR target/98209 - PR target/99744 - * config/i386/i386.c (ix86_can_inline_p): Don't check ISA for - always_inline in system headers. - -2021-03-25 Kewen Lin - - * tree-vect-loop.c (vect_model_reduction_cost): Init inside_cost. - -2021-03-25 Jakub Jelinek - - PR c++/99565 - * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF_SAME_FIELD. - * fold-const.c (operand_compare::operand_equal_p): Don't compare - field offsets if OEP_ADDRESS_OF_SAME_FIELD. - -2021-03-25 H.J. Lu - - PR target/98209 - PR target/99744 - * config/i386/i386.c (ix86_can_inline_p): Don't check ISA for - always_inline in system headers. - -2021-03-25 Richard Biener - - PR tree-optimization/99746 - * tree-vect-slp-patterns.c (complex_pattern::build): Do not mark - the scalar stmt as patterned. Instead set up required things - manually. - -2021-03-25 Xionghu Luo - - * config/rs6000/rs6000.c (power8_costs): Change l2 cache - from 256 to 512. - -2021-03-24 Martin Liska - - PR target/99753 - * common/config/i386/i386-common.c (ARRAY_SIZE): Fix off-by-one - error. - * config/i386/i386-options.c (ix86_option_override_internal): - Add run-time assert. - -2021-03-24 Martin Jambor - - PR ipa/99122 - * ipa-cp.c (initialize_node_lattices): Mark as bottom all - parameters with unknown type. - (ipacp_value_safe_for_type): New function. - (propagate_vals_across_arith_jfunc): Verify that the constant type - can be used for a type of the formal parameter. - (propagate_vals_across_ancestor): Likewise. - (propagate_scalar_across_jump_function): Likewise. Pass the type - also to propagate_vals_across_ancestor. - -2021-03-24 Christophe Lyon - - PR target/99727 - * config/arm/mve.md (movmisalign_mve_store): Use Ux - constraint. - (movmisalign_mve_load): Likewise. - -2021-03-24 Jakub Jelinek - - PR target/99724 - * config/arm/vec-common.md (one_cmpl2, neg2, - movmisalign): Disable expanders for TARGET_REALLY_IWMMXT. - -2021-03-24 Alexandre Oliva - - * doc/sourcebuild.texi (sysconf): New effective target. - -2021-03-24 Alexandre Oliva - - * config/i386/predicates.md (reg_or_const_vec_operand): New. - * config/i386/sse.md (ssse3_pshufbv8qi3): Add an expander for - the now *-prefixed insn_and_split, turn the splitter const vec - into an input for the insn, making it an ignored immediate for - non-split cases, and loaded into the scratch register - otherwise. - -2021-03-23 Vladimir N. Makarov - - PR target/99581 - * config/aarch64/constraints.md (Utq, UOb, UOh, UOw, UOd, UOty): - Use define_relaxed_memory_constraint for them. - -2021-03-23 Iain Sandoe - - PR target/99733 - * config/host-darwin.c (darwin_gt_pch_use_address): Add a - colon to the diagnostic message. - -2021-03-23 Ilya Leoshkevich - - * fwprop.c (fwprop_propagation::fwprop_propagation): Look at - set_info's uses. - (try_fwprop_subst_note): Use set_info instead of insn_info. - (try_fwprop_subst_pattern): Likewise. - (try_fwprop_subst_notes): Likewise. - (try_fwprop_subst): Likewise. - (forward_propagate_subreg): Likewise. - (forward_propagate_and_simplify): Likewise. - (forward_propagate_into): Likewise. - * rtl-ssa/accesses.h (set_info::single_nondebug_use) New - method. - (set_info::single_nondebug_insn_use): Likewise. - (set_info::single_phi_use): Likewise. - * rtl-ssa/member-fns.inl (set_info::single_nondebug_use) New - method. - (set_info::single_nondebug_insn_use): Likewise. - (set_info::single_phi_use): Likewise. - -2021-03-23 Christophe Lyon - - * doc/sourcebuild.texi (arm_dsp_ok, arm_dsp): Document. - -2021-03-23 Jakub Jelinek - - PR target/99540 - * config/aarch64/aarch64.c (aarch64_add_offset): Tell - expand_mult to perform an unsigned rather than a signed - multiplication. - -2021-03-23 H.J. Lu - - PR target/99704 - * config/i386/cpuid.h (__cpuid): Add __volatile__. - (__cpuid_count): Likewise. - -2021-03-23 Richard Biener - - PR tree-optimization/99721 - * tree-vect-slp.c (vect_slp_analyze_node_operations): - Make sure we can schedule the node. - -2021-03-23 Marcus Comstedt - - * config/riscv/riscv.c (riscv_subword): Take endianness into - account when calculating the byte offset. - -2021-03-23 Marcus Comstedt - - * config/riscv/predicates.md (subreg_lowpart_operator): New predicate - * config/riscv/riscv.md (*addsi3_extended2, *subsi3_extended2) - (*negsi2_extended2, *mulsi3_extended2, *si3_mask) - (*si3_mask_1, *di3_mask, *di3_mask_1) - (*si3_extend_mask, *si3_extend_mask_1): Use - new predicate "subreg_lowpart_operator" - -2021-03-23 Marcus Comstedt - - * config/riscv/riscv.c (riscv_swap_instruction): New function - to byteswap an SImode rtx containing an instruction. - (riscv_trampoline_init): Byteswap the generated instructions - when needed. - -2021-03-23 Marcus Comstedt - - * common/config/riscv/riscv-common.c - (TARGET_DEFAULT_TARGET_FLAGS): Set default endianness. - * config.gcc (riscv32be-*, riscv64be-*): Set - TARGET_BIG_ENDIAN_DEFAULT to 1. - * config/riscv/elf.h (LINK_SPEC): Change -melf* value - depending on default endianness. - * config/riscv/freebsd.h (LINK_SPEC): Likewise. - * config/riscv/linux.h (LINK_SPEC): Likewise. - * config/riscv/riscv.c (TARGET_DEFAULT_TARGET_FLAGS): Set - default endianness. - * config/riscv/riscv.h (DEFAULT_ENDIAN_SPEC): New macro. - -2021-03-23 Marcus Comstedt - - * config/riscv/elf.h (LINK_SPEC): Pass linker endianness flag. - * config/riscv/freebsd.h (LINK_SPEC): Likewise. - * config/riscv/linux.h (LINK_SPEC): Likewise. - * config/riscv/riscv.h (ASM_SPEC): Pass -mbig-endian and - -mlittle-endian. - (BYTES_BIG_ENDIAN): Handle big endian. - (WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN. - * config/riscv/riscv.opt (-mbig-endian, -mlittle-endian): New - options. - * doc/invoke.texi (-mbig-endian, -mlittle-endian): Document. - -2021-03-23 Stefan Schulze Frielinghaus - - * regcprop.c (find_oldest_value_reg): Ask target whether - different mode is fine for replacement register. - -2021-03-23 Aldy Hernandez - - PR tree-optimization/99296 - * value-range.cc (irange::irange_set_1bit_anti_range): New. - (irange::irange_set_anti_range): Call irange_set_1bit_anti_range - * value-range.h (irange::irange_set_1bit_anti_range): New. - -2021-03-22 Vladimir N. Makarov - - PR target/99581 - * config/aarch64/constraints.md (UtQ): Use - define_relaxed_memory_constraint for it. - * doc/md.texi (define_relaxed_memory_constraint): Describe it. - * genoutput.c (main): Process DEFINE_RELAXED_MEMORY_CONSTRAINT. - * genpreds.c (constraint_data): Add bitfield is_relaxed_memory. - (have_relaxed_memory_constraints): New static var. - (relaxed_memory_start, relaxed_memory_end): Ditto. - (add_constraint): Add arg is_relaxed_memory. Check name for - relaxed memory. Set up is_relaxed_memory in constraint_data and - have_relaxed_memory_constraints. Adjust calls. - (choose_enum_order): Process relaxed memory. - (write_tm_preds_h): Ditto. - (main): Process DEFINE_RELAXED_MEMORY_CONSTRAINT. - * gensupport.c (process_rtx): Process DEFINE_RELAXED_MEMORY_CONSTRAINT. - * ira-costs.c (record_reg_classes): Process CT_RELAXED_MEMORY. - * ira-lives.c (single_reg_class): Use - insn_extra_relaxed_memory_constraint. - * ira.c (ira_setup_alts): CT_RELAXED_MEMORY. - * lra-constraints.c (valid_address_p): Use - insn_extra_relaxed_memory_constraint instead of other memory - constraints. - (process_alt_operands): Process CT_RELAXED_MEMORY. - (curr_insn_transform): Use insn_extra_relaxed_memory_constraint. - * recog.c (asm_operand_ok, preprocess_constraints): Process - CT_RELAXED_MEMORY. - * reload.c (find_reloads): Ditto. - * rtl.def (DEFINE_RELAXED_MEMORY_CONSTRAINT): New. - * stmt.c (parse_input_constraint): Use - insn_extra_relaxed_memory_constraint. - -2021-03-22 Segher Boessenkool - - PR target/97926 - * ubsan.c (ubsan_instrument_float_cast): Don't test for unordered if - there are no NaNs. - -2021-03-22 Alex Coplan - - PR target/97252 - * config/arm/arm-protos.h (neon_make_constant): Add generate - argument to guard emitting insns, default to true. - * config/arm/arm.c (arm_legitimate_constant_p_1): Reject - CONST_VECTORs which neon_make_constant can't handle. - (neon_vdup_constant): Add generate argument, avoid emitting - insns if it's not set. - (neon_make_constant): Plumb new generate argument through. - * config/arm/constraints.md (Ui): New. Use it... - * config/arm/mve.md (*mve_mov): ... here. - * config/arm/vec-common.md (movv8hf): Use neon_make_constant to - synthesize constants. - -2021-03-22 Richard Biener - - * debug.h: Add deprecation warning. - -2021-03-22 Richard Biener - - PR tree-optimization/99694 - * tree-ssa-sccvn.c (visit_phi): Ignore edges with the - PHI result. - -2021-03-22 Kito Cheng - - PR target/99702 - * config/riscv/riscv.c (riscv_expand_block_move): Get RTL value - after type checking. - -2021-03-22 Jakub Jelinek - - PR debug/99562 - PR debug/66728 - * dwarf2out.c (get_full_len): Use get_precision rather than - min_precision. - (add_const_value_attribute): Make sure add_AT_wide argument has - precision prec rather than some very wide one. - -2021-03-22 Kewen Lin - - * config/rs6000/rs6000.md (*rotldi3_insert_sf, - *movcc_p9, floatsi2_lfiwax, - floatsi2_lfiwax_mem, floatunssi2_lfiwzx, - floatunssi2_lfiwzx_mem, *floatsidf2_internal, - *floatunssidf2_internal, fix_truncsi2_stfiwx, - fix_truncsi2_internal, fixuns_truncsi2_stfiwx, - *round322_fprs, *roundu322_fprs, - *fix_truncsi2_internal): Fix empty split condition. - * config/rs6000/vsx.md (*vsx_le_undo_permute_, - vsx_reduc__v2df, vsx_reduc__v4sf, - *vsx_reduc__v2df_scalar, - *vsx_reduc__v4sf_scalar): Likewise. - -2021-03-22 Xionghu Luo - - PR target/98914 - * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9): - Convert idx to DImode. - (rs6000_expand_vector_set_var_p8): Likewise. - -2021-03-21 Jakub Jelinek - - PR debug/99388 - * dwarf2out.c (insert_float): Change return type from void to - unsigned, handle GET_MODE_SIZE (mode) == 2 and return element size. - (mem_loc_descriptor, loc_descriptor, add_const_value_attribute): - Adjust callers. - -2021-03-20 H.J. Lu - - PR target/99679 - * config/i386/i386.c (construct_container): Check cfun != NULL - before accessing silent_p. - -2021-03-20 Ahamed Husni - - * asan.c: Fix typos in comments. - -2021-03-20 Vladimir N. Makarov - - PR rtl-optimization/99680 - * lra-constraints.c (skip_contraint_modifiers): Rename to skip_constraint_modifiers. - (process_address_1): Check empty constraint before using - CONSTRAINT_LEN. - -2021-03-19 Pat Haugen - - * config/rs6000/rs6000.c (power10_cost): New. - (rs6000_option_override_internal): Set Power10 costs. - (rs6000_issue_rate): Set Power10 issue rate. - * config/rs6000/power10.md: Rewrite for Power10. - -2021-03-19 Vladimir N. Makarov - - PR target/99663 - * lra-constraints.c (process_address_1): Don't use unknown - constraint for address constraint. - -2021-03-19 Iain Sandoe - - PR target/99661 - * config.gcc (powerpc-*-darwin8): Delete the reference to - the now removed darwin8.h. - -2021-03-19 Olivier Hainque - - PR target/99660 - * config/vxworksae.h (VX_CPU_PREFIX): Define. - -2021-03-19 John David Anglin - - * config/pa/pa.c (import_milli): Use memcpy instead of strncpy. - -2021-03-19 Tamar Christina - - PR tree-optimization/99656 - * tree-vect-slp-patterns.c (linear_loads_p, - complex_add_pattern::matches, is_eq_or_top, - vect_validate_multiplication, complex_mul_pattern::matches, - complex_fms_pattern::matches): Remove complex_perm_kinds_t. - * tree-vectorizer.h: (complex_load_perm_t): Removed. - (slp_tree_to_load_perm_map_t): Use complex_perm_kinds_t instead of - complex_load_perm_t. - -2021-03-19 H.J. Lu - - PR target/99652 - * config/i386/i386-options.c (ix86_init_machine_status): Set - silent_p to true. - * config/i386/i386.c (init_cumulative_args): Set silent_p to - false. - (construct_container): Return early for return and argument - errors if silent_p is true. - * config/i386/i386.h (machine_function): Add silent_p. - -2021-03-19 Jakub Jelinek - - PR target/99593 - * config/arm/constraints.md (Ds): New constraint. - * config/arm/vec-common.md (mve_vshlq_): Use w,Ds - constraint instead of w,Dm. - -2021-03-19 Andrew Stubbs - - * config/gcn/gcn.c (gcn_parse_amdgpu_hsa_kernel_attribute): Fix quotes - in error message. - -2021-03-19 Eric Botcazou - - PR middle-end/99641 - * fold-const.c (native_encode_initializer) : For an - array type, do the computation of the current position in sizetype. - -2021-03-18 Vladimir N. Makarov - - PR target/99422 - * lra-constraints.c (process_address_1): Use lookup_constraint - only for a single constraint. - -2021-03-18 Martin Sebor - - PR middle-end/99502 - * gimple-array-bounds.cc (inbounds_vbase_memaccess_p): Rename... - (inbounds_memaccess_p): ...to this. Check the ending offset of - the accessed member. - -2021-03-18 Andrew Stubbs - - * config/gcn/gcn.c (gcn_parse_amdgpu_hsa_kernel_attribute): Add %< and - %> quote markers to error messages. - (gcn_goacc_validate_dims): Likewise. - (gcn_conditional_register_usage): Remove exclaimation mark from error - message. - (gcn_vectorize_vec_perm_const): Ensure perm is fully uninitialized. - -2021-03-18 Jan Hubicka - - * config/i386/x86-tune-costs.h (struct processor_costs): Fix costs of - integer divides1. - -2021-03-18 Sinan Lin - Kito Cheng - - * config/riscv/riscv.c (riscv_block_move_straight): Change type - to unsigned HOST_WIDE_INT for parameter and local variable with - HOST_WIDE_INT type. - (riscv_adjust_block_mem): Ditto. - (riscv_block_move_loop): Ditto. - (riscv_expand_block_move): Ditto. - -2021-03-18 Nick Clifton - - * config/v850/v850.c (construct_restore_jr): Increase static - buffer size. - (construct_save_jarl): Likewise. - * config/v850/v850.h (DWARF2_DEBUGGING_INFO): Define. - -2021-03-18 Kyrylo Tkachov - - * config/aarch64/aarch64.c (aarch64_adjust_generic_arch_tuning): Define. - (aarch64_override_options_internal): Use it. - (generic_tunings): Add AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS to - tune_flags. - -2021-03-17 Sandra Loosemore - - * config/nios2/nios2.c (nios2_custom_check_insns): Clean up - error message format issues. - (nios2_option_override): Likewise. - (nios2_expand_fpu_builtin): Likewise. - (nios2_init_custom_builtins): Adjust to avoid bogus strncpy - truncation warning. - (nios2_expand_custom_builtin): More error message format fixes. - (nios2_expand_rdwrctl_builtin): Likewise. - (nios2_expand_rdprs_builtin): Likewise. - (nios2_expand_eni_builtin): Likewise. - (nios2_expand_builtin): Likewise. - (nios2_register_custom_code): Likewise. - (nios2_valid_target_attribute_rec): Likewise. - (nios2_add_insn_asm): Fix uninitialized variable warning. - -2021-03-17 Jan Hubicka - - * config/i386/x86-tune-costs.h (struct processor_costs): Update costs - of gather to match reality. - * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Enable for znver3. - -2021-03-17 Kyrylo Tkachov - - * config/aarch64/aarch64-builtins.c (aarch64_expand_rng_builtin): Use EQ - to compare against CC_REG rather than NE. - -2021-03-17 H.J. Lu - - PR target/99504 - * config/i386/i386.c (ix86_force_load_from_GOT_p): Support - inline assembly statements. - (ix86_print_operand): Update 'P' handling for -fno-plt. - -2021-03-17 Tamar Christina - - PR target/99542 - * config/aarch64/aarch64.c - (aarch64_simd_clone_compute_vecsize_and_simdlen): Remove unused var. - -2021-03-16 Segher Boessenkool - - PR target/98092 - * config/rs6000/predicates.md (branch_comparison_operator): Allow - ordered and unordered for CCFPmode, if flag_finite_math_only. - -2021-03-16 Jakub Jelinek - - PR target/99600 - * config/i386/i386-expand.c (ix86_split_lea_for_addr): Emit a MULT - rather than ASHIFT. - * config/i386/i386.md (mult by 1248 into ashift): New splitter. - -2021-03-16 Martin Liska - - PR target/99592 - * optc-save-gen.awk: Add flag_ipa_ra to exceptions for - cl_optimization_compare function. - -2021-03-16 Ilya Leoshkevich - - * config/s390/s390.c (f_constraint_p): Treat "fv" constraints - as "v". - -2021-03-16 Jakub Jelinek - - PR target/99563 - * config/i386/i386.h (struct machine_function): Add - has_explicit_vzeroupper bitfield. - * config/i386/i386-expand.c (ix86_expand_builtin): Set - cfun->machine->has_explicit_vzeroupper when expanding - IX86_BUILTIN_VZEROUPPER. - * config/i386/i386-features.c (rest_of_handle_insert_vzeroupper): - Do the mode switching only when TARGET_VZEROUPPER, expensive - optimizations turned on and not optimizing for size. - (pass_insert_vzeroupper::gate): Enable even when - cfun->machine->has_explicit_vzeroupper is set. - -2021-03-16 Jakub Jelinek - - PR target/99542 - * config/aarch64/aarch64.c - (aarch64_simd_clone_compute_vecsize_and_simdlen): If not a function - definition, walk TYPE_ARG_TYPES list if non-NULL for argument types - instead of DECL_ARGUMENTS. Ignore types for uniform arguments. - -2021-03-15 Richard Biener - - PR tree-optimization/98834 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle missing - subsetting by truncating the access size. - -2021-03-15 Jan Hubicka - - * config/i386/i386-options.c (processor_cost_table): Add znver3_cost. - * config/i386/x86-tune-costs.h (znver3_cost): New gobal variable; copy - of znver2_cost. - -2021-03-15 Martin Liska - - * spellcheck.c: Add missing comma in initialization. - -2021-03-14 Uroš Bizjak - - * config/i386/sse.md (*vec_extract): Merge alternative 0 with - alternative 2 and alternative 1 with alternative 3 using - YW register constraint. - (*vec_extract_zext): Merge alternatives - using YW register constraint. - (*vec_extractv16qi_zext): Ditto. - (*vec_extractv4si): Merge alternatives 4 and 5 - using Yw register constraint. - (*ssse3_palignr_perm): Use Yw instead of v for alternative 3. - -2021-03-13 Martin Sebor - - PR tree-optimization/99489 - * builtins.c (gimple_call_alloc_size): Fail gracefully when argument - is not a call statement. - -2021-03-13 Jakub Jelinek - - PR tree-optimization/99544 - * match.pd (X + (X << C) -> X * (1 + (1 << C))): Don't simplify - if for vector types multiplication can't be done in type's mode. - -2021-03-12 Eric Botcazou - - PR target/99422 - * config/sparc/constraints.md (w): Rename to... - (W): ... this and ditch previous implementation. - * config/sparc/sparc.md (*movdi_insn_sp64): Replace W with m. - (*movdf_insn_sp64): Likewise. - (*mov_insn_sp64): Likewise. - * config/sparc/sync.md (*atomic_compare_and_swap_1): Replace - w with W. - (atomic_compare_and_swap_leon3_1): Likewise. - (*atomic_compare_and_swapdi_v8plus): Likewise. - * config/sparc/sparc.c (memory_ok_for_ldd): Remove useless test on - architecture and add missing address validity check during LRA. - -2021-03-12 Tobias Burnus - - PR fortran/98858 - * gimplify.c (omp_add_variable): Handle NULL_TREE as size - occuring for assumed-size arrays in use_device_{ptr,addr}. - -2021-03-12 Jakub Jelinek - - PR target/99321 - * config/i386/constraints.md (YW): New internal constraint. - * config/i386/sse.md (v_Yw): Add V4TI, V2TI, V1TI and TI cases. - (*_3, - *_uavg3, *abs2, - *mul3_highpart): Use instead of v in - constraints. - (_psadbw): Use YW instead of v in constraints. - (*avx2_pmaddwd, *sse2_pmaddwd, *v8hi3, *v16qi3, - avx2_pmaddubsw256, ssse3_pmaddubsw128): Merge last two alternatives - into one, use Yw instead of former x,v. - (ashr3, 3): Use instead of x in constraints of - the last alternative. - (_packsswb, _packssdw, - _packuswb, _packusdw, - *_pmulhrsw3, _palignr, - _pshufb3): Merge last two alternatives - into one, use instead of former x,v. - (avx2_interleave_highv32qi, - vec_interleave_highv16qi): Use Yw instead of v in - constraints. Add && to condition. - (avx2_interleave_lowv32qi, - vec_interleave_lowv16qi, - avx2_interleave_highv16hi, - vec_interleave_highv8hi, - avx2_interleave_lowv16hi, vec_interleave_lowv8hi, - avx2_pshuflw_1, sse2_pshuflw_1, - avx2_pshufhw_1, sse2_pshufhw_1, - avx2_v16qiv16hi2, sse4_1_v8qiv8hi2, - *sse4_1_v8qiv8hi2_1, _3): Use - Yw instead of v in constraints. - * config/i386/mmx.md (Yv_Yw): New define_mode_attr. - (*mmx_3, mmx_ashr3, mmx_3): Use - instead of Yv in constraints. - (*mmx_3, *mmx_mulv4hi3, *mmx_smulv4hi3_highpart, - *mmx_umulv4hi3_highpart, *mmx_pmaddwd, *mmx_v4hi3, - *mmx_v8qi3, mmx_packswb, mmx_packssdw, - mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd, - *mmx_uavgv8qi3, *mmx_uavgv4hi3, mmx_psadbw): Use Yw instead of Yv in - constraints. - (*mmx_pinsrw, *mmx_pinsrb, *mmx_pextrw, *mmx_pextrw_zext, *mmx_pextrb, - *mmx_pextrb_zext): Use YW instead of Yv in constraints. - (*mmx_eq3, mmx_gt3): Use x instead of Yv in constraints. - (mmx_andnot3, *mmx_3): Split last alternative into - two, one with just x, another isa avx512vl with v. - -2021-03-12 Martin Liska - - * doc/invoke.texi: Add missing param documentation. - -2021-03-11 David Malcolm - - PR analyzer/96374 - * Makefile.in (ANALYZER_OBJS): Add analyzer/feasible-graph.o and - analyzer/trimmed-graph.o. - * doc/analyzer.texi (Analyzer Paths): Rewrite description of - feasibility checking to reflect new implementation. - * doc/invoke.texi (-fdump-analyzer-feasibility): Document new - option. - * shortest-paths.h (shortest_paths::get_shortest_distance): New. - -2021-03-11 David Malcolm - - * digraph.cc (selftest::test_shortest_paths): Update - shortest_paths init for new param. Add test of - SPS_TO_GIVEN_TARGET. - * shortest-paths.h (enum shortest_path_sense): New. - (shortest_paths::shortest_paths): Add "sense" param. - Update for renamings. Generalize to use "sense" param. - (shortest_paths::get_shortest_path): Rename param. - (shortest_paths::m_sense): New field. - (shortest_paths::m_prev): Rename... - (shortest_paths::m_best_edge): ...to this. - (shortest_paths::get_shortest_path): Update for renamings. - Conditionalize flipping of path on sense of traversal. - -2021-03-11 David Malcolm - - * digraph.cc (selftest::test_shortest_paths): Add test coverage - for paths from B and C. - * shortest-paths.h (shortest_paths::shortest_paths): Handle - unreachable nodes, rather than asserting. - -2021-03-11 David Edelsohn - - PR target/99094 - * config/rs6000/rs6000.c (rs6000_xcoff_file_start): Don't create - xcoff_tbss_section_name. - * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Use .lcomm. - * xcoffout.c (xcoff_tbss_section_name): Delete. - * xcoffout.h (xcoff_tbss_section_name): Delete. - -2021-03-11 Richard Biener - - PR tree-optimization/99523 - * tree-cfg.c (dump_function_to_file): Dump SSA names - w/o identifier to the decls section as well, not only those - without a VAR_DECL. - -2021-03-11 Jakub Jelinek - - PR ipa/99517 - * ipa-icf-gimple.c (func_checker::compare_gimple_call): For internal - function calls with lhs fail if the lhs don't have compatible types. - -2021-03-11 Hans-Peter Nilsson - - * config/cris/cris.h (HARD_FRAME_POINTER_REGNUM): Define. - Change FRAME_POINTER_REGNUM to correspond to a new faked - register faked_fp, part of GENNONACR_REGS like faked_ap. - (CRIS_FAKED_REGS_CONTENTS): New helper macro. - (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS): - (REG_ALLOC_ORDER, REG_CLASS_CONTENTS, REGNO_OK_FOR_BASE_P) - (ELIMINABLE_REGS, REGISTER_NAMES): Adjust accordingly. - * config/cris/cris.md (CRIS_FP_REGNUM): Renumber to new faked - register. - (CRIS_REAL_FP_REGNUM): New constant. - * config/cris/cris.c (cris_reg_saved_in_regsave_area): Check - for HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM. - (cris_initial_elimination_offset): Handle elimination changes - to HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM - and add one from FRAME_POINTER_REGNUM to - HARD_FRAME_POINTER_REGNUM. - (cris_expand_prologue, cris_expand_epilogue): Emit code for - hard_frame_pointer_rtx instead of frame_pointer_rtx. - -2021-03-10 David Edelsohn - - PR target/99492 - * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Add check for DCmode. - * config/rs6000/rs6000.c (rs6000_special_round_type_align): Same. - -2021-03-10 Vladimir N. Makarov - - PR target/99422 - * lra-constraints.c (process_address_1): Don't check unknown - constraint, use X for empty constraint. - -2021-03-10 Alex Coplan - - * config/aarch64/aarch64.c (aarch64_vfp_is_call_or_return_candidate): - Fix typo in comment describing "is_ha" argument. - -2021-03-10 John David Anglin - - * doc/sourcebuild.texi: Document LRA target selector. - -2021-03-10 David Malcolm - - * doc/ux.texi: Add subsection contrasting interactive versus - batch usage of GCC. - -2021-03-10 Joel Hutton - - PR target/99102 - * tree-vect-stmts.c (vectorizable_store): Fix scatter store mask - check condition. - (vectorizable_load): Fix gather load mask check condition. - -2021-03-10 Richard Biener - - PR tree-optimization/99510 - * tree.c (check_aligned_type): Check that the candidate - has TYPE_USER_ALIGN set instead of matching with the - original type. - -2021-03-10 Eric Botcazou - - * config/sparc/sparc.c (sparc_regmode_natural_size): Return 4 for - float and vector integer modes only if the mode is not larger. - -2021-03-10 Hans-Peter Nilsson - - * config/cris/cris.h (DWARF_FRAME_REGISTERS): Define. - -2021-03-09 Vladimir N. Makarov - - * ira.c (ira_setup_alts, ira_get_dup_out_num): Process digital - constraints > 9. - * ira-lives.c (single_reg_class): Ditto. - -2021-03-09 Sebastian Huber - - * config.gcc (aarch64-*-rtems*): Include general rtems.h after - the architecture-specific rtems.h. - (aarch64-*-rtems*): Likewise. - (arm*-*-rtems*): Likewise. - (epiphany-*-rtems*): Likewise. - (riscv*-*-rtems*): Likewise. - -2021-03-09 Jakub Jelinek - - PR tree-optimization/99305 - * tree-ssa-phiopt.c (conditional_replacement): Test integer_pow2p - before integer_all_onesp instead of vice versa. - -2021-03-09 Richard Earnshaw - - * common/config/arm/arm-common.c (arm_config_default): Change type - of 'i' to unsigned. - -2021-03-09 Vladimir N. Makarov - - PR target/99454 - * lra-constraints.c (process_address_1): Process constraint 'g' - separately and digital constraints containing more one digit. - -2021-03-09 Nick Clifton - - * config/rx/rx.h (DBX_DEBUGGING_INFO): Define. - (DWARF"_DEBUGGING_INFO): Define. - -2021-03-09 Eric Botcazou - - PR c++/90448 - * calls.c (initialize_argument_information): When the argument - is passed by reference, do not make a copy in a thunk only if - the argument is already in memory. Remove redundant test for - the case of callee copy. - -2021-03-09 Vladimir N. Makarov - - PR target/99454 - * lra-constraints.c (process_address_1): Process 0..9 constraints - in process_address_1. - -2021-03-09 Andreas Krebbel - - * config/s390/s390.c (struct s390_processor processor_table): - Binutils name string must not be empty. - -2021-03-09 Claudiu Zissulescu - - * config/arc/arc.c (arc_attr_type): Remove function. - -2021-03-09 Martin Liska - - PR target/99464 - * config/i386/i386-options.c (ix86_option_override_internal): - Set isa_flags for OPTS argument and not for the global - global_options. - -2021-03-09 Aaron Sawdey - - * config/rs6000/predicates.md (ds_form_mem_operand): Check - in correct code. - -2021-03-09 Aaron Sawdey - - PR target/99070 - * config/rs6000/predicates.md (ds_form_mem_operand) New - predicate. - * config/rs6000/genfusion.pl (gen_ld_cmpi_p10) Use - ds_form_mem_operand in ld/lwa patterns. - * config/rs6000/fusion.md: Regenerate file. - -2021-03-08 Martin Sebor - - PR middle-end/98266 - * gimple-array-bounds.cc (inbounds_vbase_memaccess_p): New function. - (array_bounds_checker::check_array_bounds): Call it. - -2021-03-08 Martin Sebor - - PR middle-end/97631 - * tree-ssa-strlen.c (maybe_warn_overflow): Test rawmem. - (handle_builtin_stxncpy_strncat): Rename locals. Determine - destination size from allocation calls. Issue a more appropriate - kind of warning. - (handle_builtin_memcpy): Pass true as rawmem to maybe_warn_overflow. - (handle_builtin_memset): Same. - -2021-03-08 Peter Bergner - - PR target/98959 - * config/rs6000/rs6000.c (rs6000_emit_le_vsx_permute): Add an assert - to ensure we do not have an Altivec style address. - * config/rs6000/vsx.md (*vsx_le_perm_load_): Disable if passed - an Altivec style address. - (*vsx_le_perm_store_): Likewise. - (splitters after *vsx_le_perm_store_): Likewise. - (vsx_load_): Disable special expander if passed an Altivec - style address. - (vsx_store_): Likewise. - -2021-03-08 Kyrylo Tkachov - - PR target/99437 - * config/aarch64/predicates.md (aarch64_simd_shift_imm_vec_qi): Define. - (aarch64_simd_shift_imm_vec_hi): Likewise. - (aarch64_simd_shift_imm_vec_si): Likewise. - (aarch64_simd_shift_imm_vec_di): Likewise. - * config/aarch64/aarch64-simd.md (aarch64_shrn_insn_le): Use - predicate from above. - (aarch64_shrn_insn_be): Likewise. - (aarch64_rshrn_insn_le): Likewise. - (aarch64_rshrn_insn_be): Likewise. - (aarch64_shrn2_insn_le): Likewise. - (aarch64_shrn2_insn_be): Likewise. - (aarch64_rshrn2_insn_le): Likewise. - (aarch64_rshrn2_insn_be): Likewise. - -2021-03-08 Vladimir N. Makarov - - PR target/99422 - * lra-constraints.c (skip_contraint_modifiers): New function. - (process_address_1): Use it before lookup_constraint call. - -2021-03-08 Martin Liska - - PR target/99463 - * config/i386/i386-options.c (ix86_option_override_internal): - Enable UINTR and HRESET for -march that supports it. - -2021-03-08 Ilya Leoshkevich - - * config/s390/s390.c (f_constraint_p): New function. - (s390_md_asm_adjust): Implement TARGET_MD_ASM_ADJUST. - (TARGET_MD_ASM_ADJUST): Likewise. - -2021-03-08 Tobias Burnus - - PR fortran/97927 - * tree-nested.c (convert_local_reference_stmt): Avoid calling - lookup_field_for_decl for Fortran module (= namespace context). - -2021-03-08 Andreas Krebbel - - * config/s390/s390.c (s390_expand_vec_compare): Implement <0 - comparison with arithmetic right shift. - (s390_expand_vcond): No need for a force_reg anymore. - s390_vec_compare will do it. - * config/s390/vector.md ("vec_cmp"): Accept also - immediate operands. - -2021-03-07 Jakub Jelinek - - PR target/99321 - * config/i386/constraints.md (Yw): Use SSE_REGS if TARGET_SSE - but TARGET_AVX512BW or TARGET_AVX512VL is not set. Adjust description - and comment. - * config/i386/sse.md (v_Yw): New define_mode_attr. - (*3, *mul3, *avx2_3, - *sse4_1_3): Use instead of v - in constraints. - * config/i386/mmx.md (mmx_pshufw_1, *vec_dupv4hi): Use Yw instead of - xYw in constraints. - -2021-03-06 Julian Brown - - * tree-pretty-print.c (dump_generic_node): Emit non-generic - address space info for aggregates. - -2021-03-06 Hans-Peter Nilsson - - * config/cris/cris.h (MAX_FIXED_MODE_SIZE): Don't define. - -2021-03-05 Jakub Jelinek - - PR middle-end/99322 - * tree-cfg.c (bb_to_omp_idx): New variable. - (execute_build_cfg): Release the bb_to_omp_idx vector after - cleanup_tree_cfg returns. - (handle_abnormal_edges): Remove bb_to_omp_idx argument, adjust - for bb_to_omp_idx being a vec instead of pointer to array - of ints. - (make_edges): Remove bb_to_omp_idx local variable, don't pass - it to handle_abnormal_edges, adjust for bb_to_omp_idx being a - vec instead of pointer to array of ints and don't free/release - it at the end. - (remove_bb): When removing a bb and placing forced label somewhere - else, ensure it is put into the same OpenMP region during cfg - pass if possible or to entry successor as fallback. Unregister - bb from bb_to_omp_idx. - -2021-03-05 Vladimir N. Makarov - - PR target/99378 - * lra-constraints.c (process_address_1): Skip decomposing address - for asm insn operand with unknown constraint. - -2021-03-05 Martin Jambor - - PR ipa/98078 - * cgraph.c (cgraph_edge::set_call_stmt): Do not update all - corresponding speculative edges if we are about to resolve - sepculation. Make edge direct (and so resolve speculations) before - removing it from call_site_hash. - (cgraph_edge::make_direct): Relax the initial assert to allow calling - the function on speculative direct edges. - -2021-03-05 Eric Botcazou - - PR rtl-optimization/99376 - * rtlanal.c (nonzero_bits1) : If the number - of low-order zero bits is too large, set the result to 0 directly. - -2021-03-04 Jakub Jelinek - - PR middle-end/93235 - * expmed.c (store_bit_field_using_insv): Return false of xop0 is a - SUBREG and a SUBREG to op_mode can't be created. - -2021-03-04 Alex Coplan - - PR target/99381 - * config/aarch64/aarch64-sve-builtins.cc - (function_resolver::require_vector_type): Handle error_mark_node. - -2021-03-04 Ilya Leoshkevich - - * cfgexpand.c (expand_asm_loc): Pass new parameter. - (expand_asm_stmt): Likewise. - * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Add new - parameter. - * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise. - * config/arm/arm.c (thumb1_md_asm_adjust): Likewise. - * config/cris/cris.c (cris_md_asm_adjust): Likewise. - * config/i386/i386.c (ix86_md_asm_adjust): Likewise. - * config/mn10300/mn10300.c (mn10300_md_asm_adjust): Likewise. - * config/nds32/nds32.c (nds32_md_asm_adjust): Likewise. - * config/pdp11/pdp11.c (pdp11_md_asm_adjust): Likewise. - * config/rs6000/rs6000.c (rs6000_md_asm_adjust): Likewise. - * config/vax/vax.c (vax_md_asm_adjust): Likewise. - * config/visium/visium.c (visium_md_asm_adjust): Likewise. - * doc/tm.texi (md_asm_adjust): Likewise. - * target.def (md_asm_adjust): Likewise. - -2021-03-04 Richard Biener - - PR middle-end/97855 - * tree-pretty-print.c: Poison pp_printf. - (dump_decl_name): Avoid use of pp_printf. - (dump_block_node): Likewise. - (dump_generic_node): Likewise. - -2021-03-04 Martin Sebor - - PR middle-end/96963 - PR middle-end/94655 - * builtins.c (handle_array_ref): New helper. - (handle_mem_ref): New helper. - (compute_objsize_r): Factor out ARRAY_REF and MEM_REF handling - into new helper functions. Correct a workaround for vectorized - assignments. - -2021-03-03 Pat Haugen - - * config/rs6000/dfp.md (extendddtd2, trunctddd2, *cmp_internal1, - floatditd2, ftrunc2, fixdi2, dfp_ddedpd_, - dfp_denbcd_, dfp_dxex_, dfp_diex_, - *dfp_sgnfcnc_, dfp_dscli_, dfp_dscri_): Update size - attribute for Power10. - * config/rs6000/mma.md (*movoo): Likewise. - * config/rs6000/rs6000.md (define_attr "size"): Add 256. - (define_mode_attr bits): Add DD/TD modes. - * config/rs6000/sync.md (load_quadpti, store_quadpti, load_lockedpti, - store_conditionalpti): Update size attribute for Power10. - -2021-03-03 Rainer Orth - - PR bootstrap/92002 - * config/sparc/t-sparc (tree-ssanames.o-warn): Don't error for - -Wuninitialized, -Wmaybe-uninitialized. - (wide-int.o-warn): Likewise. - -2021-03-03 Richard Earnshaw - - * common/config/arm/arm-common.c: Include configargs.h. - (arm_config_default): New function. - (arm_target_mode): Renamed from arm_target_thumb_only. Handle - processors that do not support Thumb. Take into account the - --with-mode configuration setting for selecting the default. - * config/arm/arm.h (OPTION_DEFAULT_SPECS): Remove entry for 'mode'. - (TARGET_MODE_SPEC_FUNCTIONS): Update for function name change. - -2021-03-03 Martin Liska - - PR gcov-profile/97461 - * gcov-io.h (GCOV_PREALLOCATED_KVP): Remove. - -2021-03-03 Eric Botcazou - - PR target/99234 - * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target, - point back the hard frame pointer to its default location when the - frame is larger than SEH_MAX_FRAME_SIZE. - -2021-03-03 Jakub Jelinek - - PR target/99321 - * config/i386/predicates.md (logic_operator): New define_predicate. - * config/i386/i386.md (mov + mem using comm arith peephole2): - Punt if operands[1] is EXT_REX_SSE_REGNO_P, AVX512BW is not enabled - and the inner mode is [QH]Imode. - -2021-03-03 Jakub Jelinek - - PR debug/99090 - * dwarf2out.c (dw_loc_list_struct): Add end_entry member. - (new_loc_list): Clear end_entry. - (output_loc_list): Only use DW_LLE_startx_length for -gsplit-dwarf - if HAVE_AS_LEB128, otherwise use DW_LLE_startx_endx. Fix comment - typo. - (index_location_lists): For dwarf_version >= 5 without HAVE_AS_LEB128, - initialize also end_entry. - -2021-03-03 Jakub Jelinek - - PR target/99085 - * cfgrtl.c (fixup_partitions): When changing some bbs from hot to cold - partitions, if in non-layout mode after reorder_blocks also move - affected blocks to ensure a single partition transition. - -2021-03-03 Jason Merrill - - PR c++/96078 - * cgraphunit.c (process_function_and_variable_attributes): Don't - warn about flatten on an alias if the target also has it. - * cgraph.h (symtab_node::get_alias_target_tree): New. - -2021-03-02 David Edelsohn - - * config/rs6000/rs6000.md (tls_get_tpointer_internal): Prepend - period to symbol name. - (tls_get_addr_internal): Same. - -2021-03-02 David Malcolm - - PR c/99323 - * diagnostic-show-locus.c - (selftest::test_one_liner_many_fixits_2): Fix accidental usage of - column 0. - -2021-03-02 Martin Sebor - - PR middle-end/99276 - * builtins.c (warn_for_access): Remove stray warning text. - -2021-03-02 Martin Sebor - - PR middle-end/99295 - * doc/extend.texi (attribute malloc): Reword and clarify nonaliasing - property. - -2021-03-02 Jakub Jelinek - - PR debug/99319 - * dwarf2out.c (output_macinfo_op): Use DW_MACRO_*_str* even with - -gdwarf-5 -gstrict-dwarf. For -gsplit-dwarf -gdwarf-5 use - DW_MACRO_*_strx instead of DW_MACRO_*_strp. Handle - DW_MACRO_define_strx and DW_MACRO_undef_strx. - (save_macinfo_strings): Use DW_MACRO_*_str* even with - -gdwarf-5 -gstrict-dwarf. Handle DW_MACRO_define_strx and - DW_MACRO_undef_strx. - -2021-03-02 Andreas Krebbel - - * config/s390/s390-builtin-types.def (BT_FN_V4SF_V8HI_UINT): New - builtin signature. - (BT_FN_V8HI_V8HI_UINT): Likewise. - (BT_FN_V8HI_V4SF_V4SF_UINT): Likewise. - * config/s390/s390-builtins.def (B_NNPA): New macro definition. - (s390_vclfnhs, s390_vclfnls, s390_vcrnfs, s390_vcfn, s390_vcnf): - New builtin definitions. - * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Bump - vector extension version. - * config/s390/s390.c (s390_expand_builtin): Check if builtins are - available with current -march level. - * config/s390/s390.md (UNSPEC_NNPA_VCLFNHS_V8HI) - (UNSPEC_NNPA_VCLFNLS_V8HI, UNSPEC_NNPA_VCRNFS_V8HI) - (UNSPEC_NNPA_VCFN_V8HI, UNSPEC_NNPA_VCNF_V8HI): New constants. - * config/s390/vecintrin.h (vec_extend_to_fp32_hi): New macro. - (vec_extend_to_fp32_lo): Likewise. - (vec_round_from_fp32): Likewise. - (vec_convert_to_fp16): Likewise. - (vec_convert_from_fp16): Likewise. - * config/s390/vx-builtins.md (vclfnhs_v8hi): New insn pattern. - (vclfnls_v8hi): Likewise. - (vcrnfs_v8hi): Likewise. - (vcfn_v8hi): Likewise. - (vcnf_v8hi): Likewise. - -2021-03-02 Andreas Krebbel - - * common/config/s390/s390-common.c (processor_flags_table): New entry. - * config.gcc: Enable arch14 for --with-arch and --with-tune. - * config/s390/driver-native.c (s390_host_detect_local_cpu): Pick - arch14 for unknown CPU models. - * config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH14. - * config/s390/s390.c (s390_issue_rate): Add case for PROCESSOR_ARCH14. - (s390_get_sched_attrmask): Likewise. - (s390_get_unit_mask): Likewise. - * config/s390/s390.h (enum processor_flags): Add PF_NNPA and PF_ARCH14. - (TARGET_CPU_ARCH14, TARGET_CPU_ARCH14_P, TARGET_CPU_NNPA) - (TARGET_CPU_NNPA_P, TARGET_ARCH14, TARGET_ARCH14_P, TARGET_NNPA) - (TARGET_NNPA_P): New macro definitions. - * config/s390/s390.md ("cpu_facility", "enabled"): Add arch14 and nnpa. - * config/s390/s390.opt: Add PROCESSOR_ARCH14. - -2021-03-02 Jakub Jelinek - - PR middle-end/95757 - * tree-vrp.c (register_edge_assert_for): Remove superfluous ()s around - condition. Call register_edge_assert_for_1 for == 0, != 0, == 1 and - != 1 comparisons if name is lhs of a comparison. - -2021-03-01 Iain Sandoe - - PR target/44107 - PR target/48097 - * config/darwin-protos.h (darwin_should_restore_cfa_state): New. - * config/darwin.c (darwin_should_restore_cfa_state): New. - * config/darwin.h (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New. - * doc/tm.texi: Regenerated. - * doc/tm.texi.in: Document TARGET_ASM_SHOULD_RESTORE_CFA_STATE. - * dwarf2cfi.c (connect_traces): If the target requests, restore - the CFA expression after a DW_CFA_restore. - * target.def (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New hook. - -2021-03-01 Martin Liska - - PR target/99313 - * optc-save-gen.awk: Add 4 more exceptions. - -2021-03-01 Nathan Sidwell - - PR c++/99294 - * tree.h (TYPE_ALIGN_RAW): New accessor. - (TYPE_ALIGN): Use it. - -2021-03-01 Jan Hubicka - - PR ipa/98338 - * ipa-fnsummary.c (compute_fn_summary): Fix sanity check. - -2021-03-01 Eric Botcazou - - PR target/99234 - * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target, - point the hard frame pointer to the SSE register save area instead - of the general register save area. Perform only minimal adjustment - for small frames if it is initially not correctly aligned. - (ix86_expand_prologue): Remove early saves for a SEH target. - * config/i386/winnt.c (struct seh_frame_state): Document constraint. - -2021-02-28 Jakub Jelinek - - PR c/99304 - * ipa.c (symbol_table::remove_unreachable_nodes): Fix a comment - typo - referneced -> referenced. - * tree.c (component_ref_size): Fix comment typo - - refernce -> reference. - * tree-ssa-alias.c (access_path_may_continue_p): Fix comment typo - - traling -> trailing. - (aliasing_component_refs_p): Fix comment typos - - refernce -> reference and refernece -> reference and - traling -> trailing. - (nonoverlapping_refs_since_match_p): Fix comment typo - - referneces -> references. - * doc/invoke.texi (--param modref-max-bases): Fix a typo - - referneces -> references. - -2021-02-27 Iain Sandoe - - * config/host-darwin.c (darwin_gt_pch_use_address): Modify - diagnostic message to avoid use of a contraction and format - warning. - -2021-02-27 Jakub Jelinek - - PR other/99288 - * gcse.c (gcse_or_cprop_is_too_expensive): Use %wu instead of - HOST_WIDE_INT_PRINT_UNSIGNED in warning format string. - * ipa-devirt.c (ipa_odr_read_section): Use %wd instead of - HOST_WIDE_INT_PRINT_DEC in inform format string. Fix comment - typos. - -2021-02-26 Richard Biener - - PR middle-end/99281 - * expr.c (store_field): For calls with return-slot optimization - and addressable return type expand the store directly. - -2021-02-26 Richard Biener - - PR c/99275 - * builtins.c (warn_string_no_nul): Fix diagnostic formatting. - -2021-02-26 Peter Bergner - - PR target/99279 - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Replace assert - with an "if" test. - -2021-02-26 Aaron Sawdey - - * config.gcc: Add rs6000-pcrel-opt.o. - * config/rs6000/rs6000-pcrel-opt.c: New file. - * config/rs6000/pcrel-opt.md: New file. - * config/rs6000/predicates.md: Add d_form_memory predicate. - * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_PCREL_OPT. - * config/rs6000/rs6000-passes.def: Add pass_pcrel_opt. - * config/rs6000/rs6000-protos.h: Add reg_to_non_prefixed(), - pcrel_opt_valid_mem_p(), output_pcrel_opt_reloc(), - and make_pass_pcrel_opt(). - * config/rs6000/rs6000.c (reg_to_non_prefixed): Make global. - (rs6000_option_override_internal): Add pcrel-opt. - (rs6000_delegitimize_address): Support pcrel-opt. - (rs6000_opt_masks): Add pcrel-opt. - (pcrel_opt_valid_mem_p): New function. - (reg_to_non_prefixed): Make global. - (rs6000_asm_output_opcode): Reset prepend_p_to_next_insn. - (output_pcrel_opt_reloc): New function. - * config/rs6000/rs6000.md (loads_extern_addr): New attr. - (pcrel_extern_addr): Set loads_extern_addr. - Add include for pcrel-opt.md. - * config/rs6000/rs6000.opt: Add -mpcrel-opt. - * config/rs6000/t-rs6000: Add rules for pcrel-opt.c and - pcrel-opt.md. - -2021-02-26 YunQiang Su - - PR target/98996 - * config/mips/mips.c (mips_expand_ext_as_unaligned_load): - If TARGET_64BIT and dest is SUBREG, we check the width, if it - equal to SImode, we use SImode operation, just like what we are - doing for REG one. - -2021-02-26 Marek Polacek - - * builtins.c (warn_for_access): Fix typos. - -2021-02-25 Iain Sandoe - - * config/aarch64/aarch64.md (_rol3): Add a '#' - mark in front of the immediate quantity. - (_rolsi3_uxtw): Likewise. - -2021-02-25 Richard Earnshaw - - PR target/99271 - * config/arm/thumb2.md (nonsecure_call_reg_thumb2_fpcxt): New pattern. - (nonsecure_call_value_reg_thumb2_fpcxt): Likewise. - (nonsecure_call_reg_thumb2): Restrict to using r4 for the callee - address and disable when the FPCXT is not available. - (nonsecure_call_value_reg_thumb2): Likewise. - -2021-02-25 Nathan Sidwell - - PR c++/99166 - * doc/invoke.texi (flang-info-module-cmi): Renamed option. - -2021-02-25 Tamar Christina - - * tree-vect-slp.c (optimize_load_redistribution_1): Abort on NULL nodes. - -2021-02-25 Richard Biener - - PR tree-optimization/99253 - * tree-vect-loop.c (check_reduction_path): First compute - code, then verify out-of-loop uses. - -2021-02-25 Jakub Jelinek - - PR target/95798 - * match.pd ((T)(A) + CST -> (T)(A + CST)): Add :s to convert. - -2021-02-25 Jakub Jelinek - - PR tree-optimization/80635 - * tree-vrp.c (vrp_simplify_cond_using_ranges): Also handle - VIEW_CONVERT_EXPR if modes are the same, innerop is integral and - has mode precision. - -2021-02-25 Richard Biener - - * tree-vect-slp.c (optimize_load_redistribution_1): Delay - load_map population. - (vect_match_slp_patterns_2): Revert part of last change. - (vect_analyze_slp): Do not interleave optimize_load_redistribution - with pattern detection but do it afterwards. Dump the - whole SLP graph after pattern recognition and load - redistribution optimization finished. - -2021-02-24 Jakub Jelinek - - PR fortran/99226 - * omp-low.c (struct omp_context): Add teams_nested_p and - nonteams_nested_p members. - (scan_omp_target): Diagnose teams nested inside of target with other - directives strictly nested inside of the same target. - (check_omp_nesting_restrictions): Set ctx->teams_nested_p or - ctx->nonteams_nested_p as needed. - -2021-02-24 Vladimir N. Makarov - - PR inline-asm/99123 - * lra-constraints.c (uses_hard_regs_p): Don't use decompose_mem_address. - -2021-02-24 Hans-Peter Nilsson - - * config/cris/cris.c (cris_expand_prologue): Set - current_function_static_stack_size, if flag_stack_usage_info. - -2021-02-24 Pat Haugen - - * config/rs6000/rs6000.c (next_insn_prefixed_p): Rename. - (rs6000_final_prescan_insn): Adjust. - (rs6000_asm_output_opcode): Likewise. - -2021-02-24 Martin Sebor - - PR middle-end/97172 - * attribs.c (attr_access::free_lang_data): Clear attribute arg spec - from function arguments. - -2021-02-24 Tamar Christina - - PR tree-optimization/99220 - * tree-vect-slp.c (optimize_load_redistribution_1): Remove - node from cache when it's about to be deleted. - -2021-02-24 Jakub Jelinek - - PR tree-optimization/99225 - * fold-const.c (fold_binary_loc) : In (x & (1 << y)) != 0 - to ((x >> y) & 1) != 0 simplifications use build_one_cst instead of - build_int_cst (..., 1). Formatting fixes. - -2021-02-24 Tamar Christina - - PR tree-optimization/99149 - * tree-vect-slp-patterns.c (vect_detect_pair_op): Don't recreate the - buffer. - (vect_slp_reset_pattern): Remove. - (complex_fma_pattern::matches): Remove call to vect_slp_reset_pattern. - (complex_mul_pattern::build, complex_fma_pattern::build, - complex_fms_pattern::build): Fix ref counts. - * tree-vect-slp.c (vect_free_slp_tree): Undo SLP only pattern relevancy - when node is being deleted. - (vect_match_slp_patterns_2): Correct result of cache hit on patterns. - (vect_schedule_slp): Invalidate SLP_TREE_REPRESENTATIVE of removed - stores. - * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize value. - -2021-02-24 Matthias Klose - - Revert: - 2020-12-07 Matthias Klose - - * genextract.c (print_header): Undefine ENABLE_RTL_CHECKING - and ENABLE_RTL_FLAG_CHECKING. - -2021-02-24 Richard Biener - - PR c/99224 - * builtins.c (fold_builtin_next_arg): Avoid NULL arg. - -2021-02-23 Peter Bergner - - * config/rs6000/mma.md (mma_assemble_pair): Rename from this... - (vsx_assemble_pair): ...to this. - (*mma_assemble_pair): Rename from this... - (*vsx_assemble_pair): ...to this. - (mma_disassemble_pair): Rename from this... - (vsx_disassemble_pair): ...to this. - (*mma_disassemble_pair): Rename from this... - (*vsx_disassemble_pair): ...to this. - * config/rs6000/rs6000-builtin.def (BU_MMA_V2, BU_MMA_V3, - BU_COMPAT): New macros. - (mma_assemble_pair): Rename from this... - (vsx_assemble_pair): ...to this. - (mma_disassemble_pair): Rename from this... - (vsx_disassemble_pair): ...to this. - (mma_assemble_pair): New compatibility built-in. - (mma_disassemble_pair): Likewise. - * config/rs6000/rs6000-call.c (struct builtin_compatibility): New. - (RS6000_BUILTIN_COMPAT): Define. - (bdesc_compat): New. - (mma_expand_builtin): Use VSX_BUILTIN_DISASSEMBLE_PAIR_INTERNAL. - (rs6000_gimple_fold_mma_builtin): Use MMA_BUILTIN_DISASSEMBLE_PAIR - and VSX_BUILTIN_ASSEMBLE_PAIR. - (rs6000_init_builtins): Register compatibility built-ins. - (mma_init_builtins): Use VSX_BUILTIN_ASSEMBLE_PAIR, - VSX_BUILTIN_ASSEMBLE_PAIR_INTERNAL, VSX_BUILTIN_DISASSEMBLE_PAIR and - VSX_BUILTIN_DISASSEMBLE_PAIR_INTERNAL. - * doc/extend.texi (__builtin_mma_assemble_pair): Rename from this... - (__builtin_vsx_assemble_pair): ...to this. - (__builtin_mma_disassemble_pair): Rename from this... - (__builtin_vsx_disassemble_pair): ...to this. - -2021-02-23 Martin Liska - - PR sanitizer/99168 - * ipa-icf.c (sem_variable::merge): Do not merge 2 variables - with different alignment. That leads to an invalid red zone - size allocated in runtime. - -2021-02-23 Jakub Jelinek - - PR tree-optimization/99204 - * fold-const.c (fold_read_from_constant_string): Check that - tree_fits_uhwi_p (index) rather than just that index is INTEGER_CST. - -2021-02-23 Segher Boessenkool - Kewen Lin - - * config/rs6000/rs6000.md (*rotl3_insert_3): Renamed to... - (rotl3_insert_3): ...this. - (plus_ior_xor): New code_iterator. - (define_split for GPR rl*imi): New splitter. - * config/rs6000/vsx.md (vsx_init_v4si): Use gen_rotldi3_insert_3 - for integer merging. - -2021-02-22 Kyrylo Tkachov - - * config/aarch64/aarch64-tuning-flags.def (cse_sve_vl_constants): - Define. - * config/aarch64/aarch64.md (add3): Force CONST_POLY_INT immediates - into a register when the above is enabled. - * config/aarch64/aarch64.c (neoversev1_tunings): - AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS. - (aarch64_rtx_costs): Use AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS. - -2021-02-22 Hans-Peter Nilsson - - * config/cris/cris.c (cris_print_operand) <'T'>: Change - valid operand from is now an addi mult-value to shift-value. - * config/cris/cris.md (*addi): Change expression of scaled - operand from mult to ashift. - * config/cris/cris.md (*addi_reload): New insn_and_split. - -2021-02-22 John David Anglin - - PR target/85074 - * config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as - hook_bool_const_tree_hwi_hwi_const_tree_true. - (pa_asm_output_mi_thunk): Add support for nonzero vcall_offset. - -2021-02-22 Andre Vieira - - PR rtl-optimization/98791 - * ira-conflicts.c (process_regs_for_copy): Don't create allocno copies - for unordered modes. - -2021-02-22 Martin Liska - - * tree-inline.c (inline_forbidden_p): Set - inline_forbidden_reason. - -2021-02-22 Richard Biener - - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Dump - costed subgraph. - -2021-02-22 Richard Biener - - PR tree-optimization/99165 - * gimple-ssa-store-merging.c (pass_store_merging::process_store): - Accumulate changed to ret. - -2021-02-21 Uros Bizjak - - Revert: - 2020-12-09 Uroš Bizjak - - * config/i386/i386.h (REG_ALLOC_ORDER): Remove - -2021-02-20 Ilya Leoshkevich - - PR target/99134 - * config/s390/vector.md (trunctf2_vr): New - pattern. - (trunctf2): Likewise. - (trunctdtf2_vr): Likewise. - (trunctdtf2): Likewise. - (extendtf2_vr): Likewise. - (extendtf2): Likewise. - (extendtftd2_vr): Likewise. - (extendtftd2): Likewise. - -2021-02-20 Ilya Leoshkevich - - * config/s390/vector.md (*fprx2_to_tf): Rename to fprx2_to_tf, - add memory alternative. - (tf_to_fprx2): New pattern. - -2021-02-19 Martin Sebor - - PR c/97172 - * attribs.c (init_attr_rdwr_indices): Guard vblist use. - (attr_access::free_lang_data): Remove a spurious test. - -2021-02-19 Nathan Sidwell - - * doc/invoke.texi (flang-info-module-read): Document. - -2021-02-19 Martin Liska - - PR translation/99167 - * params.opt: Fix typo. - -2021-02-19 Richard Biener - - PR middle-end/99122 - * tree-inline.c (inline_forbidden_p): Do not inline functions - with VLA arguments or return value. - -2021-02-19 Jakub Jelinek - - PR target/98998 - * config/arm/arm.md (*stack_protect_combined_set_insn, - *stack_protect_combined_test_insn): If force_const_mem result - is not valid general operand, force its address into the destination - register first. - -2021-02-19 Jakub Jelinek - - PR ipa/99034 - * tree-cfg.c (gimple_merge_blocks): If bb a starts with eh landing - pad or non-local label, put FORCED_LABELs from bb b after that label - rather than before it. - -2021-02-19 Andre Vieira - - PR target/98657 - * config/aarch64/aarch64-sve.md (3): Use - expand_vector_broadcast' to emit the vec_duplicate operand. - -2021-02-18 Vladimir N. Makarov - - PR rtl-optimization/96264 - * lra-remat.c (reg_overlap_for_remat_p): Check also output insn - hard regs. - -2021-02-18 H.J. Lu - - PR target/99113 - * varasm.c (get_section): Replace SUPPORTS_SHF_GNU_RETAIN with - looking up the retain attribute. - (resolve_unique_section): Likewise. - (get_variable_section): Likewise. - (switch_to_section): Likewise. Warn when a symbol without the - retain attribute and a symbol with the retain attribute are - placed in the section with the same name, instead of the used - attribute. - * doc/extend.texi: Document the "retain" attribute. - -2021-02-18 Nathan Sidwell - - PR c++/99023 - * doc/invoke.texi (flang-info-include-translate): Document header - lookup behaviour. - -2021-02-18 Richard Biener - - PR middle-end/99122 - * ipa-fnsummary.c (analyze_function_body): Set - CIF_FUNCTION_NOT_INLINABLE for VLA parameter calls. - * tree-inline.c (insert_init_debug_bind): Pass NULL for - error_mark_node values. - (force_value_to_type): Do not build V_C_Es for WITH_SIZE_EXPR - values. - (setup_one_parameter): Delay force_value_to_type until when - it's needed. - -2021-02-18 Hans-Peter Nilsson - - PR tree-optimization/99142 - * match.pd (clz cmp 0): Gate replacement on single_use of clz result. - -2021-02-18 Jakub Jelinek - - * wide-int-bitmask.h (wide_int_bitmask::wide_int_bitmask (), - wide_int_bitmask::wide_int_bitmask (uint64_t), - wide_int_bitmask::wide_int_bitmask (uint64_t, uint64_t), - wide_int_bitmask::operator ~ () const, - wide_int_bitmask::operator | (wide_int_bitmask) const, - wide_int_bitmask::operator & (wide_int_bitmask) const): Use constexpr - instead of inline. - * config/i386/i386.h (PTA_3DNOW, PTA_3DNOW_A, PTA_64BIT, PTA_ABM, - PTA_AES, PTA_AVX, PTA_BMI, PTA_CX16, PTA_F16C, PTA_FMA, PTA_FMA4, - PTA_FSGSBASE, PTA_LWP, PTA_LZCNT, PTA_MMX, PTA_MOVBE, PTA_NO_SAHF, - PTA_PCLMUL, PTA_POPCNT, PTA_PREFETCH_SSE, PTA_RDRND, PTA_SSE, PTA_SSE2, - PTA_SSE3, PTA_SSE4_1, PTA_SSE4_2, PTA_SSE4A, PTA_SSSE3, PTA_TBM, - PTA_XOP, PTA_AVX2, PTA_BMI2, PTA_RTM, PTA_HLE, PTA_PRFCHW, PTA_RDSEED, - PTA_ADX, PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT, PTA_AVX512F, PTA_AVX512ER, - PTA_AVX512PF, PTA_AVX512CD, PTA_NO_TUNE, PTA_SHA, PTA_PREFETCHWT1, - PTA_CLFLUSHOPT, PTA_XSAVEC, PTA_XSAVES, PTA_AVX512DQ, PTA_AVX512BW, - PTA_AVX512VL, PTA_AVX512IFMA, PTA_AVX512VBMI, PTA_CLWB, PTA_MWAITX, - PTA_CLZERO, PTA_NO_80387, PTA_PKU, PTA_AVX5124VNNIW, PTA_AVX5124FMAPS, - PTA_AVX512VPOPCNTDQ, PTA_SGX, PTA_AVX512VNNI, PTA_GFNI, PTA_VAES, - PTA_AVX512VBMI2, PTA_VPCLMULQDQ, PTA_AVX512BITALG, PTA_RDPID, - PTA_PCONFIG, PTA_WBNOINVD, PTA_AVX512VP2INTERSECT, PTA_PTWRITE, - PTA_AVX512BF16, PTA_WAITPKG, PTA_MOVDIRI, PTA_MOVDIR64B, PTA_ENQCMD, - PTA_CLDEMOTE, PTA_SERIALIZE, PTA_TSXLDTRK, PTA_AMX_TILE, PTA_AMX_INT8, - PTA_AMX_BF16, PTA_UINTR, PTA_HRESET, PTA_KL, PTA_WIDEKL, PTA_AVXVNNI, - PTA_X86_64_BASELINE, PTA_X86_64_V2, PTA_X86_64_V3, PTA_X86_64_V4, - PTA_CORE2, PTA_NEHALEM, PTA_WESTMERE, PTA_SANDYBRIDGE, PTA_IVYBRIDGE, - PTA_HASWELL, PTA_BROADWELL, PTA_SKYLAKE, PTA_SKYLAKE_AVX512, - PTA_CASCADELAKE, PTA_COOPERLAKE, PTA_CANNONLAKE, PTA_ICELAKE_CLIENT, - PTA_ICELAKE_SERVER, PTA_TIGERLAKE, PTA_SAPPHIRERAPIDS, PTA_ALDERLAKE, - PTA_KNL, PTA_BONNELL, PTA_SILVERMONT, PTA_GOLDMONT, PTA_GOLDMONT_PLUS, - PTA_TREMONT, PTA_KNM): Use constexpr instead of const. - -2021-02-18 Jakub Jelinek - - PR middle-end/99109 - * gimple-array-bounds.cc (build_zero_elt_array_type): Rename to ... - (build_printable_array_type): ... this. Add nelts argument. For - overaligned eltype, use TYPE_MAIN_VARIANT (eltype) instead. If - nelts, call build_array_type_nelts. - (array_bounds_checker::check_mem_ref): Use build_printable_array_type - instead of build_zero_elt_array_type and build_array_type_nelts. - -2021-02-18 Jakub Jelinek - - PR target/99104 - * config/i386/i386.c (distance_non_agu_define): Don't call - extract_insn_cached here. - (ix86_lea_outperforms): Save and restore recog_data around call - to distance_non_agu_define and distance_agu_use. - (ix86_ok_to_clobber_flags): Remove. - (ix86_avoid_lea_for_add): Don't call ix86_ok_to_clobber_flags. - (ix86_avoid_lea_for_addr): Likewise. Adjust function comment. - * config/i386/i386.md (*lea): Change from define_insn_and_split - into define_insn. Move the splitting to define_peephole2 and - check there using peep2_regno_dead_p if FLAGS_REG is dead. - -2021-02-17 Julian Brown - - * gimplify.c (gimplify_scan_omp_clauses): Handle ATTACH_DETACH - for non-decls. - -2021-02-17 Xi Ruoyao - - PR target/98491 - * config/mips/mips.c (mips_symbol_insns): Do not use - MSA_SUPPORTED_MODE_P if mode is MAX_MACHINE_MODE. - -2021-02-16 Vladimir N. Makarov - - PR inline-asm/98096 - * stmt.c (resolve_operand_name_1): Take inout operands into account - for access to labels by names. - * doc/extend.texi: Describe counting operands for accessing labels. - -2021-02-16 Richard Biener - - PR tree-optimization/38474 - * tree-ssa-structalias.c (variable_info::address_taken): New. - (new_var_info): Initialize address_taken. - (process_constraint): Set address_taken. - (solve_constraints): Use the new address_taken flag rather - than is_reg_var for sorting variables. - (dump_constraint): Dump the variable number if the name - is just NULL. - -2021-02-16 Jakub Jelinek - - PR target/99100 - * tree-vect-stmts.c (vectorizable_simd_clone_call): For num_calls != 1 - multiply by 4096 and for inbranch by 8192. - * config/i386/i386.c (ix86_simd_clone_usable): For TARGET_AVX512F, - return 3, 2 or 1 for mangle letters 'b', 'c' or 'd'. - -2021-02-15 Maya Rashish - - * config/aarch64/aarch64.c (aarch64_init_builtins): - Call SUBTARGET_INIT_BUILTINS. - -2021-02-15 Peter Bergner - - PR rtl-optimization/98872 - * init-regs.c (initialize_uninitialized_regs): Skip initialization - if CONST0_RTX is NULL. - -2021-02-15 Richard Sandiford - - PR rtl-optimization/98863 - * rtl-ssa/functions.h (function_info::bb_live_out_info): Delete. - (function_info::build_info): Turn into a declaration, moving the - definition to internals.h. - (function_info::bb_walker): Declare. - (function_info::create_reg_use): Likewise. - (function_info::calculate_potential_phi_regs): Take a build_info - parameter. - (function_info::place_phis, function_info::create_ebbs): Declare. - (function_info::calculate_ebb_live_in_for_debug): Likewise. - (function_info::populate_backedge_phis): Delete. - (function_info::start_block, function_info::end_block): Declare. - (function_info::populate_phi_inputs): Delete. - (function_info::m_potential_phi_regs): Move information to build_info. - * rtl-ssa/internals.h: New file. - (function_info::bb_phi_info): New class. - (function_info::build_info): Moved from functions.h. - Add a constructor and destructor. - (function_info::build_info::ebb_use): Delete. - (function_info::build_info::ebb_def): Likewise. - (function_info::build_info::bb_live_out): Likewise. - (function_info::build_info::tmp_ebb_live_in_for_debug): New variable. - (function_info::build_info::potential_phi_regs): Likewise. - (function_info::build_info::potential_phi_regs_for_debug): Likewise. - (function_info::build_info::ebb_def_regs): Likewise. - (function_info::build_info::bb_phis): Likewise. - (function_info::build_info::bb_mem_live_out): Likewise. - (function_info::build_info::bb_to_rpo): Likewise. - (function_info::build_info::def_stack): Likewise. - (function_info::build_info::old_def_stack_limit): Likewise. - * rtl-ssa/internals.inl (function_info::build_info::record_reg_def): - Remove the regno argument. Push the previous definition onto the - definition stack where necessary. - * rtl-ssa/accesses.cc: Include internals.h. - * rtl-ssa/changes.cc: Likewise. - * rtl-ssa/blocks.cc: Likewise. - (function_info::build_info::build_info): Define. - (function_info::build_info::~build_info): Likewise. - (function_info::bb_walker): New class. - (function_info::bb_walker::bb_walker): Define. - (function_info::add_live_out_use): Convert a logarithmic-complexity - test into a linear one. Allow the same definition to be passed - multiple times. - (function_info::calculate_potential_phi_regs): Moved from - functions.cc. Take a build_info parameter and store the - information there instead. - (function_info::place_phis): New function. - (function_info::add_entry_block_defs): Update call to record_reg_def. - (function_info::calculate_ebb_live_in_for_debug): New function. - (function_info::add_phi_nodes): Use bb_phis to decide which - registers need phi nodes and initialize ebb_def_regs accordingly. - Do not add degenerate phis here. - (function_info::add_artificial_accesses): Use create_reg_use. - Assert that all definitions are listed in the DF LR sets. - Update call to record_reg_def. - (function_info::record_block_live_out): Record live-out register - values in the phis of successor blocks. Use the live-out set - when processing the last block in an EBB, instead of always - using the live-in sets of successor blocks. AND the live sets - with the set of registers that have been defined in the EBB, - rather than with all potential phi registers. Cope correctly - with branches back to the start of the current EBB. - (function_info::start_block): New function. - (function_info::end_block): Likewise. - (function_info::populate_phi_inputs): Likewise. - (function_info::create_ebbs): Likewise. - (function_info::process_all_blocks): Rewrite into a multi-phase - process. - * rtl-ssa/functions.cc: Include internals.h. - (function_info::calculate_potential_phi_regs): Move to blocks.cc. - (function_info::init_function_data): Remove caller. - * rtl-ssa/insns.cc: Include internals.h - (function_info::create_reg_use): New function. Lazily any - degenerate phis needed by the linear RPO view. - (function_info::record_use): Use create_reg_use. When processing - debug uses, use potential_phi_regs and test it before checking - whether the register is live on entry to the current EBB. Lazily - calculate ebb_live_in_for_debug. - (function_info::record_call_clobbers): Update call to record_reg_def. - (function_info::record_def): Likewise. - -2021-02-15 Martin Liska - - * toplev.c (init_asm_output): Free output of - gen_command_line_string function. - (process_options): Likewise. - -2021-02-15 Martin Liska - - * params.opt: Add 2 missing Param keywords. - -2021-02-15 Eric Botcazou - - * df-core.c (df_worklist_dataflow_doublequeue): Use proper cast. - -2021-02-15 Jakub Jelinek - - PR tree-optimization/99079 - * match.pd (A % (pow2pcst << N) -> A & ((pow2pcst << N) - 1)): Remove - useless tree_nop_conversion_p (type, TREE_TYPE (@3)) check. Instead - require both type and TREE_TYPE (@1) to be integral types and either - type having smaller or equal precision, or TREE_TYPE (@1) being - unsigned type, or type being signed type. If TREE_TYPE (@1) - doesn't have wrapping overflow, perform the subtraction of one in - unsigned type. - -2021-02-14 Jan Hubicka - Richard Biener - - PR ipa/97346 - * ipa-reference.c (ipa_init): Only conditinally initialize - reference_vars_to_consider. - (propagate): Conditionally deninitialize reference_vars_to_consider. - (ipa_reference_write_optimization_summary): Sanity check that - reference_vars_to_consider is not allocated. - -2021-02-13 Levy Hsu - - PR target/97417 - * config/riscv/riscv-shorten-memrefs.c (pass_shorten_memrefs): Add - extend parameter to get_si_mem_base_reg declaration. - (get_si_mem_base_reg): Add extend parameter. Set it. - (analyze): Pass extend arg to get_si_mem_base_reg. - (transform): Likewise. Use it when rewriting mems. - * config/riscv/riscv.c (riscv_legitimize_move): Check for subword - loads and emit sign/zero extending load followed by subreg move. - -2021-02-13 Jim Wilson - - PR target/97417 - * config/riscv/riscv.c (riscv_compressed_lw_address_p): Drop early - exit when !reload_completed. Only perform check for compressed reg - if reload_completed. - (riscv_rtx_costs): In MEM case, when optimizing for size and - shorten memrefs, if not compressible, then increase cost. - -2021-02-13 Jakub Jelinek - - PR rtl-optimization/98439 - * recog.c (pass_split_before_regstack::gate): Enable even when - pass_split_before_sched2 is enabled if -fselective-scheduling2 is - on. - -2021-02-13 Jakub Jelinek - - PR target/96166 - * config/i386/mmx.md (*mmx_pshufd_1): Add a combine splitter for - swap of V2SImode elements in memory into DImode memory rotate by 32. - -2021-02-12 Martin Sebor - - * tree-pretty-print.c (print_generic_expr_to_str): Update comment. - -2021-02-12 Richard Sandiford - - * rtl-ssa/accesses.cc (function_info::make_use_available): Use - m_temp_obstack rather than m_obstack to allocate the temporary use. - -2021-02-12 Richard Sandiford - - * df-problems.c (df_lr_bb_local_compute): Treat partial definitions - as read-modify operations. - -2021-02-12 Richard Biener - - PR middle-end/38474 - * ipa-fnsummary.c (unmodified_parm_1): Only walk when - fbi->aa_walk_budget is bigger than zero. Update - fbi->aa_walk_budget. - (param_change_prob): Likewise. - * ipa-prop.c (detect_type_change_from_memory_writes): - Properly account walk_aliased_vdefs. - (parm_preserved_before_stmt_p): Canonicalize updates. - (parm_ref_data_preserved_p): Likewise. - (parm_ref_data_pass_through_p): Likewise. - (determine_known_aggregate_parts): Account own alias queries. - -2021-02-12 Martin Liska - - * opts-common.c (decode_cmdline_option): Release werror_arg. - * opts.c (gen_producer_string): Release output of - gen_command_line_string. - -2021-02-12 Richard Biener - - PR tree-optimization/38474 - * params.opt (-param=max-store-chains-to-track=): New param. - (-param=max-stores-to-track=): Likewise. - * doc/invoke.texi (max-store-chains-to-track): Document. - (max-stores-to-track): Likewise. - * gimple-ssa-store-merging.c (pass_store_merging::m_n_chains): - New. - (pass_store_merging::m_n_stores): Likewise. - (pass_store_merging::terminate_and_process_chain): Update - m_n_stores and m_n_chains. - (pass_store_merging::process_store): Likewise. Terminate - oldest chains if the number of stores or chains get too large. - (imm_store_chain_info::terminate_and_process_chain): Dump - chain length. - -2021-02-11 Eric Botcazou - - * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to - the cold section, emit a nop before the directive if the previous - active instruction can throw. - -2021-02-11 Peter Bergner - - PR target/99041 - * config/rs6000/predicates.md (mma_assemble_input_operand): Restrict - memory addresses that are legal for quad word accesses. - -2021-02-11 Andrea Corallo - - PR target/98931 - * config/arm/thumb2.md (*doloop_end_internal): Generate - alternative sequence to handle long range branches. - -2021-02-11 Joel Hutton - - PR tree-optimization/98772 - * optabs-tree.c (supportable_half_widening_operation): New function - to check for supportable V8QI->V8HI widening patterns. - * optabs-tree.h (supportable_half_widening_operation): New function. - * tree-vect-stmts.c (vect_create_half_widening_stmts): New function - to create promotion stmts for V8QI->V8HI widening patterns. - (vectorizable_conversion): Add case for V8QI->V8HI. - -2021-02-11 Richard Biener - - * sparseset.h (SPARSESET_ELT_BITS): Remove. - (SPARSESET_ELT_TYPE): Use unsigned int. - * fwprop.c: Do not include sparseset.h. - -2021-02-10 Jakub Jelinek - - PR c++/99035 - * varasm.c (declare_weak): For -fsyntax-only, allow even - TREE_ASM_WRITTEN function decls. - -2021-02-10 Jakub Jelinek - - PR target/99025 - * config/i386/sse.md (fix_truncv2sfv2di2, - v8qiv8hi2, v8qiv8si2, v4qiv4si2, v4hiv4si2, - v8qiv8di2, v4qiv4di2, v2qiv2di2, v4hiv4di2, - v2hiv2di2, v2siv2di2): Force operands[1] into REG before - calling simplify_gen_subreg on it. - -2021-02-10 Martin Liska - - * config/nvptx/nvptx.c (nvptx_option_override): Use - flag_patchable_function_entry instead of the removed - function_entry_patch_area_size. - -2021-02-10 Martin Liska - - PR tree-optimization/99002 - PR tree-optimization/99026 - * gimple-if-to-switch.cc (if_chain::is_beneficial): Fix memory - leak when adjacent cases are merged. - * tree-switch-conversion.c (switch_decision_tree::analyze_switch_statement): Use - release_clusters. - (make_pass_lower_switch): Remove trailing whitespace. - * tree-switch-conversion.h (release_clusters): New. - -2021-02-10 Richard Biener - - PR rtl-optimization/99054 - * cfgrtl.c (rtl-optimization/99054): Return an auto_vec. - (fixup_partitions): Adjust. - (rtl_verify_edges): Likewise. - -2021-02-10 Jakub Jelinek - - PR middle-end/99007 - * gimplify.c (gimplify_scan_omp_clauses): For MEM_REF on reductions, - temporarily disable gimplify_ctxp->into_ssa around gimplify_expr - calls. - -2021-02-10 Richard Biener - - PR ipa/99029 - * ipa-pure-const.c (propagate_malloc): Use an auto_vec<> - for callees. - -2021-02-10 Richard Biener - - PR tree-optimization/99024 - * tree-vect-loop.c (_loop_vec_info::~_loop_vec_info): Only - clear loop->aux if it is associated with the destroyed loop_vinfo. - -2021-02-10 Martin Liska - - PR tree-optimization/99002 - * gimple-if-to-switch.cc (find_conditions): Fix memory leak - in the function. - -2021-02-10 Martin Liska - - PR ipa/99003 - * ipa-icf.c (sem_item::add_reference): Fix memory leak when - a reference exists. - -2021-02-10 Jakub Jelinek - - PR debug/98755 - * dwarf2out.c (prune_unused_types_walk): Mark DW_TAG_variable DIEs - at class scope for DWARF5+. - -2021-02-09 Eric Botcazou - - PR rtl-optimization/96015 - * reorg.c (skip_consecutive_labels): Minor comment tweaks. - (relax_delay_slots): When deleting a jump to the next active - instruction over a barrier, first delete the barrier if the - jump is the only way to reach the target label. - -2021-02-09 Andre Vieira - - * config/aarch64/aarch64-cost-tables.h: Add entries for vect.mul. - * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Use vect.mul for - vector multiplies and vect.alu for SSRA. - * config/arm/aarch-common-protos.h (struct vector_cost_table): Define - vect.mul cost field. - * config/arm/aarch-cost-tables.h: Add entries for vect.mul. - * config/arm/arm.c: Likewise. - -2021-02-09 Richard Biener - - PR tree-optimization/98863 - * tree-ssa-sccvn.h (vn_avail::next_undo): Add. - * tree-ssa-sccvn.c (last_pushed_avail): New global. - (rpo_elim::eliminate_push_avail): Chain pushed avails. - (unwind_state::avail_top): Add. - (do_unwind): Rewrite unwinding of avail entries. - (do_rpo_vn): Initialize last_pushed_avail and - avail_top of the undo state. - -2021-02-09 Jakub Jelinek - - PR middle-end/99004 - * calls.c (maybe_warn_rdwr_sizes): Change s0 and s1 type from - const char * to char * and free those pointers after use. - -2021-02-09 Richard Biener - - PR tree-optimization/99017 - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Allow - zero vector cost entries. - -2021-02-08 Andre Vieira - - PR middle-end/98974 - * tree-vect-stmts.c (vectorizable_condition): Remove shadow vec_num - parameter in vectorizable_condition. - -2021-02-08 Richard Biener - - PR lto/96591 - * tree.c (walk_tree_1): Walk VECTOR_CST elements. - -2021-02-08 Martin Liska - - PR lto/98971 - * cfgexpand.c (pass_expand::execute): Parse per-function option - flag_patchable_function_entry and use it. - * common.opt: Remove function_entry_patch_area_size and - function_entry_patch_area_start global variables. - * opts.c (parse_and_check_patch_area): New function. - (common_handle_option): Use it. - * opts.h (parse_and_check_patch_area): New function. - * toplev.c (process_options): Parse and use - function_entry_patch_area_size. - -2021-02-08 Martin Sebor - - * doc/extend.texi (attribute malloc): Correct typos. - -2021-02-05 Nathan Sidwell - - PR driver/98943 - * gcc.c (driver::maybe_run_linker): Check for input file - accessibility if not linking. - -2021-02-05 Richard Biener - - PR tree-optimization/98855 - * tree-vectorizer.h (add_stmt_cost): New overload. - * tree-vect-slp.c (li_cost_vec_cmp): New. - (vect_bb_slp_scalar_cost): Cost individual loop regions - separately. Account for the scalar instance root stmt. - -2021-02-05 Tom de Vries - - PR debug/98656 - * tree-switch-conversion.c (jump_table_cluster::emit): Add loc - argument. - (bit_test_cluster::emit): Reuse location_t for newly created - gswitch statement. - (switch_decision_tree::try_switch_expansion): Preserve - location_t. - * tree-switch-conversion.h: Change function signatures. - -2021-02-05 Jakub Jelinek - - PR target/98957 - * config/i386/i386-options.c (m_NONE, m_ALL): Define. - * config/i386/x86-tune.def (X86_TUNE_BRANCH_PREDICTION_HINTS, - X86_TUNE_PROMOTE_QI_REGS): Use m_NONE instead of 0U. - (X86_TUNE_QIMODE_MATH): Use m_ALL instead of ~0U. - -2021-02-05 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (get_high): Define builtin. - * config/aarch64/aarch64-simd.md (aarch64_get_high): Define. - * config/aarch64/arm_neon.h (__GET_HIGH): Delete. - (vget_high_f16): Reimplement using new builtin. - (vget_high_f32): Likewise. - (vget_high_f64): Likewise. - (vget_high_p8): Likewise. - (vget_high_p16): Likewise. - (vget_high_p64): Likewise. - (vget_high_s8): Likewise. - (vget_high_s16): Likewise. - (vget_high_s32): Likewise. - (vget_high_s64): Likewise. - (vget_high_u8): Likewise. - (vget_high_u16): Likewise. - (vget_high_u32): Likewise. - (vget_high_u64): Likewise. - -2021-02-05 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (get_low): Define builtin. - * config/aarch64/aarch64-simd.md (aarch64_get_low): Define. - * config/aarch64/arm_neon.h (__GET_LOW): Delete. - (vget_low_f16): Reimplement using new builtin. - (vget_low_f32): Likewise. - (vget_low_f64): Likewise. - (vget_low_p8): Likewise. - (vget_low_p16): Likewise. - (vget_low_p64): Likewise. - (vget_low_s8): Likewise. - (vget_low_s16): Likewise. - (vget_low_s32): Likewise. - (vget_low_s64): Likewise. - (vget_low_u8): Likewise. - (vget_low_u16): Likewise. - (vget_low_u32): Likewise. - (vget_low_u64): Likewise. - -2021-02-05 Kito Cheng - - * gcc.c (print_multilib_info): Check all required argument is provided - by default arg. - -2021-02-05 liuhongt - - PR target/98537 - * config/i386/i386-expand.c (ix86_expand_sse_cmp): Don't - generate integer mask comparison for 128/256-bits vector when - op_true/op_false is NULL_RTX or CONSTM1_RTX/CONST0_RTX. Also - delete redundant !maskcmp condition. - (ix86_expand_int_vec_cmp): Ditto but no redundant deletion - here. - (ix86_expand_sse_movcc): Delete definition of maskcmp, add the - condition directly to if (maskcmp), add extra check for - cmpmode, it should be MODE_INT. - (ix86_expand_fp_vec_cmp): Pass NULL to ix86_expand_sse_cmp's - parameters op_true/op_false. - (ix86_use_mask_cmp_p): New. - -2021-02-05 liuhongt - - PR target/98172 - * config/i386/x86-tune.def (X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL): - Remove m_GENERIC from ~list. - (X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL): Ditto. - -2021-02-04 David Malcolm - - PR c/97932 - * diagnostic-show-locus.c (compatible_locations_p): Require - locations in the same macro map to be either both from the - macro definition, or both from the macro arguments. - -2021-02-04 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add - [su]mull_hi_lane[q] builtin generator macros. - * config/aarch64/aarch64-simd.md - (aarch64_mull_hi_lane_insn): Define. - (aarch64_mull_hi_lane): Define. - (aarch64_mull_hi_laneq_insn): Define. - (aarch64_mull_hi_laneq): Define. - * config/aarch64/arm_neon.h (vmull_high_lane_s16): Use RTL - builtin instead of inline asm. - (vmull_high_lane_s32): Likewise. - (vmull_high_lane_u16): Likewise. - (vmull_high_lane_u32): Likewise. - (vmull_high_laneq_s16): Likewise. - (vmull_high_laneq_s32): Likewise. - (vmull_high_laneq_u16): Likewise. - (vmull_high_laneq_u32): Liekwise. - -2021-02-04 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mull_hi_n - builtin generator macros. - * config/aarch64/aarch64-simd.md - (aarch64_mull_hi_n_insn): Define. - (aarch64_mull_hi_n): Define. - * config/aarch64/arm_neon.h (vmull_high_n_s16): Use RTL builtin - instead of inline asm. - (vmull_high_n_s32): Likewise. - (vmull_high_n_u16): Likewise. - (vmull_high_n_u32): Likewise. - -2021-02-04 Richard Biener - - PR tree-optimization/98855 - * tree-vect-loop.c (vectorizable_phi): Do not cost - single-argument PHIs. - * tree-vect-slp.c (vect_bb_slp_scalar_cost): Likewise. - * tree-vect-stmts.c (vectorizable_bswap): Also perform - costing for SLP operation. - -2021-02-04 Martin Liska - - * doc/extend.texi: Mention -mprefer-vector-width in target - attributes. - -2021-02-03 Martin Sebor - - PR tree-optimization/98937 - * tree-ssa-strlen.c (strlen_dom_walker::~strlen_dom_walker): Define. - Flush pointer_query cache. - -2021-02-03 Aaron Sawdey - - * config/rs6000/genfusion.pl (gen_2logical): Add missing - fixes based on patch review. - * config/rs6000/fusion.md: Regenerate file. - -2021-02-03 Aaron Sawdey - - * config/rs6000/t-rs6000: Comment out auto generation of - fusion.md for now. - -2021-02-03 Andrew Stubbs - - * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX908. - * config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): Add gfx908. - (output_file_start): Add gfx908. - * config/gcn/gcn.opt (gpu_type): Add gfx908. - * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Add march=gfx908. - (MULTILIB_DIRNAMES): Add gfx908. - * config/gcn/mkoffload.c (EF_AMDGPU_MACH_AMDGCN_GFX908): New define. - (main): Recognize gfx908. - * config/gcn/t-omp-device: Add gfx908. - -2021-02-03 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add - [su]mlsl_hi_lane[q] builtin macro generators. - * config/aarch64/aarch64-simd.md - (aarch64_mlsl_hi_lane_insn): Define. - (aarch64_mlsl_hi_lane): Define. - (aarch64_mlsl_hi_laneq_insn): Define. - (aarch64_mlsl_hi_laneq): Define. - * config/aarch64/arm_neon.h (vmlsl_high_lane_s16): Use RTL - builtin instead of inline asm. - (vmlsl_high_lane_s32): Likewise. - (vmlsl_high_lane_u16): Likewise. - (vmlsl_high_lane_u32): Likewise. - (vmlsl_high_laneq_s16): Likewise. - (vmlsl_high_laneq_s32): Likewise. - (vmlsl_high_laneq_u16): Likewise. - (vmlsl_high_laneq_u32): Likewise. - (vmlal_high_laneq_u32): Likewise. - -2021-02-03 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add - [su]mlal_hi_lane[q] builtin generator macros. - * config/aarch64/aarch64-simd.md - (aarch64_mlal_hi_lane_insn): Define. - (aarch64_mlal_hi_lane): Define. - (aarch64_mlal_hi_laneq_insn): Define. - (aarch64_mlal_hi_laneq): Define. - * config/aarch64/arm_neon.h (vmlal_high_lane_s16): Use RTL - builtin instead of inline asm. - (vmlal_high_lane_s32): Likewise. - (vmlal_high_lane_u16): Likewise. - (vmlal_high_lane_u32): Likewise. - (vmlal_high_laneq_s16): Likewise. - (vmlal_high_laneq_s32): Likewise. - (vmlal_high_laneq_u16): Likewise. - (vmlal_high_laneq_u32): Likewise. - -2021-02-03 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_hi_n - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_mlsl_hi_n_insn): - Define. - (aarch64_mlsl_hi_n): Define. - * config/aarch64/arm_neon.h (vmlsl_high_n_s16): Use RTL builtin - instead of inline asm. - (vmlsl_high_n_s32): Likewise. - (vmlsl_high_n_u16): Likewise. - (vmlsl_high_n_u32): Likewise. - -2021-02-03 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal_hi_n - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_mlal_hi_n_insn): - Define. - (aarch64_mlal_hi_n): Define. - * config/aarch64/arm_neon.h (vmlal_high_n_s16): Use RTL builtin - instead of inline asm. - (vmlal_high_n_s32): Likewise. - (vmlal_high_n_u16): Likewise. - (vmlal_high_n_u32): Likewise. - -2021-02-03 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add RTL builtin - generator macros. - * config/aarch64/aarch64-simd.md (*aarch64_mlal_hi): - Rename to... - (aarch64_mlal_hi_insn): This. - (aarch64_mlal_hi): Define. - * config/aarch64/arm_neon.h (vmlal_high_s8): Use RTL builtin - instead of inline asm. - (vmlal_high_s16): Likewise. - (vmlal_high_s32): Likewise. - (vmlal_high_u8): Likewise. - (vmlal_high_u16): Likewise. - (vmlal_high_u32): Likewise. - -2021-02-03 Ilya Leoshkevich - - * lra-spills.c (remove_pseudos): Call lra_update_insn_recog_data() - after calling alter_subreg() on a (mem). - -2021-02-03 Martin Liska - - PR lto/98912 - * lto-streamer-out.c (produce_lto_section): Fill up missing - padding. - * lto-streamer.h (struct lto_section): Add _padding field. - -2021-02-03 Richard Biener - - * lto-streamer.c (lto_get_section_name): Free temporary - buffer. - * tree-loop-distribution.c - (loop_distribution::merge_dep_scc_partitions): Free edge data. - -2021-02-03 Jakub Jelinek - - PR middle-end/97487 - * ifcvt.c (noce_can_force_operand): New function. - (noce_emit_move_insn): Use it. - (noce_try_sign_mask): Likewise. Formatting fix. - -2021-02-03 Jakub Jelinek - - PR middle-end/97971 - * lra-constraints.c (process_alt_operands): For inline asm, don't call - fatal_insn, but instead return false. - -2021-02-03 Jakub Jelinek - - PR tree-optimization/98287 - * config/i386/mmx.md (3): For shifts don't enable expander - for V1DImode. - -2021-02-03 Tamar Christina - - PR tree-optimization/98928 - * tree-vect-loop.c (vect_analyze_loop_2): Change - STMT_VINFO_SLP_VECT_ONLY to STMT_VINFO_SLP_VECT_ONLY_PATTERN. - * tree-vect-slp-patterns.c (complex_pattern::build): Likewise. - * tree-vectorizer.h (STMT_VINFO_SLP_VECT_ONLY_PATTERN): New. - (class _stmt_vec_info): Add slp_vect_pattern_only_p. - -2021-02-02 Richard Biener - - * gimple-loop-interchange.cc (prepare_data_references): - Release vectors. - * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise. - * tree-ssa-loop-im.c (hoist_memory_references): Likewise. - * tree-vect-stmts.c (vectorizable_condition): Do not - allocate vectors. - (vectorizable_comparison): Likewise. - -2021-02-02 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (ursqrte): Define builtin. - * config/aarch64/aarch64-simd.md (aarch64_ursqrte): New pattern. - * config/aarch64/arm_neon.h (vrsqrte_u32): Reimplement using builtin. - (vrsqrteq_u32): Likewise. - -2021-02-02 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (sqxtun2): Define builtin. - * config/aarch64/aarch64-simd.md (aarch64_sqxtun2_le): Define. - (aarch64_sqxtun2_be): Likewise. - (aarch64_sqxtun2): Likewise. - * config/aarch64/arm_neon.h (vqmovun_high_s16): Reimplement using builtin. - (vqmovun_high_s32): Likewise. - (vqmovun_high_s64): Likewise. - * config/aarch64/iterators.md (UNSPEC_SQXTUN2): Define. - -2021-02-02 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (bfdot_lane, bfdot_laneq): Use - AUTO_FP flags. - (bfmlalb_lane, bfmlalt_lane, bfmlalb_lane_q, bfmlalt_lane_q): Use FP flags. - -2021-02-02 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (fcmla_lane0, fcmla_lane90, - fcmla_lane180, fcmla_lane270, fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180, - fcmlaq_lane270, scvtf, ucvtf, fcvtzs, fcvtzu, scvtfsi, scvtfdi, ucvtfsi, - ucvtfdi, fcvtzshf, fcvtzuhf, fmlal_lane_low, fmlsl_lane_low, - fmlal_laneq_low, fmlsl_laneq_low, fmlalq_lane_low, fmlslq_lane_low, - fmlalq_laneq_low, fmlslq_laneq_low, fmlal_lane_high, fmlsl_lane_high, - fmlal_laneq_high, fmlsl_laneq_high, fmlalq_lane_high, fmlslq_lane_high, - fmlalq_laneq_high, fmlslq_laneq_high): Use FP flags. - -2021-02-02 Kyrylo Tkachov - - * config/aarch64/aarch64-builtins.c (FLAG_LOAD): Define. - * config/aarch64/aarch64-simd-builtins.def (ld1x2, ld2, ld3, ld4, ld2r, - ld3r, ld4r, ld1, ld1x3, ld1x4): Use LOAD flags. - -2021-02-02 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (combine, zip1, zip2, - uzp1, uzp2, trn1, trn2, simd_bsl): Use AUTO_FP flags. - -2021-02-02 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (clrsb, clz, ctz, popcount, - vec_smult_lane_, vec_smlal_lane_, vec_smult_laneq_, vec_smlal_laneq_, - vec_umult_lane_, vec_umlal_lane_, vec_umult_laneq_, vec_umlal_laneq_, - ashl, sshl, ushl, srshl, urshl, sdot_lane, udot_lane, sdot_laneq, - udot_laneq, usdot_lane, usdot_laneq, sudot_lane, sudot_laneq, ashr, - ashr_simd, lshr, lshr_simd, srshr_n, urshr_n, ssra_n, usra_n, srsra_n, - ursra_n, sshll_n, ushll_n, sshll2_n, ushll2_n, ssri_n, usri_n, ssli_n, - ssli_n, usli_n, bswap, rbit, simd_bsl, eor3q, rax1q, xarq, bcaxq): Use - NONE builtin flags. - -2021-02-02 Jakub Jelinek - - PR tree-optimization/98848 - * tree-vect-patterns.c (vect_recog_over_widening_pattern): Punt if - STMT_VINFO_DEF_TYPE (last_stmt_info) is vect_reduction_def. - -2021-02-02 Kito Cheng - - PR target/98743 - * expr.c: Check mode before calling store_expr. - -2021-02-02 Christophe Lyon - - * config/arm/iterators.md (supf): Remove VORNQ_S and VORNQ_U. - (VORNQ): Remove. - * config/arm/mve.md (mve_vornq_s): New entry for vorn - instruction using expression ior. - (mve_vornq_u): New expander. - (mve_vornq_f): Use ior code instead of unspec. - * config/arm/unspecs.md (VORNQ_S, VORNQ_U, VORNQ_F): Remove. - -2021-02-02 Alexandre Oliva - - * tree-nested.c (convert_nonlocal_reference_op): Move - current_function_decl restore after re-gimplification. - (convert_local_reference_op): Likewise. - -2021-02-01 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (rshrn, rshrn2): - Define builtins. - * config/aarch64/aarch64-simd.md (aarch64_rshrn_insn_le): - Define. - (aarch64_rshrn_insn_be): Likewise. - (aarch64_rshrn): Likewise. - (aarch64_rshrn2_insn_le): Likewise. - (aarch64_rshrn2_insn_be): Likewise. - (aarch64_rshrn2): Likewise. - * config/aarch64/aarch64.md (unspec): Add UNSPEC_RSHRN. - * config/aarch64/arm_neon.h (vrshrn_high_n_s16): Reimplement - using builtin. - (vrshrn_high_n_s32): Likewise. - (vrshrn_high_n_s64): Likewise. - (vrshrn_high_n_u16): Likewise. - (vrshrn_high_n_u32): Likewise. - (vrshrn_high_n_u64): Likewise. - (vrshrn_n_s16): Likewise. - (vrshrn_n_s32): Likewise. - (vrshrn_n_s64): Likewise. - (vrshrn_n_u16): Likewise. - (vrshrn_n_u32): Likewise. - (vrshrn_n_u64): Likewise. - -2021-02-01 Sergei Trofimovich - - PR tree-optimization/98499 - * ipa-modref.c (analyze_ssa_name_flags): treat RVO - conservatively and assume all possible side-effects. - -2021-02-01 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi, - vec_unpacku_hi_): Define builtins. - * config/aarch64/arm_neon.h (vmovl_high_s8): Reimplement using - builtin. - (vmovl_high_s16): Likewise. - (vmovl_high_s32): Likewise. - (vmovl_high_u8): Likewise. - (vmovl_high_u16): Likewise. - (vmovl_high_u32): Likewise. - -2021-02-01 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (sabdl, uabdl): - Define builtins. - * config/aarch64/aarch64-simd.md (aarch64_abdl): New - pattern. - * config/aarch64/aarch64.md (unspec): Define UNSPEC_SABDL, - UNSPEC_UABDL. - * config/aarch64/arm_neon.h (vabdl_s8): Reimplemet using - builtin. - (vabdl_s16): Likewise. - (vabdl_s32): Likewise. - (vabdl_u8): Likewise. - (vabdl_u16): Likewise. - (vabdl_u32): Likewise. - * config/aarch64/iterators.md (ABDL): New int iterator. - (sur): Handle UNSPEC_SABDL, UNSPEC_UABDL. - -2021-02-01 Martin Sebor - - * tree.h (BLOCK_VARS): Add comment. - (BLOCK_SUBBLOCKS): Same. - (BLOCK_SUPERCONTEXT): Same. - (BLOCK_ABSTRACT_ORIGIN): Same. - (inlined_function_outer_scope_p): Same. - -2021-02-01 Martin Sebor - - PR middle-end/97172 - * attribs.c (attr_access::free_lang_data): Define new function. - * attribs.h (attr_access::free_lang_data): Declare new function. - -2021-02-01 Richard Biener - - * vec.h (auto_vec::auto_vec): Add memory stat parameters - and pass them on. - * bitmap.h (auto_bitmap::auto_bitmap): Likewise. - -2021-02-01 Tamar Christina - - * config/aarch64/aarch64-simd.md (aarch64_mlal_n, - aarch64_mlsl, aarch64_mlsl_n): Flip mult operands. - -2021-02-01 Richard Biener - - PR rtl-optimization/98863 - * config/i386/i386-features.c (convert_scalars_to_vector): - Set DF_RD_PRUNE_DEAD_DEFS. - -2021-01-31 Eric Botcazou - - * system.h (SIZE_MAX): Define if not already defined. - -2021-01-30 Aaron Sawdey - - * config/rs6000/genfusion.pl (gen_2logical): New function to - generate patterns for logical-logical fusion. - * config/rs6000/fusion.md: Regenerated patterns. - * config/rs6000/rs6000-cpus.def: Add - OPTION_MASK_P10_FUSION_2LOGICAL. - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Enable logical-logical fusion for p10. - * config/rs6000/rs6000.opt: Add -mpower10-fusion-2logical. - -2021-01-30 David Edelsohn - - * config/rs6000/rs6000.opt: Add periods to new AIX options. - -2021-01-30 David Edelsohn - - * config/rs6000/rs6000.opt (mabi=vec-extabi): New. - (mabi=vec-default): New. - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define - __EXTABI__ for AIX Vector extended ABI. - * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print AIX Vector - extabi info. - (conditional_register_usage): If AIX vec_extabi enabled, vs20-vs31 - are non-volatile. - * doc/invoke.texi (PowerPC mabi): Add AIX vec-extabi and vec-default. - -2021-01-30 Jakub Jelinek - - * config/i386/i386-features.c (remove_partial_avx_dependency): Clear - DF_DEFER_INSN_RESCAN after calling df_process_deferred_rescans. - -2021-01-29 Vladimir N. Makarov - - PR target/97701 - * lra-constraints.c (in_class_p): Don't narrow class only for REG - or MEM. - -2021-01-29 Will Schmidt - - * config/rs6000/rs6000-call.c (rs6000_expand_binup_builtin): Add - clauses for CODE_FOR_vsx_xvcvuxddp_scale and - CODE_FOR_vsx_xvcvsxddp_scale to the parameter checking code. - -2021-01-29 Andrew MacLeod - - PR tree-optimization/98866 - * gimple-range-gori.h (gori_compute:set_range_invariant): New. - * gimple-range-gori.cc (gori_map::set_range_invariant): New. - (gori_map::m_maybe_invariant): Rename from all_outgoing. - (gori_map::gori_map): Rename all_outgoing to m_maybe_invariant. - (gori_map::is_export_p): Ditto. - (gori_map::calculate_gori): Ditto. - (gori_compute::set_range_invariant): New. - * gimple-range.cc (gimple_ranger::range_of_stmt): Set range - invariant for pointers evaluating to [1, +INF]. - -2021-01-29 Richard Biener - - PR rtl-optimization/98863 - * config/i386/i386-features.c (remove_partial_avx_dependency): - Do not perform DF analysis. - (pass_data_remove_partial_avx_dependency): Remove - TODO_df_finish. - -2021-01-29 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mull_n - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_mull_n): - Define. - * config/aarch64/arm_neon.h (vmull_n_s16): Use RTL builtin - instead of inline asm. - (vmull_n_s32): Likewise. - (vmull_n_u16): Likewise. - (vmull_n_u32): Likewise. - -2021-01-29 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (sabdl2, uabdl2): - Define builtins. - * config/aarch64/aarch64-simd.md (aarch64_abdl2_3): - Rename to... - (aarch64_abdl2): ... This. - (sadv16qi): Adjust use of above. - * config/aarch64/arm_neon.h (vabdl_high_s8): Reimplement using - builtin. - (vabdl_high_s16): Likewise. - (vabdl_high_s32): Likewise. - (vabdl_high_u8): Likewise. - (vabdl_high_u16): Likewise. - (vabdl_high_u32): Likewise. - -2021-01-29 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (sabal2): Define - builtin. - (uabal2): Likewise. - * config/aarch64/aarch64-simd.md (aarch64_abal2): New - pattern. - * config/aarch64/aarch64.md (unspec): Add UNSPEC_SABAL2 and - UNSPEC_UABAL2. - * config/aarch64/arm_neon.h (vabal_high_s8): Reimplement using - builtin. - (vabal_high_s16): Likewise. - (vabal_high_s32): Likewise. - (vabal_high_u8): Likewise. - (vabal_high_u16): Likewise. - (vabal_high_u32): Likewise. - * config/aarch64/iterators.md (ABAL2): New mode iterator. - (sur): Handle UNSPEC_SABAL2, UNSPEC_UABAL2. - -2021-01-29 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (sabal): Define - builtin. - (uabal): Likewise. - * config/aarch64/aarch64-simd.md (aarch64_abal_4): - Rename to... - (aarch64_abal): ... This - (sadv16qi): Adust use of the above. - * config/aarch64/arm_neon.h (vabal_s8): Reimplement using - builtin. - (vabal_s16): Likewise. - (vabal_s32): Likewise. - (vabal_u8): Likewise. - (vabal_u16): Likewise. - (vabal_u32): Likewise. - -2021-01-29 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (saddlv, uaddlv): - Define builtins. - * config/aarch64/aarch64-simd.md (aarch64_addlv): - Define. - * config/aarch64/arm_neon.h (vaddlv_s8): Reimplement using - builtin. - (vaddlv_s16): Likewise. - (vaddlv_u8): Likewise. - (vaddlv_u16): Likewise. - (vaddlvq_s8): Likewise. - (vaddlvq_s16): Likewise. - (vaddlvq_s32): Likewise. - (vaddlvq_u8): Likewise. - (vaddlvq_u16): Likewise. - (vaddlvq_u32): Likewise. - (vaddlv_s32): Likewise. - (vaddlv_u32): Likewise. - * config/aarch64/iterators.md (VDQV_L): New mode iterator. - (unspec): Add UNSPEC_SADDLV, UNSPEC_UADDLV. - (Vwstype): New mode attribute. - (Vwsuf): Likewise. - (VWIDE_S): Likewise. - (USADDLV): New int iterator. - (su): Handle UNSPEC_SADDLV, UNSPEC_UADDLV. - -2021-01-29 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_lane[q] - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_vec_mlsl_lane): - Define. - * config/aarch64/arm_neon.h (vmlsl_lane_s16): Use RTL builtin - instead of inline asm. - (vmlsl_lane_s32): Likewise. - (vmlsl_lane_u16): Likewise. - (vmlsl_lane_u32): Likewise. - (vmlsl_laneq_s16): Likewise. - (vmlsl_laneq_s32): Likewise. - (vmlsl_laneq_u16): Likewise. - (vmlsl_laneq_u32): Likewise. - -2021-01-29 Richard Biener - - * doc/invoke.texi (--param max-gcse-memory): Document unit - of size. - * gcse.c (gcse_or_cprop_is_too_expensive): Adjust. - * params.opt (--param max-gcse-memory): Adjust default and - document unit of size. - -2021-01-29 Richard Biener - - PR rtl-optimization/98863 - * gcse.c (gcse_or_cprop_is_too_expensive): Use unsigned - HOST_WIDE_INT for the memory estimate. - -2021-01-29 Bin Cheng - Richard Biener - - PR tree-optimization/97627 - * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): - Do not analyze fake edges. - -2021-01-29 Richard Biener - - PR rtl-optimization/98144 - * df.h (df_mir_bb_info): Add con_visited member. - * df-problems.c (df_mir_alloc): Initialize con_visited, - do not fully populate IN and OUT. - (df_mir_reset): Likewise. - (df_mir_confluence_0): Set con_visited. - (df_mir_confluence_n): Properly handle implicitely - fully populated IN and OUT as designated by con_visited - and update con_visited accordingly. - -2021-01-29 Jakub Jelinek - - PR target/98849 - * config/arm/vec-common.md (mve_vshlq_, - vashl3, vashr3, vlshr3): Add - && !TARGET_REALLY_IWMMXT to conditions. - -2021-01-29 Jakub Jelinek - - PR debug/98331 - * cfgbuild.c (find_bb_boundaries): Reset debug_insn when seeing - a BARRIER. - -2021-01-28 Marek Polacek - - PR c++/94775 - * stor-layout.c (finalize_type_size): If we reset TYPE_USER_ALIGN in - the main variant, maybe reset it in its variants too. - * tree.c (check_base_type): Return true only if TYPE_USER_ALIGN match. - (check_aligned_type): Check if TYPE_USER_ALIGN match. - -2021-01-28 Christophe Lyon - - PR target/98730 - * config/arm/arm.c (arm_rtx_costs_internal): Adjust cost of vector - of constant zero for comparisons. - -2021-01-28 Michael Meissner - - * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Add - support for mapping built-in function names for long double - built-in functions if long double is IEEE 128-bit. - -2021-01-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_n - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_mlsl_n): - Define. - * config/aarch64/arm_neon.h (vmlsl_n_s16): Use RTL builtin - instead of inline asm. - (vmlsl_n_s32): Likewise. - (vmlsl_n_u16): Likewise. - (vmlsl_n_u32): Likewise. - -2021-01-28 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal_n - builtin generator macros. - * config/aarch64/aarch64-simd.md (aarch64_mlal_n): - Define. - * config/aarch64/arm_neon.h (vmlal_n_s16): Use RTL builtin - instead of inline asm. - (vmlal_n_s32): Likewise. - (vmlal_n_u16): Likewise. - (vmlal_n_u32): Likewise. - -2021-01-28 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (shrn2): Define - builtin. - * config/aarch64/aarch64-simd.md (aarch64_shrn2_insn_le): - Define. - (aarch64_shrn2_insn_be): Likewise. - (aarch64_shrn2): Likewise. - * config/aarch64/arm_neon.h (vshrn_high_n_s16): Reimlplement - using builtins. - (vshrn_high_n_s32): Likewise. - (vshrn_high_n_s64): Likewise. - (vshrn_high_n_u16): Likewise. - (vshrn_high_n_u32): Likewise. - (vshrn_high_n_u64): Likewise. - -2021-01-28 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (shrn): Define - builtin. - * config/aarch64/aarch64-simd.md (aarch64_shrn_insn_le): - Define. - (aarch64_shrn_insn_be): Likewise. - (aarch64_shrn): Likewise. - * config/aarch64/arm_neon.h (vshrn_n_s16): Reimplement using - builtins. - (vshrn_n_s32): Likewise. - (vshrn_n_s64): Likewise. - (vshrn_n_u16): Likewise. - (vshrn_n_u32): Likewise. - (vshrn_n_u64): Likewise. - * config/aarch64/iterators.md (vn_mode): New mode attribute. - -2021-01-28 Richard Biener - - PR rtl-optimization/80960 - * dse.c (check_mem_read_rtx): Call get_addr on the - offsetted address. - -2021-01-28 Xionghu Luo - David Edelsohn - - PR target/98799 - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - Don't generate VIEW_CONVERT_EXPR for fcode ALTIVEC_BUILTIN_VEC_INSERT - when -m32. - * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set_var): - Delete. - * config/rs6000/rs6000.c (rs6000_expand_vector_set): Remove the - wrapper call rs6000_expand_vector_set_var for cleanup. Call - rs6000_expand_vector_set_var_p9 and rs6000_expand_vector_set_var_p8 - directly. - (rs6000_expand_vector_set_var): Delete. - (rs6000_expand_vector_set_var_p9): Make static. - (rs6000_expand_vector_set_var_p8): Make static. - -2021-01-28 Xing GUO - - * common/config/riscv/riscv-common.c - (riscv_subset_list::parsing_subset_version): Fix -march option parsing - when `p` extension exists. - -2021-01-27 Vladimir N. Makarov - - PR rtl-optimization/97684 - * ira.c (ira): Call ira_set_pseudo_classes before - update_equiv_regs when it is necessary. - -2021-01-27 Jakub Jelinek - - PR target/98853 - * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use - %w0, %w1 and %2 instead of %0, %1 and %2. - -2021-01-27 Aaron Sawdey - - * config/rs6000/genfusion.pl: New script to generate - define_insn_and_split patterns so combine can arrange fused - instructions next to each other. - * config/rs6000/fusion.md: New file, generated fused instruction - patterns for combine. - * config/rs6000/predicates.md (const_m1_to_1_operand): New predicate. - (non_update_memory_operand): New predicate. - * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_P10_FUSION and - OPTION_MASK_P10_FUSION_LD_CMPI to ISA_3_1_MASKS_SERVER and - POWERPC_MASKS. - * config/rs6000/rs6000-protos.h (address_is_non_pfx_d_or_x): Add - prototype. - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Automatically set OPTION_MASK_P10_FUSION and - OPTION_MASK_P10_FUSION_LD_CMPI if target is power10. - (rs600_opt_masks): Allow -mpower10-fusion - in function attributes. - (address_is_non_pfx_d_or_x): New function. - * config/rs6000/rs6000.h: Add MASK_P10_FUSION. - * config/rs6000/rs6000.md: Include fusion.md. - * config/rs6000/rs6000.opt: Add -mpower10-fusion - and -mpower10-fusion-ld-cmpi. - * config/rs6000/t-rs6000: Add dependencies involving fusion.md. - -2021-01-27 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal - builtin generator macros. - * config/aarch64/aarch64-simd.md (*aarch64_mlal): - Rename to... - (aarch64_mlal): This. - * config/aarch64/arm_neon.h (vmlal_s8): Use RTL builtin - instead of inline asm. - (vmlal_s16): Likewise. - (vmlal_s32): Likewise. - (vmlal_u8): Likewise. - (vmlal_u16): Likewise. - (vmlal_u32): Likewise. - -2021-01-27 Richard Biener - - PR tree-optimization/98854 - * tree-vect-slp.c (vect_build_slp_tree_2): Also build - PHIs from scalars when the number of CTORs matches the - number of children. - -2021-01-27 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add mls_n builtin - generator macro. - * config/aarch64/aarch64-simd.md (*aarch64_mls_elt_merge): - Rename to... - (aarch64_mls_n): This. - * config/aarch64/arm_neon.h (vmls_n_s16): Use RTL builtin - instead of asm. - (vmls_n_s32): Likewise. - (vmls_n_u16): Likewise. - (vmls_n_u32): Likewise. - (vmlsq_n_s16): Likewise. - (vmlsq_n_s32): Likewise. - (vmlsq_n_u16): Likewise. - (vmlsq_n_u32): Likewise. - -2021-01-27 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add mls builtin - generator macro. - * config/aarch64/arm_neon.h (vmls_s8): Use RTL builtin rather - than asm. - (vmls_s16): Likewise. - (vmls_s32): Likewise. - (vmls_u8): Likewise. - (vmls_u16): Likewise. - (vmls_u32): Likewise. - (vmlsq_s8): Likewise. - (vmlsq_s16): Likewise. - (vmlsq_s32): Likewise. - (vmlsq_u8): Likewise. - (vmlsq_u16): Likewise. - (vmlsq_u32): Likewise. - -2021-01-27 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add mla_n builtin - generator macro. - * config/aarch64/aarch64-simd.md (*aarch64_mla_elt_merge): - Rename to... - (aarch64_mla_n): This. - * config/aarch64/arm_neon.h (vmla_n_s16): Use RTL builtin - instead of asm. - (vmla_n_s32): Likewise. - (vmla_n_u16): Likewise. - (vmla_n_u32): Likewise. - (vmlaq_n_s16): Likewise. - (vmlaq_n_s32): Likewise. - (vmlaq_n_u16): Likewise. - (vmlaq_n_u32): Likewise. - -2021-01-27 liuhongt - - PR target/98833 - * config/i386/sse.md (sse2_gt3): Drop !TARGET_XOP in condition. - (*sse2_eq3): Ditto. - -2021-01-27 Jakub Jelinek - - * tree-pass.h (PROP_trees): Rename to ... - (PROP_gimple): ... this. - * cfgexpand.c (pass_data_expand): Replace PROP_trees with PROP_gimple. - * passes.c (execute_function_dump, execute_function_todo, - execute_one_ipa_transform_pass, execute_one_pass): Likewise. - * varpool.c (ctor_for_folding): Likewise. - -2021-01-27 Jakub Jelinek - - PR tree-optimization/97260 - * varpool.c: Include tree-pass.h. - (ctor_for_folding): In GENERIC return DECL_INITIAL for TREE_READONLY - non-TREE_SIDE_EFFECTS automatic variables. - -2021-01-26 Paul Fee - - * doc/cpp.texi (__cplusplus): Document value for -std=c++23 - or -std=gnu++23. - * doc/invoke.texi: Document -std=c++23 and -std=gnu++23. - * dwarf2out.c (highest_c_language): Recognise C++20 and C++23. - (gen_compile_unit_die): Recognise C++23. - -2021-01-26 Jakub Jelinek - - PR bootstrap/98839 - * dwarf2asm.c (dw2_assemble_integer): Cast DWARF2_ADDR_SIZE to int - in comparison. - -2021-01-26 Jakub Jelinek - - PR target/98681 - * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p): - Use UINTVAL (shft_amnt) and UINTVAL (mask) instead of INTVAL (shft_amnt) - and INTVAL (mask). Add && INTVAL (mask) > 0 condition. - -2021-01-26 Richard Biener - - * gimple-pretty-print.c (dump_binary_rhs): Handle - VEC_WIDEN_{PLUS,MINUS}_{LO,HI}_EXPR. - -2021-01-26 Richard Biener - - PR middle-end/98726 - * tree.h (vector_cst_int_elt): Remove. - * tree.c (vector_cst_int_elt): Use poly_wide_int for computations, - make static. - -2021-01-26 Andrew Stubbs - - * config/gcn/gcn.c (gcn_expand_reduc_scalar): Use move instructions - for V64DFmode min/max reductions. - -2021-01-26 Jakub Jelinek - - * dwarf2asm.c (dw2_assemble_integer): Handle size twice as large - as DWARF2_ADDR_SIZE if x is not a scalar int by emitting it as - two halves, one with x and the other with const0_rtx, ordered - depending on endianity. - -2021-01-26 Alexandre Oliva - - * gimplify.c (gimplify_decl_expr): Skip asan marking calls for - temporaries not seen in binding block, and not about to be - added as gimple variables. - -2021-01-25 Martin Sebor - - PR c++/98646 - * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Adjust warning text. - -2021-01-25 Martin Liska - - * value-prof.c (get_nth_most_common_value): Use %s instead - of %qs string. - -2021-01-25 Jakub Jelinek - - PR debug/98811 - * configure.ac (HAVE_AS_GDWARF_5_DEBUG_FLAG): Only define if - readelf -wi is able to read the emitted .debug_info back. - * configure: Regenerated. - -2021-01-25 Martin Liska - - PR gcov-profile/98739 - * common.opt: Add missing sign symbol. - * value-prof.c (get_nth_most_common_value): Restore handling - of PROFILE_REPRODUCIBILITY_PARALLEL_RUNS and - PROFILE_REPRODUCIBILITY_MULTITHREADED. - -2021-01-25 Richard Biener - - PR middle-end/98807 - * tree.c (vector_element_bits): Always use precision of - the element type for boolean vectors. - -2021-01-25 Sebastian Huber - - * config/rtems.h (STARTFILE_SPEC): Remove qnolinkcmds. - (ENDFILE_SPEC): Evaluate qnolinkcmds. - -2021-01-25 Sebastian Huber - - * config/rtems.h (STARTFILE_SPEC): Remove nostdlib and - nostartfiles handling since this is already done by - LINK_COMMAND_SPEC. Evaluate qnolinkcmds. - (ENDFILE_SPEC): Remove nostdlib and nostartfiles handling since this - is already done by LINK_COMMAND_SPEC. - (LIB_SPECS): Remove nostdlib and nodefaultlibs handling since - this is already done by LINK_COMMAND_SPEC. Remove qnolinkcmds - evaluation. - -2021-01-25 Jakub Jelinek - - PR testsuite/98771 - * fold-const-call.c (host_size_t_cst_p): Renamed to ... - (size_t_cst_p): ... this. Check and store unsigned HOST_WIDE_INT - value rather than host size_t. - (fold_const_call): Change type of s2 from size_t to - unsigned HOST_WIDE_INT. Use size_t_cst_p instead of - host_size_t_cst_p. For strncmp calls, pass MIN (s2, SIZE_MAX) - instead of s2 as last argument. - -2021-01-25 Tamar Christina - - * config/arm/iterators.md (rotsplit1, rotsplit2, conj_op, fcmac1, - VCMLA_OP, VCMUL_OP): New. - * config/arm/mve.md (mve_vcmlaq): Support vec_dup 0. - * config/arm/neon.md (cmul3): New. - * config/arm/unspecs.md (UNSPEC_VCMLA_CONJ, UNSPEC_VCMLA180_CONJ, - UNSPEC_VCMUL_CONJ): New. - * config/arm/vec-common.md (cmul3, arm_vcmla, - cml4): New. - -2021-01-23 Jakub Jelinek - - PR testsuite/97301 - * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute. - -2021-01-22 Jonathan Wright - - * config/aarch64/aarch64-simd-builtins.def: Add mla builtin - generator macro. - * config/aarch64/arm_neon.h (vmla_s8): Use RTL builtin rather - than asm. - (vmla_s16): Likewise. - (vmla_s32): Likewise. - (vmla_u8): Likewise. - (vmla_u16): Likewise. - (vmla_u32): Likewise. - (vmlaq_s8): Likewise. - (vmlaq_s16): Likewise. - (vmlaq_s32): Likewise. - (vmlaq_u8): Likewise. - (vmlaq_u16): Likewise. - (vmlaq_u32): Likewise. - -2021-01-22 David Malcolm - - * doc/invoke.texi (GCC_EXTRA_DIAGNOSTIC_OUTPUT): Add @findex - directive. - -2021-01-22 Jakub Jelinek - - PR debug/98796 - * dwarf2out.c (output_file_names): For -gdwarf-5, if there are no - filenames to emit, still emit the required 0 index directory and - filename entries that match DW_AT_comp_dir and DW_AT_name of the - compilation unit. - -2021-01-22 Marek Polacek - - PR c++/98545 - * doc/invoke.texi: Update C++ ABI Version 15 description. - -2021-01-22 Kyrylo Tkachov - - PR tree-optimization/98766 - * tree-ssa-math-opts.c (convert_mult_to_fma): Use maybe_le when - comparing against type size with param_avoid_fma_max_bits. - -2021-01-22 Richard Biener - - PR middle-end/98793 - * tree.c (vector_element_bits): Key single-bit bool vector on - integer mode rather than not vector mode. - -2021-01-22 Xionghu Luo - - PR target/98093 - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - Generate ARRAY_REF(VIEW_CONVERT_EXPR) for P8 and later - platforms. - * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): Update - to call different path for P8 and P9. - (rs6000_expand_vector_set_var_p9): New function. - (rs6000_expand_vector_set_var_p8): New function. - -2021-01-22 Xionghu Luo - - PR target/79251 - PR target/98065 - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - Ajdust variable index vec_insert from address dereference to - ARRAY_REF(VIEW_CONVERT_EXPR) tree expression. - * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set_var): - New declaration. - * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): New function. - -2021-01-22 Martin Liska - - PR gcov-profile/98739 - * profile.c (compute_value_histograms): Drop time profile for - -fprofile-reproducible=multithreaded. - -2021-01-22 Nathan Sidwell - - * gcc.c (process_command): Don't check OPT_SPECIAL_input_file - existence here. - -2021-01-22 Richard Biener - - PR middle-end/98773 - * tree-data-ref.c (initalize_matrix_A): Revert previous - change, retaining failing on HOST_WIDE_INT_MIN CHREC_RIGHT. - -2021-01-22 Jakub Jelinek - - PR tree-optimization/90248 - * match.pd (X cmp 0.0 ? 1.0 : -1.0 -> copysign(1, +-X), - X cmp 0.0 ? -1.0 : +1.0 -> copysign(1, -+X)): Remove - simplifications. - (X * (X cmp 0.0 ? 1.0 : -1.0) -> +-abs(X), - X * (X cmp 0.0 ? -1.0 : 1.0) -> +-abs(X)): New simplifications. - -2021-01-22 Jakub Jelinek - - PR tree-optimization/98255 - * tree-dfa.c (get_ref_base_and_extent): For ARRAY_REFs, sign - extend index - low_bound from sizetype's precision rather than index - precision. - (get_addr_base_and_unit_offset_1): Likewise. - * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Likewise. - * gimple-fold.c (fold_const_aggregate_ref_1): Likewise. - -2021-01-22 Richard Biener - - PR tree-optimization/98786 - * tree-ssa-phiopt.c (factor_out_conditional_conversion): Avoid - adding new uses of abnormals. Verify we deal with a conditional - conversion. - -2021-01-22 Prathamesh Kulkarni - - PR target/98636 - * optc-save-gen.awk: Add arm_fp16_format to checked_options. - -2021-01-22 liuhongt - - PR target/96891 - PR target/98348 - * config/i386/sse.md (VI_128_256): New mode iterator. - (*avx_cmp3_1, *avx_cmp3_2, *avx_cmp3_3, - *avx_cmp3_4, *avx2_eq3, *avx2_pcmp3_1, - *avx2_pcmp3_2, *avx2_gt3): New - define_insn_and_split to lower avx512 vector comparison to avx - version when dest is vector. - (*_cmp3,*_cmp3,*_ucmp3): - define_insn_and_split for negating the comparison result. - * config/i386/predicates.md (float_vector_all_ones_operand): - New predicate. - * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use - general NOT operator without UNSPEC_MASKOP. - -2021-01-21 Vladimir N. Makarov - - PR rtl-optimization/98777 - * lra-int.h (lra_pmode_pseudo): New extern. - * lra.c (lra_pmode_pseudo): New global. - (lra): Set it up. - * lra-eliminations.c (eliminate_regs_in_insn): Use it. - -2021-01-21 Ilya Leoshkevich - - * fwprop.c (fwprop_propagation::classify_result): Allow - (subreg (mem)) simplifications. - -2021-01-21 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_sqdmll): - Split into... - (aarch64_sqdmlal): ... This... - (aarch64_sqdmlsl): ... And this. - (aarch64_sqdmll_lane): Split into... - (aarch64_sqdmlal_lane): ... This... - (aarch64_sqdmlsl_lane): ... And this. - (aarch64_sqdmll_laneq): Split into... - (aarch64_sqdmlsl_laneq): ... This... - (aarch64_sqdmlal_laneq): ... And this. - (aarch64_sqdmll_n): Split into... - (aarch64_sqdmlsl_n): ... This... - (aarch64_sqdmlal_n): ... And this. - (aarch64_sqdmll2_internal): Split into... - (aarch64_sqdmlal2_internal): ... This... - (aarch64_sqdmlsl2_internal): ... And this. - -2021-01-21 Christophe Lyon - - * config/arm/arm_mve.h (__arm_vcmpneq_s8): Fix return type. - -2021-01-21 Andrea Corallo - - PR target/96372 - * doc/sourcebuild.texi (arm_thumb2_no_arm_v8_1_lob): Document. - -2021-01-21 liuhongt - - PR rtl-optimization/98694 - * regcprop.c (copy_value): If SRC had been assigned a mode - narrower than the copy, we can't link DEST into the chain even - they have same hard_regno_nregs(i.e. HImode/SImode in i386 - backend). - -2021-01-20 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_get_lane): - Convert to define_insn_and_split. Split into simple move when moving - bottom element. - -2021-01-20 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Change assert. - Adjust comment. Simplify code. - -2021-01-20 Jakub Jelinek - - PR debug/98765 - * dwarf2out.c (reset_indirect_string): Also reset indirect strings - with DW_FORM_line_strp form. - (prune_unused_types_update_strings): Don't add into debug_str_hash - indirect strings with DW_FORM_line_strp form. - (adjust_name_comp_dir): New function. - (dwarf2out_finish): Call it on CU DIEs after resetting - debug_line_str_hash. - -2021-01-20 Vladimir N. Makarov - - PR rtl-optimization/98722 - * lra-eliminations.c (eliminate_regs_in_insn): Check that target - has no 3-op add insn to transform insns containing two pluses. - -2021-01-20 Richard Biener - - * hwint.h (add_hwi): New function. - (mul_hwi): Likewise. - * tree-data-ref.c (initialize_matrix_A): Properly translate - tree constants and avoid HOST_WIDE_INT_MIN. - (lambda_matrix_row_add): Avoid undefined integer overflow - and return true on such overflow. - (lambda_matrix_right_hermite): Handle overflow from - lambda_matrix_row_add gracefully. Simplify previous fix. - (analyze_subscript_affine_affine): Likewise. - -2021-01-20 Eugene Rozenfeld - - PR tree-optimization/96674 - * match.pd: New patterns: x < y || y == XXX_MIN --> x <= y - 1 - x >= y && y != XXX_MIN --> x > y - 1 - -2021-01-20 Richard Sandiford - - PR tree-optimization/98535 - * tree-vect-slp.c (duplicate_and_interleave): Use quick_grow_cleared. - If the high and low permutes are the same, remove the high permutes - from the working set and only continue with the low ones. - -2021-01-20 Jakub Jelinek - - PR tree-optimization/98721 - * builtins.c (access_ref::inform_access): Don't assume - SSA_NAME_IDENTIFIER must be non-NULL. Print messages about - object whenever allocfn is NULL, rather than only when DECL_P - is true. Use %qE instead of %qD for that. Formatting fixes. - -2021-01-20 Richard Biener - - PR tree-optimization/98758 - * tree-data-ref.c (int_divides_p): Use lambda_int arguments. - (lambda_matrix_right_hermite): Avoid undefinedness with - signed integer abs and multiplication. - (analyze_subscript_affine_affine): Use lambda_int. - -2021-01-20 David Malcolm - - PR debug/98751 - * dwarf2out.c (output_line_info): Rename static variable - "generation", moving it out of the function to... - (output_line_info_generation): New. - (init_sections_and_labels): Likewise, renaming the variable to... - (init_sections_and_labels_generation): New. - (dwarf2out_c_finalize): Reset the new variables. - -2021-01-19 Martin Sebor - - PR middle-end/98664 - * tree-ssa-live.c (remove_unused_scope_block_p): Keep scopes for - all functions, even if they're not declared artificial or inline. - * tree.c (tree_inlined_location): Use macro expansion location - only if scope traversal fails to expose one. - -2021-01-19 Richard Sandiford - - PR rtl-optimization/92294 - * alias.c (compare_base_symbol_refs): Take an extra parameter - and add the distance between two symbols to it. Enshrine in - comments that -1 means "either 0 or 1, but we can't tell - which at compile time". - (memrefs_conflict_p): Update call accordingly. - (rtx_equal_for_memref_p): Likewise. Take the distance between symbols - into account. - -2021-01-19 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (sqshl, uqshl, - sqrshl, uqrshl, sqadd, uqadd, sqsub, uqsub, suqadd, usqadd, sqmovn, - uqmovn, sqxtn2, uqxtn2, sqabs, sqneg, sqdmlal, sqdmlsl, sqdmlal_lane, - sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq, sqdmlal_n, sqdmlsl_n, - sqdmlal2, sqdmlsl2, sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq, - sqdmlsl2_laneq, sqdmlal2_n, sqdmlsl2_n, sqdmull, sqdmull_lane, - sqdmull_laneq, sqdmull_n, sqdmull2, sqdmull2_lane, sqdmull2_laneq, - sqdmull2_n, sqdmulh, sqrdmulh, sqdmulh_lane, sqdmulh_laneq, - sqrdmulh_lane, sqrdmulh_laneq, sqshrun_n, sqrshrun_n, sqshrn_n, - uqshrn_n, sqrshrn_n, uqrshrn_n, sqshlu_n, sqshl_n, uqshl_n, sqrdmlah, - sqrdmlsh, sqrdmlah_lane, sqrdmlsh_lane, sqrdmlah_laneq, sqrdmlsh_laneq, - sqmovun): Use NONE flags. - -2021-01-19 Richard Biener - - PR ipa/98330 - * ipa-modref.c (analyze_stmt): Only record a summary for a - direct call. - -2021-01-19 Richard Biener - - PR middle-end/98638 - * tree-ssanames.c (fini_ssanames): Zero SSA_NAME_DEF_STMT. - -2021-01-19 Daniel Hellstrom - - * config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add - built-in define __FIX_LEON3FT_TN0018. - -2021-01-19 Richard Biener - - PR ipa/97673 - * tree-inline.c (tree_function_versioning): Set input_location - to UNKNOWN_LOCATION throughout the function. - -2021-01-19 Tobias Burnus - - PR fortran/98476 - * omp-low.c (lower_omp_target): Handle nonpointer is_device_ptr. - -2021-01-19 Martin Jambor - - PR ipa/98690 - * ipa-sra.c (ssa_name_only_returned_p): New parameter fun. Check - whether non-call exceptions allow removal of a statement. - (isra_analyze_call): Pass the appropriate function to - ssa_name_only_returned_p. - -2021-01-19 Geng Qi - - * config/riscv/arch-canonicalize (longext_sort): New function for - sorting 'multi-letter'. - * config/riscv/multilib-generator: Adjusting the loop of 'alt' in - 'alts'. The 'arch' may not be the first of 'alts'. - (_expand_combination): Add underline for the 'ext' without '*'. - This is because, a single-letter extension can always be treated well - with a '_' prefix, but it cannot be separated out if it is appended - to a multi-letter. - -2021-01-18 Vladimir N. Makarov - - PR target/97847 - * ira.c (ira): Skip abnormal critical edge splitting. - -2021-01-18 Jakub Jelinek - - PR tree-optimization/98727 - * tree-ssa-math-opts.c (match_arith_overflow): Fix up computation of - second .MUL_OVERFLOW operand for signed multiplication with overflow - checking if the second operand of multiplication is not constant. - -2021-01-18 David Edelsohn - - * doc/invoke.texi (-gdwarf): TPF defaults to version 2 and AIX - defaults to version 4. - -2021-01-18 David Malcolm - - * attribs.h (fndecl_dealloc_argno): New decl. - * builtins.c (call_dealloc_argno): Split out second half of - function into... - (fndecl_dealloc_argno): New. - * doc/extend.texi (Common Function Attributes): Document the - interaction between the analyzer and the malloc attribute. - * doc/invoke.texi (Static Analyzer Options): Likewise. - -2021-01-17 David Edelsohn - - * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override - dwarf_version to 4. - * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same. - -2021-01-17 Martin Jambor - - PR ipa/98222 - * cgraph.c (clone_of_p): Check also former_clone_of as we climb - the clone tree. - -2021-01-17 Mark Wielaard - - * common.opt (gdwarf-): Init(5). - * doc/invoke.texi (-gdwarf): Document default to 5. - -2021-01-16 Kwok Cheung Yeung - - * builtin-types.def - (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename - to... - (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR): - ...this. Add extra argument. - * gimplify.c (omp_default_clause): Ensure that event handle is - firstprivate in a task region. - (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DETACH. - (gimplify_adjust_omp_clauses): Likewise. - * omp-builtins.def (BUILT_IN_GOMP_TASK): Change function type to - BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR. - * omp-expand.c (expand_task_call): Add GOMP_TASK_FLAG_DETACH to flags - if detach clause specified. Add detach argument when generating - call to GOMP_task. - * omp-low.c (scan_sharing_clauses): Setup data environment for detach - clause. - (finish_taskreg_scan): Move field for variable containing the event - handle to the front of the struct. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DETACH. Fix - ordering. - * tree-nested.c (convert_nonlocal_omp_clauses): Handle - OMP_CLAUSE_DETACH clause. - (convert_local_omp_clauses): Handle OMP_CLAUSE_DETACH clause. - * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_DETACH. - * tree.c (omp_clause_num_ops): Add entry for OMP_CLAUSE_DETACH. - Fix ordering. - (omp_clause_code_name): Add entry for OMP_CLAUSE_DETACH. Fix - ordering. - (walk_tree_1): Handle OMP_CLAUSE_DETACH. - -2021-01-16 Sebastian Huber - - * config/nios2/t-rtems: Reset all MULTILIB_* variables. Shorten - multilib directory names. Use MULTILIB_REQUIRED instead of - MULTILIB_EXCEPTIONS. Add -mhw-mul -mhw-mulx -mhw-div - -mcustom-fpu-cfg=fph2 multilib. - -2021-01-16 Sebastian Huber - - * config/nios2/nios2.c (NIOS2_FPU_CONFIG_NUM): Adjust value. - (nios2_init_fpu_configs): Provide register values for new - -mcustom-fpu-cfg=fph2 option variant. - * doc/invoke.texi (-mcustom-fpu-cfg=fph2): Document new option - variant. - -2021-01-16 Sebastian Huber - - * config/nios2/nios2.c (nios2_custom_check_insns): Remove - custom instruction warnings. - -2021-01-16 Jakub Jelinek - - PR tree-optimization/96669 - * match.pd ((CST << x) & 1 -> x == 0): New simplification. - -2021-01-16 Jakub Jelinek - - PR tree-optimization/96271 - * passes.def: Pass false argument to first two pass_cd_dce - instances and true to last instance. Add comment that - last instance rewrites no longer addressed locals. - * tree-ssa-dce.c (pass_cd_dce): Add update_address_taken_p member and - initialize it. - (pass_cd_dce::set_pass_param): New method. - (pass_cd_dce::execute): Return TODO_update_address_taken from - last cd_dce instance. - -2021-01-15 Carl Love - - * config/rs6000/altivec.h (vec_mulh, vec_div, vec_dive, vec_mod): - New defines. - * config/rs6000/altivec.md (VIlong): Move define to file vsx.md. - * config/rs6000/rs6000-builtin.def (DIVES_V4SI, DIVES_V2DI, - DIVEU_V4SI, DIVEU_V2DI, DIVS_V4SI, DIVS_V2DI, DIVU_V4SI, - DIVU_V2DI, MODS_V2DI, MODS_V4SI, MODU_V2DI, MODU_V4SI, - MULHS_V2DI, MULHS_V4SI, MULHU_V2DI, MULHU_V4SI, MULLD_V2DI): - Add builtin define. - (MULH, DIVE, MOD): Add new BU_P10_OVERLOAD_2 definitions. - * config/rs6000/rs6000-call.c (VSX_BUILTIN_VEC_DIV, - VSX_BUILTIN_VEC_DIVE, P10_BUILTIN_VEC_MOD, P10_BUILTIN_VEC_MULH): - New overloaded definitions. - (builtin_function_type) [P10V_BUILTIN_DIVEU_V4SI, - P10V_BUILTIN_DIVEU_V2DI, P10V_BUILTIN_DIVU_V4SI, - P10V_BUILTIN_DIVU_V2DI, P10V_BUILTIN_MODU_V2DI, - P10V_BUILTIN_MODU_V4SI, P10V_BUILTIN_MULHU_V2DI, - P10V_BUILTIN_MULHU_V4SI]: Add case - statement for builtins. - * config/rs6000/rs6000.md (bits): Add new attribute sizes V4SI, V2DI. - * config/rs6000/vsx.md (VIlong): Moved from config/rs6000/altivec.md. - (UNSPEC_VDIVES, UNSPEC_VDIVEU): New unspec definitions. - (vsx_mul_v2di): Add if TARGET_POWER10 statement. - (vsx_udiv_v2di): Add if TARGET_POWER10 statement. - (dives_, diveu_, div3, uvdiv3, - mods_, modu_, mulhs_, mulhu_, mulv2di3): - Add define_insn, mode is VIlong. - * doc/extend.texi (vec_mulh, vec_mul, vec_div, vec_dive, vec_mod): - Add builtin descriptions. - -2021-01-15 Eric Botcazou - - * final.c (final_start_function_1): Reset force_source_line. - -2021-01-15 Jakub Jelinek - - PR tree-optimization/96669 - * match.pd (((1 << A) & 1) != 0 -> A == 0, - ((1 << A) & 1) == 0 -> A != 0): Generalize for 1s replaced by - possibly different power of two constants and to right shift too. - -2021-01-15 Jakub Jelinek - - PR tree-optimization/96681 - * match.pd ((x < 0) ^ (y < 0) to (x ^ y) < 0): New simplification. - ((x >= 0) ^ (y >= 0) to (x ^ y) < 0): Likewise. - ((x < 0) ^ (y >= 0) to (x ^ y) >= 0): Likewise. - ((x >= 0) ^ (y < 0) to (x ^ y) >= 0): Likewise. - -2021-01-15 Alexandre Oliva - - * opts.c (gen_command_line_string): Exclude -dumpbase-ext. - -2021-01-15 Tamar Christina - - * config/aarch64/aarch64-simd.md (cml4, - cmul3): New. - * config/aarch64/iterators.md (UNSPEC_FCMUL, - UNSPEC_FCMUL180, UNSPEC_FCMLA_CONJ, UNSPEC_FCMLA180_CONJ, - UNSPEC_CMLA_CONJ, UNSPEC_CMLA180_CONJ, UNSPEC_CMUL, UNSPEC_CMUL180, - FCMLA_OP, FCMUL_OP, conj_op, rotsplit1, rotsplit2, fcmac1, sve_rot1, - sve_rot2, SVE2_INT_CMLA_OP, SVE2_INT_CMUL_OP, SVE2_INT_CADD_OP): New. - (rot): Add UNSPEC_FCMUL, UNSPEC_FCMUL180. - (rot_op): Renamed to conj_op. - * config/aarch64/aarch64-sve.md (cml4, - cmul3): New. - * config/aarch64/aarch64-sve2.md (cml4, - cmul3): New. - -2021-01-15 David Malcolm - - PR bootstrap/98696 - * diagnostic.c - (selftest::test_print_parseable_fixits_bytes_vs_display_columns): - Escape the tempfile name when constructing the expected output. - -2021-01-15 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (*aarch64_mlsl_hi): - Rename to... - (aarch64_mlsl_hi): ... This. - (aarch64_mlsl_hi): Define. - (*aarch64_mlslmlsl - - * config/i386/i386-c.c (ix86_target_macros): - Use cpp_define_formatted for __SIZEOF_FLOAT80__ definition. - -2021-01-15 Richard Sandiford - - PR target/88836 - * config.gcc (aarch64*-*-*): Add aarch64-cc-fusion.o to extra_objs. - * Makefile.in (RTL_SSA_H): New variable. - * config/aarch64/t-aarch64 (aarch64-cc-fusion.o): New rule. - * config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Declare. - * config/aarch64/aarch64-passes.def: Add pass_cc_fusion after - pass_combine. - * config/aarch64/aarch64-cc-fusion.cc: New file. - -2021-01-15 Richard Sandiford - - * recog.h (insn_change_watermark::~insn_change_watermark): Avoid - calling cancel_changes for changes that no longer exist. - -2021-01-15 Richard Sandiford - - * rtl-ssa/functions.h (function_info::ref_defs): Rename to... - (function_info::reg_defs): ...this. - * rtl-ssa/member-fns.inl (function_info::ref_defs): Rename to... - (function_info::reg_defs): ...this. - -2021-01-15 Christophe Lyon - - PR target/71233 - * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New. - -2021-01-15 Christophe Lyon - - Revert: - 2021-01-15 Christophe Lyon - - PR target/71233 - * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New. - -2021-01-15 Richard Biener - - PR tree-optimization/96376 - * tree-vect-stmts.c (get_load_store_type): Disregard alignment - for VMAT_INVARIANT. - -2021-01-15 Martin Liska - - * doc/install.texi: Document that some tests need pytest module. - * doc/sourcebuild.texi: Likewise. - -2021-01-15 Christophe Lyon - - PR target/71233 - * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New. - -2021-01-15 Christophe Lyon - - * config/arm/mve.md (mve_vshrq_n_s_imm): New entry. - (mve_vshrq_n_u_imm): Likewise. - * config/arm/neon.md (vashr3, vlshr3): Move to ... - * config/arm/vec-common.md: ... here. - -2021-01-15 Christophe Lyon - - * config/arm/mve.md (mve_vshlq_): Move to - vec-commond.md. - * config/arm/neon.md (vashl3): Delete. - * config/arm/vec-common.md (mve_vshlq_): New. - (vasl3): New expander. - -2021-01-15 Richard Biener - - PR tree-optimization/98685 - * tree-vect-slp.c (vect_schedule_slp_node): Refactor handling - of vector extern defs. - -2021-01-14 David Malcolm - - PR jit/98586 - * diagnostic.c (diagnostic_kind_text): Break out this array - from... - (diagnostic_build_prefix): ...here. - (fancy_abort): Detect when diagnostic_initialize has not yet been - called and fall back to a minimal implementation of printing the - ICE, rather than segfaulting in internal_error. - -2021-01-14 David Malcolm - - * diagnostic.c (diagnostic_initialize): Eliminate - parseable_fixits_p in favor of initializing extra_output_kind from - GCC_EXTRA_DIAGNOSTIC_OUTPUT. - (convert_column_unit): New function, split out from... - (diagnostic_converted_column): ...this. - (print_parseable_fixits): Add "column_unit" and "tabstop" params. - Use them to call convert_column_unit on the column values. - (diagnostic_report_diagnostic): Eliminate conditional on - parseable_fixits_p in favor of a switch statement on - extra_output_kind, passing the appropriate values to the new - params of print_parseable_fixits. - (selftest::test_print_parseable_fixits_none): Update for new - params of print_parseable_fixits. - (selftest::test_print_parseable_fixits_insert): Likewise. - (selftest::test_print_parseable_fixits_remove): Likewise. - (selftest::test_print_parseable_fixits_replace): Likewise. - (selftest::test_print_parseable_fixits_bytes_vs_display_columns): - New. - (selftest::diagnostic_c_tests): Call it. - * diagnostic.h (enum diagnostics_extra_output_kind): New. - (diagnostic_context::parseable_fixits_p): Delete field in favor - of... - (diagnostic_context::extra_output_kind): ...this new field. - * doc/invoke.texi (Environment Variables): Add - GCC_EXTRA_DIAGNOSTIC_OUTPUT. - * opts.c (common_handle_option): Update handling of - OPT_fdiagnostics_parseable_fixits for change to diagnostic_context - fields. - -2021-01-14 Tamar Christina - - * tree-vect-slp-patterns.c (class complex_operations_pattern, - complex_operations_pattern::matches, - complex_operations_pattern::recognize, - complex_operations_pattern::build): New. - (slp_patterns): Use it. - -2021-01-14 Tamar Christina - - * internal-fn.def (COMPLEX_FMS, COMPLEX_FMS_CONJ): New. - * optabs.def (cmls_optab, cmls_conj_optab): New. - * doc/md.texi: Document them. - * tree-vect-slp-patterns.c (class complex_fms_pattern, - complex_fms_pattern::matches, complex_fms_pattern::recognize, - complex_fms_pattern::build): New. - -2021-01-14 Tamar Christina - - * internal-fn.def (COMPLEX_FMA, COMPLEX_FMA_CONJ): New. - * optabs.def (cmla_optab, cmla_conj_optab): New. - * doc/md.texi: Document them. - * tree-vect-slp-patterns.c (vect_match_call_p, - class complex_fma_pattern, vect_slp_reset_pattern, - complex_fma_pattern::matches, complex_fma_pattern::recognize, - complex_fma_pattern::build): New. - -2021-01-14 Tamar Christina - - * internal-fn.def (COMPLEX_MUL, COMPLEX_MUL_CONJ): New. - * optabs.def (cmul_optab, cmul_conj_optab): New. - * doc/md.texi: Document them. - * tree-vect-slp-patterns.c (vect_match_call_complex_mla, - vect_normalize_conj_loc, is_eq_or_top, vect_validate_multiplication, - vect_build_combine_node, class complex_mul_pattern, - complex_mul_pattern::matches, complex_mul_pattern::recognize, - complex_mul_pattern::build): New. - -2021-01-14 Tamar Christina - - * tree-vect-slp.c (optimize_load_redistribution_1): New. - (optimize_load_redistribution, vect_is_slp_load_node): New. - (vect_match_slp_patterns): Use it. - -2021-01-14 Tamar Christina - - * tree-vect-slp-patterns.c (complex_add_pattern::build): - Elide nodes. - -2021-01-14 Thomas Schwinge - - * config/gcn/mkoffload.c (main): Create an offload image only in - 64-bit configurations. - -2021-01-14 H.J. Lu - - PR target/98667 - * config/i386/i386-options.c (ix86_option_override_internal): - Issue an error for -fcf-protection with CF_BRANCH when compiling - for 32-bit non-TARGET_CMOV targets. - -2021-01-14 Uroš Bizjak - - PR target/98671 - * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p): - Remove declaration and initialization of shadow variable "ret". - (ix86_option_override_internal): Remove delcaration of - shadow variable "i". Redeclare shadowed variable to unsigned. - * common/config/i386/i386-common.c (pta_size): Redeclare to unsigned. - * config/i386/i386-builtins.c (get_builtin_code_for_version): - Update for redeclaration. - * config/i386/i386.h (pta_size): Ditto. - -2021-01-14 Richard Biener - - PR tree-optimization/98674 - * tree-data-ref.c (base_supports_access_fn_components_p): New. - (initialize_data_dependence_relation): For two bases without - possible access fns resort to type size equality when determining - shape compatibility. - -2021-01-14 Prathamesh Kulkarni - - PR target/66791 - * config/arm/arm_neon.h: Replace calls to __builtin_vcge* by - <=, >= operators in vcle and vcge intrinsics respectively. - * config/arm/arm_neon_builtins.def: Remove entry for - vcge and vcgeu. - -2021-01-14 Uroš Bizjak - - PR target/98671 - * config/i386/i386-options.c (ix86_function_specific_save): - Remove redundant assignment to opts->x_ix86_branch_cost. - * config/i386/i386.c (ix86_prefetch_sse): - Rename from x86_prefetch_sse. Update all uses. - * config/i386/i386.h: Update for rename. - * config/i386/i386-options.h: Ditto. - -2021-01-14 Jakub Jelinek - - PR target/98670 - * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3, - *sse4_1_zero_extendv4hiv4si2_3, *sse4_1_zero_extendv2siv2di2_3): - Use Bm instead of m for non-avx. Add isa attribute. - -2021-01-14 Jakub Jelinek - - PR tree-optimization/96688 - * match.pd (~(X >> Y) -> ~X >> Y): New simplification if - ~X can be simplified. - -2021-01-14 Richard Sandiford - - * tree-vect-stmts.c (vect_model_load_cost): Account for unused - IFN_LOAD_LANES results. - -2021-01-14 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_xtl): - Define. - (aarch64_xtn): Likewise. - * config/aarch64/aarch64-simd-builtins.def (sxtl, uxtl, xtn): - Define - builtins. - * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using - builtin. - (vmovl_s16): Likewise. - (vmovl_s32): Likewise. - (vmovl_u8): Likewise. - (vmovl_u16): Likewise. - (vmovl_u32): Likewise. - (vmovn_s16): Likewise. - (vmovn_s32): Likewise. - (vmovn_s64): Likewise. - (vmovn_u16): Likewise. - (vmovn_u32): Likewise. - (vmovn_u64): Likewise. - -2021-01-14 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_qxtn2_le): - Define. - (aarch64_qxtn2_be): Likewise. - (aarch64_qxtn2): Likewise. - * config/aarch64/aarch64-simd-builtins.def (sqxtn2, uqxtn2): - Define builtins. - * config/aarch64/iterators.md (SAT_TRUNC): Define code_iterator. - (su): Handle ss_truncate and us_truncate. - * config/aarch64/arm_neon.h (vqmovn_high_s16): Reimplement using - builtin. - (vqmovn_high_s32): Likewise. - (vqmovn_high_s64): Likewise. - (vqmovn_high_u16): Likewise. - (vqmovn_high_u32): Likewise. - (vqmovn_high_u64): Likewise. - -2021-01-14 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_xtn2_le): - Define. - (aarch64_xtn2_be): Likewise. - (aarch64_xtn2): Likewise. - * config/aarch64/aarch64-simd-builtins.def (xtn2): Define - builtins. - * config/aarch64/arm_neon.h (vmovn_high_s16): Reimplement using - builtins. - (vmovn_high_s32): Likewise. - (vmovn_high_s64): Likewise. - (vmovn_high_u16): Likewise. - (vmovn_high_u32): Likewise. - (vmovn_high_u64): Likewise. - -2021-01-13 Stafford Horne - - * config/or1k/or1k.h (ASM_PREFERRED_EH_DATA_FORMAT): New macro. - -2021-01-13 Stafford Horne - - * config/or1k/linux.h (TARGET_ASM_FILE_END): Define macro. - -2021-01-13 Stafford Horne - - * config/or1k/or1k.h (TARGET_CPU_CPP_BUILTINS): Add builtin - define for __or1k_hard_float__. - -2021-01-13 Stafford Horne - - * config/or1k/or1k.h (NO_PROFILE_COUNTERS): Define as 1. - (PROFILE_HOOK): Define to call _mcount. - (FUNCTION_PROFILER): Change from abort to no-op. - -2021-01-13 Jakub Jelinek - - PR tree-optimization/96691 - * match.pd ((~X | C) ^ D -> (X | C) ^ (~D ^ C), - (~X & C) ^ D -> (X & C) ^ (D ^ C)): New simplifications if - (~D ^ C) or (D ^ C) can be simplified. - -2021-01-13 Richard Biener - - PR tree-optimization/92645 - * match.pd (BIT_FIELD_REF to conversion): Delay canonicalization - until after vector lowering. - -2021-01-13 Richard Sandiford - - * config/aarch64/aarch64-sve.md (fnma4): Extend from SVE_FULL_I - to SVE_I. - (@aarch64_pred_fnma, cond_fnma, *cond_fnma_2) - (*cond_fnma_4, *cond_fnma_any): Likewise. - -2021-01-13 Richard Sandiford - - * config/aarch64/aarch64-sve.md (fma4): Extend from SVE_FULL_I - to SVE_I. - (@aarch64_pred_fma, cond_fma, *cond_fma_2) - (*cond_fma_4, *cond_fma_any): Likewise. - -2021-01-13 Richard Biener - - PR tree-optimization/92645 - * tree-vect-slp.c (vect_build_slp_tree_1): Relax supported - BIT_FIELD_REF argument. - (vect_build_slp_tree_2): Record the desired vector type - on the external vector def. - (vectorizable_slp_permutation): Handle required punning - of existing vector defs. - -2021-01-13 Richard Sandiford - - * rtl-ssa/accesses.h (def_lookup): Fix order of comparison results. - -2021-01-13 Richard Sandiford - - * config/sh/sh.md (movsf_ie): Remove operands[2] test. - -2021-01-13 Samuel Thibault - - * config.gcc [$target == *-*-gnu*]: Enable - 'default_gnu_indirect_function'. - -2021-01-13 Jakub Jelinek - - PR target/95905 - * optabs.c (expand_vec_perm_const): Don't force v0 and v1 into - registers before calling targetm.vectorize.vec_perm_const, only after - that. - * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): Handle - two argument permutation when one operand is zero vector and only - after that force operands into registers. - * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_1): New - define_insn_and_split pattern. - (*avx512bw_zero_extendv32qiv32hi2_1): Likewise. - (*avx512f_zero_extendv16hiv16si2_1): Likewise. - (*avx2_zero_extendv8hiv8si2_1): Likewise. - (*avx512f_zero_extendv8siv8di2_1): Likewise. - (*avx2_zero_extendv4siv4di2_1): Likewise. - * config/mips/mips.c (mips_vectorize_vec_perm_const): Force operands - into registers. - * config/arm/arm.c (arm_vectorize_vec_perm_const): Likewise. - * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Likewise. - * config/ia64/ia64.c (ia64_vectorize_vec_perm_const): Likewise. - * config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const): Likewise. - * config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const): Likewise. - * config/gcn/gcn.c (gcn_vectorize_vec_perm_const): Likewise. Use std::swap. - -2021-01-13 Martin Liska - - PR tree-optimization/98455 - * gimple-if-to-switch.cc (condition_info::record_phi_mapping): - Record also virtual PHIs. - (pass_if_to_switch::execute): Return TODO_cleanup_cfg only - conditionally. - -2021-01-13 Jonathan Wakely - - * doc/invoke.texi (C++ Modules): Fix typos. - -2021-01-13 Richard Biener - - PR tree-optimization/98640 - * tree-ssa-sccvn.c (visit_nary_op): Do not try to - handle plus or minus from a truncated operand to be - sign-extended. - -2021-01-13 Jakub Jelinek - - PR target/96938 - * config/i386/i386.md (*btr_1, *btr_2): New - define_insn_and_split patterns. - (splitter after *btr_2): New splitter. - -2021-01-13 Martin Liska - - PR ipa/98652 - * cgraphunit.c (analyze_functions): Remove dead code. - -2021-01-13 Qian Jianhua - - * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New. - * config/aarch64/aarch64.c (a64fx_addrcost_table): New. - (a64fx_regmove_cost, a64fx_vector_cost): New. - (a64fx_tunings): Use the new added cost tables. - -2021-01-13 Jakub Jelinek - - PR target/95905 - * config/i386/predicates.md (pmovzx_parallel): New predicate. - * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): New - define_insn_and_split pattern. - (*sse4_1_zero_extendv4hiv4si2_3): Likewise. - (*sse4_1_zero_extendv2siv2di2_3): Likewise. - -2021-01-13 Julian Brown - - * config/gcn/gcn.c (gcn_conditional_register_usage): Remove dead code - to fix v0 register. - -2021-01-13 Julian Brown - - * config/gcn/gcn.c (gcn_md_reorg): Fix case where EXEC reg is live - on entry to a BB. - -2021-01-13 Julian Brown - - * config/gcn/gcn-valu.md (recip2, recip2): Use unspec - for reciprocal-approximation instructions. - (div3): Use fused multiply-accumulate operations for reciprocal - refinement and division result. - * config/gcn/gcn.md (UNSPEC_RCP): New unspec constant. - -2021-01-13 Julian Brown - - * config/gcn/gcn-valu.md (subdf): Rename to... - (subdf3): This. - -2021-01-12 Martin Liska - - * gcov.c (source_info::debug): Fix printf format for 32-bit hosts. - -2021-01-12 Andrea Corallo - - * function-abi.h: Fix typo. - -2021-01-12 Christophe Lyon - - PR target/97875 - PR target/97875 - * config/arm/arm.h (ARM_HAVE_NEON_V8QI_LDST): New macro. - (ARM_HAVE_NEON_V16QI_LDST, ARM_HAVE_NEON_V4HI_LDST): Likewise. - (ARM_HAVE_NEON_V8HI_LDST, ARM_HAVE_NEON_V2SI_LDST): Likewise. - (ARM_HAVE_NEON_V4SI_LDST, ARM_HAVE_NEON_V4HF_LDST): Likewise. - (ARM_HAVE_NEON_V8HF_LDST, ARM_HAVE_NEON_V4BF_LDST): Likewise. - (ARM_HAVE_NEON_V8BF_LDST, ARM_HAVE_NEON_V2SF_LDST): Likewise. - (ARM_HAVE_NEON_V4SF_LDST, ARM_HAVE_NEON_DI_LDST): Likewise. - (ARM_HAVE_NEON_V2DI_LDST): Likewise. - (ARM_HAVE_V8QI_LDST, ARM_HAVE_V16QI_LDST): Likewise. - (ARM_HAVE_V4HI_LDST, ARM_HAVE_V8HI_LDST): Likewise. - (ARM_HAVE_V2SI_LDST, ARM_HAVE_V4SI_LDST, ARM_HAVE_V4HF_LDST): Likewise. - (ARM_HAVE_V8HF_LDST, ARM_HAVE_V4BF_LDST, ARM_HAVE_V8BF_LDST): Likewise. - (ARM_HAVE_V2SF_LDST, ARM_HAVE_V4SF_LDST, ARM_HAVE_DI_LDST): Likewise. - (ARM_HAVE_V2DI_LDST): Likewise. - * config/arm/mve.md (*movmisalign_mve_store): New pattern. - (*movmisalign_mve_load): New pattern. - * config/arm/neon.md (movmisalign): Move to ... - * config/arm/vec-common.md: ... here. - -2021-01-12 Vladimir N. Makarov - - PR target/97969 - * lra-eliminations.c (eliminate_regs_in_insn): Add transformation - of pattern 'plus (plus (hard reg, const), pseudo)'. - -2021-01-12 Richard Biener - - PR tree-optimization/98550 - * tree-vect-slp.c (vect_record_max_nunits): Check whether - the group size is a multiple of the vector element count. - (vect_build_slp_tree_1): When we need to fail because - the vector type choosen causes unrolling do so lazily - without affecting matches only at the end to guide group splitting. - -2021-01-12 Martin Liska - - PR c++/97284 - * optc-save-gen.awk: Compare also n_target_save vars with - strcmp. - -2021-01-12 Martin Liska - - * gcov.c (source_info::debug): New. - (print_usage): Add --debug (-D) option. - (process_args): Likewise. - (generate_results): Call src->debug after - accumulate_line_counts. - (read_graph_file): Properly assign id for EXIT_BLOCK. - * profile.c (branch_prob): Dump function body before it is - instrumented. - -2021-01-12 Jakub Jelinek - - PR tree-optimization/98629 - * tree-ssa-math-opts.c (arith_overflow_check_p): Don't update use_stmt - unless returning non-zero. - -2021-01-12 Jakub Jelinek - - PR tree-optimization/95731 - * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize - x < 0 && y < 0 && z < 0 into (x | y | z) < 0 for signed x, y, z. - (optimize_range_tests): Call optimize_range_tests_cmp_bitwise - only after optimize_range_tests_var_bound. - -2021-01-12 Jakub Jelinek - - * configure.ac: Ensure c/Make-lang.in comes first in @all_lang_makefrags@. - * configure: Regenerated. - -2021-01-12 liuhongt - - PR target/98612 - * config/i386/i386-builtins.h (BUILTIN_DESC_SWAP_OPERANDS): - Deleted. - * config/i386/i386-expand.c (ix86_expand_sse_comi): Delete - dead code. - -2021-01-12 Alexandre Oliva - - * ssa-iterators.h (end_imm_use_stmt_traverse): Forward - declare. - (auto_end_imm_use_stmt_traverse): New struct. - (FOR_EACH_IMM_USE_STMT): Use it. - (BREAK_FROM_IMM_USE_STMT, RETURN_FROM_IMM_USE_STMT): Remove, - along with uses... - * gimple-ssa-strength-reduction.c: ... here, ... - * graphite-scop-detection.c: ... here, ... - * ipa-modref.c, ipa-pure-const.c, ipa-sra.c: ... here, ... - * tree-predcom.c, tree-ssa-ccp.c: ... here, ... - * tree-ssa-dce.c, tree-ssa-dse.c: ... here, ... - * tree-ssa-loop-ivopts.c, tree-ssa-math-opts.c: ... here, ... - * tree-ssa-phiprop.c, tree-ssa.c: ... here, ... - * tree-vect-slp.c: ... and here, ... - * doc/tree-ssa.texi: ... and the example here. - -2021-01-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (sdiv_pow23): Extend from - SVE_FULL_I to SVE_I. Generate an UNSPEC_PRED_X. - (*sdiv_pow23): New pattern. - (@cond_): Extend from SVE_FULL_I to SVE_I. - Wrap the ASRD in an UNSPEC_PRED_X. - (*cond__2): Likewise. Replace the UNSPEC_PRED_X - predicate with a constant PTRUE, if it isn't already. - (*cond__z): Replace with... - (*cond__any): ...this new pattern. - -2021-01-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (*cond_bic_2): Extend from - SVE_FULL_I to SVE_I. - (*cond_bic_any): Likewise. - -2021-01-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (mul3_highpart) - (@aarch64_pred_): Extend from SVE_FULL_I - to SVE_I. - -2021-01-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (abd_3): Extend from - SVE_FULL_I to SVE_I. - (*aarch64_cond_abd_2): Likewise. - (*aarch64_cond_abd_any): Likewise. - (@aarch64_pred_abd): Likewise. Use UNSPEC_PRED_X - for the max and min but not for the minus. - (*aarch64_cond_abd_3): New pattern. - -2021-01-11 Richard Sandiford - - * config/aarch64/iterators.md (SVE_24I): New iterator. - * config/aarch64/aarch64-sve.md (*aarch64_adr_shift): Extend from - SVE_FULL_SDI to SVE_24I. Use containers rather than elements. - -2021-01-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (@cond_) - (*cond__2): Extend from SVE_FULL_I - to SVE_I. - (*cond__3): Likewise. - (*cond__any): Likewise. - (*cond__2_const): Likewise. - (*cond__any_const): Likewise. - -2021-01-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (3) - (@aarch64_pred_) - (*post_ra_3): Extend from SVE_FULL_I - to SVE_I. - -2021-01-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (3) - (v3, @aarch64_pred_) - (*post_ra_v3): Extend from SVE_FULL_I to SVE_I. - -2021-01-11 Martin Liska - - PR jit/98615 - * symtab-clones.h (clone_info::release): Release - symtab::m_clones with ggc_delete as it's a GGC memory. - -2021-01-11 Matthias Klose - - * Makefile.in (LINK_PROGRESS): Show the link target. - -2021-01-11 Richard Biener - - PR tree-optimization/91403 - * tree-vect-data-refs.c (vect_analyze_group_access_1): Cap - single-element interleaving group size at 4096 elements. - -2021-01-11 Richard Biener - - PR tree-optimization/98526 - * tree-vect-loop.c (vect_model_reduction_cost): Remove costing - of the actual reduction op for the regular case. - (vectorizable_reduction): Cost the stmts - vect_transform_reduction produces here. - -2021-01-11 Andreas Krebbel - - * tree-ssa-forwprop.c (simplify_vector_constructor): For - big-endian, use UNPACK[_FLOAT]_HI. - -2021-01-11 Tamar Christina - - * tree-vect-slp-patterns.c (class complex_pattern, - class complex_add_pattern): Add parameters to matches. - (complex_add_pattern::build): Free memory. - (complex_add_pattern::matches): Move validation end of match. - (complex_add_pattern::recognize): Likewise. - -2021-01-11 Tamar Christina - - * tree-vect-slp-patterns.c (linear_loads_p): Fix externals. - -2021-01-11 Tamar Christina - - * tree-vect-slp-patterns.c (is_linear_load_p): Fix ambiguity. - -2021-01-11 Jakub Jelinek - - PR tree-optimization/95867 - * tree-ssa-math-opts.h: New header. - * tree-ssa-math-opts.c: Include tree-ssa-math-opts.h. - (powi_as_mults): No longer static. Use build_one_cst instead of - build_real. Formatting fix. - * tree-ssa-reassoc.c: Include tree-ssa-math-opts.h. - (attempt_builtin_powi): Handle multiplication reassociation without - powi_fndecl using powi_as_mults. - (reassociate_bb): For integral types don't require - -funsafe-math-optimizations to call attempt_builtin_powi. - -2021-01-11 Jakub Jelinek - - PR tree-optimization/95852 - * tree-ssa-math-opts.c (maybe_optimize_guarding_check): Change - mul_stmts parameter type to vec &. Before cond_stmt - allow in the bb any of the stmts in that vector, div_stmt and - up to 3 cast stmts. - (arith_cast_equal_p): New function. - (arith_overflow_check_p): Add cast_stmt argument, handle signed - multiply overflow checks. - (match_arith_overflow): Adjust caller. Handle signed multiply - overflow checks. - -2021-01-11 Jakub Jelinek - - PR tree-optimization/95852 - * tree-ssa-math-opts.c (maybe_optimize_guarding_check): New function. - (uaddsub_overflow_check_p): Renamed to ... - (arith_overflow_check_p): ... this. Handle also multiplication - with overflow check. - (match_uaddsub_overflow): Renamed to ... - (match_arith_overflow): ... this. Add cfg_changed argument. Handle - also multiplication with overflow check. Adjust function comment. - (math_opts_dom_walker::after_dom_children): Adjust callers. Call - match_arith_overflow also for MULT_EXPR. - -2021-01-11 Kyrylo Tkachov - - * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using - __builtin_convertvector. - (vmovl_s16): Likewise. - (vmovl_s32): Likewise. - (vmovl_u8): Likewise. - (vmovl_u16): Likewise. - (vmovl_u32): Likewise. - (vmovn_s16): Likewise. - (vmovn_s32): Likewise. - (vmovn_s64): Likewise. - (vmovn_u16): Likewise. - (vmovn_u32): Likewise. - (vmovn_u64): Likewise. - -2021-01-11 Martin Liska - - * gimple-if-to-switch.cc (struct condition_info): Use auto_var. - (if_chain::is_beneficial): Delete clusters - (find_conditions): Make second argument of conditions_in_bbs a - pointer so that we control over it's lifetime. - (pass_if_to_switch::execute): Delete them. - -2021-01-11 Kewen Lin - - * ira.c (move_unallocated_pseudos): Check other_reg and skip if - it isn't set. - -2021-01-09 Maciej W. Rozycki - - * config/vax/vax.md (cc): Remove mode attribute. - (subst_, subst_f): Rename to... - (subst_, subst_f): ... these respectively. - (*cbranch4_): Update for `cc' removal. - (*cbranch4_): Likewise. - (*branch_, *branch__reversed): Likewise. - -2021-01-09 Maciej W. Rozycki - - * config/vax/vax.md (subst_f): Add mode to operands and - `const_double_zero'. - -2021-01-09 Maciej W. Rozycki - - * config/pdp11/pdp11.md (PDPfp): New mode iterator. - (fcc_cc, fcc_ccnz): Use it. Add mode to `const_double_zero' and - operands. - -2021-01-09 Maciej W. Rozycki - - * genemit.c (gen_exp) : Handle `const_double_zero' - rtx. - * read-rtl.c (rtx_reader::read_rtx_code): Handle machine mode - with `const_double_zero'. - * doc/rtl.texi (Constant Expression Types): Document it. - -2021-01-09 Jakub Jelinek - - PR c++/98556 - * tree-cfg.c (verify_gimple_assign_binary): Allow lhs of - POINTER_DIFF_EXPR to be any integral type. - -2021-01-09 Jakub Jelinek - - PR rtl-optimization/98603 - * function.c (instantiate_virtual_regs_in_insn): For asm goto - with impossible constraints, drop all SETs, CLOBBERs, drop PARALLEL - if any, set ASM_OPERANDS mode to VOIDmode and change - ASM_OPERANDS_OUTPUT_CONSTRAINT and ASM_OPERANDS_OUTPUT_IDX. - -2021-01-09 Alexandre Oliva - - PR debug/97714 - * final.c (notice_source_line): Narrow down the condition to - skip a line-0 marker. - -2021-01-08 Sergei Trofimovich - - * ipa-modref.c (merge_call_side_effects): Fix - linebreak split by reordering two print calls. - -2021-01-08 Ilya Leoshkevich - - * config/s390/vector.md (*tf_to_fprx2_0): Rename from - "*mov_tf_to_fprx2_0" for consistency, fix constraint. - (*tf_to_fprx2_1): Rename from "*mov_tf_to_fprx2_1" for - consistency, fix constraint. - -2021-01-08 Ilya Leoshkevich - - * config/s390/s390-c.c (s390_def_or_undef_macro): Accept - callables instead of mask values. - (struct target_flag_set_p): New predicate. - (s390_cpu_cpp_builtins_internal): Define or undefine - __LONG_DOUBLE_VX__ macro. - -2021-01-08 H.J. Lu - - PR target/98482 - * config/i386/i386.c (x86_function_profiler): Use R10 and R11 - to call mcount in large model with PIC for NO_PROFILE_COUNTERS - targets. - -2021-01-08 Richard Biener - - * tree-ssa-sccvn.c (pass_fre::execute): Reset the SCEV hash table. - -2021-01-08 Richard Biener - - * tree-vect-slp.c (scalar_stmts_to_slp_tree_map_t): Fix. - (vect_build_slp_tree): On cache hit release the matched - scalar stmts vector. - * tree-vect-stmts.c (vectorizable_store): Properly free - vec_oprnds before possibly gathering them again. - -2021-01-08 Richard Biener - - PR tree-optimization/98544 - * tree-vect-slp.c (vect_optimize_slp): Always materialize - permutes at a permute node. - -2021-01-08 H.J. Lu - - PR target/98482 - * config/i386/i386.c (x86_function_profiler): Use R10 to call - mcount in large model. Sorry for large model with PIC. - -2021-01-08 Jakub Jelinek - - PR target/98585 - * config/i386/i386.opt (ix86_cmodel, ix86_incoming_stack_boundary_arg, - ix86_pmode, ix86_preferred_stack_boundary_arg, ix86_regparm, - ix86_veclibabi_type): Remove x_ prefix, use TargetVariable instead of - TargetSave and initialize for variables with enum types. - (mfentry, mstack-protector-guard-reg=, mstack-protector-guard-offset=, - mstack-protector-guard-symbol=): Add Save. - * config/i386/i386-options.c (ix86_function_specific_save, - ix86_function_specific_restore): Don't save or restore x_ix86_cmodel, - x_ix86_incoming_stack_boundary_arg, x_ix86_pmode, - x_ix86_preferred_stack_boundary_arg, x_ix86_regparm, - x_ix86_veclibabi_type. - -2021-01-08 Richard Sandiford - - * config/aarch64/aarch64-sve.md (*cnot): Extend from - SVE_FULL_I to SVE_I. - (*cond_cnot_2, *cond_cnot_any): Likewise. - -2021-01-08 Richard Sandiford - - * config/aarch64/aarch64-sve.md (*cond_uxt_2): Extend from - SVE_FULL_I to SVE_I. - (*cond_uxt_any): Likewise. - -2021-01-08 Kyrylo Tkachov - - * config/aarch64/iterators.md (Vwhalf): New iterator. - * config/aarch64/aarch64-simd.md (aarch64_adalp_3): - Rename to... - (aarch64_adalp): ... This. Make more - builtin-friendly. - (sadv16qi): Adjust callsite of the above. - * config/aarch64/aarch64-simd-builtins.def (sadalp, uadalp): New - builtins. - * config/aarch64/arm_neon.h (vpadal_s8): Reimplement using - builtins. - (vpadal_s16): Likewise. - (vpadal_u8): Likewise. - (vpadal_u16): Likewise. - (vpadalq_s8): Likewise. - (vpadalq_s16): Likewise. - (vpadalq_s32): Likewise. - (vpadalq_u8): Likewise. - (vpadalq_u16): Likewise. - (vpadalq_u32): Likewise. - -2021-01-08 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aarch64_abd_3): - Rename to... - (aarch64_abd): ... This. - (sadv16qi): Adjust callsite of the above. - * config/aarch64/aarch64-simd-builtins.def (sabd, uabd): Define - builtins. - * config/aarch64/arm_neon.h (vabd_s8): Reimplement using - builtin. - (vabd_s16): Likewise. - (vabd_s32): Likewise. - (vabd_u8): Likewise. - (vabd_u16): Likewise. - (vabd_u32): Likewise. - (vabdq_s8): Likewise. - (vabdq_s16): Likewise. - (vabdq_s32): Likewise. - (vabdq_u8): Likewise. - (vabdq_u16): Likewise. - (vabdq_u32): Likewise. - -2021-01-08 Kyrylo Tkachov - - * config/aarch64/aarch64-simd-builtins.def (saba, uaba): Define - builtins. - * config/aarch64/arm_neon.h (vaba_s8): Implement using builtin. - (vaba_s16): Likewise. - (vaba_s32): Likewise. - (vaba_u8): Likewise. - (vaba_u16): Likewise. - (vaba_u32): Likewise. - (vabaq_s8): Likewise. - (vabaq_s16): Likewise. - (vabaq_s32): Likewise. - (vabaq_u8): Likewise. - (vabaq_u16): Likewise. - (vabaq_u32): Likewise. - -2021-01-08 Kyrylo Tkachov - - * config/aarch64/aarch64-simd.md (aba_3): Rename to... - (aarch64_aba): ... This. Handle uaba as well. - Change RTL pattern to match. - -2021-01-08 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_current_subset_list): New. - * config/riscv/riscv-c.c (riscv-subset.h): New. - (INCLUDE_STRING): Define. - (riscv_cpu_cpp_builtins): Add new style architecture extension - test macros. - * config/riscv/riscv-subset.h (riscv_subset_list::begin): New. - (riscv_subset_list::end): New. - (riscv_current_subset_list): New. - -2021-01-08 Kito Cheng - - * common/config/riscv/riscv-common.c (RISCV_DONT_CARE_VERSION): - Move to riscv-subset.h. - (struct riscv_subset_t): Ditto. - (class riscv_subset_list): Ditto. - * config/riscv/riscv-subset.h (RISCV_DONT_CARE_VERSION): Move - from riscv-common.c. - (struct riscv_subset_t): Ditto. - (class riscv_subset_list): Ditto. - * config/riscv/t-riscv ($(common_out_file)): Add file - dependency. - -2021-01-07 Jakub Jelinek - - PR target/98567 - * config/i386/i386.md (*bmi_blsi__cmp, *bmi_blsi__ccno): - New define_insn patterns. - -2021-01-07 Richard Sandiford - - * config/aarch64/aarch64-sve.md (@cond_) - (*cond__2): Extend from SVE_FULL_I to SVE_I. - (*cond__any): Likewise. - -2021-01-07 Richard Sandiford - - PR tree-optimization/98560 - * internal-fn.def (IFN_VCONDU, IFN_VCONDEQ): Use type vec_cond. - * internal-fn.c (vec_cond_mask_direct): Get the data mode from - argument 1. - (vec_cond_direct): Likewise argument 2. - (vec_condu_direct, vec_condeq_direct): Delete. - (expand_vect_cond_optab_fn): Rename to... - (expand_vec_cond_optab_fn): ...this, replacing old macro. - (expand_vec_condu_optab_fn, expand_vec_condeq_optab_fn): Delete. - (expand_vect_cond_mask_optab_fn): Rename to... - (expand_vec_cond_mask_optab_fn): ...this, replacing old macro. - (direct_vec_cond_mask_optab_supported_p): Treat the optab as a - convert optab. - (direct_vec_cond_optab_supported_p): Likewise. - (direct_vec_condu_optab_supported_p): Delete. - (direct_vec_condeq_optab_supported_p): Delete. - * gimple-isel.cc: Include internal-fn.h. - (gimple_expand_vec_cond_expr): Check that IFN_VCONDEQ is supported - before using it. - -2021-01-07 Richard Sandiford - - PR tree-optimization/98560 - * gimple-isel.cc (gimple_expand_vec_cond_expr): If we fail to use - IFN_VCOND{,U,EQ}, fall back on IFN_VCOND_MASK. - -2021-01-07 Uroš Bizjak - - * config/i386/i386.md (insn): Merge from plusminus_insn, shift_insn, - rotate_insn and optab code attributes. - Update all uses to merged code attribute. - * config/i386/sse.md: Update all uses to merged code attribute. - * config/i386/mmx.md: Update all uses to merged code attribute. - -2021-01-07 Jakub Jelinek - - PR tree-optimization/98568 - * gimple-ssa-store-merging.c (bswap_view_convert): New function. - (bswap_replace): Use it. - -2021-01-06 Vladimir N. Makarov - - PR rtl-optimization/97978 - * lra-int.h (lra_hard_reg_split_p): New external. - * lra.c (lra_hard_reg_split_p): New global. - (lra): Set up lra_hard_reg_split_p after splitting a hard reg. - * lra-assigns.c (lra_assign): Don't check allocation correctness - after hard reg splitting. - -2021-01-06 Martin Sebor - - PR c++/98305 - * builtins.c (new_delete_mismatch_p): New overload. - (new_delete_mismatch_p (tree, tree)): Call it. - -2021-01-06 Alexandre Oliva - - * Makefile.in (T_GLIMITS_H): New. - (stmp-int-hdrs): Depend on it, use it. - * config/t-vxworks (T_GLIMITS_H): Override it. - (vxw-glimits.h): New. - -2021-01-06 Richard Biener - - PR tree-optimization/98513 - * value-range.cc (intersect_ranges): Compare the upper bounds - for the expected relation. - -2021-01-06 Gerald Pfeifer - - Revert: - 2020-12-28 Gerald Pfeifer - - * doc/standards.texi (HSAIL): Remove section. - -2021-01-05 Samuel Thibault - - * configure: Re-generate. - -2021-01-05 Jakub Jelinek - - * doc/invoke.texi (-std=c++20): Adjust for the publication of - ISO 14882:2020 standard. - * doc/standards.texi: Likewise. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/94802 - * expr.h (maybe_optimize_sub_cmp_0): Declare. - * expr.c: Include tree-pretty-print.h and flags.h. - (maybe_optimize_sub_cmp_0): New function. - (do_store_flag): Use it. - * cfgexpand.c (expand_gimple_cond): Likewise. - -2021-01-05 Richard Sandiford - - * mux-utils.h (pointer_mux::m_ptr): Tweak description of contents. - * rtlanal.c (simple_regno_set): Tweak description to clarify the - RMW condition. - -2021-01-05 Richard Biener - - PR tree-optimization/98516 - * tree-vect-slp.c (vect_optimize_slp): Permute the incoming - lanes when materializing on a VEC_PERM node. - (vectorizable_slp_permutation): Dump the permute properly. - -2021-01-05 Richard Biener - - * tree-vect-slp.c (vect_slp_region): Move debug counter - to cover individual subgraphs. - -2021-01-05 Richard Biener - - PR tree-optimization/98428 - * tree-vect-slp.c (vect_build_slp_tree_1): Properly reject - vector lane extracts for loop vectorization. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/98514 - * tree-ssa-reassoc.c (bb_rank): Change type from long * to - int64_t *. - (operand_rank): Change type from hash_map to - hash_map. - (phi_rank): Change return type from long to int64_t. - (loop_carried_phi): Change block_rank variable type from long to - int64_t. - (propagate_rank): Change return type, rank parameter type and - op_rank variable type from long to int64_t. - (find_operand_rank): Change return type from long to int64_t - and change slot variable type from long * to int64_t *. - (insert_operand_rank): Change rank parameter type from long to - int64_t. - (get_rank): Change return type and rank variable type from long to - int64_t. Use PRId64 instead of ld to print the rank. - (init_reassoc): Change rank variable type from long to int64_t - and adjust correspondingly bb_rank and operand_rank initialization. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/96928 - * tree-ssa-phiopt.c (xor_replacement): New function. - (tree_ssa_phiopt_worker): Call it. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/96930 - * match.pd ((A / (1 << B)) -> (A >> B)): If A is extended - from narrower value which has the same type as 1 << B, perform - the right shift on the narrower value followed by extension. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/96239 - * gimple-ssa-store-merging.c (maybe_optimize_vector_constructor): New - function. - (get_status_for_store_merging): Don't return BB_INVALID for blocks - with potential bswap optimizable CONSTRUCTORs. - (pass_store_merging::execute): Optimize vector CONSTRUCTORs with bswap - if possible. - -2021-01-05 Richard Biener - - PR tree-optimization/98381 - * tree.c (vector_element_bits): Properly compute bool vector - element size. - * tree-vect-loop.c (vectorizable_live_operation): Properly - compute the last lane bit offset. - -2021-01-05 Uroš Bizjak - - PR target/98522 - * config/i386/sse.md (sse_cvtps2pi): Redefine as define_insn_and_split. - Clear the top 64 bytes of the input XMM register. - (sse_cvttps2pi): Ditto. - -2021-01-05 Uroš Bizjak - - PR target/98521 - * config/i386/xopintrin.h (_mm256_cmov_si256): New. - -2021-01-05 H.J. Lu - - PR target/98495 - * config/i386/xmmintrin.h (_mm_extract_pi16): Cast to unsigned - short first. - -2021-01-05 Claudiu Zissulescu - - * config/arc/arc.md (maddsidi4_split): Use ACC_REG_FIRST. - (umaddsidi4_split): Likewise. - -2021-01-05 liuhongt - - PR target/98461 - * config/i386/sse.md (*sse2_pmovskb_zexthisi): New - define_insn_and_split for zero_extend of subreg HI of pmovskb - result. - (*sse2_pmovskb_zexthisi): Add new combine splitters for - zero_extend of not of subreg HI of pmovskb result. - -2021-01-05 Richard Sandiford - - PR target/97269 - * explow.c (convert_memory_address_addr_space_1): Handle UNSPECs - nested in CONSTs. - * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Use - convert_memory_address to convert symbolic immediates to ptr_mode - before forcing them to memory. - -2021-01-05 Richard Sandiford - - PR rtl-optimization/97144 - * recog.c (constrain_operands): Initialize matching_operand - for each alternative, rather than only doing it once. - -2021-01-05 Richard Sandiford - - PR rtl-optimization/98403 - * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Explain - why we don't remove call clobbers. - (function_info::apply_changes_to_insn): Don't attempt to add - call clobbers here. - -2021-01-05 Richard Sandiford - - PR tree-optimization/98371 - * tree-vect-loop.c (vect_reanalyze_as_main_loop): New function. - (vect_analyze_loop): If an epilogue loop appears to be cheaper - than the main loop, re-analyze it as a main loop before adopting - it as a main loop. - -2021-01-05 Rainer Orth - - PR c++/98316 - * configure.ac (NETLIBS): Determine using AX_LIB_SOCKET_NSL. - * aclocal.m4, configure: Regenerate. - * Makefile.in (NETLIBS): Define. - (BACKEND): Remove $(CODYLIB). - -2021-01-05 Jakub Jelinek - - PR rtl-optimization/98334 - * simplify-rtx.c (simplify_context::simplify_binary_operation_1): - Optimize (X - 1) * Y + Y to X * Y or (X + 1) * Y - Y to X * Y. - -2021-01-05 Bernd Edlinger - - * tree-inline.c (expand_call_inline): Restore input_location. - Return result from recursive call. - -2021-01-04 Richard Sandiford - - PR tree-optimization/95401 - * config/aarch64/aarch64-sve-builtins.cc - (gimple_folder::load_store_cookie): Use bits rather than bytes - for the alignment argument to IFN_MASK_LOAD and IFN_MASK_STORE. - * gimple-fold.c (gimple_fold_mask_load_store_mem_ref): Likewise. - * tree-vect-stmts.c (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - -2021-01-04 Richard Biener - - PR tree-optimization/98308 - * tree-vect-stmts.c (vectorizable_load): Set invariant mask - SLP vectype. - -2021-01-04 Jakub Jelinek - - PR tree-optimization/95771 - * tree-ssa-loop-niter.c (number_of_iterations_popcount): Handle types - with precision smaller than int's precision and types with precision - twice as large as long long. Formatting fixes. - -2021-01-04 Richard Biener - - PR tree-optimization/98464 - * tree-ssa-sccvn.c (vn_valueize_for_srt): Rename from ... - (vn_valueize_wrapper): ... this. Temporarily adjust vn_context_bb. - (process_bb): Adjust. - -2021-01-04 Matthew Malcomson - - PR other/98437 - * doc/invoke.texi (-fsanitize=address): Fix wording describing - clash with -fsanitize=hwaddress. - -2021-01-04 Richard Biener - - PR tree-optimization/98282 - * tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on - invariants as VN_NARY. - -2021-01-04 Richard Sandiford - - PR target/89057 - * config/aarch64/aarch64-simd.md (aarch64_combine): Accept - aarch64_simd_reg_or_zero for operand 2. Use the combinez patterns - to handle zero operands. - -2021-01-04 Richard Sandiford - - * config/aarch64/aarch64.c (offset_6bit_signed_scaled_p): New function. - (offset_6bit_unsigned_scaled_p): Fix typo in comment. - (aarch64_sve_prefetch_operand_p): Accept MUL VLs in the range - [-32, 31]. - -2021-01-04 Richard Biener - - PR tree-optimization/98393 - * tree-vect-slp.c (vect_build_slp_tree): Properly zero matches - when hitting the limit. - -2021-01-04 Richard Biener - - PR tree-optimization/98291 - * tree-vect-loop.c (vectorizable_reduction): Bypass - associativity check for SLP reductions with VF 1. - -2021-01-04 Jakub Jelinek - - PR tree-optimization/96782 - * match.pd (x == ~x -> false, x != ~x -> true): New simplifications. - -2021-01-04 Bernd Edlinger - - * collect-utils.c (collect_execute): Check dumppfx. - * collect2.c (maybe_run_lto_and_relink, do_link): Pass atsuffix - to collect_execute. - (do_link): Add new parameter atsuffix. - (main): Handle -dumpdir option. Skip one argument for - -o, -isystem and -B options. - * gcc.c (make_at_file): New helper function. - (close_at_file): Use it. - -2021-01-02 Iain Sandoe - - * config/darwin.h (MIN_LD64_NO_COAL_SECTS): Adjust. - Amend handling for LD64_VERSION fallback defaults. - -2021-01-02 Iain Sandoe - - * config.gcc: Compute default version information - from the configured target. Likewise defaults for - ld64. - * config/darwin10.h: Removed. - * config/darwin12.h: Removed. - * config/darwin9.h: Removed. - * config/rs6000/darwin8.h: Removed. - -2021-01-02 Iain Sandoe - - * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Delete. - -2021-01-02 Iain Sandoe - - * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Move from here.. - * config/darwin.h (STACK_CHECK_STATIC_BUILTIN): .. to here. - -2021-01-02 Iain Sandoe - - * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move from - here... - * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): ... to here. - -2021-01-02 Iain Sandoe - - * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move the spec - for the Darwin10 unwinder stub from here ... - * config/darwin.h (LINK_COMMAND_SPEC_A): ... to here. - -2021-01-02 Iain Sandoe - - * config/darwin.h (DSYMUTIL_SPEC): Default to DWARF - (ASM_DEBUG_SPEC):Only define if the assembler supports - stabs. - (PREFERRED_DEBUGGING_TYPE): Default to DWARF. - (DARWIN_PREFER_DWARF): Define. - * config/darwin9.h (PREFERRED_DEBUGGING_TYPE): Remove. - (DARWIN_PREFER_DWARF): Likewise - (DSYMUTIL_SPEC): Likewise. - (COLLECT_RUN_DSYMUTIL): Likewise. - (ASM_DEBUG_SPEC): Likewise. - (ASM_DEBUG_OPTION_SPEC): Likewise. - -2021-01-02 Jan Hubicka - - * cfg.c (free_block): ggc_free bb. - -2021-01-01 Jakub Jelinek - - * gcc.c (process_command): Update copyright notice dates. - * gcov-dump.c (print_version): Ditto. - * gcov.c (print_version): Ditto. - * gcov-tool.c (print_version): Ditto. - * gengtype.c (create_file): Ditto. - * doc/cpp.texi: Bump @copying's copyright year. - * doc/cppinternals.texi: Ditto. - * doc/gcc.texi: Ditto. - * doc/gccint.texi: Ditto. - * doc/gcov.texi: Ditto. - * doc/install.texi: Ditto. - * doc/invoke.texi: Ditto. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 41b6934..3a4f03c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,12135 +1,5 @@ -2021-12-28 Martin Liska - - * doc/share/gnu_free_documentation_license.rst: Replace http:// with https. - * gnat-style.texi: Likewise. - * gnat_rm.texi: Likewise. - * gnat_ugn.texi: Likewise. - -2021-12-09 Jakub Jelinek - - PR pch/71934 - * gcc-interface/decl.c (gt_pch_nx): Pass NULL as new middle argument - to op. - -2021-12-02 Eric Botcazou - - * gcc-interface/Make-lang.in (ADA_GENERATED_FILES): Add warning. - -2021-12-02 Marc Poulhiès - - * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: Remove. - -2021-12-02 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity): Do not back-annotate a - maximum size for the Esize of limited record and concurrent types. - -2021-12-02 Eric Botcazou - - * gcc-interface/gigi.h (aggregate_type_contains_array_p): Delete. - (type_has_variable_size): Declare. - * gcc-interface/decl.c (adjust_packed): Return 0 only if the field - type is an array with variable size. - * gcc-interface/utils.c (aggregate_type_contains_array_p): Make - static and remove SELF_REFERENTIAL parameter. - (type_has_variable_size): Make public. - (create_field_decl): Adjust call to aggregate_type_contains_array_p. - -2021-12-02 Justin Squirek - - * gcc-interface/decl.c (gnat_to_gnu_entity): Skip normal - processing for Itypes that are E_Class_Wide_Subtype with - Equivalent_Type set. - -2021-12-02 Eric Botcazou - - * gcc-interface/trans.c (Call_to_gnu): Rename GNAT_NAME variable - into GNAT_SUBPROG to avoid later shadowing. - -2021-12-02 Yannick Moy - - * libgnat/s-arit32.adb: Add ghost instances and lemmas. - (Scaled_Divide32): Add ghost code to prove. Minor code - modification to return early in error when divisor is zero. - * libgnat/s-arit32.ads: Add ghost instances and utilities. - (Scaled_Divide32): Add contract. - -2021-12-02 Eric Botcazou - - * sprint.adb (Source_Dump): Set both Print_Generated_Code and - Debug_Generated_Code to False at the end. - -2021-12-02 Marc Poulhiès - - * sem_aggr.adb (Resolve_Array_Aggregate): Filter out nodes not - coming from source before emitting the warning. - -2021-12-02 Yannick Moy - - * libgnat/s-aridou.adb (Log_Single_Size, Big_0): New ghost - constants. - (Lemma_Mult_Non_Negative, Lemma_Mult_Non_Positive, - Lemma_Not_In_Range_Big2xx64): New lemmas on big integers. - (Double_Divide): Remove justifications. Amend for that local - lemma Prove_Overflow_Case. - (Scaled_Divide): Remove justifications. Insert for that local - lemmas Prove_Negative_Dividend, Prove_Positive_Dividend and - Prove_Q_Too_Big, and amend local lemma Prove_Overflow. To prove - the loop invariant on (Shift mod 2 = 0), introduce local ghost - variable Iter to count loop iterations, and relate its value to - the value of Shift through Log_Single_Size, with the help of - local lemma Prove_Power. Deal with proof regression by adding - new local lemma Prove_First_Iteration and local ghost variable - D123. - * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): Remove - unnecessary Pure_Function on function as package is Pure. - -2021-12-02 Yannick Moy - - * libgnat/s-widthi.adb: Add pragma Annotate. - -2021-12-02 Yannick Moy - - * libgnat/s-widint.ads: Mark in SPARK. - * libgnat/s-widlli.ads: Likewise. - * libgnat/s-widllli.ads: Likewise. - * libgnat/s-widlllu.ads: Likewise. - * libgnat/s-widllu.ads: Disable ghost/contract. - * libgnat/s-widthi.adb: Replicate and adapt the proof from - s-widthu.adb. - * libgnat/s-widthi.ads: Add minimal postcondition. - * libgnat/s-widthu.adb: Fix comments in the modular case. - * libgnat/s-widthu.ads: Add minimal postcondition. - * libgnat/s-widuns.ads: Disable ghost/contract. - -2021-12-02 Piotr Trojanek - - * rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Suspension_Object. - * sem_util.adb (Is_Descendant_Of_Suspension_Object): Use Is_RTE. - (Is_Suspension_Object): Remove body. - * sem_util.ads (Is_Suspension_Object): Remove spec. - * snames.ads-tmpl (Name_Suspension_Object): Remove, now - unreferenced. - -2021-12-02 Piotr Trojanek - - * exp_util.adb (Append_Freeze_Action): Tune whitespace to make - the code look similar to Append_Freeze_Actions, which takes a - List_Id. - * sem_ch6.adb (Analyze_Return_Type): Cleanup with - Append_Freeze_Action. - * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Likewise. - * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise. - * contracts.adb (Add_Indirect_Call_Wrapper): Remove extra call - to Ensure_Freeze_Node. - (Add_Call_Helper): Likewise. - * freeze.adb (Check_Inherited_Conditions): Likewise. - (Attribute_Renaming): Likewise. - * sem_ch8.adb: Likewise. - -2021-12-02 Piotr Trojanek - - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst - (No_Dispatching_Calls): Fix whitespace in example code. - * gnat_rm.texi: Regenerate. - * exp_ch13.adb (Expand_N_Freeze_Entity): Replace low-level - membership test with a high-level wrapper. - * exp_ch3.adb (Expand_Freeze_Record_Type): Remove unnecessary - initialization of list of wrapper declarations and unnecessary - guard for list of their bodies (if no bodies are created then - Append_Freeze_Actions is a no-op). - -2021-12-02 Marc Poulhiès - - * exp_imgv.adb (Append_Table_To): Add new parameter to - Make_Aggregate call. - * gen_il-fields.ads (Opt_Field_Enum): - Add Is_Parenthesis_Aggregate and Is_Enum_Array_Aggregate. - * gen_il-gen-gen_nodes.adb (Union): Add Is_Enum_Array_Aggregate - and Is_Parenthesis_Aggregate field to N_Aggregate. - * libgnarl/s-interr.adb (User_Handler, User_Entry, Blocked) - (Ignored, Last_Unblocker, Server_ID): Likewise. - * libgnarl/s-intman.ads (Keep_Unmasked, Reserve): Likewise. - * libgnarl/s-intman__posix.adb (Exception_Interrupts) - (Initialize): Likewise. - * libgnarl/s-mudido__affinity.adb (Create): Likewise. - * libgnarl/s-osinte__linux.ads (Unmasked, Reserved): Likewise. - * libgnarl/s-taprop__linux.adb (Create_Task, Set_Task_Affinity) - * libgnarl/s-tasdeb.adb (Trace_On): Likewise. - * libgnarl/s-tasdeb.ads (Known_Tasks): Likewise. - * libgnarl/s-tasinf__linux.ads (Any_CPU, No_CPU): Likewise. - * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise. - * libgnarl/s-taskin.ads (Ada_Task_Control_Block): Likewise. - * libgnarl/s-tasren.adb (Default_Treatment) - (New_State): Likewise. - * libgnarl/s-tassta.adb (Trace_Unhandled_Exception_In_Task): - Likewise. - * libgnarl/s-tataat.adb (Index_Array): Likewise. - * libgnarl/s-tpobop.adb (New_State): Likewise. - * libgnat/a-calend.adb (Cumulative_Days_Before_Month) - (Leap_Second_Times): Likewise. - * libgnat/a-calend.ads (Days_In_Month): Likewise. - * libgnat/a-cfinve.adb (Insert): Likewise. - * libgnat/a-chahan.adb (Char_Map): Likewise. - * libgnat/a-chtgbo.adb (Clear): Likewise. - * libgnat/a-cobove.adb ("&", Insert, To_Vector): Likewise. - * libgnat/a-cofove.adb (Insert, To_Vector): Likewise. - * libgnat/a-cohata.ads (Hash_Table_Type): Likewise. - * libgnat/a-coinve.adb (Merge, Insert, Insert_Space): Likewise. - * libgnat/a-convec.adb (Insert, To_Vector): Likewise. - * libgnat/a-coprnu.ads (Primes): Likewise. - * libgnat/a-direct.adb (Empty_String): Use regular "" instead - of aggregate. - (Start_Search_Internal, Name_Case_Equivalence, Search) - (Start_Search, Start_Search_Internal): Use bracket for - aggregate. - * libgnat/a-direct.ads (Start_Search,Search): Likewise. - * libgnat/a-direio.adb (Zeroes): Likewise. - * libgnat/a-nbnbre.adb (Leading_Padding, Trailing_Padding) - (Numerator_Image): Likewise. - * libgnat/a-ngrear.adb (Jacobi): Likewise. - * libgnat/a-stbubo.adb (Get_UTF_8): Likewise. - * libgnat/a-stbufo.adb (Put): Likewise. - * libgnat/a-stbuun.adb (Get_UTF_8): Likewise. - * libgnat/a-stbuut.adb (Put_7bit, Put_Character) - (Put_Wide_Character, Put_Wide_Wide_Character): Likewise. - * libgnat/a-stmaco.ads (Control_Set,Graphic_Set,Letter_Set) - (Lower_Set, Upper_Set, Basic_Set, Decimal_Digit_Set) - (Hexadecimal_Digit_Set, Alphanumeric_Set, Special_Set) - (ISO_646_Set): Likewise. - * libgnat/a-strbou.ads (Insert, Tail, "*", Replicate) - (Null_Bounded_String): Likewise. - * libgnat/a-strfix.ads (Head, Tail): Likewise. - * libgnat/a-strmap.adb (To_Domain, Lemma_Is_Sorted): Likewise. - * libgnat/a-strmap.ads (Null_Set): Likewise. - * libgnat/a-strsup.adb (Super_Head, Super_Replicate) - (Super_Tail): Likewise. - * libgnat/a-strsup.ads (Super_Head, Super_Tail, Times) - (Super_Replicate): Likewise. - * libgnat/a-sttebu.adb (Put_UTF8, Wide_Put_UTF_16): Likewise. - * libgnat/a-stuten.ads (BOM_16): Likewise. - * libgnat/a-stwibo.ads (Null_Bounded_Wide_String): Likewise. - * libgnat/a-stwima.ads (Null_Range): Likewise. - * libgnat/a-stwisu.adb (Super_Head, Super_Replicate) - (Super_Tail): Likewise. - * libgnat/a-stzbou.ads - (Null_Bounded_Wide_Wide_String): Likewise. - * libgnat/a-stzmap.ads (Null_Range): Likewise. - * libgnat/a-stzsup.adb (Super_Head, Super_Replicate) - (Super_Tail, Super_Trim): Likewise. - * libgnat/a-swmwco.ads (Control_Ranges, Graphic_Ranges) - (Letter_Ranges, Lower_Ranges, Upeer_Ranges, Basic_Ranges) - (Decimal_Digit_Ranges, Hexadecimal_Digit_Ranges) - (Alphanumeric_Ranges, Special_Graphic_Ranges, ISO_646_Ranges) - (Character_Ranges, Lower_Case_Mapping, Upper_Case_Mapping) - (Basic_Mapping): Likewise. - * libgnat/a-szmzco.ads (Control_Ranges, Graphic_Ranges) - (Letter_Ranges, Lower_Ranges, Upeer_Ranges, Basic_Ranges) - (Decimal_Digit_Ranges, Hexadecimal_Digit_Ranges) - (Alphanumeric_Ranges, Special_Graphic_Ranges, ISO_646_Ranges) - (Character_Ranges, Lower_Case_Mapping, Upper_Case_Mapping) - (Basic_Mapping): Likewise. - * libgnat/a-teioed.adb (Format_Number): Likewise. - * libgnat/a-wtedit.adb (Format_Number): Likewise. - * libgnat/a-ztedit.adb (Format_Number): Likewise. - * libgnat/g-arrspl.adb (Separators): Likewise. - * libgnat/g-catiio.adb (Month_Name_To_Number): Likewise. - * libgnat/g-cgideb.adb (NL, Title): Likewise. - * libgnat/g-comlin.adb (Internal_Initialize_Option_Scan) - (Display_Section_Help): Likewise. - * libgnat/g-comlin.ads (Opt_Parser_Data): Likewise. - * libgnat/g-debpoo.adb (Set_Dead_Beef, Dump): Likewise. - * libgnat/g-expect.adb (Expect, Has_Process, Send): Likewise. - * libgnat/g-forstr.adb ("+", Get_Formatted): Likewise. - * libgnat/g-memdum.adb (Dump): Likewise. - * libgnat/g-rannum.adb (Image): Likewise. - * libgnat/g-sechas.adb (Final, HMAC_Initial_Context): Likewise. - * libgnat/g-sehamd.ads (Initial_State): Likewise. - * libgnat/g-sehash.ads (Initial_State): Likewise. - * libgnat/g-sercom.ads (Data_Rate_Value): Likewise. - * libgnat/g-sercom__linux.adb (C_Data_Rate, C_Bits, C_Stop_Bits) - (C_Parity): Likewise. - * libgnat/g-shsh32.ads (K, Transform): Likewise. - * libgnat/g-shsh64.ads (K, Transform): Likewise. - * libgnat/g-socket.adb (Levels, Modes, Shutmodes, Requests) - (Options, Flags, Get_Name_Info, Image): Likewise. - * libgnat/g-socket.ads (Inet_Addr_Bytes_Length, Inet_Addr_Type) - (IPv4_To_IPv6_Prefix, Any_Inet_Addr, Any_Inet6_Addr) - (No_Inet_Addr, Broadcast_Inet_Addr, Loopback_Inet_Addr) - (Loopback_Inet6_Addr, Unspecified_Group_Inet_Addr) - (All_Hosts_Group_Inet_Addr, All_Routers_Group_Inet_Addr) - (Unspecified_Group_Inet6_Addr, All_Hosts_Group_Inet6_Addr) - (All_Routers_Group_Inet6_Addr): Likewise. - * libgnat/g-socpol.adb (To_C, Status, Get_Events): Likewise. - * libgnat/g-socpol.ads (Input_Event, Output_Event, Both_Event) - (Error_Event): Likewise. - * libgnat/g-sothco.ads (Families, Lengths, Sockaddr): Likewise. - * libgnat/g-spipat.adb (OK_For_Simple_Arbno): Likewise. - * libgnat/i-cobol.ads (Ada_To_COBOL, COBOL_To_Ada): Likewise. - * libgnat/i-pacdec.adb (Packed_Byte): Likewise. - * libgnat/i-pacdec.ads (Packed_Size): Likewise. - * libgnat/s-bitops.adb (Masks): Likewise. - * libgnat/s-crc32.adb (Table): Likewise. - * libgnat/s-gearop.adb (Unit_Matrix, Unit_Vector): Likewise. - * libgnat/s-genbig.adb (Out_data, Zero_Data, Big_Exp, Big_Mul) - (To_Bignum, To_String, Image, Leading_Padding): Likewise. - * libgnat/s-htable.adb (Reset): Likewise. - * libgnat/s-imgcha.adb (C0, C1): Likewise. - * libgnat/s-powflt.ads (Powten): Likewise. - * libgnat/s-powlfl.ads (Powten): Likewise. - * libgnat/s-powllf.ads (Powten): Likewise. - * libgnat/s-rannum.adb (Matrix_A, Random_Float_Template, Image): - Likewise. - * libgnat/s-rannum.ads (Generator): Likewise. - * libgnat/s-regexp.adb (Compile,Create_Primary_Table) - (Create_Primary_Table_Glob, Create_Secondary_Table, Compile): - Likewise. - * libgnat/s-regpat.adb (Bit_Conversion, Set, Dump_Until) - (Dump_Current, Dump_Error, Try, Reset_Class): Likewise. - * libgnat/s-regpat.ads (Pattern_Matcher, Never_Match): Likewise. - * libgnat/s-scaval__128.adb (Initialize): Likewise. - * libgnat/s-statxd.adb (Fields, W_F, W_LF) - (W_LLF, W_SF): Likewise. - * libgnat/s-stausa.adb (Initialize, Initialize_Analyzer) - (Output_Results): Likewise. - * libgnat/s-strops.adb (Str_Concat_SC): Likewise. - * libgnat/s-valrea.adb (Maxexp32, Maxexp64, Maxexp80): Likewise. - * libgnat/s-wchcon.ads (WC_Encoding_Letters) - (WC_Longest_Sequences): Likewise. - * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set - Is_Parenthesis_Aggregate when creating a N_Aggregate using - parenthesis. - * scng.adb (Scan): Lower version needed for bracket syntax from - Extensions to Ada2022. - * sem_aggr.adb (Resolve_Aggregate): Raise error for container - aggregate using parenthesis instead of bracket. - (Resolve_Array_Aggregate): Raise warning for aggregate using - parenthesis in Ada2022 with obsolescent warning enabled and not - in GNAT mode. - * sem_util.ads (Check_Ambiguous_Aggregate): Typo fix in comment. - -2021-12-02 Piotr Trojanek - - * libgnarl/a-taside.ads (Activation_Is_Complete): Add pragma - Inline. - -2021-12-02 Eric Botcazou - - * sem_ch12.adb (Freeze_Package_Instance): Consistently consider - the freeze node of the parent and use large inequality for - Slocs. - (Freeze_Subprogram_Instance): Likewise. - (Insert_Freeze_Node_For_Instance): For an instance in a package - spec with no source body that immediately follows, consider the - body of the package for the placement of the freeze node and go - to the outer level if there is no such body. - -2021-12-02 Piotr Trojanek - - * exp_ch13.ads (Expand_N_Freeze_Entity): Add note about a SPARK - twin. - * exp_ch3.ads (Freeze_Type): Likewise. - * exp_spark.adb (Expand_SPARK_N_Freeze_Entity): Mimic what is - done in Freeze_Entity. - (SPARK_Freeze_Type): Mimic what is done in Freeze_Type; add call - to Make_Predefined_Primitive_Eq_Spec. - -2021-12-02 Piotr Trojanek - - * exp_ch3.adb (Make_Predefined_Primitive_Specs): Move code for - spec of dispatching equality. - (Predefined_Primitive_Bodies): Move code for body if dispatching - equality. - (Make_Predefined_Primitive_Eq_Spec): Separated code for spec of - dispatching equality. - (Predefined_Primitive_Eq_Body): Separated code for body of - dispatching equality. - * exp_ch3.ads: Update. - -2021-12-02 Piotr Trojanek - - * libgnat/s-valuti.ads (Scan_Natural_Ghost): Split body from - spec and put it into private part, so that GNATprove can pick it - both when analysing the unit and its clients. - -2021-12-02 Piotr Trojanek - - * exp_aggr.adb, exp_ch6.adb, par-ch4.adb, sem_ch13.adb: Remove - extra space after ":=" symbol. - * gen_il-gen.adb: Likewise; add missing headerbox. - -2021-12-02 Richard Kenner - - * rtsfind.adb (Maybe_Add_With): Ensure that the added "with" is - never marked as ignored ghost code. - -2021-12-02 Piotr Trojanek - - * freeze.adb (Freeze_Entity): Replace First_Entity/Next_Entity - with First_Component/Next_Component; remove condition with Ekind - equal to E_Component. - * sem_ch13.adb (Check_Record_Representation_Clause): Likewise - for component-or-discriminant. - * sem_util.adb (Is_Fully_Initialized_Type): Likewise; rename Ent - to a more specific Comp. - * sem_warn.adb (Check_References): Likewise. - -2021-12-02 Piotr Trojanek - - * sem_warn.adb (Warn_On_Unassigned_Out_Parameter): Move inner - loop at the beginning of subprogram, so it is executed only - once; fix order in the "add an ad hoc" phrase. - -2021-12-02 Piotr Trojanek - - * sem_warn.adb (Check_References): Remove redundant condition. - -2021-12-02 Doug Rupp - - * vxworks7-cert-rtp-link__ppcXX.spec: New file. - * Makefile.rtl: Use it. - -2021-12-02 Yannick Moy - - * libgnat/i-c.adb: Add ghost code. - (C_Length_Ghost): New ghost functions to query the C length of a - string. - (To_Ada): Insert constant Count_Cst where needed to comply with - SPARK. Homogeneize code between variants for char, wchar_t, - char16_t and char32_t. Use char16_nul and char32_nul - systematically instead of their value. Fix the type of index To - to be Integer instead of Positive, to avoid a possible range - check failure on an empty Target. Insert an exit statement to - avoid a possible overflow failure when the last index in Target - is Natural'Last (possibly on a small string as well). - * libgnat/i-c.ads: Add contracts. - (C_Length_Ghost): New ghost functions to query the C length of a - string. - * libgnat/s-os_lib.adb: Remove pragma Compiler_Unit_Warning - causing a spurious error during compilation of GNAT, as this - pragma is not needed anymore now that we bootstrap (stage1) with - the base compiler runtime. - -2021-12-02 Piotr Trojanek - - * libgnarl/a-taside.ads (Activation_Is_Complete): Add - precondition. - -2021-12-02 Piotr Trojanek - - * sem_ch3.adb (Check_Derived_Type): Rename local variables; fix - style in comment. - -2021-12-02 Yannick Moy - - * libgnat/s-valboo.adb (First_Non_Space_Ghost): Move to - utilities. - (Value_Boolean): Prefix call to First_Non_Space_Ghost. - * libgnat/s-valboo.ads (First_Non_Space_Ghost): Move to - utilities. - (Is_Boolean_Image_Ghost, Value_Boolean): Prefix call to - First_Non_Space_Ghost. - * libgnat/s-valuer.adb (Scan_Raw_Real): Adapt to change of - function Scan_Exponent to procedure. - * libgnat/s-valueu.adb (Scan_Raw_Unsigned): Adapt to change of - function Scan_Exponent to procedure. - * libgnat/s-valuti.adb (First_Non_Space_Ghost): Function moved - here. - (Last_Number_Ghost): New ghost query function. - (Scan_Exponent): Change function with side-effects into - procedure, to mark in SPARK. Prove procedure wrt contract. - Change type of local P to avoid possible range check failure (it - is not known whether this can be activated by callers). - (Scan_Plus_Sign, Scan_Sign): Change type of local P to avoid - possible range check failure. Add loop invariants and assertions - for proof. - (Scan_Trailing_Blanks): Add loop invariant. - (Scan_Underscore): Remove SPARK_Mode Off. - * libgnat/s-valuti.ads (First_Non_Space_Ghost): Function moved - here. - (Last_Number_Ghost, Only_Number_Ghost, Is_Natural_Format_Ghost, - Scan_Natural_Ghost): New ghost query functions. - (Scan_Plus_Sign, Scan_Sign, Scan_Exponent, Scan_Trailing_Blanks, - Scan_Underscore): Add functional contracts. - -2021-12-02 Yannick Moy - - * libgnat/s-imgboo.adb: Mark in SPARK. - * libgnat/s-imgboo.ads: Mark in SPARK. Change from Pure to - Preelaborate unit in order to be able to depend on - System.Val_Bool. - (Image_Boolean): Functionally specify the result of the - procedure by calling System.Val_Bool.Value_Boolean on the - result. - * libgnat/s-valboo.adb: Mark in SPARK. - (First_Non_Space_Ghost): New ghost function. - (Value_Boolean): Change type of L and F to avoid possible range - check failure on empty Str. - * libgnat/s-valboo.ads: Mark in SPARK. Duplicate with-clause - from body in the spec to be able to call - System.Val_Util.Only_Space_Ghost in the contract. - (First_Non_Space_Ghost): New ghost function computing the first - non-space character in a string. - (Is_Boolean_Image_Ghost): New ghost function computing whether a - string is the image of a boolean value. - (Value_Boolean): Add in precondition the conditions to avoid - raising Constraint_Error. This precondition is never executed, - and only used in proof, thanks to the use of pragma - Assertion_Policy. Given that precondition, the postcondition can - simply check the first non-space character to decide whether - True or False is read. - * libgnat/s-valuti.adb: Mark in SPARK, but use SPARK_Mode Off on - all subprograms not yet proved. - (Bad_Value): Annotate expected exception. - (Normalize_String): Rewrite to avoid possible overflow when - incrementing F in the first loop. Add loop invariants. - * libgnat/s-valuti.ads: Mark in SPARK. - (Bad_Value): Add Depends contract to avoid warning on unused S. - (Only_Space_Ghost): New ghost function to query if string has - only space in the specified range. - (Normalize_String): Add functional contract. - (Scan_Exponent): Mark spec as not in SPARK as this function has - side-effects. - -2021-12-02 Pascal Obry - - * libgnat/g-socket.ads (Max_Name_Length): Initialize with - NI_MAXHOST. - -2021-12-02 Pascal Obry - - * libgnat/g-socket.ads: Minor style fix. - -2021-12-01 Eric Botcazou - - * einfo.ads (E_Decimal_Fixed_Point_Subtype): Fix pasto. - * freeze.adb (Freeze_Fixed_Point_Type): Retrieve the underlying type - of the first subtype and do not use a stale value of Small_Value. - * sem_res.adb (Resolve_Real_Literal): In the case of a fixed-point - type, make sure that the base type is frozen and use its Small_Value - to compute the corresponding integer value of the literal. - -2021-12-01 Piotr Trojanek - - * libgnat/a-cbdlli.ads (List): Remove extra space in Aggregate - aspect. - -2021-12-01 Gary Dismukes - - * doc/gnat_rm/implementation_defined_pragmas.rst: Add - documentation of the new form of formal subprogram default in - the section on language extensions (pragma Extensions_Allowed). - * gnat_rm.texi: Regenerate. - * gen_il-gen-gen_nodes.adb: Add Expression as a syntactic field - of N_Formal_(Abstract|Concrete)_Subprogram_Declaration nodes. - * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing - support for the new default of a parenthesized expression for - formal functions. Issue an error when extensions are not - allowed, suggesting use of -gnatX. Update comment with extended - syntax for SUBPROGRAM_DEFAULT. - * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): Issue an - error when an expression default is given for an abstract formal - function. When a default expression is present for a formal - function, install the function's formals and preanalyze the - expression. - (Instantiate_Formal_Subprogram): Fix typo in RM paragraph in a - comment. When a formal function has a default expression, - create a body for the function that will evaluate the expression - and will be called when the default applies in an instantiation. - The implicit function is marked as inlined and as having - convention Intrinsic. - -2021-12-01 Eric Botcazou - - * sem_elab.adb (Previous_Suitable_Construct): New function declared - in the Early_Call_Region_Processor package. - (Find_ECR): Call it to get the previous node at the start. - (Include): Call it to get the previous node during the traversal. - -2021-12-01 Bob Duff - - * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not - follow the Corresponding_Spec pointer if Acts_As_Spec is True, - because Corresponding_Spec is Empty in that case, so we would - exit the loop prematurely, and incorrectly think we are not - inside a generic unit when we are. - -2021-12-01 Bob Duff - - * par-ch3.adb (P_Access_Type_Definition): If Not_Null_Subtype is - True, give an error in the access-to-subprogram cases. - -2021-12-01 Eric Botcazou - - * sem_ch12.adb (Freeze_Package_Instance): Move up. - -2021-12-01 Eric Botcazou - - * sem_ch12.adb (Freeze_Subprogram_Body): Rename into... - (Freeze_Subprogram_Instance): ...this and change the name of the - first parameter and local variables for the sake of consistency. - (Insert_Freeze_Node_For_Instance): Use local variable Par_Inst. - (Install_Body): Rename into... - (Freeze_Package_Instance): ...this, remove first parameter and - change the name of local variables for the sake of consistency. - Do not deal with the special case of incomplete actual types here - and do not insert the body. - (Instantiate_Package_Body): Deal with the special case of incomplete - actual types here and insert the body. Call Freeze_Package_Instance - only if expansion is done. - (Instantiate_Subprogram_Body): Minor consistency tweak. - -2021-12-01 Etienne Servais - - * sem_aggr.adb (Resolve_Aggregate): Fix typo in comment. - -2021-12-01 Steve Baird - - * sem_case.adb (Check_Bindings): Provide a second strategy for - implementing bindings and choose which strategy to use for a - given binding. The previous approach was to introduce a new - object and assign the bound value to the object. The new - approach is to introduce a renaming of a dereference of an - access value that references the appropriate subcomponent, so no - copies are made. The original strategy is still used if the - type of the object is elementary. When the renaming approach is - used, the initialization of the access value is not generated - until expansion. Until this missing initialization is added, the - tree looks like a known-at-compile-time dereference of a null - access value: Temp : Some_Access_Type; Obj : Designated_Type - renames Temp.all; This leads to problems, so a bogus initial - value is provided here and then later deleted during expansion. - (Check_Composite_Case_Selector): Disallow a case selector - expression that requires finalization. Note that it is ok if the - selector's type requires finalization, as long as the expression - itself doesn't have any "newly constructed" parts. - * exp_ch5.adb (Pattern_Match): Detect the case where analysis of - a general (i.e., composite selector type) case statement chose - to implement a binding as a renaming rather than by making a - copy. In that case, generate the assignments to initialize the - access-valued object whose designated value is later renamed - (and remove the bogus initial value for that object that was - added during analysis). - * sem_util.ads, sem_util.adb: Add new function - Is_Newly_Constructed corresponding to RM 4.4 term. - -2021-12-01 Richard Kenner - - * frontend.adb (Frontend): Do unnesting after ignored ghost code - has been removed. - * inline.adb (Analyze_Inlined_Bodies): Don't put ignored ghost - entities on inlined subprogram list. - -2021-12-01 Ghjuvan Lacambre - - * libgnarl/s-tasren.adb (Timed_Task_Entry_Call): Replace - Defer_Abort and Undefer_Abort with Defer_Abort_Nestable and - Undefer_Abort_Nestable. - -2021-12-01 Ghjuvan Lacambre - - * exp_ch7.adb (Cleanup_Record): Don't process parent. - -2021-12-01 Justin Squirek - - * sem_attr.adb (Type_Key): Avoid premature use warnings when the - prefix is a generic actual. - -2021-12-01 Richard Kenner - - * gnat1drv.adb (Gnat1drv): Force generation of object file if - compilation unit is an ignored ghost. - -2021-12-01 Patrick Bernardi - - * tracebak.c: Add AArch64 RTEMS support. - -2021-12-01 Patrick Bernardi - - * init.c: Add __gnat_error_handler and __gnat_install_handler - for RTEMS. - -2021-12-01 Eric Botcazou - - * sprint.ads (Source_Dump): Fix typo in comment. - * sprint.adb (Source_Dump): Set Dump_Freeze_Null for both -gnatG - and -gnatD. - * switch-c.adb (Scan_Front_End_Switches) <'D'>: Remove obsolete - kludge. - -2021-12-01 Yannick Moy - - * einfo.ads (Direct_Primitive_Operations): Update the doc to - indicate that this field is used for all types now. - * sem_ch4.adb (Try_Object_Operation): Add parameter - Allow_Extensions set to True to pretend that extensions are - allowed. - * sem_ch4.ads: Same. - * sem_ch6.adb: Do not require Extensions_Allowed. - * sem_ch8.adb (Find_Selected_Component): Remove duplicate - "where" in comment. Improve the error messages regarding use of - prefixed calls. - -2021-12-01 Yannick Moy - - * sem_util.adb (Is_Extended_Precision_Floating_Point_Type): New - function. - * sem_util.ads (Is_Extended_Precision_Floating_Point_Type): New - function. - -2021-12-01 Piotr Trojanek - - * exp_aggr.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, - sem_elim.adb, sem_util.adb: Replace uses of Subprogram_Kind with - Is_Subprogram. - -2021-12-01 Piotr Trojanek - - * libgnat/a-coinho.ads: Sync whitespace with - a-coinho__shared.ads. - * libgnat/a-coinho__shared.ads: Sync whitespace with - a-coinho.ads. - -2021-12-01 Piotr Trojanek - - * Makefile.rtl (GNATRTL_TASKING_OBJS): Sort. - (GNATRTL_NONTASKING_OBJS): Sort. - -2021-12-01 Piotr Trojanek - - * Makefile.rtl: Remove extra whitespace in special compilation - rules. - -2021-12-01 Piotr Trojanek - - * doc/gnat_rm/the_gnat_library.rst (System.Atomic_Counters): - Sync description with comment in s-atocou.ads. - * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2021-12-01 Yannick Moy - - * sem_ch10.adb (Is_Private_Library_Unit): Move query to - Sem_Util for sharing. - * sem_ch7.adb (Analyze_Package_Body_Helper): Add continuation - message. - * sem_prag.adb (Analyze_Part_Of): Call new function - Is_Private_Library_Unit. - (Check_Valid_Library_Unit_Pragma): Specialize error messages on - misplaced pragmas. - (Analyze_Refined_State_In_Decl_Part): Recognize missing Part_Of - on object in private part. - * sem_util.adb (Check_State_Refinements): Add continuation - message. - (Find_Placement_In_State_Space): Fix detection of placement, - which relied wrongly on queries In_Package_Body/In_Private_Part - which do not provide the right information here for all cases. - (Is_Private_Library_Unit): Move query here for sharing. - * sem_util.ads (Is_Private_Library_Unit): Move query here for - sharing. - -2021-12-01 Gary Dismukes - - * sem_ch3.adb (Analyze_Full_Type_Declaration): If the full type - has a primitives list but its base type doesn't, set the base - type's list to the full type's list (covers certain constrained - cases, such as for arrays). - (Analyze_Incomplete_Type_Decl): Unconditionally initialize an - incomplete type's primitives list. - (Analyze_Subtype_Declaration): Unconditionally set a subtype's - primitives list to the base type's list, so the lists are - shared. - (Build_Derived_Private_Type): Unconditionally initialize a - derived private type's list to a new empty list. - (Build_Derived_Record_Type): Unconditionally initialize a - derived record type's list to a new empty list (now a single - call for tagged and untagged cases). - (Derived_Type_Declaration): Unconditionally initialize a derived - type's list to a new empty list in error cases (when Parent_Type - is undefined or illegal). - (Process_Full_View): Unconditionally copy the primitive - operations from the private view to the full view (rather than - conditioning it on whether extensions are enabled). - * sem_ch7.adb (New_Private_Type): Unconditionally initialize an - untagged private type's primitives list to a new empty list. - -2021-12-01 Etienne Servais - - * libgnat/a-cbhase.adb, libgnat/a-cborse.adb, - libgnat/a-cihase.adb, libgnat/a-ciorse.adb, - libgnat/a-cohase.adb, libgnat/a-coorse.adb - (Constant_Reference,Reference_Preserving_Key): Refactor using - the equivalence stated in the RM. - -2021-12-01 Piotr Trojanek - - * exp_ch3.adb (Make_Eq_Body): Refactor to avoid appending to an - empty list; also, when exiting early we will not create any - list; fix style in comment. - -2021-12-01 Piotr Trojanek - - * repinfo.adb (List_Entities): Simplify detection of entries; - refactor potentially redundant comparison. - -2021-11-29 Eric Gallager - - PR other/103021 - * gcc-interface/Make-lang.in: Use ETAGS variable in - TAGS target. - -2021-11-15 Iain Sandoe - - * gcc-interface/Makefile.in: Use DSYMUTIL_FOR_TARGET in - libgnat/libgnarl recipies. - -2021-11-10 Eric Botcazou - - * gcc-interface/ada-tree.h (DECL_STUBBED_P): Delete. - * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set it. - * gcc-interface/trans.c (Call_to_gnu): Use GNAT_NAME local variable - and adjust accordingly. Replace test on DECL_STUBBED_P with direct - test on Convention and move it down in the processing. - -2021-11-10 Bob Duff - - * scng.adb (Check_Bidi): New procedure to give warning. Note - that this is called only for non-ASCII characters, so should not - be an efficiency issue. - (Slit): Call Check_Bidi for wide characters in string_literals. - (Minus_Case): Call Check_Bidi for wide characters in comments. - (Char_Literal_Case): Call Check_Bidi for wide characters in - character_literals. Move Accumulate_Checksum down, because - otherwise, if Err is True, the Code is uninitialized. - * errout.ads: Make the obsolete nature of "Insertion character - ?" more prominent; one should not have to read several - paragraphs before finding out that it's obsolete. - -2021-11-10 Bob Duff - - * repinfo.adb (List_Component_Layout): Initialize Sbit. - -2021-11-10 Piotr Trojanek - - * exp_ch4.adb (Expand_Array_Equality): Fix inconsistent casing - in comment about the template for expansion of array equality; - now we use lower case for true/false/boolean. - (Handle_One_Dimension): Fix comment about the template for - expansion of array equality. - -2021-11-10 Bob Duff - - * repinfo.adb (List_Common_Type_Info, List_Object_Info): Add - check for In_Generic_Scope. - (List_Component_Layout): Check for known static values. - * sem_ch13.adb (Check_Record_Representation_Clause): Add check - for In_Generic_Scope. - -2021-11-10 Etienne Servais - - * aspects.adb, aspects.ads (Is_Aspect_Id): New function. - * namet-sp.ads, namet-sp.adb (Aspect_Spell_Check, - Attribute_Spell_Check): New Functions. - * par-ch13.adb (Possible_Misspelled_Aspect): Removed. - (With_Present): Use Aspect_Spell_Check, use Is_Aspect_Id. - (Get_Aspect_Specifications): Use Aspect_Spell_Check, - Is_Aspect_Id, Bad_Aspect. - * par-sync.adb (Resync_Past_Malformed_Aspect): Use Is_Aspect_Id. - * sem_ch13.adb (Check_One_Attr): Use Is_Aspect_Id. - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Introduce the Process_No_Specification_Of_Aspect, emit a warning - instead of an error on unknown aspect, hint for typos. - Introduce Process_No_Use_Of_Attribute to add spell check for - attributes too. - (Set_Error_Msg_To_Profile_Name): Use Is_Aspect_Id. - * sem_util.adb (Bad_Attribute): Use Attribute_Spell_Check. - (Bad_Aspect): New function. - * sem_util.ads (Bad_Aspect): New function. - -2021-11-10 Patrick Bernardi - - * libgnarl/s-taskin.adb (Initialize_ATCB): Initialize - T.Common.Current_Priority to Priority'First. - * libgnarl/s-taskin.ads (Unspecified_Priority): Redefined as -1. - * libgnat/system-rtems.ads: Start priority range from 1, as 0 is - reserved by the operating system. - -2021-11-10 Pierre-Alexandre Bazin - - * libgnat/a-nbnbig.ads: Mark the unit as Pure. - * libgnat/s-aridou.adb: Add contracts and ghost code for proof. - (Scaled_Divide): Reorder operations and use of temporaries in - two places to facilitate proof. - * libgnat/s-aridou.ads: Add full functional contracts. - * libgnat/s-arit64.adb: Mark in SPARK. - * libgnat/s-arit64.ads: Add contracts similar to those from - s-aridou.ads. - * rtsfind.ads: Document the limitation that runtime units - loading does not work for private with-clauses. - -2021-11-10 Piotr Trojanek - - * exp_ch3.adb (Make_Eq_Body): Adapt call to - Expand_Record_Equality. - * exp_ch4.ads, exp_ch4.adb (Expand_Composite_Equality): Remove - Bodies parameter; adapt comment; fix style in body; adapt calls - to Expand_Record_Equality. - (Expand_Array_Equality): Adapt calls to - Expand_Composite_Equality. - (Expand_Record_Equality): Remove Bodies parameter; adapt - comment; adapt call to Expand_Composite_Equality. - * exp_ch8.adb (Build_Body_For_Renaming): Adapt call to - Expand_Record_Equality. - -2021-11-10 Piotr Trojanek - - * exp_ch4.adb (Expand_Composite_Equality): Handle arrays inside - records just like scalars; only records inside records need - dedicated handling. - -2021-11-10 Eric Botcazou - - * sem_type.ads (Has_Compatible_Type): Add For_Comparison parameter. - * sem_type.adb (Has_Compatible_Type): Put back the reversed calls - to Covers guarded with For_Comparison. - * sem_ch4.adb (Analyze_Membership_Op) : Remove new - reversed call to Covers and set For_Comparison to true instead. - (Find_Comparison_Types) : Likewise - (Find_Equality_Types) : Likewise. - -2021-11-10 Yannick Moy - - * Makefile.rtl: Add unit. - * libgnat/a-nbnbin__ghost.adb: Move... - * libgnat/a-nbnbig.adb: ... here. Mark ghost as ignored. - * libgnat/a-nbnbin__ghost.ads: Move... - * libgnat/a-nbnbig.ads: ... here. Add comment for purpose of - this unit. Mark ghost as ignored. - * libgnat/s-widthu.adb: Use new unit. - * sem_aux.adb (First_Subtype): Adapt to the case of a ghost type - whose freeze node is rewritten to a null statement. - -2021-11-10 Etienne Servais - - * libgnat/s-regexp.adb (Check_Well_Formed_Pattern): Fix - Constraint_Error on missing close bracket. - -2021-11-10 Piotr Trojanek - - * exp_ch4.adb (Expand_Array_Equality): Remove check of the array - bound being an N_Range node; use Type_High_Bound/Type_Low_Bound, - which handle all kinds of array bounds. - -2021-11-10 Etienne Servais - - * sem_ch3.adb (Derived_Type_Declaration): Introduce a subprogram - for tree transformation. If a tree transformation is performed, - then warn that it would be better to reorder the interfaces. - -2021-11-10 Eric Botcazou - - * sem_ch4.adb (Find_Non_Universal_Interpretations): Add guard. - -2021-11-10 Yannick Moy - - * par-ch4.adb (P_Primary): Adapt test for getting error message - on missing parentheses. - -2021-11-09 Ghjuvan Lacambre - - * freeze.adb (Check_Inherited_Conditions): Initialize - Ifaces_List. - -2021-11-09 Eric Botcazou - - * sem_ch4.adb (Analyze_Membership_Op) : Handle - both overloaded and non-overloaded cases. - : Do a reversed call to Covers if the outcome of the - call to Has_Compatible_Type is false. - Simplify implementation after change to Find_Interpretation. - (Analyze_User_Defined_Binary_Op): Be prepared for previous errors. - (Find_Comparison_Types) : Do a reversed call to - Covers if the outcome of the call to Has_Compatible_Type is false. - (Find_Equality_Types) : Likewise. - * sem_type.adb (Has_Compatible_Type): Remove the reversed calls to - Covers. Add explicit return on all paths. - -2021-11-09 Justin Squirek - - * gnatls.adb (Initialize_Default_Project_Path): Remove early - abort on invalid path. - -2021-11-09 Eric Botcazou - - * sprint.adb (Sprint_Node_Actual) : Also print the - Procedure_To_Call field if it is present. - : Also print the Storage_Pool and - Procedure_To_Call fields if they are present. - : Likewise. - : Likewise. - -2021-11-09 Patrick Bernardi - - * libgnarl/s-tasini.adb (Check_Abort_Status): Don't return 1 if - the task is aborting. - * libgnarl/s-tasini.ads (Check_Abort_Status): Update comment. - -2021-11-09 Patrick Bernardi - - * Makefile.rtl: Add ATOMICS_TARGET_PAIRS and - ATOMICS_BUILTINS_TARGET_PAIRS to LIBGNAT_TARGET_PAIRS for - aarch64-rtems. - -2021-11-09 Justin Squirek - - * exp_util.adb (Ancestor_Primitive): Prevent return of an - subprogram alias when the ancestor primitive of the alias is the - same as Subp. - -2021-11-09 Justin Squirek - - * exp_ch4.adb (Tagged_Membership): Use corresponding record type - when expanding a tagged membership test on protected types. - -2021-11-09 Alexandre Oliva - - * strub.adb, strub.ads: New files. - * exp_attr.adb (Access_Cases): Copy strub mode to subprogram type. - * exp_disp.adb (Expand_Dispatching_Call): Likewise. - * freeze.adb (Check_Inherited_Conditions): Check that strub modes - match overridden subprograms and interfaces. - (Freeze_All): Renaming declarations too. - * sem_attr.adb (Resolve_Attribute): Reject 'Access to - strub-annotated data object. - * sem_ch3.adb (Derive_Subprogram): Copy strub mode to - inherited subprogram. - * sem_prag.adb (Analyze_Pragma): Propagate Strub Machine_Attribute - from access-to-subprogram to subprogram type when required, - but not from access-to-data to data type. Mark the entity that - got the pragma as having a gigi rep item. - * sem_res.adb (Resolve): Reject implicit conversions that - would change strub modes. - (Resolve_Type_Conversions): Reject checked conversions - between incompatible strub modes. - * doc/gnat_rm/security_hardening_features.rst: Update. - * gnat_rm.texi: Regenerate. - * libgnat/a-except.ads (Raise_Exception): Revert strub-callable - annotation in public subprogram. - * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128): Likewise. - * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): Likewise. - * libgnat/s-secsta.ads (SS_Allocate): Likewise. - (SS_Mark, SS_Release): Likewise. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add ada/strub.o. - -2021-11-09 Etienne Servais - - * sinput.ads: Initialize Current_Source_Unit to No_Unit. - -2021-11-09 Piotr Trojanek - - * Makefile.rtl (ARM and Aarch64 VxWorks): Use atomic variants of - runtime units. - * libgnat/a-strunb__shared.ads: Mention AARCH64 and ARM as - supported. - * libgnat/s-atocou.ads: Likewise. - -2021-11-09 Ghjuvan Lacambre - - * sem_util.adb (Accessibility_Level): Use init_proc_level_formal - instead of computing a new accessibility level from Scope_Depth - (E). - -2021-11-09 Johannes Kliemann - - * vxworks7-cert-rtp-link.spec: Replace the definition of - __wrs_rtp_base with the base_link spec. - * vxworks7-cert-rtp-base-link.spec: Add base_link spec with - __wrs_rtp_base definition for all architectures. - * vxworks7-cert-rtp-base-link__ppc64.spec: Add base_link spec - with __wrs_rtp_base definition for ppc64. - * vxworks7-cert-rtp-base-link__x86.spec: Add base_link spec with - __wrs_rtp_base definition for x86. - * vxworks7-cert-rtp-base-link__x86_64.spec: Add base_link spec - with __wrs_rtp_base definition for x86_64. - -2021-11-09 Piotr Trojanek - - * sem_util.adb (Copy_Parameter_List): Refactor to remove - repeated calls to First_Formal. - -2021-11-09 Piotr Trojanek - - * exp_ch8.adb (Build_Body_For_Renaming): Remove unnecessary - calls to Sloc; set Handled_Statement_Sequence when building - subprogram body; whitespace cleanup. - -2021-11-09 Piotr Trojanek - - * exp_ch4.adb (Handle_One_Dimension): Parameter N must be always - positive, because it is translated into expression of 'First and - 'Last. - -2021-11-09 Piotr Trojanek - - * tbuild.adb (New_Occurrence_Of): Simplify by reusing - Make_Identifier. - -2021-11-09 Etienne Servais - - * scng.adb (Set_Start_Column): Return Column_Number'Last when - handling Constraint_Error. Plus reformat a strangely 7 level if - loop. - -2021-11-09 Piotr Trojanek - - * exp_ch4.adb (Test_Empty_Arrays): Simplify with Evolve_Or_Else; - remove unnecessary call to Relocate_Node. - (Test_Lengths_Correspond): Likewise. - -2021-11-09 Piotr Trojanek - - * libgnat/a-strunb.adb (Deallocate): Rename Reference_Copy to - Old, to make the code similar to other routines in this package. - (Realloc_For_Chunk): Use a temporary, deallocate the previous - string using a null-allowing copy of the string reference. - -2021-11-09 Ghjuvan Lacambre - - * sem_util.adb (Accessibility_Level): Fix typos. - -2021-11-09 Tom Tromey - - * doc/gnat_ugn/platform_specific_information.rst: Document the - SuSE kernel bug. - * gnat_ugn.texi: Regenerate. - -2021-11-09 Gary Dismukes - - * sem_ch13.adb (Freeze_Entity_Checks): Analyze the expression of - a pragma Predicate associated with an aspect at the freeze point - of the type, to ensure that references to globals get saved when - the aspect occurs within a generic body. Also, add - Aspect_Static_Predicate to the choices of the membership test of - the enclosing guard. - -2021-11-09 Piotr Trojanek - - * exp_ch4.adb (Arr_Attr): Refine type of the parameter from Int - to Pos; refine name of the parameter from Num to Dim; fix - reference to "Expr" in comment. - -2021-11-09 Steve Baird - - * libgnat/s-regexp.adb (Compile.Check_Well_Formed_Patern): When - a "|" operator is encountered in a pattern, check that it is not - the last character of the pattern. - -2021-11-09 Yannick Moy - - * sem_ch3.adb (Analyze_Subtype_Declaration, - Derived_Type_Declaration): Initialize list of primitive - operations when Extensions_Allowed. - -2021-11-09 Piotr Trojanek - - * checks.adb (Apply_Constraint_Check): Guard against calling - Choices when the first association in an array aggregate is a - N_Iterated_Component_Association node. - -2021-11-09 Yannick Moy - - * sem_ch3.adb (Analyze_Incomplete_Type_Decl): Add the missing - initialization. - -2021-11-09 Piotr Trojanek - - * sem_prag.adb (Check_Usage): Guard against calling Usage_Error - with illegal Item_Id. The intention to do this was already - described in the comment but not implemented. - -2021-11-09 Etienne Servais - - * exp_ch6.adb (Expand_Actuals): Add a condition to check for the - possibility of task. - -2021-11-05 Iain Sandoe - - * gcc-interface/Make-lang.in: Use iOS signal trampoline code - for hosted Ada tools. - * sigtramp-ios.c: Wrap the declarations in extern "C" when - the code is built by a C++ compiler. - -2021-10-30 Alexandre Oliva - - * doc/gnat_rm/security_hardening_features.rst: Mention - optimization to operations with implied compares. - -2021-10-28 Alexandre Oliva - - * doc/gnat_rm/security_hardening_features.rst - (Hardened Conditionals): New. - -2021-10-25 Arnaud Charlet - - * gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Remove - gnatfind and gnatxref. - -2021-10-25 Ed Schonberg - - * sem_ch4.adb (Has_Possible_Literal_Aspects): If analysis of an - operator node fails to find a possible interpretation, and one - of its operands is a literal or a named number, assign to the - node the corresponding class type (Any_Integer, Any_String, - etc). - (Operator_Check): Call it before emitting a type error. - * sem_res.adb (Has_Applicable_User_Defined_Literal): Given a - literal and a type, determine whether the type has a - user_defined aspect that can apply to the literal, and rewrite - the node as call to the corresponding function. Most of the code - was previously in procedure Resolve. - (Try_User_Defined_Literal): Check operands of a predefined - operator that fails to resolve, and apply - Has_Applicable_User_Defined_Literal to literal operands if any, - to find if a conversion will allow the operator to resolve - properly. - (Resolve): Call the above when a literal or an operator with a - literal operand fails to resolve. - -2021-10-25 Bob Duff - - * freeze.adb (Freeze_Fixed_Point_Type): Remove - previously-inserted test for Uint_0; no longer needed. - * gen_il-gen.ads: Improve comments. - * repinfo.adb (Rep_Value): Use Ubool type for B. - * repinfo.ads (Node_Ref): Use Unegative type. - (Node_Ref_Or_Val): Document that values of this type can be - No_Uint. - * exp_disp.adb (Make_Disp_Requeue_Body): Minor comment fix. - * sem_ch3.adb: Likewise. - * sem_ch8.adb: Likewise. - * sinfo-utils.adb (End_Location): End_Span can never be No_Uint, - so remove the "if No (L)" test. - * uintp.adb (Image_String): Use "for ... of" loop. - * uintp.ads (Unegative): New type for negative integers. We - give it a long name (unlike Unat and Upos) because it is rarely - used. - -2021-10-25 Etienne Servais - - * errout.adb (Skip_Msg_Insertion_Warning): Adapt and format as - Erroutc.Prescan_Message.Parse_Message_Class. - (Warn_Insertion): Adapt to new format. - * errout.ads: Update documentation. - * erroutc.adb (Get_Warning_Tag): Adapt to new format. - (Prescan_Message): Introduce Parse_Message_Class function. - (Validate_Specific_Warnings): Update ?W? to ?.w?. - * erroutc.ads: Update type and documentation. - * checks.adb (Validity_Check_Range): Update ?X? to ?.x?. - * exp_ch11.adb (Possible_Local_Raise): Update ?X? to ?.x?. - (Warn_If_No_Local_Raise): Likewise. - (Warn_If_No_Propagation): Likewise. - (Warn_No_Exception_Propagation_Active): Likewise. - * exp_ch4.adb (Expand_N_Allocator): Attach warning message to - -gnatw_a. - * exp_prag.adb (Expand_Pragma_Check): Update ?A? to ?.a?. - * exp_util.adb (Activate_Atomic_Synchronization): Update ?N? to - ?.n?. - (Add_Invariant_Check): Update ?L? to ?.l?. - * freeze.adb (Check_Suspicious_Modulus): Update ?M? to ?.m?. - (Freeze_Entity): Update ?T? to ?.t?, ?Z? to ?.z?. - * par-util.adb (Warn_If_Standard_Redefinition): Update ?K? to - ?.k?. - * sem_attr.adb (Min_Max): Update ?U? to ?.u?. - * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Update ?V? - to ?.v?. - (Adjust_Record_For_Reverse_Bit_Order_Ada_95): Update ?V? to ?.v?. - (Component_Size_Case): Update ?S? to ?.s?. - (Analyze_Record_Representation_Clause): Update ?S? to ?.s? and - ?C? to ?.c?. - (Add_Call): Update ?L? to ?.l?. - (Component_Order_Check): Attach warning message to -gnatw_r. - (Check_Component_List): Update ?H? to ?.h?. - (Set_Biased): Update ?B? to ?.b?. - * sem_ch3.adb (Modular_Type_Declaration): Update ?M? to ?.m?. - * sem_ch4.adb (Analyze_Mod): Update ?M? to ?.m?. - (Analyze_Quantified_Expression): Update ?T? to ?.t?. - * sem_ch6.adb (Check_Conformance): Attach warning message to - -gnatw_p. - (List_Inherited_Pre_Post_Aspects): Update ?L? to ?.l?. - * sem_ch7.adb (Unit_Requires_Body_Info): Update ?Y? to ?.y?. - * sem_ch8.adb (Analyze_Object_Renaming): Update ?R? to ?.r?. - * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Attach - warning message to -gnatw_c. - * sem_res.adb (Check_Argument_Order): Update ?P? to ?.p?. - (Resolve_Comparison_Op): Update ?U? to ?.u?. - (Resolve_Range): Update ?U? to ?.u?. - (Resolve_Short_Circuit): Update ?A? to ?.a?. - (Resolve_Unary_Op): Update ?M? to ?.m?. - * sem_util.adb (Check_Result_And_Post_State): Update ?T? to ?.t?. - * sem_warn.adb (Output_Unused_Warnings_Off_Warnings): Update ?W? - to ?.w?. - * warnsw.ads: Update documentation for -gnatw_c. - -2021-10-25 Bob Duff - - * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Fix - comment. - -2021-10-25 Bob Duff - - * gen_il-gen.adb (Put_Seinfo): Generate type - Seinfo.Type_Only_Enum based on type - Gen_IL.Internals.Type_Only_Enum. Automatically generating a copy - of the type will help keep them in sync. (Note that there are - no Ada compiler packages imported into Gen_IL.) Add a Type_Only - field to Field_Descriptor, so this information is available in - the Ada compiler (as opposed to just in the Gen_IL "compiler"). - (One_Comp): Add initialization of the Type_Only field of - Field_Descriptor. - * gen_il-internals.ads (Image): Image function for - Type_Only_Enum. - * atree.ads (Node_To_Fetch_From): New function to compute which - node to fetch from, based on the Type_Only aspect. - * atree.adb (Get_Field_Value): Call Node_To_Fetch_From. - * treepr.adb (Print_Entity_Field): Call Node_To_Fetch_From. - (Print_Node_Field): Assert. - * sinfo-utils.adb (Walk_Sinfo_Fields, - Walk_Sinfo_Fields_Pairwise): Asserts. - -2021-10-25 Piotr Trojanek - - * exp_ch4.adb (Expand_Composite_Equality): Fix style. - (Element_To_Compare): Simplify loop. - (Expand_Record_Equality): Adapt calls to Element_To_Compare. - -2021-10-25 Steve Baird - - * sem_case.adb (Composite_Case_Ops.Box_Value_Required): A new - function which takes a component type and returns a Boolean. - Returns True for the cases which were formerly forbidden as - components (these checks were formerly performed in the - now-deleted procedure - Check_Composite_Case_Selector.Check_Component_Subtype). - (Composite_Case_Ops.Normalized_Case_Expr_Type): Hoist this - function out of the Array_Case_Ops package because it has been - generalized to also do the analogous thing in the case of a - discriminated type. - (Composite_Case_Ops.Scalar_Part_Count): Return 0 if - Box_Value_Required returns True for the given type/subtype. - (Composite_Case_Ops.Choice_Analysis.Choice_Analysis.Component_Bounds_Info. - Traverse_Discrete_Parts): Return without doing anything if - Box_Value_Required returns True for the given type/subtype. - (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice): - If Box_Value_Required yields True for a given component type, - then check that the value of that component in a choice - expression is indeed a box (in which case the component is - ignored). - * doc/gnat_rm/implementation_defined_pragmas.rst: Update - documentation. - * gnat_rm.texi: Regenerate. - -2021-10-25 Piotr Trojanek - - * libgnat/a-nbnbin__gmp.adb (From_String): Fix predicate - mismatch between subprogram declaration and body. - -2021-10-25 Bob Duff - - * einfo-utils.adb (Declaration_Node): Avoid returning the - following node kinds: N_Assignment_Statement, N_Integer_Literal, - N_Procedure_Call_Statement, N_Subtype_Indication, and - N_Type_Conversion. Assert that the result is in N_Is_Decl or - empty. - * gen_il-gen-gen_nodes.adb (N_Is_Decl): Modify to match the - things that Declaration_Node can return. - -2021-10-25 Piotr Trojanek - - * libgnat/a-strsup.ads (Super_Length, Super_Element, - Super_Slice): Add Global contracts. - -2021-10-25 Piotr Trojanek - - * exp_ch3.adb (Predefined_Primitive_Bodies): Simplify detection - of existing equality operator. - -2021-10-25 Piotr Trojanek - - * exp_ch3.adb (Predefined_Primitive_Bodies): Remove redundant - conditions related to interface types. - -2021-10-25 Piotr Trojanek - - * adaint.c (__gnat_portable_spawn): Do not expect execv to - return 0. - (__gnat_portable_no_block_spawn): Likewise. - -2021-10-25 Ghjuvan Lacambre - - * sem_ch8.adb (Analyze_Subprogram_Renaming): Set New_S to Empty. - -2021-10-25 Piotr Trojanek - - * libgnat/a-strunb.ads (Unbounded_String): Reference is never - null. - * libgnat/a-strunb.adb (Finalize): Copy reference while it needs - to be deallocated. - -2021-10-25 Piotr Trojanek - - * lib-xref.adb (Get_Through_Renamings): Exit loop when an - enumeration literal is found. - -2021-10-25 Arnaud Charlet - - * libgnat/s-widthu.adb: Add pragma Annotate. - -2021-10-25 Javier Miranda - - * sem_ch8.adb (Build_Class_Wide_Wrapper): Previous version split - in two subprograms to factorize its functionality: - Find_Suitable_Candidate, and Build_Class_Wide_Wrapper. These - routines are also placed in the new subprogram - Handle_Instance_With_Class_Wide_Type. - (Handle_Instance_With_Class_Wide_Type): New subprogram that - encapsulates all the code that handles instantiations with - class-wide types. - (Analyze_Subprogram_Renaming): Adjust code to invoke the new - nested subprogram Handle_Instance_With_Class_Wide_Type; adjust - documentation. - -2021-10-25 Bob Duff - - * einfo-utils.ads, einfo-utils.adb (Alias, Set_Alias, - Renamed_Entity, Set_Renamed_Entity, Renamed_Object, - Set_Renamed_Object): Add assertions that reflect how these are - supposed to be used and what they are supposed to return. - (Renamed_Entity_Or_Object): New getter. - (Set_Renamed_Object_Of_Possibly_Void): Setter that allows N to - be E_Void. - * checks.adb (Ensure_Valid): Use Renamed_Entity_Or_Object - because this is called for both cases. - * exp_dbug.adb (Debug_Renaming_Declaration): Use - Renamed_Entity_Or_Object because this is called for both cases. - Add assertions. - * exp_util.adb (Possible_Bit_Aligned_Component): Likewise. - * freeze.adb (Freeze_All_Ent): Likewise. - * sem_ch5.adb (Within_Function): Likewise. - * exp_attr.adb (Calculate_Header_Size): Call Renamed_Entity - instead of Renamed_Object. - * exp_ch11.adb (Expand_N_Raise_Statement): Likewise. - * repinfo.adb (Find_Declaration): Likewise. - * sem_ch10.adb (Same_Unit, Process_Spec_Clauses, - Analyze_With_Clause, Install_Parents): Likewise. - * sem_ch12.adb (Build_Local_Package, Needs_Body_Instantiated, - Build_Subprogram_Renaming, Check_Formal_Package_Instance, - Check_Generic_Actuals, In_Enclosing_Instance, - Denotes_Formal_Package, Process_Nested_Formal, - Check_Initialized_Types, Map_Formal_Package_Entities, - Restore_Nested_Formal): Likewise. - * sem_ch6.adb (Report_Conflict): Likewise. - * sem_ch8.adb (Analyze_Exception_Renaming, - Analyze_Generic_Renaming, Analyze_Package_Renaming, - Is_Primitive_Operator_In_Use, Declared_In_Actual, - Note_Redundant_Use): Likewise. - * sem_warn.adb (Find_Package_Renaming): Likewise. - * sem_elab.adb (Ultimate_Variable): Call Renamed_Object instead - of Renamed_Entity. - * exp_ch6.adb (Get_Function_Id): Call - Set_Renamed_Object_Of_Possibly_Void, because the defining - identifer is still E_Void at this point. - * sem_util.adb (Function_Call_Or_Allocator_Level): Likewise. - Remove redundant (unreachable) code. - (Is_Object_Renaming, Is_Valid_Renaming): Call Renamed_Object - instead of Renamed_Entity. - (Get_Fullest_View): Call Renamed_Entity instead of - Renamed_Object. - (Copy_Node_With_Replacement): Call - Set_Renamed_Object_Of_Possibly_Void because the defining entity - is sometimes E_Void. - * exp_ch5.adb (Expand_N_Assignment_Statement): Protect a call to - Renamed_Object with Is_Object to avoid assertion failure. - * einfo.ads: Minor comment fixes. - * inline.adb: Minor comment fixes. - * tbuild.ads: Minor comment fixes. - -2021-10-25 Arnaud Charlet - - * sem_ch13.adb (Build_Discrete_Static_Predicate): Remove use of - exception propagation since this code is exercised during the - bootstrap. - -2021-10-25 Yannick Moy - - * sem_ch13.adb (Freeze_Entity_Checks): Perform same check on - predicate expression inside pragma as inside aspect. - * sem_util.adb (Is_Current_Instance): Recognize possible - occurrence of subtype as current instance inside the pragma - Predicate. - -2021-10-25 Ghjuvan Lacambre - - * erroutc.adb (Count_Compile_Time_Pragma_Warnings): Don't count - deleted warnings. - -2021-10-22 Eric Gallager - - PR other/102663 - * gcc-interface/Make-lang.in: Allow dvi-formatted - documentation to be installed. - -2021-10-20 Bob Duff - - * gcc-interface/decl.c (gnat_to_gnu_entity): Remove unnecessary - call to No_Uint_To_0. - -2021-10-20 Richard Kenner - - * exp_unst.adb (Visit_Node, when N_Subprogram_Call): Never treat - instrinsic subprograms as nested. - -2021-10-20 Yannick Moy - - * libgnat/s-widlllu.ads: Mark in SPARK. - * libgnat/s-widllu.ads: Likewise. - * libgnat/s-widuns.ads: Likewise. - * libgnat/s-widthu.adb: Add ghost code and a - pseudo-postcondition. - -2021-10-20 Yannick Moy - - * libgnat/a-nbnbin__ghost.adb (Signed_Conversions, - Unsigned_Conversions): Mark subprograms as not imported. - * libgnat/a-nbnbin__ghost.ads: Provide a dummy body. - -2021-10-20 Eric Botcazou - - * sem_eval.adb (Eval_Type_Conversion): If the target subtype is - a static floating-point subtype and the result is a real literal, - consider its machine-rounded value to raise Constraint_Error. - (Test_In_Range): Turn local variables into constants. - -2021-10-20 Doug Rupp - - * libgnat/g-io-put__vxworks.adb: Remove (unused) - * libgnat/s-parame__ae653.ads: Likewise. - * libgnat/s-thread.ads: Likewise. - * libgnat/s-thread__ae653.adb: Likewise. - -2021-10-20 Eric Botcazou - - * sem_eval.ads (Machine_Number): New inline function. - * sem_eval.adb (Machine_Number): New function body implementing - the machine rounding operation specified by RM 4.9(38/2). - (Check_Non_Static_Context): Call Machine_Number and set the - Is_Machine_Number flag consistently on the resulting node. - * sem_attr.adb (Eval_Attribute) : Likewise. - * checks.adb (Apply_Float_Conversion_Check): Call Machine_Number. - (Round_Machine): Likewise. - -2021-10-20 Johannes Kliemann - - * vxworks7-cert-rtp-link.spec: Add the definition of - __wrs_rtp_base. - -2021-10-20 Piotr Trojanek - - * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reject boxes in - record delta aggregates. - -2021-10-20 Justin Squirek - - * sem_ch6.adb (Check_Return_Construct_Accessibility): Modify - generation of accessibility checks to be more consolidated and - get triggered properly in required cases. - * sem_util.adb (Accessibility_Level): Add extra check within - condition to handle aliased formals properly in more cases. - -2021-10-20 Justin Squirek - - * exp_ch7.adb (Make_Final_Call): Detect expanded protected types - and use original protected type in order to calculate - appropriate finalization routine. - -2021-10-20 Johannes Kliemann - - * libgnat/a-nbnbin__ghost.ads: Add ghost package. - -2021-10-20 Piotr Trojanek - - * sem_aggr.adb (Variant_Depth): Refine type from Integer to - Natural. - -2021-10-20 Bob Duff - - * atree.ads: Comment improvements. How is a "completely new - node" different from a "new node"? Document default values - corresponding to field types. - * exp_ch7.adb (Process_Tagged_Type_Declaration): Use - higher-level Scope_Depth instead of Scope_Depth_Value. Remove - confusing comment: not clear what a "true" library level package - is. - * uintp.adb (Image_Out): Print No_Uint in a more readable way. - * gen_il-gen.adb, gen_il-gen-gen_entities.adb, - gen_il-gen-gen_nodes.adb, gen_il-types.ads: Tighten up the - subtypes of fields whose type is Uint, where possible; use - more-constrained subtypes such as Unat. - * einfo-utils.adb, einfo-utils.ads, exp_attr.adb, - exp_ch3.adb, exp_intr.adb, exp_unst.adb, exp_util.adb, - freeze.adb, repinfo.adb, sem.adb, sem_ch12.adb, sem_ch13.adb, - sem_ch3.adb, sem_ch8.adb, sem_util.adb, sprint.adb, treepr.adb: - No longer use Uint_0 to indicate "unknown" or "not yet known" - for various fields whose type is Uint. Use No_Uint for that, - except in a small number of legacy cases that cause test - failures. Protect many queries of such fields with calls to - Known_... functions. Improve comments. - * exp_aggr.adb: Likewise. - (Is_OK_Aggregate): Check whether Csiz is present. - (Aggr_Assignment_OK_For_Backend): Ensure we do not access an - uninitialized size. - * exp_strm.adb (Build_Elementary_Input_Call, - Build_Elementary_Write_Call): Check whether P_Size is present. - * cstand.adb: Leave Component_Size of Any_Composite unknown. - Similar for RM_Size of Standard_Exception_Type. These should - not be used. - * einfo.ads: Comment improvements. - * exp_disp.ads: Minor. - * gen_il-internals.ads, gen_il-internals.adb: Minor. - * sinfo-utils.adb: Take advantage of full-coverage rules. - * types.h: Minor. - -2021-10-20 Gary Dismukes - - * sem_ch6.adb: Add with and use of Warnsw. - (Check_Conformance): Report a warning when subtypes or - designated subtypes of formal parameters or result subtypes - denote different declarations between the spec and body of the - (Subprogram_Subtypes_Have_Same_Declaration): New function nested - within Check_Conformance that determines whether two subtype - entities referenced in a subprogram come from the same - declaration. Returns True immediately if the subprogram is in a - generic instantiation, or the subprogram is marked Is_Internal - or is declared in an internal (GNAT library) unit, or GNAT_Mode - is enabled, otherwise compares the nonlimited views of the - entities (or their designated subtypes' nonlimited views in the - anonymous access cases). - (Nonlimited_View_Of_Subtype): New function nested within - function Subprogram_Subtypes_Have_Same_Declaration that returns - Non_Limited_View of a type or subtype that is an incomplete or - class-wide type that comes from a limited of a - package (From_Limited_With is True for the entity), or returns - Full_View when the nonlimited view is an incomplete type. - Otherwise returns the entity passed in. - * warnsw.ads (Warn_On_Pedantic_Checks): New warning flag. - (type Warning_Record): New component Warn_On_Pedantic_Checks. - * warnsw.adb (All_Warnings): Set Warn_On_Pedantic_Checks from - parameter Setting. - (Restore_Warnings): Restore the value of the - Warn_On_Pedantic_Checks flag. - (Save_Warnings): Save the value of the Warn_On_Pedantic_Checks - flag. - (Set_Underscore_Warning_Switch): Add settings of the - Warn_On_Pedantic flag according to the switch ("-gnatw_p" vs. - "-gnatw_P"). - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add - documentation of new switches -gnatw_p and -gnatw_P (warnings - for pedantic checks). - * gnat_ugn.texi: Regenerate. - * usage.adb: Add Warn_On_Pedantic_Checks. - -2021-10-20 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Guard - against equality of an uninitialized RM_Size field. - -2021-10-20 Eric Botcazou - - * sem_ch12.adb (Analyze_Subprogram_Instantiation): Also propagate an - interface name on an intrinsic subprogram. Remove obsolete comment. - * libgnat/s-atopri.ads (Atomic_Load): New generic intrinsic function - (Atomic_Load_8): Rewrite into instantiation. - (Atomic_Load_16): Likewise. - (Atomic_Load_32): Likewise. - (Atomic_Load_64): Likewise. - (Sync_Compare_And_Swap): New generic intrinsic function. - (Sync_Compare_And_Swap_8): Rewrite into instantiation. - (Sync_Compare_And_Swap_16): Likewise. - (Sync_Compare_And_Swap_32): Likewise. - (Sync_Compare_And_Swap_64): Likewise. - (Lock_Free_Read): New generic inline function. - (Lock_Free_Read_8): Rewrite into instantiation. - (Lock_Free_Read_16): Likewise. - (Lock_Free_Read_32): Likewise. - (Lock_Free_Read_64): Likewise. - (Lock_Free_Try_Write): New generic inline function. - (Lock_Free_Try_Write_8): Rewrite into instantiation. - (Lock_Free_Try_Write_16): Likewise. - (Lock_Free_Try_Write_32): Likewise. - (Lock_Free_Try_Write_64): Likewise. - * libgnat/s-atopri.adb (Lock_Free_Read): New function body. - (Lock_Free_Read_8): Delete. - (Lock_Free_Read_16): Likewise. - (Lock_Free_Read_32): Likewise. - (Lock_Free_Read_64): Likewise. - (Lock_Free_Try_Write): New function body. - (Lock_Free_Try_Write_8): Delete. - (Lock_Free_Try_Write_16): Likewise. - (Lock_Free_Try_Write_32): Likewise. - (Lock_Free_Try_Write_64): Likewise. - * libgnat/s-aoinar.adb (Atomic_Fetch_And_Add): Use type-generic GCC - atomic builtin and tidy up implementation. - (Atomic_Fetch_And_Subtract): Likewise. - * libgnat/s-aomoar.adb (Atomic_Fetch_And_Add): Likewise. - (Atomic_Fetch_And_Subtract): Likewise. - * libgnat/s-atopex.adb (Atomic_Exchange): Likewise. - (Atomic_Compare_And_Exchange): Likewise. - -2021-10-20 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : - Replace test on Convention_Intrinsic with Is_Intrinsic_Subprogram. - (gnat_to_gnu_param): Likewise. - (gnat_to_gnu_subprog_type): Likewise. - * gcc-interface/trans.c (elaborate_all_entities_for_package): Ditto. - -2021-10-20 Eric Botcazou - - * sem_eval.ads (Check_Non_Static_Context): Update documentation. - * sem_eval.adb (In_Any_Integer_Context): Change parameter type, - adjust accordingly and remove unreachable case. - (Eval_Integer_Literal): Consider the node kind throughout and - trim down verbose condition. - -2021-10-20 Doug Rupp - - * Makefile.rtl: Remove references to system-vxworks-ppc.ads - and system-vxworks-x86.ads. - * libgnat/system-vxworks-ppc.ads: Remove. - * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise. - * libgnat/system-vxworks-x86.ads: Likewise. - -2021-10-20 Yannick Moy - - * sem_ch4.adb (Analyze_QUantified_Expression): Issue warning on - conjunct/disjunct sub-expression of the full expression inside a - quantified expression, when it does not reference the quantified - variable. - -2021-10-20 Marc Poulhiès - - * checks.adb (Insert_Valid_Check): in case of checked type - conversion, update Typ to match Exp's type and add call to - Analyze_And_Resolve. - -2021-10-20 Arnaud Charlet - - PR ada/100486 - * sem_prag.adb (Check_Valid_Library_Unit_Pragma): Do not raise an - exception as part of the bootstrap. - -2021-10-15 Richard Biener - - * gcc-interface/misc.c (gnat_post_options): Do not warn - about DBX_DEBUG use here. - -2021-10-14 Alexandre Oliva - - * par-ch10.adb (P_Compilation_Unit): Reenable ada83 library - unit renaming test and error. - -2021-10-11 Eric Botcazou - - * gcc-interface/gigi.h (resolve_atomic_size): Declare. - (list_third): New inline function. - * gcc-interface/decl.c (type_for_atomic_builtin_p): New function. - (resolve_atomic_builtin): Likewise. - (gnat_to_gnu_subprog_type): Perform type resolution for most of - type-generic GCC atomic builtins and give an error for the rest. - * gcc-interface/utils2.c (resolve_atomic_size): Make public. - -2021-10-11 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu) : - Given the warning only if No_Exception_Propagation is active. - : Likewise. - : Likewise. - -2021-10-11 Eric Botcazou - - * gcc-interface/decl.c (promote_object_alignment): Add GNU_SIZE - parameter and use it for the size of the object if not null. - (gnat_to_gnu_entity) : Perform the automatic alignment - promotion for objects whose nominal subtype is of variable size. - (gnat_to_gnu_field): Adjust call to promote_object_alignment. - -2021-10-11 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_param): Strip padding types - only if the size does not change in the process. Rename local - variable and add bypass for initialization procedures. - -2021-10-11 Doug Rupp - - * libgnat/s-thread.ads: Fix comments. Remove unused package - imports. - (Thread_Body_Exception_Exit): Remove Exception_Occurrence - parameter. - (ATSD): Declare type locally. - * libgnat/s-thread__ae653.adb: Fix comments. Remove unused - package imports. Remove package references to Stack_Limit - checking. - (Install_Handler): Remove. - (Set_Sec_Stack): Likewise. - (Thread_Body_Enter): Remove calls to Install_Handler and - Stack_Limit checking. - (Thread_Body_Exception_Exit): Remove Exception_Occurrence - parameter. - (Init_RTS): Call local Get_Sec_Stack. Remove call to - Install_Handler. Remove references to accessors for - Get_Sec_Stack and Set_Sec_Stack. Remove OS check. - (Set_Sec_Stack): Remove. - -2021-10-11 Piotr Trojanek - - * exp_ch3.adb (Make_Predefined_Primitive_Specs, - Predefined_Primitive_Bodies): Remove guard with restriction - No_Dispatching_Calls. - -2021-10-11 Steve Baird - - * sem_attr.adb (Analyze_Attribute_Old_Result): Permit an - attribute reference inside a compiler-generated _Postconditions - procedure. In this case, Subp_Decl is assigned the declaration - of the enclosing subprogram. - * exp_util.adb (Insert_Actions): When climbing up the tree - looking for an insertion point, do not climb past an - N_Iterated_Component/Element_Association, since this could - result in inserting a reference to a loop parameter at a - location outside of the scope of that loop parameter. On the - other hand, be careful to preserve existing behavior in the case - of an N_Component_Association node. - -2021-10-11 Steve Baird - - * exp_ch6.adb (Can_Fold_Predicate_Call): Do not attempt folding - if there is more than one predicate involved. Recall that - predicate aspect specification are additive, not overriding, and - that there are three different predicate - aspects (Dynamic_Predicate, Static_Predicate, and the - GNAT-defined Predicate aspect). These various ways of - introducing multiple predicates are all checked for. A new - nested function, Augments_Other_Dynamic_Predicate, is - introduced. - * sem_ch4.adb - (Analyze_Indexed_Component_Form.Process_Function_Call): When - determining whether a name like "X (Some_Discrete_Type)" might - be interpreted as a slice, the answer should be "no" if the - type/subtype name denotes the current instance of type/subtype. - -2021-10-11 Patrick Bernardi - - * libgnarl/s-osinte__rtems.ads: Change sigset_t to an unsigned - long. - -2021-10-11 Patrick Bernardi - - * libgnat/s-parame__rtems.adb: use - _POSIX_Threads_Minimum_stack_size instead of - ada_pthread_minimum_stack_size. - -2021-10-11 Eric Botcazou - - * fe.h (No_Exception_Propagation_Active): Declare. - * restrict.ads (No_Exception_Propagation_Active): Add WARNING line. - -2021-10-11 Piotr Trojanek - - * sem_ch13.adb (Validate_Unchecked_Conversion): Simplify code - for detecting conversions with Ada.Calendar.Time type and extend - it to similar types in the Ada.Real_Time package. - -2021-10-11 Piotr Trojanek - - * sem_ch10.adb, sem_prag.adb, sem_util.adb: Use - N_Generic_Declaration in membership tests. - -2021-10-11 Etienne Servais - - * ali.adb (Get_Name): Ignore_Spaces is always False. - * bindo-graphs.adb (Set_Is_Existing_Source_Target_Relation): Val - is always True. - * cstand.adb (New_Standard_Entity): New_Node_Kind is always - N_Defininig_Identifier. - * exp_ch3.adb (Predef_Stream_Attr_Spec): For_Body is always - False. - * exp_dist.adb (Add_Parameter_To_NVList): RACW_Ctrl is always - False. - * gnatls.adb (Add_Directories): Prepend is always False. - * sem_ch10.adb, sem_ch10.ads (Load_Needed_Body): Do_Analyze is - always True. - * sem_ch3.adb, sem_ch3.ads (Process_Range_Expr_In_Decl): - R_Check_Off is always False. - * sem_elab.adb: (Info_Variable_Reference): Info_Msg is always - False, In_SPARK is always True. - (Set_Is_Traversed_Body, Set_Is_Saved_Construct, - Set_Is_Saved_Relation): Val is always True. - * treepr.adb (Visit_Descendant): No_Indent is always False. - (Print_Node): Fmt does not need such a big scope. - -2021-10-11 Etienne Servais - - * sem_ch4.adb (Analyze_Membership_Op): Finds interpretation for - the case of a membership test with a singleton value in case of - overloading. - -2021-10-11 Patrick Bernardi - - * Makefile.rtl (VxWorks): Rename s-inmaop__vxworks.adb to - s-inmaop__hwint.adb. - (RTEMS): Use s-inmaop__hwint.adb, s-intman__rtems.adb/s, - s-taprop__rtems.adb. - * libgnarl/a-intnam__rtems.ads: Remove signals definitions and - replace with Hardware_Interrupts. - * libgnarl/s-inmaop__vxworks.adb: Rename as... - * libgnarl/s-inmaop__hwint.adb: ... this. - * libgnarl/s-interr__hwint.adb: Remove unnecessary comments. - * libgnarl/s-intman__rtems.ads, libgnarl/s-intman__rtems.adb: - New files. - * libgnarl/s-osinte__rtems.adb: Add RTEMS API bindings. - (Binary_Semaphore_Create, Binary_Semaphore_Delete, - Binary_Semaphore_Obtain, Binary_Semaphore_Release, - Binary_Semaphore_Flush, Interrupt_Connect, - Interrupt_Number_To_Vector): New functions. - * libgnarl/s-osinte__rtems.ads (Num_HW_Interrupts, Signal): - Removed. - (NSIG, Interrupt_Range): New. - (Binary_Semaphore_Create, Binary_Semaphore_Delete, - Binary_Semaphore_Obtain, Binary_Semaphore_Release, - Binary_Semaphore_Flush, Interrupt_Connect, - Interrupt_Number_To_Vector): Remove Import pragma. - * libgnarl/s-taprop__rtems.adb: New file. - -2021-10-11 Eric Botcazou - - * exp_fixd.adb (Get_Size_For_Value): New function returning a size - suitable for a non-negative integer value. - (Get_Type_For_Size): New function returning a standard type suitable - for a size. - (Build_Divide): Call both functions to compute the result type, but - make sure to pass a non-negative value to the first. - (Build_Multiply): Likewise. - (Do_Multiply_Fixed_Universal): Minor consistency tweak. - (Integer_Literal): Call both functions to compute the type. - -2021-10-11 Etienne Servais - - * sem_ch4.adb (Analyze_Membership_Op): Reorder subprogram spec - and bodies in alphabetical order. - -2021-10-11 Piotr Trojanek - - * exp_util.adb (Build_Class_Wide_Expression): Replace entities - of both simple and extended names. - -2021-10-11 Ghjuvan Lacambre - - * libgnarl/s-intman__android.adb, libgnarl/s-intman__lynxos.adb, - libgnarl/s-intman__posix.adb, libgnarl/s-intman__qnx.adb, - libgnarl/s-intman__solaris.adb, libgnarl/s-intman__susv3.adb, - libgnarl/s-taprob.adb, libgnarl/s-taprop__hpux-dce.adb, - libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb, - libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb, - libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb, - libgnarl/s-taskin.adb, libgnarl/s-tasque.adb, - libgnarl/s-tpoben.adb, libgnat/a-calend.adb, - libgnat/a-excach.adb, libgnat/a-except.adb, libgnat/a-tags.adb, - libgnat/a-textio.adb, libgnat/a-witeio.adb, - libgnat/a-ztexio.adb, libgnat/g-binenv.adb, - libgnat/s-parame.adb, libgnat/s-parame__vxworks.adb, - libgnat/s-stratt.adb, libgnat/s-trasym__dwarf.adb: Mark imported - binder globals as constant. - -2021-10-11 Piotr Trojanek - - * exp_aggr.adb (Initialize_Record_Component): Add assertion - about one of the parameters, so that illegal attempts to - initialize record components with Empty node are detected early - on. - (Build_Record_Aggr_Code): Handle boxes in aggregate component - associations just the components with no initialization in - Build_Record_Init_Proc. - * sem_aggr.adb (Resolve_Record_Aggregate): For components that - require simple initialization carry boxes from resolution to - expansion. - * sem_util.adb (Needs_Simple_Initialization): Remove redundant - paren. - -2021-10-11 Piotr Trojanek - - * exp_ch3.adb (Build_Init_Statements): Simplify detection of - concurrent record types. - -2021-10-11 Piotr Trojanek - - * exp_aggr.adb (Is_Delayed_Aggregate): Simplify. - -2021-10-11 Piotr Trojanek - - * exp_aggr.adb (Has_Default_Init_Comps): Simplify. - -2021-10-11 Piotr Trojanek - - * exp_aggr.adb (Component_OK_For_Backend): Remove redundant - guard. - -2021-10-11 Patrick Bernardi - - * Makefile.rtl (RTEMS): Add s-stchop.o to - EXTRA_GNATRTL_NONTASKING_OBJS, remove s-stchop__rtems.adb. - * libgnat/s-stchop__rtems.adb: Removed. - -2021-10-11 Marc Poulhiès - - * expander.adb (Expand): Skip clearing of Analyzed flag if - already set for N_Real_Literal. - -2021-10-11 Piotr Trojanek - - * sem_util.adb (Compile_Time_Constraint_Error): Simplify getting - the type of the first formal parameter. - -2021-10-11 Piotr Trojanek - - * exp_util.adb (Inside_Init_Proc): Simplify. - * sem_aggr.adb (Resolve_Record_Aggregate): Fix style. - * sem_util.adb (Compile_Time_Constraint_Error): Guard against - calling Corresponding_Concurrent_Type with an array type entity. - -2021-10-11 Doug Rupp - - * libgnat/s-parame__ae653.ads (time_t_bits): Change to - Long_Long_Integer'Size. Add some comments to explain. - -2021-10-08 Martin Liska - - * gcc-interface/misc.c (gnat_post_options): Use new macro - OPTION_SET_P. - (gnat_init_gcc_eh): Likewise. - (gnat_init_gcc_fp): Likewise. - -2021-10-05 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values - referenced in pragmas. - -2021-10-05 Eric Botcazou - - * gcc-interface/trans.c (Subprogram_Body_to_gnu): Do not set the - DECL_DISREGARD_INLINE_LIMITS flag if -gnatd.8 is specified. - -2021-10-05 Bob Duff - - * gcc-interface/trans.c (set_end_locus_from_node): Check that - Handled_Statement_Sequence is not Empty before calling - End_Label, because the Empty node has no End_Label, and - depending on the exact node layout chosen by gen_il, calling - End_Label might crash, or might work OK by accident. - -2021-10-05 Eric Botcazou - - * gcc-interface/cuintp.c: Adjust placement of include directive. - * gcc-interface/targtyps.c: Likewise. - -2021-10-05 Alexandre Oliva - - * doc/gnat_rm.rst: Add... - * doc/gnat_rm/security_hardening_features.rst: New. - * doc/gnat_rm/about_this_guide.rst: Link to new chapter. - * gnat_rm.texi: Regenerate. - * gcc-interface/utils.c (handle_strub_attribute): New. - (gnat_internal_attribute_table): Add strub. - * libgnat/a-except.adb: Make Rcheck_CE_* strub-callable. - * libgnat/a-except.ads (Raise_Exception): Likewise. - (Raise_Exception_Always): Likewise. - * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128): - Likewise. - * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): - Likewise. - * libgnat/s-secsta.ads (SS_Allocate, SS_Mark, SS_Release): - Likewise. - -2021-10-05 Eric Botcazou - - * exp_ch9.adb (Install_Private_Data_Declarations): Copy the Sloc of - components for the local renamings as well as the Comes_From_Source - flag, and also set Warnings_Off on them. Use Nam local variable. - -2021-10-05 Arnaud Charlet - - * libgnarl/a-tasini.ads (Set_Initialization_Handler): Update - comments. - -2021-10-05 Corentin Gay - - * init.c (QNX): Add #include errno.h. - -2021-10-05 Eric Botcazou - - * exp_attr.adb (Expand_Fpt_Attribute): Likewise. - * snames.ads-tmpl (Name_Unaligned_Valid): Delete. - -2021-10-05 Etienne Servais - - * sem_prag.adb (Analyze_Pragma): Forbid use of - Compile_Time_(Error|Warning) as configuration pragma. - * doc/gnat_ugn/the_gnat_compilation_model.rst: - Compile_Time_(Error|Warning) and Compiler_Unit(_Warning) are not - configuration pragmas and shall not be listed as such. The - following pragmas are either obsolete or undocumented: - No_Run_Time, Propagate_Exceptions, Rational, Ravenscar, - Restricted_Run_Time, Short_Descriptors, Universal_Data. Fix - some typos (notably on Restriction_Warnings). - * doc/gnat_rm/implementation_defined_pragmas.rst: Move - Rename_Pragma documentation to alphabetical order. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2021-10-05 Corentin Gay - - * adaint.c (QNX): Add #include for sys/time.h. - -2021-10-05 Pascal Obry - - * libgnat/g-forstr.adb (Next_Format): When there is no more - format specifier found issue a proper error message instead of - raising a contraint error. - -2021-10-05 Pascal Obry - - * libgnat/g-forstr.adb (Get_Formatted): Fix computation of the - number of zero to use in the formatted string. This was a wrong - copy/paste. - -2021-10-05 Pascal Obry - - * libgnat/g-forstr.adb (Get_Formatted): Minor code clean-up. - -2021-10-05 Etienne Servais - - * libgnat/a-zchhan.ads, libgnat/a-zchhan.adb - (Character_Set_Version, Is_Basic, To_Basic): New. - * libgnat/a-zchuni.ads, libgnat/a-zchuni.adb (Is_Basic, - To_Basic): New. - -2021-10-05 Yannick Moy - - * sem_aggr.adb (Resolve_Array_Aggregate): Improve error message. - -2021-10-05 Gary Dismukes - - * aspects.ads (type Aspect_Id): Add - Aspect_Designated_Storage_Model and Aspect_Storage_Model_Type. - (Aspect_Argument): Add associations for the above new aspects. - (Is_Representation_Aspect): Likewise. - (Aspect_Names, Aspect_Delay): Likewise. - * exp_ch4.adb (Expand_N_Allocator): Call Find_Storage_Op rather - than Find_Prim_Op. - * exp_intr.adb (Expand_Unc_Deallocation): Likewise. - * exp_util.ads (Find_Storage_Op): New function that locates - either a primitive operation of a storage pool or an operation - of a storage-model type specified in its Storage_Model_Type - aspect. - * exp_util.adb (Find_Storage_Op): New function that calls either - Find_Prim_Op or Get_Storage_Model_Type_Entity to locate a - storage-related operation that is associated with a type. - * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Analyzes, - resolves, and validates the arguments of aspect - Designated_Storage_Model_Type. - (Analyze_Aspect_Specifications): Sets delay-related flags on - storage-model aspects when Delay_Required. Checks that aspect - Designated_Storage_Model is only specified for an access type - and that aspect Storage_Model_Type is only specified on an - immutably limited type. Also records such aspects for their - associated types. - (Check_Aspect_At_Freeze_Point): Resolve each of the argument - associations given for a Storage_Model_Type aspect. - (Resolve_Storage_Model_Type_Argument): New procedure that - resolves an argument given in the association for a given entity - name associated with a type with aspect Storage_Model_Type, - ensuring that it has the proper kind or profile. - (Validate_Storage_Model_Type_Aspect): New procedure that checks - the legality and completeness of the entity associations given - in a Storage_Model_Type aspect. - * sem_util.ads (package Storage_Model_Support): New nested - package that encapsulates a set of convenient utility functions - for retrieving entities, etc. associated with - storage-model-related types and objects. - (Get_Storage_Model_Type_Entity): New function to return a - specified entity associated with a type that has aspect - Storage_Model_Type. - (Has_Designated_Storage_Model_Aspect): New function that returns - whether a type has aspect Designated_Storage_Model. - (Has_Storage_Model_Type_Aspect): New function that returns - whether a type has aspect Storage_Model_Type. - (Storage_Model_Object): New function that returns the object - Entity_Id associated with a type's Designated_Storage_Model - aspect. - (Storage_Model_Type): New function that returns the type - associated with a storage-model object (when the object's type - specifies Storage_Model_Type). - (Storage_Model_Address_Type): New function that returns the - Address_Type associated with a type that has aspect - Storage_Model_Type. - (Storage_Model_Null_Address): New function that returns the - Null_Address constant associated with a type that has aspect - Storage_Model_Type. - (Storage_Model_Allocate): New function that returns the Allocate - procedure associated with a type that has aspect - Storage_Model_Type. - (Storage_Model_Deallocate): New function that returns the - Deallocate procedure associated with a type that has aspect - Storage_Model_Type. - (Storage_Model_Copy_From): New function that returns the - Copy_From procedure associated with a type that has aspect - Storage_Model_Type. - (Storage_Model_Copy_To): New function that returns the Copy_To - procedure associated with a type that has aspect - Storage_Model_Type. - (Storage_Model_Storage_Size): New function that returns the - Storage_Size function associated with a type that has aspect - Storage_Model_Type. - * sem_util.adb (package Storage_Model_Support): Body of new - nested package that contains the implementations the utility - functions declared in the spec of this package. - * snames.ads-tmpl: Add new names Name_Designated_Storage_Pool, - Name_Storage_Model, Name_Storage_Model_Type, Name_Address_Type, - Name_Copy_From, Name_Copy_To, and Name_Null_Address for the new - aspects and associated aspect arguments. - -2021-10-05 Richard Kenner - - * debug.adb: Add documentation for -gnatd_t. - -2021-10-05 Corentin Gay - - * sysdep.c (__gnat_is_file_not_found_error): Add else if case. - -2021-10-05 Piotr Trojanek - - * exp_util.adb (Build_Class_Wide_Expression): Replace entities - of both identifiers and operator symbols. - -2021-10-05 Piotr Trojanek - - * sem_ch3.adb (Derive_Subprogram): Copy ghost status from parent - to derived subprogram. - -2021-10-05 Joffrey Huguet - - * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Add - Default_Initial_Condition to Unbounded_String. - -2021-10-05 Claire Dross - - * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable - contract cases at execution. - * libgnat/a-cfinve.ads: Idem. - * libgnat/a-cofove.ads: Idem. - * libgnat/a-cfhase.ads: Idem. - * libgnat/a-cfhama.ads: Idem. - * libgnat/a-cforse.ads: Idem. - * libgnat/a-cforma.ads: Idem. - -2021-10-05 Bob Duff - - * par-ch4.adb (P_Iterated_Component_Association): Parse these - features the same way in all language versions. Move the call - to Error_Msg_Ada_2022_Feature into semantic analysis. - * sem_aggr.adb (Resolve_Iterated_Component_Association, - Resolve_Iterated_Association): Move the call to - Error_Msg_Ada_2022_Feature here from par-ch4.adb. - -2021-10-05 Yannick Moy - - * sem_res.adb (Resolve): Recognize specially that case. - -2021-10-05 Yannick Moy - - * libgnat/a-strmap.adb: Add ghost code for proof. - (To_Range): This is the most involved proof, as it requires - creating the result of the call to To_Domain as a ghost - variable, and show the unicity of this result in order to prove - the postcondition. - * libgnat/a-strmap.ads: (SPARK_Proof_Sorted_Character_Sequence): - New ghost function. - (To_Domain): Add postcondition regarding sorting of result. - (To_Range): Fix postcondition that should compare Length instead - of Last for the results of To_Domain and To_Range, as the value - of Last for an empty result is not specified in the Ada RM. - -2021-10-05 Yannick Moy - - * libgnat/a-chahan.adb: Add loop invariants as needed to prove - subprograms. Also use extended return statements where - appropriate and not done already. Mark data with - Relaxed_Initialization where needed for initialization by parts. - Convert regular functions to expression functions where needed - for proof. - * libgnat/a-chahan.ads: Add postconditions. - * libgnat/a-strmap.ads (Model): New ghost function to create a - publicly visible model of the private data Character_Mapping, - needed in order to prove subprograms in Ada.Characters.Handling. - -2021-10-04 Justin Squirek - - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: - Add new entry for No_Dynamic_Accessibility_Checks documenting - behavior. - * gnat_rm.texi: Regenerate. - * exp_ch4.adb (Expand_N_In): Perform special expansion for - membership tests when No_Dynamic_Accessibility_Checks is active. - * sem_attr.adb (Resolve_Attribute): Skip static accessibility - check on actuals for anonymous access type formal parameters, - and add constants for readability. - * sem_util.adb (Function_Call_Or_Allocator_Level): Use the - innermost master for determining the level for function calls - within the alternative accessibility model. - (Type_Access_Level): Properly get the level for anonymous access - function result types. - -2021-10-04 Piotr Trojanek - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (gnateA): This switch no longer looks at the formal parameter - type being composite (as originally mandated by SPARK), but in - the parameter passing mechanism being not specified (as - currently mandated by Ada). - * gnat_ugn.texi: Regenerate. - -2021-10-04 Ed Schonberg - - * sem_ch6.adb (Analyze_Operator_Symbol): Recognize strings as - operator names when they are the value of one of the Ada2022 - aspects for User_Defined_Literals. - * sem_ch13.adb (Analyze_One_Aspect): Handle an aspect value - given by an Operator_Name. - (Validate_Literal_Aspect): Call Analyze_Operator_Symbol when - needed. - -2021-10-04 Piotr Trojanek - - * gen_il-gen.adb (Put_Make_Spec): Don't emit the LF character in - the middle of a string, because the Put routine won't indent it - properly. - -2021-10-04 Ghjuvan Lacambre - - * gnat_cuda.adb (Remove_CUDA_Device_Entities): New function. - (Expand_CUDA_Package): Call Remove_CUDA_Device_Entities. - * gnat_cuda.ads (Expand_CUDA_Package): Expand documentation. - * sem_prag.adb (Analyze_Pragma): Remove warning about - CUDA_Device not being implemented. - -2021-10-04 Gary Dismukes - - * sem_ch7.adb (Analyze_Package_Specification): For types marked - as Must_Have_Preelab_Init, we now check for the presence of a - Preelaborable_Initialization aspect on the type, and pass the - aspect's expression (if any) on the call to - Has_Preelaborable_Initialization (or pass Empty if the type has - no such aspect or the aspect has no associated expression). - * sem_util.ads (Has_Preelaborable_Initialization): Change - Boolean formal parameter Formal_Types_Have_Preelab_Init to - instead be a formal of type Node_Id (named Preelab_Init_Expr), - to allow passing an expression that may be a conjunction of - Preelaborable_Initialization aspects. Revise spec comment - accordingly (and remove ??? comment). - * sem_util.adb (Type_Named_In_Preelab_Init_Expression): New - nested function with a result indicating whether a given type is - named as the prefix of a Preelaborable_Initialization attribute - in the expression of a corresponding P_I aspect. - (Has_Preelaborable_Initialization): For generic formal derived - and private types, test whether the type is named in the - expression Preelab_Init_Expr (by calling - Type_Named_In_Preelab_Init_Expression), and if so, treat the - formal type as having preelaborable initialization (returning - True). - * libgnat/a-cobove.ads (Vector): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as Element_Type'Preelaborable_Initialization. - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - * libgnat/a-cbdlli.ads (List): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as Element_Type'Preelaborable_Initialization. - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - * libgnat/a-cbhama.ads (Map): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as (Element_Type'Preelaborable_Initialization and - Key_Type'Preelaborable_Initialization). - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - * libgnat/a-cborma.ads (Map): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as (Element_Type'Preelaborable_Initialization and - Key_Type'Preelaborable_Initialization). - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - * libgnat/a-cbhase.ads (Set): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as Element_Type'Preelaborable_Initialization. - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - * libgnat/a-cborse.ads (Set): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as Element_Type'Preelaborable_Initialization. - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - * libgnat/a-cbmutr.ads (Tree): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as Element_Type'Preelaborable_Initialization. - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - * libgnat/a-coboho.ads (Holder): Replace pragma - Preelaborable_Initialization with the aspect, specifying its - value as Element_Type'Preelaborable_Initialization. - (Cursor): Replace pragma P_I with the aspect (defaulting to - True). - -2021-10-04 Yannick Moy - - * libgnat/a-textio.adb: Mark body out of SPARK. - * libgnat/a-textio.ads: Mark spec in SPARK and private part out - of SPARK. - * sem.adb (Semantics.Do_Analyze): Similar to ghost code - attributes, save and restore value of - Ignore_SPARK_Mode_Pragmas_In_Instance. - -2021-10-04 Bob Duff - - * libgnat/s-regpat.ads: Change Data_First to Data'First. Change - "still" to "always". Similar changes for Data_Last. - -2021-10-04 Piotr Trojanek - - * sprint.adb (Sprint_Node_Actual): Refactor code for generic - package and subprogram declarations. - -2021-10-04 Piotr Trojanek - - * sem_res.adb (Resolve_Indexed_Component, Resolve_Slice): Rename - the local constant Name to Pref; remove repeated calls to - Prefix. - -2021-10-04 Matthieu Eyraud - - * scos.ads: Extend the documentation. - * par_sco.adb (Process_Decisions): Emit specific SCOs for - quantified expressions. - -2021-10-04 Piotr Trojanek - - * checks.adb (Selected_Range_Checks): Fix style. - * exp_ch4.adb (Expand_N_Slice): Fix style and comment. - * sem_res.adb (Resolve_Indexed_Component): Fix style. - -2021-10-04 Yannick Moy - - * libgnat/a-strbou.ads: Add comments. - -2021-10-04 Piotr Trojanek - - * sem_attr.adb (Eval_Attribute): Evaluation of attribute - Leading_Part with illegal second parameter is now similar to - evaluation of Remainder with its second parameter being zero. - -2021-10-04 Ed Schonberg - - * sem_res.adb (Resolve_Declare_Expression): Use tree traversals - to perform name capture of local entities in the expression of - the construct. - * exp_util.adb (Possible_Side_Effects_In_SPARK): Do not apply to - the prefix of an attribute reference Reduce when that prefix is - an aggregate, because it will be expanded into a loop, and has - no identifiable type. - -2021-10-04 Javier Miranda - - * sem_ch8.adb (Build_Class_Wide_Wrapper): Fix handling of - class-wide subtypes; required to handle chains of - instantiations. Adding also code to identify these wrappers and - properly resolve instantiations where the wrapper and a tagged - type primitive are visible. - * einfo.ads (Is_Class_Wide_Wrapper): Adding documentation. - * gen_il-fields.ads (Opt_Field_Enum): Adding - Is_Class_Wide_Wrapper. - * gen_il-gen-gen_entities.adb (Root_Entity_Type): Adding - semantic flag Is_Class_Wide_Wrapper. - -2021-10-04 Bob Duff - - * einfo.ads (Declaration_Node): Document that Declaration_Node - for Itypes. - * einfo-utils.adb (Declaration_Node): Make it return Empty for - Itypes, or a proper type or subtype declaration. - * gen_il-gen.adb: Minor comment improvement. - -2021-10-04 Piotr Trojanek - - * sem_res.adb (Resolve_Slice): Fix application of range checks - to slice range given as a subtype name. - -2021-10-04 Piotr Trojanek - - * sem_res.adb (Resolve_Slice): Handle range given as a subtype - indication. - -2021-10-04 Piotr Trojanek - - * sem_res.adb (Resolve_Slice): Add custom handling of attribute - Image and similar in CodePeer mode. This complements the - existing custom handling of these attributes in - Expand_N_Attribute_Reference. - -2021-10-04 Justin Squirek - - * sem_util.adb (Is_Variable): Add check for implicitly - dereferenced access types - (Is_Dependent_Component_Of_Mutable_Object): Set Prefix_Type when - not specified. - -2021-10-04 Eric Botcazou - - * doc/gnat_ugn/the_gnat_compilation_model.rst (Binding generation): - Document specific behavior for /include/-ending paths and update. - * gnat_ugn.texi: Regenerate. - -2021-10-04 Arnaud Charlet - - PR ada/102073 - * socket.c (__gnat_gethostbyaddr, __gnat_inet_pton): Add missing - return statements. - -2021-10-04 Justin Squirek - - * sem_util.adb (Function_Or_Allocator_Level): Properly handle - direct function calls in the default alternative accessibility - checking mode. - -2021-10-04 Javier Miranda - - * sem_util.adb (Is_Library_Level_Entity): Return False for - entities defined in E_Loop scopes. This change is not required - by the frontend; it is required by tools that depend on the - frontend sources. - * einfo-utils.adb (Is_Dynamic_Scope): Code cleanup. - -2021-10-04 Justin Squirek - - * sem_util.adb (Accessibility_Level): Add a case to handle - renamed subprograms in addition to renamed objects. - -2021-10-04 Doug Rupp - - * libgnarl/s-osinte__vxworks.ads (tlsKeyCreate): Return int. - * libgnarl/s-tpopsp__vxworks-rtp.adb (ERROR): Declare from - System.VxWorks.Ext.ERROR. - (Initialize): Declare IERR. Assert it. - * libgnarl/s-tpopsp__vxworks.adb (ERROR): Declare from - System.VxWorks.Ext.ERROR. - (Is_Valid_Task): Declare IERR. Test return. - * libgnarl/s-vxwext__kernel.adb (semDelete): Return STATUS. - -2021-10-04 Eric Botcazou - - * exp_disp.adb (Make_DT): Copy the Needs_Debug_Info flag from the - type onto the TSD object. - -2021-10-04 Steve Baird - - * sem_util.adb (Is_Repeatedly_Evaluated): Handle the case of an - Old attribute reference that occurs within what was originally a - quantified expression but which expansion has transformed into - an Expression_With_Actions. - -2021-10-04 Steve Baird - - * exp_ch4.adb (Expand_N_Indexed_Component): The two improvements - described above. - -2021-10-01 Bob Duff - - * exp_ch6.adb (Expand_Call_Helper): Do not call - Check_Subprogram_Variant if the subprogram is an ignored ghost - entity. Otherwise the compiler crashes (in debug builds) or - gives strange error messages (in production builds). - -2021-10-01 Ghjuvan Lacambre - - * gnat_cuda.adb (Empty_CUDA_Global_Subprograms): New procedure. - (Expand_CUDA_Package): Call Empty_CUDA_Global_Subprograms. - -2021-10-01 Steve Baird - - * checks.ads: Define a type Dimension_Set. Add an out-mode - parameter of this new type to Generate_Index_Checks so that - callers can know for which dimensions a check was generated. Add - an in-mode parameter of this new type to - Apply_Subscript_Validity_Checks so that callers can indicate - that no check is needed for certain dimensions. - * checks.adb (Generate_Index_Checks): Implement new - Checks_Generated parameter. - (Apply_Subscript_Validity_Checks): Implement new No_Check_Needed - parameter. - * exp_ch4.adb (Expand_N_Indexed_Component): Call - Apply_Subscript_Validity_Checks in more cases than before. This - includes declaring two new local functions, - (Is_Renamed_Variable_Name, - Type_Requires_Subscript_Validity_Checks_For_Reads): To help in - deciding whether to call Apply_Subscript_Validity_Checks. - Adjust to parameter profile changes in Generate_Index_Checks and - Apply_Subscript_Validity_Checks. - -2021-10-01 Eric Botcazou - - * doc/gnat_rm/implementation_defined_characteristics.rst: Document - the rounding mode assumed for dynamic computations as per 3.5.7(16). - * gnat_rm.texi: Regenerate. - -2021-10-01 Bob Duff - - * table.ads (Table_Type): Remove "aliased"; no longer needed by - Atree. Besides it contradicted the comment a few lines above, - "-- Note: We do not make the table components aliased...". - * types.ads: Move type Slot to Atree. - * atree.ads: Move type Slot fromt Types to here. Move type - Node_Header from Seinfo to here. - * atree.adb: Avoid the need for aliased components of the Slots - table. Instead of 'Access, use a getter and setter. Misc - cleanups. - (Print_Statistics): Print statistics about node and entity kind - frequencies. Give 3 digit fractions instead of percentages. - * (Get_Original_Node_Count, Set_Original_Node_Count): Statistics - for calls to Original_Node and Set_Original_Node. - (Original_Node, Set_Original_Node): Gather statistics by calling - the above. - (Print_Field_Statistics): Print Original_Node statistics. - (Update_Kind_Statistics): Remove, and put all statistics - gathering under "if Atree_Statistics_Enabled", which is a flag - generated in Seinfo by Gen_IL. - * gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of - Nkind, Ekind, and Homonym first. This causes a slight efficiency - improvement. Misc cleanups. Do not generate Node_Header; it is - now hand-written in Atree. When choosing the order in which to - assign offsets, weight by the frequency of the node type, so the - more common nodes get their field offsets assigned earlier. Add - more special cases. - (Compute_Type_Sizes): Remove this and related things. - There was a comment: "At some point we can instrument Atree to - print out accurate size statistics, and remove this code." We - have Atree statistics, so we now remove this code. - (Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal - to Statistics_Enabled. This allows Atree to say "if - Atree_Statistics_Enabled then " for - efficiency. When Atree_Statistics_Enabled is False, the "if ..." - will be optimized away. - * gen_il-internals.ads (Type_Frequency): New table of kind - frequencies. - * gen_il-internals.adb: Minor comment improvement. - * gen_il-fields.ads: Remove unused subtypes. Suppress style - checks in the Type_Frequency table. If we regenerate this - table (see -gnatd.A) we don't want to have to fiddle with - casing. - * impunit.adb: Minor. - * sinfo-utils.adb: Minor. - * debug.adb: Minor comment improvement. - -2021-10-01 Eric Botcazou - - * sem_type.adb (Specific_Type): Check that the type is tagged - before calling Interface_Present_In_Ancestor on it. - -2021-10-01 Eric Botcazou - - * debug.adb (d.8): Document usage. - * fe.h (Debug_Flag_Dot_8): Declare. - -2021-10-01 Gary Dismukes - - * sem_util.adb (Enter_Name): Suppress hiding warning when in an - instance. - -2021-10-01 Ed Schonberg - - * sem_attr.adb (Analyze_Attribute, case Type_Key): Attribute can - be applied to a formal type. - * sem_ch5.adb (Analyze_Case_Statement): If Extensions_Allowed is - not enabled, verify that the type of the expression is discrete. - -2021-10-01 Justin Squirek - - * exp_dbug.adb (Debug_Renaming_Declaration): Add check for - Entity present for Ren to prevent looking at unanalyzed nodes - -2021-10-01 Ghjuvan Lacambre - - * atree.adb (Print_Statistics): Help CodePeer see Total as - greater than zero. - * gen_il-gen.adb (One_Comp): Annotate Field_Table as Modified. - -2021-10-01 Richard Kenner - - * gen_il-gen-gen_entities.adb (Evaluable_Kind, - Global_Name_Kind): Add. - * gen_il-types.ads (Evaluable_Kind, Global_Name_Kind): Likewise. - -2021-10-01 Ghjuvan Lacambre - - * aspects.ads: Add CUDA_Device aspect. - * gnat_cuda.ads (Add_CUDA_Device_Entity): New subprogram. - * gnat_cuda.adb: - (Add_CUDA_Device_Entity): New subprogram. - (CUDA_Device_Entities_Table): New hashmap for CUDA_Device - entities. - (Get_CUDA_Device_Entities): New internal subprogram. - (Set_CUDA_Device_Entities): New internal subprogram. - * par-prag.adb (Prag): Handle pragma id Pragma_CUDA_Device. - * sem_prag.ads (Aspect_Specifying_Pragma): Mark CUDA_Device as - being both aspect and pragma. - * sem_prag.adb (Analyze_Pragma): Add CUDA_Device entities to - list of CUDA_Entities belonging to package N. - (Sig_Flags): Signal CUDA_Device entities as referenced. - * snames.ads-tmpl: Create CUDA_Device names and pragmas. - -2021-10-01 Gary Dismukes - - * exp_util.adb (Build_DIC_Procedure_Body): Remove inappropriate - Assert pragma. Remove unneeded and dead code related to derived - private types. - -2021-10-01 Richard Kenner - - * gen_il-gen-gen_nodes.adb (N_Alternative, N_Is_Case_Choice): - Add. - (N_Is_Exception_Choice, N_Is_Range): Likewise. - * gen_il-types.ads: Add above names. - * gen_il-gen.adb (Put_Union_Membership): Write both declarations - and definitions of union functions. - -2021-10-01 Ed Schonberg - - * exp_aggr.adb (Expand_Array_Aggregate, - Two_Pass_Aggregate_Expansion): Increment index for element - insertion within the loop, only if upper bound has not been - reached. - -2021-10-01 Javier Miranda - - * contracts.ads (Make_Class_Precondition_Subps): New subprogram. - (Merge_Class_Conditions): New subprogram. - (Process_Class_Conditions_At_Freeze_Point): New subprogram. - * contracts.adb (Check_Class_Condition): New subprogram. - (Set_Class_Condition): New subprogram. - (Analyze_Contracts): Remove code analyzing class-wide-clone - subprogram since it is no longer built. - (Process_Spec_Postconditions): Avoid processing twice seen - subprograms. - (Process_Preconditions): Simplify its functionality to - non-class-wide preconditions. - (Process_Preconditions_For): No action needed for wrappers and - helpers. - (Make_Class_Precondition_Subps): New subprogram. - (Process_Class_Conditions_At_Freeze_Point): New subprogram. - (Merge_Class_Conditions): New subprogram. - * exp_ch6.ads (Install_Class_Preconditions_Check): New - subprogram. - * exp_ch6.adb (Expand_Call_Helper): Install class-wide - preconditions check on dispatching primitives that have or - inherit class-wide preconditions. - (Freeze_Subprogram): Remove code for null procedures with - preconditions. - (Install_Class_Preconditions_Check): New subprogram. - * exp_util.ads (Build_Class_Wide_Expression): Lower the - complexity of this subprogram; out-mode formal Needs_Wrapper - since this functionality is now provided by a new subprogram. - (Get_Mapped_Entity): New subprogram. - (Map_Formals): New subprogram. - * exp_util.adb (Build_Class_Wide_Expression): Lower the - complexity of this subprogram. Its previous functionality is now - provided by subprograms Needs_Wrapper and Check_Class_Condition. - (Add_Parent_DICs): Map the overridden primitive to the - overriding one. - (Get_Mapped_Entity): New subprogram. - (Map_Formals): New subprogram. - (Update_Primitives_Mapping): Adding assertion. - * freeze.ads (Check_Inherited_Conditions): Subprogram made - public with added formal to support late overriding. - * freeze.adb (Check_Inherited_Conditions): New implementation; - builds the dispatch table wrapper required for class-wide - pre/postconditions; added support for late overriding. - (Needs_Wrapper): New subprogram. - * sem.ads (Inside_Class_Condition_Preanalysis): New global - variable. - * sem_disp.ads (Covered_Interface_Primitives): New subprogram. - * sem_disp.adb (Covered_Interface_Primitives): New subprogram. - (Check_Dispatching_Context): Skip checking context of - dispatching calls during preanalysis of class-wide conditions - since at that stage the expression is not installed yet on its - definite context. - (Check_Dispatching_Call): Skip checking 6.1.1(18.2/5) by - AI12-0412 on helpers and wrappers internally built for - supporting class-wide conditions; for late-overriding - subprograms call Check_Inherited_Conditions to build the - dispatch-table wrapper (if required). - (Propagate_Tag): Adding call to - Install_Class_Preconditions_Check. - * sem_util.ads (Build_Class_Wide_Clone_Body): Removed. - (Build_Class_Wide_Clone_Call): Removed. - (Build_Class_Wide_Clone_Decl): Removed. - (Class_Condition): New subprogram. - (Nearest_Class_Condition_Subprogram): New subprogram. - * sem_util.adb (Build_Class_Wide_Clone_Body): Removed. - (Build_Class_Wide_Clone_Call): Removed. - (Build_Class_Wide_Clone_Decl): Removed. - (Class_Condition): New subprogram. - (Nearest_Class_Condition_Subprogram): New subprogram. - (Eligible_For_Conditional_Evaluation): No need to evaluate - class-wide conditions during preanalysis since the expression is - not installed on its definite context. - * einfo.ads (Class_Wide_Clone): Removed. - (Class_Postconditions): New attribute. - (Class_Preconditions): New attribute. - (Class_Preconditions_Subprogram): New attribute. - (Dynamic_Call_Helper): New attribute. - (Ignored_Class_Postconditions): New attribute. - (Ignored_Class_Preconditions): New attribute. - (Indirect_Call_Wrapper): New attribute. - (Is_Dispatch_Table_Wrapper): New attribute. - (Static_Call_Helper): New attribute. - * exp_attr.adb (Expand_N_Attribute_Reference): When the prefix - is of an access-to-subprogram type that has class-wide - preconditions and an indirect-call wrapper of such subprogram is - available, replace the prefix by the wrapper. - * exp_ch3.adb (Build_Class_Condition_Subprograms): New - subprogram. - (Register_Dispatch_Table_Wrappers): New subprogram. - * exp_disp.adb (Build_Class_Wide_Check): Removed; class-wide - precondition checks now rely on internally built helpers. - * sem_ch13.adb (Analyze_Aspect_Specifications): Set initial - value of attributes Class_Preconditions, Class_Postconditions, - Ignored_Class_Preconditions and Ignored_Class_Postconditions. - These values are later updated with the full pre/postcondition - by Merge_Class_Conditions. - (Freeze_Entity_Checks): Call - Process_Class_Conditions_At_Freeze_Point. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove code - building the body of the class-wide clone subprogram since it is - no longer required. - (Install_Entity): Adding assertion. - * sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove - code building and analyzing the class-wide clone subprogram; no - longer required. - (Build_Pragma_Check_Equivalent): Adjust call to - Build_Class_Wide_Expression since the formal named Needs_Wrapper - has been removed. - * sem_attr.adb (Analyze_Attribute_Old_Result): Skip processing - these attributes during preanalysis of class-wide conditions - since at that stage the expression is not installed yet on its - definite context. - * sem_res.adb (Resolve_Actuals): Skip applying RM 3.9.2(9/1) and - SPARK RM 6.1.7(3) on actuals of internal helpers and wrappers - built to support class-wide preconditions. - * sem_ch5.adb (Process_Bounds): Do not generate a constant - declaration for the bounds when we are preanalyzing a class-wide - condition. - (Analyze_Loop_Parameter_Specification): Handle preanalysis of - quantified expression placed in the outermost expression of a - class-wide condition. - * ghost.adb (Check_Ghost_Context): No check required during - preanalysis of class-wide conditions. - * gen_il-fields.ads (Opt_Field_Enum): Adding - Class_Postconditions, Class_Preconditions, - Class_Preconditions_Subprogram, Dynamic_Call_Helper, - Ignored_Class_Postconditions, Ignored_Class_Preconditions, - Indirect_Call_Wrapper, Is_Dispatch_Table_Wrapper, - Static_Call_Helper. - * gen_il-gen-gen_entities.adb (Is_Dispatch_Table_Wrapper): - Adding semantic flag Is_Dispatch_Table_Wrapper; removing - semantic field Class_Wide_Clone; adding semantic fields for - Class_Postconditions, Class_Preconditions, - Class_Preconditions_Subprogram, Dynamic_Call_Helper, - Ignored_Class_Postconditions, Indirect_Call_Wrapper, - Ignored_Class_Preconditions, and Static_Call_Helper. - -2021-10-01 Piotr Trojanek - - * comperr.adb (Delete_SCIL_Files): Handle generic subprogram - declarations and renaming just like generic package declarations - and renamings, respectively; handle - N_Subprogram_Renaming_Declaration. - -2021-10-01 Steve Baird - - * bcheck.adb (Check_Versions): Add support for the case where - the .ali file contains both a primary and a secondary version - number, as in "GNAT Lib v22.20210809". - -2021-10-01 Steve Baird - - * sem_res.adb (Resolve): Two separate fixes. In the case where - Find_Aspect for a literal aspect returns the aspect for a - different (ancestor) type, call Corresponding_Primitive_Op to - get the right callee. In the case where a downward tagged type - conversion appears to be needed, generate a null extension - aggregate instead, as per Ada RM 3.4(27). - * sem_util.ads, sem_util.adb: Add new Corresponding_Primitive_Op - function. It maps a primitive op of a tagged type and a - descendant type of that tagged type to the corresponding - primitive op of the descendant type. The body of this function - was written by Javier Miranda. - -2021-10-01 Bob Duff - - * atree.adb: Gather and print statistics about frequency of - getter and setter calls. - * atree.ads (Print_Statistics): New procedure for printing - statistics. - * debug.adb: Document -gnatd.A switch. - * gen_il-gen.adb: Generate code for statistics gathering. - Choose the offset of Homonym early. Misc cleanup. Put more - comments in the generated code. - * gen_il-internals.ads (Unknown_Offset): New value to indicate - that the offset has not yet been chosen. - * gnat1drv.adb: Call Print_Statistics. - * libgnat/s-imglli.ads: Minor comment fix. - * output.ads (Write_Int_64): New procedure to write a 64-bit - value. Needed for new statistics, and could come in handy - elsewhere. - * output.adb (Write_Int_64): Likewise. - * sinfo.ads: Remove obsolete comment. The xtreeprs program no - longer exists. - * types.ads: New 64-bit types needed for new statistics. - -2021-10-01 Dmitriy Anisimkov - - * libgnat/memtrack.adb (Putc): New routine wrapped around fputc - with error check. - (Write): New routine wrapped around fwrite with error check. - Remove bound functions fopen, fwrite, fputs, fclose, OS_Exit. - Use the similar routines from System.CRTL and System.OS_Lib. - -2021-10-01 Ed Schonberg - - * exp_aggr.adb (Must_Slide): If the aggregate only contains an - others_clause no sliding id involved. Otherwise sliding is - required if any bound of the aggregate or the context subtype is - non-static. - -2021-10-01 Richard Kenner - - * gen_il-gen-gen_nodes.adb (N_Is_Decl): Add. - * gen_il-types.ads (N_Is_Decl): Likewise. - -2021-10-01 Richard Kenner - - * gen_il-gen-gen_nodes.adb (N_Entity_Name): Add. - * gen_il-types.ads (N_Entity_Name): Likewise. - -2021-10-01 Steve Baird - - * bcheck.adb (Check_Versions): In the case of an ali file - version mismatch, if distinct integer values can be extracted - from the two version strings then include those values in the - generated error message. - -2021-10-01 Steve Baird - - * sem_elab.adb (Is_Safe_Call): Return True in the case of a - (possibly rewritten) call to an expression function. - -2021-10-01 Ghjuvan Lacambre - - * sem_aggr.adb (Resolve_Iterated_Component_Association): - Initialize Id_Typ to Any_Type by default. - -2021-10-01 Eric Botcazou - - * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Document - that it works only with fixed-position executables. - -2021-10-01 Doug Rupp - - * libgnat/s-parame__vxworks.ads (time_t_bits): Change to - Long_Long_Integer'Size. - -2021-09-23 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment. - -2021-09-23 Richard Kenner - - * gen_il-gen-gen_entities.adb (Subprogram_Body_Or_Type): Add. - * gen_il-types.ads (Subprogram_Body_Or_Type): Likewise. - -2021-09-23 Richard Kenner - - * einfo-utils.adb (Next_Index): Verify input and output are - N_Is_Index. - * gen_il-gen-gen_nodes.adb (N_Has_Bounds, N_Is_Index): Add. - * gen_il-types.ads (N_Has_Bounds, N_Is_Index): Likewise. - * sem_ch3.adb (Array_Type_Declaration): Use Next, not - Next_Index. - * sem_ch12.adb (Formal_Dimensions): Likewise. - * sem_util.adb (Is_Valid_Renaming): Likewise. - -2021-09-23 Eric Botcazou - - * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize): - Document new --load option and -g1 as minimal compilation - requirement. - -2021-09-23 Piotr Trojanek - - * sem_aggr.adb (Resolve_Array_Aggregate): Only keep the bounds - for internally generated attributes; otherwise, compute them - anew. - -2021-09-23 Javier Miranda - - * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Decorate the - wrapper with attribute Is_Wrapper, and move its declaration to - the freezing actions of its type declaration; done to facilitate - identifying it at later stages to avoid handling it as a - primitive operation of a tagged type; otherwise it may be - handled as a dispatching operation and erroneously registered in - a dispatch table. - (Make_Index): Add missing decoration of field Parent. - * sem_disp.adb (Check_Dispatching_Operation): Complete - decoration of late-overriding dispatching primitives. - (Is_Access_To_Subprogram_Wrapper): New subprogram. - (Inherited_Subprograms): Prevent cascaded errors; adding missing - support for private types. - * sem_type.adb (Add_One_Interp): Add missing support for the - first interpretation of a primitive of an inmediate ancestor - interface. - * sem_util.adb (Check_Result_And_Post_State_In_Pragma): Do not - report missing reference in postcondition placed in internally - built wrappers. - * exp_disp.adb (Expand_Dispatching_Call): Adding assertion. - -2021-09-23 Ed Schonberg - - * sem_aggr.adb (Resolve_Array_Aggregate): Check the validity of - an array aggregate all of whose components are iterated - component associations. - * exp_aggr.adb (Expand_Array_Aggregate, - Two_Pass_Aggregate_Expansion): implement two-pass algorithm and - replace original aggregate with resulting temporary, to ensure - that a proper length check is performed if context is - constrained. Use attributes Pos and Val to handle index types of - any discrete type. - -2021-09-23 Bob Duff - - * gen_il-gen.adb: Set the number of concrete nodes that have the - Homonym field to a higher number than any other field. This - isn't true, but it forces Homonym's offset to be chosen first, - so it will be at offset zero and hence slot zero. - -2021-09-23 Richard Kenner - - * atree.adb (Relocate_Node): If relocating a subprgram call and - we're doing unnesting, make a new Parameter_Associations, if - any. - -2021-09-23 Piotr Trojanek - - * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove explicit - Initializes contract. - -2021-09-23 Bob Duff - - * gen_il-gen.adb: Generate getters and setters with much of the - code inlined. Generate code for storing a few fields in the node - header, to avoid the extra level of indirection for those - fields. We generate the header type, so we don't have to - duplicate hand-written Ada and C code to depend on the number of - header fields. Declare constants for slot size. Use short names - because these are used all over. Remove - Put_Low_Level_Accessor_Instantiations, Put_Low_Level_C_Getter, - which are no longer needed. Rename - Put_High_Level_C_Getter-->Put_C_Getter. - * atree.ads, atree.adb: Take into account the header slots. - Take into account the single Node_Or_Entity_Field type. Remove - "pragma Assertion_Policy (Ignore);", because the routines in - this package are no longer efficiency critical. - * atree.h: Remove low-level getters, which are no longer used by - sinfo.h and einfo.h. - * einfo-utils.adb: Avoid crash in Known_Alignment. - * live.adb, sem_eval.adb: Remove code that prevents Node_Id from - having a predicate. We don't actually add a predicate to - Node_Id, but we want to be able to for temporary debugging. - * sinfo-utils.adb: Remove code that prevents Node_Id from having - a predicate. Take into account the single Node_Or_Entity_Field - type. - * sinfo-utils.ads: Minor. - * table.ads (Table_Type): Make the components aliased, because - low-level setters in Atree need to take 'Access. - * treepr.adb: Take into account the single Node_Or_Entity_Field - type. Make some code more robust, so we can print out - half-baked nodes. - * types.ads: Move types here for visibility purposes. - * gcc-interface/gigi.h, gcc-interface/trans.c: Take into account - the Node_Header change in the GNAT front end. - * gcc-interface/cuintp.c, gcc-interface/targtyps.c: Add because - gigi.h now refers to type Node_Header, which is in sinfo.h. - -2021-09-23 Yannick Moy - - * libgnat/a-strfix.adb (Delete, Insert, Overwrite, - Replace_Slice): Remove SPARK_Mode Off. - * libgnat/a-strfix.ads (Insert, Overwrite, Replace_Slice): - Strengthen precondition. - -2021-09-23 Piotr Trojanek - - * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove non-null - Global contracts. - -2021-09-23 Steve Baird - - * doc/gnat_rm/implementation_defined_characteristics.rst: Update - this section to reflect the current version of Ada RM M.2. - * gnat_rm.texi: Regenerate. - -2021-09-22 Yannick Moy - - * libgnat/a-strfix.ads (Trim): Simplify contracts. - * libgnat/a-strfix.adb (Trim): Remove white space. - -2021-09-22 Piotr Trojanek - - * exp_ch4.adb (Expand_N_Op_Eq): Reuse Is_Attribute_Result. - * exp_prag.adb (Expand_Attributes): Reuse Is_Attribute_Old. - -2021-09-22 Yannick Moy - - * sem_ch3.adb (Analyze_Object_Declaration): Do not insert a - predicate check after a deferred constant declaration. - -2021-09-22 Bob Duff - - * contracts.adb, einfo-utils.adb, einfo-utils.ads, exp_ch7.adb, - exp_ch9.adb, exp_disp.adb, exp_prag.adb, exp_smem.adb, - exp_util.adb, freeze.adb, sem_aggr.adb, sem_attr.adb, - sem_ch8.adb, sem_prag.ads, sem_util.adb, sem_util.ads: Fix - conformance errors. - * errout.adb, erroutc.adb: Remove pragmas Suppress. - * err_vars.ads: Initialize variables that were previously being - read uninitialized. - -2021-09-22 Yannick Moy - - * libgnat/a-strunb.ads: Mark package in SPARK with private part - not in SPARK. - (Free): Mark not in SPARK. - -2021-09-22 Arnaud Charlet - - * snames.ads-tmpl: Update status of some attributes. - -2021-09-22 Doug Rupp - - * libgnarl/s-interr__vxworks.adb (Interfaces.C): Remove as - unused. - (System.VxWorks.Ext): Import. - (System.VxWorks.Ext.STATUS): use type. - (STATUS): New subtype. - (OK): New constant. - (Interrupt_Connector): Return STATUS type vice int. - (Interrupt_Connect, Notify_Interrupt, Unbind_Handler, - Interrupt_Server_Task): Rename Status to Result. Assert Result = - OK. - * libgnarl/s-osinte__vxworks.adb (To_Clock_Ticks): Define constant - IERR, and return it vice ERROR. - (Binary_Semaphore_Delete): Return STATUS type vice int. - (Binary_Semaphore_Obtain): Likewise. - (Binary_Semaphore_Release): Likewise. - (Binary_Semaphore_Flush): Likewise. - * libgnarl/s-osinte__vxworks.ads (SVE): Renaming of - System.VxWorks.Ext. - (STATUS): Use SVE in declaration of subtype. - (BOOL): Likewise. - (vx_freq_t): Likewise. - (t_id): Likewise. - (gitpid): Use SVE in renaming of subprogram - (Task_Stop): Likewise. - (Task_Cont): Likewise. - (Int_Lock): Likewise. - (Int_Unlock): Likewise. - (Set_Time_Slice): Likewise. - (semDelete): Likewise. - (taskCpuAffinitySet): Likewise. - (taskMaskAffinitySet): Likewise. - (sigset_t): Use SVE in declaration of type. - (OK): Remove as unused. - (ERROR): Likewise. - (taskOptionsGet): return STATUS vice int. - (taskSuspend): Likewise. - (taskResume): Likewise. - (taskDelay): Likewise. - (taskVarAdd): Likewise. - (taskVarDelete): Likewise. - (taskVarSet): Likewise. - (tlkKeyCreate): Likewise. - (taskPrioritySet): Likewise. - (semGive): Likewise. - (semTake): Likewise. - (Binary_Semaphore_Delete): Likewise. - (Binary_Semaphore_Obtain): Likewise. - (Binary_Semaphore_Release): Likewise. - (Binary_Semaphore_Flush): Likewise. - (Interrupt_Connect): Likewise. - * libgnarl/s-taprop__vxworks.adb - (System.VxWorks.Ext.STATUS): use type. - (int): Syntactically align subtype. - (STATUS): New subtype. - (OK): New constant. - (Finalize_Lock): Check STATUS vice int. Assert OK. - (Finalize_Lock): Likewise. - (Write_Lock): Likewise. - (Write_Lock): Likewise. - (Write_Lock): Likewise. - (Unlock): Likewise. - (Unlock): Likewise. - (Unlock): Likewise. - (Unlock): Likewise. - (Sleep): Likewise. - (Sleep): Likewise. - (Sleep): Likewise. - (Timed_Sleep): Likewise and test Result. - (Timed_Delay): Likewise and test Result. - (Wakeup): Likewise. - (Yield): Likewise. - (Finalize_TCB): Likewise. - (Suspend_Until_True): Check OK. - (Stop_All_Tasks): Declare Dummy STATUS vice in. Check OK. - (Is_Task_Context): Use OSI renaming. - (Initialize): Use STATUS vice int. - * libgnarl/s-vxwext.adb - (IERR): Renamed from ERROR. - (taskCpuAffinitySet): Return IERR (int). - (taskMaskAffinitySet): Likewise. - * libgnarl/s-vxwext.ads - (STATUS): New subtype. - (OK): New STATUS constant. - (ERROR): Likewise. - * libgnarl/s-vxwext__kernel-smp.adb - (IERR): Renamed from ERROR. - (Int_Lock): Return IERR. - (semDelete): Return STATUS. - (Task_Cont): Likewise. - (Task_Stop): Likewise. - * libgnarl/s-vxwext__kernel.adb - (IERR): Renamed from ERROR. - (semDelete): Return STATUS. - (Task_Cont): Likewise. - (Task_Stop): Likewise. - (taskCpuAffinitySet): Return IERR (int) - (taskMaskAffinitySet): Likewise. - * libgnarl/s-vxwext__kernel.ads - (STATUS): New subtype. - (OK): New STATUS constant. - (ERROR): Likewise. - (Interrupt_Connect): Return STATUS - (semDelete): Likewise. - (Task_Cont): Likewise. - (Task_Stop): Likewise. - (Set_Time_Slice): Likewise. - * libgnarl/s-vxwext__rtp-smp.adb - (IERR): Renamed from ERROR. - (Int_Lock): return IERR constant vice ERROR. - (Interrupt_Connect): Return STATUS. - (semDelete): Likewise. - (Set_Time_Slice): Likewise. - * libgnarl/s-vxwext__rtp.adb - (IERR): Renamed from ERROR. - (Int_Lock): return IERR constant vice ERROR. - (Int_Unlock): Return STATUS. - (semDelete): Likewise. - (Set_Time_Slice): Likewise. - (taskCpuAffinitySet): Return IERR (int) - (taskMaskAffinitySet): Likewise. - * libgnarl/s-vxwext__rtp.ads - (STATUS): New subtype. - (OK): New STATUS constant. - (ERROR): Likewise. - (Interrupt_Connect): Return STATUS - (semDelete): Likewise. - (Task_Cont): Likewise. - (Task_Stop): Likewise. - (Set_Time_Slice): Likewise. - -2021-09-22 Arnaud Charlet - - * prep.adb (Preprocess): Allow for more flexibility when - Relaxed_RM_Semantics is set. - -2021-09-22 Pierre-Alexandre Bazin - - * libgnat/a-strbou.adb: Turn SPARK_Mode on. - * libgnat/a-strbou.ads: Write contracts. - * libgnat/a-strfix.ads (Index): Fix grammar error in a comment. - * libgnat/a-strsea.ads (Index): Likewise. - * libgnat/a-strsup.adb: Rewrite the body to take into account - the new definition of Super_String using Relaxed_Initialization - and a predicate. - (Super_Replicate, Super_Translate, Times): Added loop - invariants, and ghost lemmas for Super_Replicate and Times. - (Super_Trim): Rewrite the body using search functions to - determine the cutting points. - (Super_Element, Super_Length, Super_Slice, Super_To_String): - Remove (now written as expression functions in a-strsup.ads). - * libgnat/a-strsup.ads: Added contracts. - (Super_Element, Super_Length, Super_Slice, Super_To_String): - Rewrite as expression functions. - -2021-09-22 Yannick Moy - - * sem_ch13.adb (Build_Predicate_Functions): Add guard. - -2021-09-22 Doug Rupp - - * libgnarl/s-vxwext.ads (BOOL): New int type. - (Interrupt_Context): Change return type to BOOL. - * libgnarl/s-vxwext__kernel.ads: Likewise. - * libgnarl/s-vxwext__rtp-smp.adb: Likewise. - * libgnarl/s-vxwext__rtp.adb: Likewise. - * libgnarl/s-vxwext__rtp.ads: Likewise. - * libgnarl/s-osinte__vxworks.adb (Interrupt_Context): Change - return type to BOOL. - * libgnarl/s-osinte__vxworks.ads (BOOL) New subtype. - (taskIsSuspended): Change return type to BOOL. - (Interrupt_Context): Change return type to BOOL. Adjust comments - accordingly. - * libgnarl/s-taprop__vxworks.adb (System.VxWorks.Ext.BOOL): - use type. - (Is_Task_Context): Test Interrupt_Context against 0. - * libgnat/i-vxwork.ads (BOOL): New int. - (intContext): Change return type to BOOL. Adjust comments. - * libgnat/i-vxwork__x86.ads: Likewise. - -2021-09-22 Piotr Trojanek - - * sem_aux.adb, sem_aux.ads (Package_Body): Moved from GNATprove. - * sem_elab.adb (Spec_And_Body_From_Entity): Refine type of parameter. - -2021-09-22 Arnaud Charlet - - * doc/gnat_ugn/platform_specific_information.rst: Improve doc - on permission and containers. - * gnat_ugn.texi: Regenerate. - -2021-09-22 Yannick Moy - - * atree.adb (Rewrite): Fix parent node of shared aspects. - * atree.ads (Rewrite): Add ??? comment on incorrect - documentation. - * einfo-utils.adb (Known_Esize): Fix logic. - * sem_ch13.adb (Alignment_Check_For_Size_Change, - Analyze_Attribute_Definition_Clause): Protect against unset - Size. - -2021-09-22 Yannick Moy - - * freeze.adb (Build_Renamed_Body): Special case for GNATprove. - * sem_ch6.adb (Analyze_Expression_Function): Remove useless test - for a node to come from source, which becomes harmful otherwise. - -2021-09-22 Justin Squirek - - * ali.adb, ali.ads (Scan_ALI): Remove use of deprecated - parameter Ignore_ED, and all specification for Lower in call to - Get_File_Name. - * ali-util.adb (Read_Withed_ALIs): Modify call to Scan_ALI. - * clean.adb (Clean_Executables): Likewise. - * gnatbind.adb (Add_Artificial_ALI_File, Executable section): - Likewise. - * gnatlink.adb (Executable section): Likewise. - * gnatls.adb (Executable section): Likewise. - * make.adb (Check, Wait_For_Available_Slot): Likewise. - * aspects.ads: Add Aspect_No_Controlled_Parts to - Nonoverridable_Aspect_Id - * opt.ads: Remove function pointers used as a workaround for - ASIS. - * osint-c.adb (Executable section): Remove setting of function - pointer workarounds needed for ASIS. - * osint.adb (Read_Default_Search_Dirs): Correct behavior to - detect EOL characters. - * par_sco.adb (Output_Header): Remove comment regarding use of - First_Sloc. - (Traverse_Sync_Definition): Renamed to - Traverse_Protected_Or_Task_Definition. - * pprint.adb (Interal_List_Name): Add description about purpose, - and refactor conditional statement. - (Prepend): Removed. - * repinfo.adb (List_Rep_Info, Write_Info_Line): Remove use of - subprogram pointer. - * scng.adb (Scan): Remove CODEFIX question, and minor comment - change. - * sem_attr.adb (Analyze_Image_Attribute): Remove special - processing for 'Img. - * sem_ch6.adb (Check_Untagged_Equality): Add RM reference. - (FCE): Add comment describing behavior. - (Is_Non_Overriding_Operation): Minor comment formatting change. - * sem_type.adb (Is_Actual_Subprogram): Add comment about - Comes_From_Source test. - (Matching_Types): Describe non-matching cases. - * sem_util.adb (Is_Confirming): Add stub case for - No_Controlled_Parts. - -2021-09-22 Yannick Moy - - * sem_ch13.adb (Build_Predicate_Functions): Access - Predicated_Parent only on subtypes. - -2021-09-22 Arnaud Charlet - - * sem_prag.adb (Process_Import_Or_Interface): Relax error when - Relaxed_RM_Semantics. - -2021-09-22 Steve Baird - - * libgnat/s-regpat.adb (Match): Handle the case where Self.First - is not NUL (so we know the first character we are looking for), - but case-insensitive matching has - been specified. - (Optimize): In the case of an EXACTF Op, set Self.First as is - done in the EXACT case, except with the addition of a call to - Lower_Case. - -2021-09-22 Eric Botcazou - - * libgnat/s-imenne.ads, libgnat/s-imenne.adb: Delete. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove s-imenne.o. - (GNATBIND_OBJS): Likewise. - -2021-09-22 Yannick Moy - - * einfo.ads: Fix comments. - * exp_aggr.adb: Fix variable name. - * exp_util.adb: Fix comments. - * sem_ch13.adb: Fix comments. - * sem_ch3.adb: Fix comments and variable name. - -2021-09-22 Doug Rupp - - * libgnarl/s-osinte__vxworks.ads: Make procedure vice function. - * libgnarl/s-vxwext.ads: Likewise. - * libgnarl/s-vxwext__kernel-smp.adb: Likewise. - * libgnarl/s-vxwext__kernel.adb: Likewise. - * libgnarl/s-vxwext__kernel.ads: Likewise. - * libgnarl/s-vxwext__rtp-smp.adb: Likewise. - * libgnarl/s-vxwext__rtp.adb: Likewise. - * libgnarl/s-vxwext__rtp.ads: Likewise. - * libgnarl/s-taprop__vxworks.adb (Stop_All_Tasks): Call - Int_Unlock as a procedure. - -2021-09-22 Doug Rupp - - * libgnarl/s-osinte__vxworks.ads (SVE): New package renaming - (vx_freq_t): New subtype. - (sysClkRateGet): Return vx_freq_t. - * libgnarl/s-vxwext.ads (vx_freq_t): New type. - * libgnarl/s-vxwext__kernel.ads: Likewise. - * libgnarl/s-vxwext__rtp.ads: Likewise. - -2021-09-22 Ghjuvan Lacambre - - * sem_case.adb (Composite_Case_Ops): Replace 'Image with - Error_Msg_Uint. - -2021-09-22 Eric Botcazou - - * exp_ch4.adb (Expand_N_If_Expression): Generate an intermediate - temporary when the expression is a condition in an outer decision - and control-flow optimizations are suppressed. - -2021-09-22 Steve Baird - - * exp_ch5.adb (Expand_General_Case_Statement.Pattern_Match): Add - new function Indexed_Element to handle array element - comparisons. Handle case choices that are array aggregates, - string literals, or names denoting constants. - * sem_case.adb (Composite_Case_Ops.Array_Case_Ops): New package - providing utilities needed for casing on arrays. - (Composite_Case_Ops.Choice_Analysis): If necessary, include - array length as a "component" (like a discriminant) when - traversing components. We do not (yet) partition choice analysis - to deal with unequal length choices separately. Instead, we - embed everything in the minimum-dimensionality Cartesian product - space needed to handle all choices properly; this is determined - by the length of the longest choice pattern. - (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts): - Include length as a "component" in the traversal if necessary. - (Composite_Case_Ops.Choice_Analysis.Parse_Choice.Traverse_Choice): - Add support for case choices that are string literals or names - denoting constants. - (Composite_Case_Ops.Choice_Analysis): Include length as a - "component" in the analysis if necessary. - (Check_Choices.Check_Case_Pattern_Choices.Ops.Value_Sets.Value_Index_Count): - Improve error message when capacity exceeded. - * doc/gnat_rm/implementation_defined_pragmas.rst: Update - documentation to reflect current implementation status. - * gnat_rm.texi: Regenerate. - -2021-09-22 Eric Botcazou - - * freeze.adb (Check_Component_Storage_Order): Give a specific error - message for non-byte-aligned component in the packed case. Replace - "composite" with "record" in both cases. - -2021-09-22 Arnaud Charlet - - * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: Make compatible - with No_Elaboration_Code_All. - * libgnarl/s-taskin.ads, libgnarl/s-tassta.adb: Adjust - accordingly. - -2021-09-22 Arnaud Charlet - - * sem_ch6.adb (Check_Returns): Change message on missing return. - -2021-09-22 Arnaud Charlet - - * gnatfind.adb, gnatxref.adb: Mark these tools as obsolete - before removing them completely. - -2021-09-22 Eric Botcazou - - * gcc-interface/decl.c (range_cannot_be_superflat): Tweak comments. - -2021-09-21 Doug Rupp - - * init.c (__gnat_error_handler) [LynxOS]: Add a comment about - missing optional args. - -2021-09-21 Yannick Moy - - * gen_il-gen.adb (Put_Opt_Subtype): Add suffix. - -2021-09-21 Justin Squirek - - * sem_util.adb (Accessibility_Level): Remove spurious special - case for protected type components. - * exp_ch4.adb (Generate_Accessibility_Check): Use general - Accessibility_Level instead of the low-level function - Type_Access_Level. - -2021-09-21 Eric Botcazou - - * gnat_ugn.texi: Regenerate. - -2021-09-21 Matthieu Eyraud - - * par_sco.adb (Traverse_One): Add support for pragma Invariant / - Type_Invariant. - -2021-09-21 Bob Duff - - * gen_il-gen.adb (Put_Opt_Subtype): Print out subtypes of the - form: - subtype Opt_N_Declaration is - Node_Id with Predicate => - Opt_N_Declaration = Empty or else - Opt_N_Declaration in N_Declaration_Id; - One for each node or entity type, with the predicate allowing - Empty. - * atree.adb (Parent, Set_Parent): Remove unnecessary "Atree.". - -2021-09-21 Patrick Bernardi - - * bindgen.adb (Gen_Adainit): For targets that suppress the - standard library: set the default stack size global variable if - a value is provided via the -d switch, and generate a call to - __gnat_initialize_stack_limit if stack checking using stack - limits is enabled. - -2021-09-21 Bob Duff - - * sem_ch13.adb (Stream_Size): Print message about allowed stream - sizes even if other error were already found. This avoids - falling into the 'else', which prints "Stream_Size cannot be - given for...", which is misleading -- the Size COULD be given if - it were correct. - -2021-09-21 Daniel Mercier - - * exp_util.adb (Build_Temporary): In case of an external DISCR - symbol, set the related expression for CodePeer so that a more - comprehensible message can be emitted to the user. - -2021-09-21 Eric Botcazou - - * libgnat/s-dwalin.adb (Parse_Header): Tweak comments. - (Read_Entry_Format_Array): Tweak exception message. - (Symbolic_Address.Set_Result): Likewise. - -2021-09-21 Ed Schonberg - - * exp_ch7.adb (Make_Init_Call): Add guard to protect against a - missing initialization procedure for a type. - -2021-09-21 Doug Rupp - - * Makefile.rtl: Remove unused VxWorks sections. - * libgnarl/s-vxwext__noints.adb: Remove. - * libgnarl/s-vxwext__vthreads.ads: Remove. - * libgnat/a-elchha__vxworks-ppc-full.adb: Remove. - * libgnat/s-osprim__vxworks.adb: Remove. - * libgnat/s-osvers__vxworks-653.ads: Remove. - * libgnat/system-vxworks-e500-vthread.ads: Remove. - * libgnat/system-vxworks-ppc-vthread.ads: Remove. - * libgnat/system-vxworks-x86-vthread.ads: Remove. - -2021-09-21 Bob Duff - - * uintp.ads, uintp.adb (UI_Is_In_Int_Range): Change the type of - the formal parameter to Valid_Uint. Remove code that preserved - the previous behavior, and replace it with an assertion. The - previous behavior is no longer needed given the recent change to - gigi. - (No, Present): Add comment. - -2021-09-21 Bob Duff - - * sem_eval.adb (Fold_Shift): Replace an if_expression with an - if_statement. - -2021-09-21 Bob Duff - - * uintp.ads, uintp.adb: Add assertions. - (Ubool, Opt_Ubool): New "boolean" subtypes. - (UI_Is_In_Int_Range): The parameter should probably be - Valid_Uint, but we don't change that for now, because it causes - failures in gigi. - * sem_util.ads, sem_util.adb (Is_True, Is_False, - Static_Boolean): Use Opt_Ubool subtype. Document the fact that - Is_True (No_Uint) = True. Implement Is_False in terms of - Is_True. We considered changing Static_Boolean to return Uint_1 - in case of error, but that doesn't fit in well with - Static_Integer. - (Has_Compatible_Alignment_Internal): Deal with cases where Offs - is No_Uint. Change one "and" to "and then" to ensure we don't - pass No_Uint to ">", which would violate the new assertions. - * exp_util.adb, freeze.adb, sem_ch13.adb: Avoid violating new - assertions in Uintp. - -2021-09-21 Eric Botcazou - - * libgnat/s-dwalin.adb (To_File_Name): Fetch only the last string - from the .debug_line_str section. - (Symbolic_Address.Set_Result): Likewise. - -2021-09-21 Eric Botcazou - - * libgnat/s-dwalin.adb (Skip_Form): Fix cases of DW_FORM_addrx - and DW_FORM_implicit_const. Replace Constraint_Error with - Dwarf_Error. - -2021-09-21 Ghjuvan Lacambre - - * exp_pakd.adb (Expand_Packed_Not): Replace expression with - statement. - -2021-09-21 Ghjuvan Lacambre - - * sem_eval.adb (Is_Static_Subtype): Take predicates created - through "predicate" pragma into account. - -2021-09-21 Frederic Konrad - - * Makefile.rtl (aarch64-rtems*): Add GNATRTL_128BIT_PAIRS to - the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to - the EXTRA_GNATRTL_NONTASKING_OBJS list. - -2021-09-21 Gary Dismukes - - * sem_ch4.adb (Remove_Abstract_Operations): Add condition to - test for an E_Operator as part of criteria for setting - Abstract_Op on interpretations involving predefined operators. - -2021-09-21 Javier Miranda - - * exp_ch6.adb (Expand_Simple_Function_Return): For explicit - dereference of type conversion, enable code that ensures that - the tag of the result is that of the result type. - -2021-09-21 Bob Duff - - * einfo-utils.adb: Add support (currently disabled) for using - "initial zero" instead of "Uint_0" to represent "unknown". Call - Known_ functions, instead of evilly duplicating their code - inline. - * fe.h (No_Uint_To_0): New function to convert No_Uint to - Uint_0, in order to preserve existing behavior. - (Copy_Esize, Copy_RM_Size): New imports from Einfo.Utils. - * cstand.adb: Set size fields of Standard_Debug_Renaming_Type - and Standard_Exception_Type. - * checks.adb, exp_attr.adb, exp_ch3.adb, exp_ch5.adb, - exp_ch6.adb, exp_pakd.adb, exp_util.adb, freeze.adb, itypes.adb, - layout.adb, repinfo.adb, sem_attr.adb, sem_ch12.adb, - sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch7.adb, - sem_util.adb: Protect calls with Known_..., use Copy_... Remove - assumption that Uint_0 represents "unknown". - * types.ads (Nonzero_Int): New subtype. - * gcc-interface/decl.c, gcc-interface/trans.c: Protect calls - with Known_... and use Copy_... as appropriate, to avoid - blowing up in unknown cases. Similarly, call No_Uint_To_0 to - preserve existing behavior. - -2021-09-21 Steve Baird - - * sem_ch13.adb (Analyze_Aspect_Specifications): Add a new nested - function, Directly_Specified, and then use it in the - implementation of the required check. - -2021-09-21 Steve Baird - - * libgnat/a-costso.ads, libgnat/a-costso.adb: A new library - unit, Ada.Containers.Stable_Sorting, which exports a pair of - generics (one within the other) which are instantiated by each - of the 5 doubly-linked list container generics to implement - their respective Sort procedures. We use a pair of generics, - rather than a single generic, in order to further reduce code - duplication. The outer generic takes a formal private Node_Ref - type representing a reference to a linked list element. For some - instances, the corresponding actual parameter will be an access - type; for others, it will be the index type for an array. - * Makefile.rtl: Include new Ada.Containers.Stable_Sorting unit. - * libgnat/a-cbdlli.adb, libgnat/a-cdlili.adb, - libgnat/a-cfdlli.adb, libgnat/a-cidlli.adb, libgnat/a-crdlli.adb - (Sort): Replace existing Sort implementation with a call to an - instance of - Ada.Containers.Stable_Sorting.Doubly_Linked_List_Sort. Declare - the (trivial) actual parameters needed to declare that instance. - * libgnat/a-cfdlli.ads: Fix a bug encountered during testing in - the postcondition for M_Elements_Sorted. With a partial - ordering, it is possible for all three of (X < Y), (Y < X), - and (X = Y) to be simultaneously false, so that case needs to - handled correctly. - -2021-09-21 Piotr Trojanek - - * errout.adb (Error_Msg_Internal): Fix references to Sptr and - Optr in comment; fix grammar of "low-level" where it is used as - an adjective. - -2021-09-21 Piotr Trojanek - - * errout.adb (Write_Source_Code_Lines): Use Cur_Loc before - incrementing it, so that we don't need to decrement it. - -2021-09-21 Yannick Moy - - * errout.adb (Get_Line_End): Do not allow the result to go past - the end of the buffer. - -2021-09-21 Ed Schonberg - - * sem_ch3.adb (Process_Discriminant_Expressions): If the - constraint is for a Component_Definition that appears in a - Component_Declaration, the entity to be used to create the - potentially global symbol is the Defining_Identifier of the - Component_Declaration. - -2021-09-21 Bob Duff - - * libgnat/a-stbufi.ads, libgnat/a-stbufi.adb: Change all - occurrences of GNAT.OS_Lib to System.OS_Lib. - -2021-09-20 Piotr Trojanek - - * inline.adb (Has_Excluded_Declaration): Remove redundant guard; - the guarded code will call First on a No_List, which is - well-defined and gives Empty. - -2021-09-20 Piotr Trojanek - - * inline.adb (Has_Excluded_Declaration): Rename and reduce scope - of a local variable. - -2021-09-20 Bob Duff - - * uintp.ads, uintp.adb (Present, No): New functions for - comparing with No_Uint. - * checks.adb, einfo-utils.adb, exp_aggr.adb, exp_attr.adb, - exp_ch3.adb, exp_ch4.adb, exp_dbug.adb, exp_disp.adb, - exp_util.adb, repinfo.adb, repinfo-input.adb, scn.adb, - sem_attr.adb, sem_ch13.adb, sem_eval.adb, sem_util.adb, - sinfo-utils.adb, treepr.adb: Use Present (...) instead of "... - /= No_Uint", and No (...) instead of "... = No_Uint". - -2021-09-20 Claire Dross - - * libgnat/s-ficobl.ads: The entire package has a SPARK_Mode => - Off aspect. - -2021-09-20 Doug Rupp - - * libgnat/a-calend.adb: Remove time_t, replace with OS_Time. - * libgnat/s-os_lib.ads: Fix comments regarding time_t conversion - functions to reflect the use of To_Ada in in Ada.Calendar - package body. - * sysdep.c (__gnat_localtime_tzoff): Use OS_Time instead of - time_t. - -2021-09-20 Piotr Trojanek - - * sem_res.adb (Resolve_Actual): Remove - -2021-09-20 Bob Duff - - * einfo-utils.ads, einfo-utils.adb, fe.h, einfo.ads, - gen_il-fields.ads: Remove unused and no-longer-used routines. - Move related routines together. Rewrite incorrect - documentation, and documentation that will be incorrect when - e.g. Esize-related routines are fixed. Remove unused field - Normalized_Position_Max. - * cstand.adb, exp_pakd.adb, freeze.adb, - gen_il-gen-gen_entities.adb, itypes.adb, layout.adb, - sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, - sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb, - sem_util.adb, ttypes.ads: Update calls to routines removed from - or renamed in Einfo.Utils. - * uintp.ads (Upos): Fix this subtype, which was unintentionally - declared to include Uint_0. - -2021-09-20 Piotr Trojanek - - * exp_ch7.adb (Expand_N_Package_Declaration): Fix wording in - comment. - * exp_disp.adb (Mark_DT): Remove unnecessary initialization of - I_Depth. - -2021-09-20 Piotr Trojanek - - * contracts.adb (Add_Contract_Item): Accept volatile-related - properties on constants. - (Analyze_Object_Contract): Check external properties on - constants; accept volatile constants. - (Check_Type_Or_Object_External_Properties): Replace "variable" - with "object" in error messages; replace Decl_Kind with a local - constant. - * sem_prag.adb (Analyze_Pragma): Accept volatile-related - properties on constants. - -2021-09-20 Pierre-Alexandre Bazin - - * libgnat/a-strfix.adb ("*"): Added loop invariants and lemmas - for proof. - (Delete): Added assertions for proof, and conditions to avoid - overflow. - (Head): Added loop invariant. - (Insert): Same as Delete. - (Move): Declared with SPARK_Mode Off. - (Overwrite): Added assertions for proof, and conditions to avoid - overflow. - (Replace_Slice): Added assertions for proof, and conditions to - avoid overflow. - (Tail): Added loop invariant and avoided overflows. - (Translate): Added loop invariants. - (Trim): Ensured empty strings returned start at 1. - * libgnat/a-strfix.ads (Index): Rewrote contract cases for - easier proof. - (Index_Non_Blank): Separated the null string case. - (Count): Specified Mapping shouldn't be null. - (Find_Token): Specified Source'First should be Positive when no - From is given. - (Translate): Specified Mapping shouldn't be null. - ("*"): Rewrote postcondition for easier proof. - * libgnat/a-strsea.adb (Belongs): Added postcondition. - (Count): Rewrote loops and added loop invariants to avoid - overflows. - (Find_Token): Added loop invariants. - (Index): Rewrote loops to avoid overflows and added loop - invariants for proof. - (Index_Non_Blank): Added loop invariants. - (Is_Identity): New function isolated without SPARK_Mode. - * libgnat/a-strsea.ads: Fix starting comment as package is no - longer private. - (Match): Declared ghost expression function Match. - (Is_Identity): Described identity in the postcondition. - (Index, Index_Non_Blank, Count, Find_Token): Added contract from - a-strfix.ads. - -2021-09-20 Piotr Trojanek - - * sem_ch13.adb (Resolve_Aspect_Aggregate): Move comments after - specs; fix typo in header box; cleanup whitespace. - -2021-09-20 Eric Botcazou - - * libgnat/s-objrea.adb (Get_Load_Address): Return 0 for ELF. - -2021-09-20 Eric Botcazou - - * adaint.c (__gnat_get_executable_load_address): Add Win32 support. - * libgnat/s-objrea.ads (Get_Xcode_Bounds): Fix typo in comment. - (Object_File): Minor reformatting. - (ELF_Object_File): Uncomment predicate. - (PECOFF_Object_File): Likewise. - (XCOFF32_Object_File): Likewise. - * libgnat/s-objrea.adb: Minor reformatting throughout. - (Get_Load_Address): Implement for PE-COFF. - * libgnat/s-dwalin.ads: Remove clause for System.Storage_Elements - and use consistent wording in comments. - (Dwarf_Context): Set type of Low, High and Load_Address to Address. - * libgnat/s-dwalin.adb (Get_Load_Displacement): New function. - (Is_Inside): Call Get_Load_Displacement. - (Low_Address): Likewise. - (Open): Adjust to type change. - (Aranges_Lookup): Change type of Addr to Address. - (Read_Aranges_Entry): Likewise for Start and adjust. - (Enable_Cach): Adjust to type change. - (Symbolic_Address): Change type of Addr to Address. - (Symbolic_Traceback): Call Get_Load_Displacement. - -2021-09-20 Piotr Trojanek - - * exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table, - so it is executed regardless of the Generate_SCIL mode. - -2021-09-20 Ed Schonberg - - * exp_util.ads (Force_Evaluation): Add formal parameter - Discr_Number, to indicate discriminant expression for which an - external name must be created. - (Remove_Side_Effects): Ditto. - * exp_util.adb (Force_Evaluation): Call Remove_Side_Effects with - added parameter. - (Remove_Side_Effects, Build_Temporary): If Discr_Number is - positive, create an external name with suffix DISCR and the - given discriminant number, analogous to what is done for - temporaries for array type bounds. - * sem_ch3.adb (Process_Discriminant_Expressions): If the - constraint is for an object or component declaration and the - corresponding entity may be visible in another unit, invoke - Force_Evaluation with the new parameter. - -2021-09-20 Arnaud Charlet - - * gen_il-internals.ads (Invalid_Val): Remove, unused and - generates warnings. - -2021-09-20 Piotr Trojanek - - * exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, sprint.adb: Refine - types of local constants. - -2021-09-20 Gary Dismukes - - * exp_attr.adb (Expand_N_Attribute_Reference): Fold - Preelaborable_Initialization attribute in cases where it hasn't - been folded by the analyzer. - * exp_disp.adb (Original_View_In_Visible_Part): This function is - removed and moved to sem_util.adb. - * sem_attr.adb (Attribute_22): Add - Attribute_Preelaborable_Initialization as an Ada 2022 attribute. - (Analyze_Attribute, Attribute_Preelaborable_Initialization): - Check that the prefix of the attribute is either a formal - private or derived type, or a composite type declared within the - visible part of a package or generic package. - (Eval_Attribute): Perform folding of - Preelaborable_Initialization attribute based on - Has_Preelaborable_Initialization applied to the prefix type. - * sem_ch3.adb (Resolve_Aspects): Add specialized code for - Preelaborable_Initialization used at the end of a package - visible part for setting Known_To_Have_Preelab_Init on types - that are specified with True or that have a conjunction of one - or more P_I attributes applied to formal types. - * sem_ch7.adb (Analyze_Package_Specification): On call to - Has_Preelaborable_Initialization, pass True for new formal - Formal_Types_Have_Preelab_Init, so that error checking treats - subcomponents that are declared within types in generics as - having preelaborable initialization when the subcomponents are - of formal types. - * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add test for - P_I to prevent calling Make_Pragma_From_Boolean_Aspect, since - this aspect is handled specially and the - Known_To_Have_Preelab_Init flag will get set on types that have - the aspect by other means. - (Analyze_Aspect_Specifications.Analyze_One_Aspect): Add test for - Aspect_Preelaborable_Initialization for allowing the aspect to - be specified on formal type declarations. - (Is_Operational_Item): Treat Attribute_Put_Image as an - operational attribute. The need for this was encountered while - working on these changes. - * sem_util.ads (Has_Preelaborable_Initialization): Add - Formal_Types_Have_Preelab_Init as a new formal parameter that - defaults to False. - (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New - function. - (Original_View_In_Visible_Part): Moved here from exp_disp.adb, - so it can be called by Analyze_Attribute. - * sem_util.adb (Has_Preelaborable_Initialization): Return True - for formal private and derived types when new formal - Formal_Types_Have_Preelab_Init is True, and pass along the - Formal_Types_Have_Preelab_Init flag in the array component case. - (Check_Components): Pass along Formal_Types_Have_Preelab_Init - flag on call to Has_Preelaborable_Initialization. - (Is_Conjunction_Of_Formal_Preelab_Init_Attributes): New function - that returns True when passed an expression that includes one or - more attributes for Preelaborable_Initialization applied to - prefixes that denote formal types. - (Is_Formal_Preelab_Init_Attribute): New utility function nested - within Is_Conjunction_Of_Formal_Preelab_Init_Attributes that - determines whether a node is a P_I attribute applied to a - generic formal type. - (Original_View_In_Visible_Part): Moved here from exp_util.adb, - so it can be called by Analyze_Attribute. - * snames.ads-tmpl: Add note near the start of spec giving - details about what needs to be done when adding a name that - corresponds to both an attribute and a pragma. Delete existing - occurrence of Name_Preelaborable_Initialization, and add a note - comment in the list of Name_* constants at that place, - indicating that it's included in type Pragma_Id, etc., echoing - other such comments for names that are both an attribute and a - pragma. Insert Name_Preelaborable_Initialization in the - alphabetized set of Name_* constants corresponding to - attributes (between First_Attribute_Name and - Last_Attribute_Name). - (type Attribute_Id): Add new literal - Attribute_Preelaborable_Initialization. - (type Pragma_Id): Move Pragma_Preelaborable_Initialization from - its current position to the end of the type, in the special set - of pragma literals that have corresponding atttributes. Add to - accompanying comment, indicating that functions Get_Pragma_Id - and Is_Pragma_Name need to be updated when adding a pragma - literal to the special set. - * snames.adb-tmpl (Get_Pragma_Id): Add case alternative for - Pragma_Preelaborable_Initialization. - (Is_Pragma_Name): Add test for - Name_Preelaborable_Initialization. - -2021-09-20 Ghjuvan Lacambre - - * sem_ch4.adb (Finc_Non_Universal_Interpretations): Fix check. - -2021-09-20 Piotr Trojanek - - * sem_ch3.adb (Build_Discriminant_Constraints): Exit once a - first discriminant is found and the Discrim_Present flag is set. - -2021-09-20 Bob Duff - - * gnat1drv.adb (Gnat1drv): Avoid calling List_Rep_Info in - Generate_SCIL and GNATprove_Mode. - * repinfo.adb (List_Common_Type_Info): Fix comment. - -2021-09-20 Eric Botcazou - - * libgnat/s-dwalin.ads: Remove clause for Ada.Exceptions.Traceback, - add clause for System.Traceback_Entries and alphabetize. - (AET): Delete. - (STE): New package renaming. - (Symbolic_Traceback): Adjust. - * libgnat/s-dwalin.adb: Remove clauses for Ada.Exceptions.Traceback - and System.Traceback_Entries. - (Symbolic_Traceback): Adjust. - -2021-09-20 Ghjuvan Lacambre - - * sem_ch4.adb (Find_Non_Universal_Interpretations): Check if - types are compatible before adding interpretation. - -2021-09-20 Justin Squirek - - * exp_ch4.adb (Expand_N_Type_Conversion): Add guard to protect - against calculating accessibility levels against internal - compiler-generated types. - -2021-09-20 Ghjuvan Lacambre - - * sem_dim.adb (Dimensions_Msg_Of): Capitalize comment. - -2021-09-20 Ghjuvan Lacambre - - * adabkend.adb (Scan_Back_End_Switches): Replace switch-scanning - logic with call to Backend_Utils.Scan_Common_Back_End_Switches. - * back_end.adb (Scan_Back_End_Switches): Replace switch-scanning - logic with call to Backend_Utils.Scan_Common_Back_End_Switches. - * backend_utils.adb: New file. - * backend_utils.ads: New file. - * gcc-interface/Make-lang.in: Add ada/backend_utils.o. - -2021-09-20 Ghjuvan Lacambre - - * atree.adb (Get_32_Bit_Field): Declare result before returning. - -2021-09-20 Ghjuvan Lacambre - - * exp_ch7.adb (Expand_N_Package_Body): Replace - Build_And_Insert_Cuda_Initialization with Expand_CUDA_Package. - * gnat_cuda.adb (Expand_CUDA_Package): New procedure. - (Build_And_Insert_Cuda_Initialization): Make internal. - * gnat_cuda.ads (Expand_CUDA_Package): New procedure. - (Build_And_Insert_Cuda_Initialization): Remove from spec. - -2021-09-20 Ghjuvan Lacambre - - * usage.adb (Usage): Update -gnatw.c messages. - -2021-09-20 Eric Botcazou - - * sem_aux.adb (Is_By_Reference_Type): Do not test Error_Posted. - -2021-09-15 Alexandre Oliva - - * gcc-interface/utils.c: Include opts.h. - (handle_zero_call_used_regs_attribute): New. - (gnat_internal_attribute_table): Add zero_call_used_regs. - -2021-09-14 Eric Botcazou - - PR ada/101970 - * exp_attr.adb (Expand_N_Attribute_Reference) : - Use an unchecked conversion instead of a regular conversion in the - enumeration case and remove Conversion_OK flag in the integer case. - : Remove superfluous test. - -2021-09-14 Eric Botcazou - - * gcc-interface/decl.c (validate_size): Do not issue an error if the - old size has overflowed. - -2021-09-14 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity): For vector types, make - the representative array the debug type. - -2021-09-14 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Turn variable - into constant. Capitalize GCC in warning message. - (intrin_arglists_compatible_p): Change parameter to pointer-to-const - Adjust warning messages. Turn warning into error for vector types. - (intrin_return_compatible_p): Likewise. - (intrin_profiles_compatible_p): Change parameter to pointer-to-const - -2021-09-14 Eric Botcazou - - * libgnat/s-atopri.ads (bool): Delete. - (Atomic_Test_And_Set): Replace bool with Boolean. - (Atomic_Always_Lock_Free): Likewise. - * libgnat/s-aoinar.adb (Is_Lock_Free): Adjust. - * libgnat/s-aomoar.adb (Is_Lock_Free): Likewise. - * libgnat/s-aotase.adb (Atomic_Test_And_Set): Likewise. - * libgnat/s-atopex.adb (Atomic_Compare_And_Exchange): Likewise. - * gcc-interface/decl.c: Include gimple-expr.h. - (intrin_types_incompatible_p): Delete. - (intrin_arglists_compatible_p): Call types_compatible_p. - (intrin_return_compatible_p): Likewise. - -2021-09-14 Eric Botcazou - - * gcc-interface/utils.c (update_pointer_to): Set TYPE_CANONICAL on - pointer and reference types. - -2021-09-14 Eric Botcazou - - PR ada/101385 - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (-Wall): Minor fixes. - (-w): Likewise. - (-Werror): Document that it also sets -gnatwe by default. - * gcc-interface/lang-specs.h (ada): Expand -gnatwe if -Werror is - passed and move expansion of -gnatw switches to before -gnatez. - -2021-09-14 Eric Botcazou - - * gcc-interface/utils.c (can_materialize_object_renaming_p): Do not - call UI_Is_In_Int_Range on the result of Normalized_First_Bit. - -2021-09-14 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Declare new - constant. Adjust error message issued by validate_size in the case - of by-reference types. - (validate_size): Always use the error strings passed by the caller. - -2021-09-08 liuhongt - - * gcc-interface/misc.c (gnat_post_options): Issue an error for - -fexcess-precision=16. - -2021-08-19 Arnaud Charlet - - PR ada/101924 - * gcc-interface/Make-lang.in (STAGE1_LIBS): Define on hpux. - -2021-08-18 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Fix - thinko in latest change. - -2021-08-11 Bernd Edlinger - - PR debug/101598 - * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the - DECL_SOURCE_LOCATION of DECL_IGNORED_P gnu_subprog_decl to - UNKNOWN_LOCATION. - -2021-07-25 Arnaud Charlet - - * libgnat/s-osprim__x32.adb: Add missing with clause. - -2021-07-12 Pierre-Marie de Rodat - - * adaint.c (__gnat_number_of_cpus): Replace "#ifdef" by "#if - defined". - -2021-07-12 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Add a - parallel type only when -fgnat-encodings=all is specified. - : Use the PAT name and special suffixes only when - -fgnat-encodings=all is specified. - : Build a special type for debugging purposes only - when -fgnat-encodings=all is specified. Add a parallel type or use - the PAT name only when -fgnat-encodings=all is specified. - : Generate debug info for the inner record types only - when -fgnat-encodings=all is specified. - : Use a debug type for an artificial subtype only - except when -fgnat-encodings=all is specified. - (elaborate_expression_1): Reset need_for_debug when possible only - except when -fgnat-encodings=all is specified. - (components_to_record): Use XV encodings for variable size only - when -fgnat-encodings=all is specified. - (associate_original_type_to_packed_array): Add a parallel type only - when -fgnat-encodings=all is specified. - * gcc-interface/misc.c (gnat_get_array_descr_info): Do not return - full information only when -fgnat-encodings=all is specified. - * gcc-interface/utils.c (make_packable_type): Add a parallel type - only when -fgnat-encodings=all is specified. - (maybe_pad_type): Make the inner type a debug type only except when - -fgnat-encodings=all is specified. Create an XVS type for variable - size only when -fgnat-encodings=all is specified. - (rest_of_record_type_compilation): Add a parallel type only when - -fgnat-encodings=all is specified. - -2021-07-12 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Use a - fixed lower bound if the index subtype is marked so, as well as a - more efficient formula for the upper bound if the array cannot be - superflat. - (flb_cannot_be_superflat): New predicate. - (cannot_be_superflat): Rename into... - (range_cannot_be_superfla): ...this. Minor tweak. - -2021-07-12 Bob Duff - - * uintp.ads, types.h: New subtypes of Uint: Valid_Uint, Unat, - Upos, Nonzero_Uint with predicates. These correspond to new - field types in Gen_IL. - * gen_il-types.ads (Valid_Uint, Unat, Upos, Nonzero_Uint): New - field types. - * einfo-utils.ads, einfo-utils.adb, fe.h (Known_Alignment, - Init_Alignment): Use the initial zero value to represent - "unknown". This will ensure that if Alignment is called before - Set_Alignment, the compiler will blow up (if assertions are - enabled). - * atree.ads, atree.adb, atree.h, gen_il-gen.adb - (Get_Valid_32_Bit_Field): New generic low-level getter for - subtypes of Uint. - (Copy_Alignment): New procedure to copy Alignment field even - when Unknown. - (Init_Object_Size_Align, Init_Size_Align): Do not bypass the - Init_ procedures. - * exp_pakd.adb, freeze.adb, layout.adb, repinfo.adb, - sem_util.adb: Protect calls to Alignment with Known_Alignment. - Use Copy_Alignment when it might be unknown. - * gen_il-gen-gen_entities.adb (Alignment, - String_Literal_Length): Use type Unat instead of Uint, to ensure - that the field is always Set_ before we get it, and that it is - set to a nonnegative value. - (Enumeration_Pos): Unat. - (Enumeration_Rep): Valid_Uint. Can be negative, but must be - valid before fetching. - (Discriminant_Number): Upos. - (Renaming_Map): Remove. - * gen_il-gen-gen_nodes.adb (Char_Literal_Value, Reason): Unat. - (Intval, Corresponding_Integer_Value): Valid_Uint. - * gen_il-internals.ads: New functions for dealing with special - defaults and new subtypes of Uint. - * scans.ads: Correct comments. - * scn.adb (Post_Scan): Do not set Intval to No_Uint; that is no - longer allowed. - * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Do - not set Enumeration_Rep to No_Uint; that is no longer allowed. - (Offset_Value): Protect calls to Alignment with Known_Alignment. - * sem_prag.adb (Set_Atomic_VFA): Do not use Uint_0 to mean - "unknown"; call Init_Alignment instead. - * sinfo.ads: Minor comment fix. - * treepr.adb: Deal with printing of new field types. - * einfo.ads, gen_il-fields.ads (Renaming_Map): Remove. - * gcc-interface/decl.c (gnat_to_gnu_entity): Use Known_Alignment - before calling Alignment. This preserve some probably buggy - behavior: if the alignment is not set, it previously defaulted - to Uint_0; we now make that explicit. Use Copy_Alignment, - because "Set_Alignment (Y, Alignment (X));" no longer works when - the Alignment of X has not yet been set. - * gcc-interface/trans.c (process_freeze_entity): Use - Copy_Alignment. - -2021-07-12 Eric Botcazou - - * libgnat/s-dwalin.ads: Adjust a few comments left and right. - (Line_Info_Register): Comment out unused components. - (Line_Info_Header): Add DWARF 5 support. - (Dwarf_Context): Likewise. Rename "prologue" into "header". - * libgnat/s-dwalin.adb: Alphabetize "with" clauses. - (DWARF constants): Add DWARF 5 support and reorder. - (For_Each_Row): Adjust. - (Initialize_Pass): Likewise. - (Initialize_State_Machine): Likewise and fix typo. - (Open): Add DWARF 5 support. - (Parse_Prologue): Rename into... - (Parse_Header): ...this and add DWARF 5 support. - (Read_And_Execute_Isn): Rename into... - (Read_And_Execute_Insn): ...this and adjust. - (To_File_Name): Change parameter name and add DWARF 5 support. - (Read_Entry_Format_Array): New procedure. - (Skip_Form): Add DWARF 5 support and reorder. - (Seek_Abbrev): Do not count entries and add DWARF 5 support. - (Debug_Info_Lookup): Add DWARF 5 support. - (Symbolic_Address.Set_Result): Likewise. - (Symbolic_Address): Adjust. - -2021-07-12 Bob Duff - - * sem_ch13.adb (Duplicate_Clause): Add a helper routine - Check_One_Attr, with a parameter for the attribute_designator we - are looking for, and one for the attribute_designator of the - current node (which are usually the same). For Size and - Value_Size, call it twice, once for each. - * errout.ads: Fix a typo. - -2021-07-12 Piotr Trojanek - - * exp_imgv.adb (Expand_Image_Attribute): Move rewriting to - attribute Put_Image to the beginning of expansion of attribute - Image. - -2021-07-09 Eric Botcazou - - * gcc-interface/utils.c (finish_subprog_decl): Remove obsolete line. - -2021-07-09 Piotr Trojanek - - * exp_put_image.adb (Make_Put_Image_Name): Fix style. - (Image_Should_Call_Put_Image): Likewise. - (Build_Image_Call): Likewise. - -2021-07-09 Ghjuvan Lacambre - - * par-ch6.adb (Contains_Import_Aspect): New function. - (P_Subprogram): Acknowledge `Import` aspects. - -2021-07-09 Bob Duff - - * exp_put_image.adb (Make_Component_Attributes): Use - Implementation_Base_Type to get the parent type. Otherwise, - Parent_Type_Decl is actually an internally generated subtype - declaration, so we blow up on - Type_Definition (Parent_Type_Decl). - -2021-07-09 Dmitriy Anisimkov - - * gsocket.h: Include net/if.h to get IF_NAMESIZE constant. - * s-oscons-tmplt.c: Define IPV6_FLOWINFO for Linux. - -2021-07-09 Steve Baird - - * libgnat/a-cdlili.adb: Reimplement - Ada.Containers.Doubly_Linked_Lists.Generic_Sorting.Sort using - Mergesort instead of the previous Quicksort variant. - -2021-07-09 Justin Squirek - - * exp_ch6.adb (Is_Build_In_Place_Function_Call): Add check to - verify the Selector_Name of Exp_Node has been analyzed before - obtaining its entity. - -2021-07-09 Gary Dismukes - - * libgnarl/s-osinte__vxworks.ads: Fix typo ("release" => - "releases") plus comment reformatting. - * libgnat/s-os_lib.ads: In a comment, fix typo ("indended" => - "intended"), add a hyphen and semicolon, plus reformatting. In - comment for subtype time_t, fix typo ("effect" => "affect"), add - hyphens, plus reformatting. - * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads, - libgnat/s-parame__hpux.ads: Remove period from one-line comment. - -2021-07-09 Steve Baird - - * exp_ch5.adb (Expand_General_Case_Statement): Add new function - Else_Statements to handle the case of invalid data analogously - to how it is handled when casing on a discrete value. - * sem_case.adb (Has_Static_Discriminant_Constraint): A new - Boolean-valued function. - (Composite_Case_Ops.Scalar_Part_Count): Include discriminants - when traversing components. - (Composite_Case_Ops.Choice_Analysis.Traverse_Discrete_Parts): - Include discriminants when traversing components; the component - range for a constrained discriminant is a single value. - (Composite_Case_Ops.Choice_Analysis.Parse_Choice): Eliminate - Done variable and modify how Next_Part is computed so that it is - always correct (as opposed to being incorrect when Done is - True). This includes changes in Update_Result (a local - procedure). Add new local procedure - Update_Result_For_Box_Component and call it not just for box - components but also for "missing" components (components - associated with an inactive variant). - (Check_Choices.Check_Composite_Case_Selector.Check_Component_Subtype): - Instead of disallowing all discriminated component types, allow - those that are unconstrained or statically constrained. Check - discriminant subtypes along with other component subtypes. - * doc/gnat_rm/implementation_defined_pragmas.rst: Update - documentation to reflect current implementation status. - * gnat_rm.texi: Regenerate. - -2021-07-09 Justin Squirek - - * sem_ch6.adb (Check_Pragma_Inline): Correctly use - Corresponding_Spec_Of_Stub when dealing subprogram body stubs. - -2021-07-09 Doug Rupp - - * Makefile.rtl: Add translations for s-parame__posix2008.ads - * libgnarl/s-linux.ads: Import System.Parameters. - (time_t): Declare using System.Parameters.time_t_bits. - * libgnarl/s-linux__alpha.ads: Likewise. - * libgnarl/s-linux__android.ads: Likewise. - * libgnarl/s-linux__hppa.ads: Likewise. - * libgnarl/s-linux__mips.ads: Likewise. - * libgnarl/s-linux__riscv.ads: Likewise. - * libgnarl/s-linux__sparc.ads: Likewise. - * libgnarl/s-linux__x32.ads: Likewise. - * libgnarl/s-qnx.ads: Likewise. - * libgnarl/s-osinte__aix.ads: Likewise. - * libgnarl/s-osinte__android.ads: Likewise. - * libgnarl/s-osinte__darwin.ads: Likewise. - * libgnarl/s-osinte__dragonfly.ads: Likewise. - * libgnarl/s-osinte__freebsd.ads: Likewise. - * libgnarl/s-osinte__gnu.ads: Likewise. - * libgnarl/s-osinte__hpux-dce.ads: Likewise. - * libgnarl/s-osinte__hpux.ads: Likewise. - * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. - * libgnarl/s-osinte__lynxos178e.ads: Likewise. - * libgnarl/s-osinte__qnx.ads: Likewise. - * libgnarl/s-osinte__rtems.ads: Likewise. - * libgnarl/s-osinte__solaris.ads: Likewise. - * libgnarl/s-osinte__vxworks.ads: Likewise. - * libgnat/g-sothco.ads: Likewise. - * libgnat/s-osprim__darwin.adb: Likewise. - * libgnat/s-osprim__posix.adb: Likewise. - * libgnat/s-osprim__posix2008.adb: Likewise. - * libgnat/s-osprim__rtems.adb: Likewise. - * libgnat/s-osprim__x32.adb: Likewise. - * libgnarl/s-osinte__linux.ads: use type System.Linux.time_t. - * libgnat/s-os_lib.ads (time_t): Declare as subtype of - Long_Long_Integer. - * libgnat/s-parame.ads (time_t_bits): New constant. - * libgnat/s-parame__ae653.ads (time_t_bits): Likewise. - * libgnat/s-parame__hpux.ads (time_t_bits): Likewise. - * libgnat/s-parame__vxworks.ads (time_t_bits): Likewise. - * libgnat/s-parame__posix2008.ads: New file for 64 bit time_t. - -2021-07-09 Bob Duff - - * comperr.adb (Compiler_Abort): Print source file name. - -2021-07-09 Joffrey Huguet - - * libgnat/a-strunb.ads, libgnat/a-strunb__shared.ads: Fix layout - in contracts. - -2021-07-09 Eric Botcazou - - * repinfo.ads (JSON output format): Document adjusted key name. - * repinfo.adb (List_Record_Layout): Use Original_Record_Component - if the normalized position of the component is not known. - (List_Structural_Record_Layout): Rename Outer_Ent parameter into - Ext_End and add Ext_Level parameter. In an extension, if the parent - subtype has static discriminants, call List_Record_Layout on it. - Output "parent_" prefixes before "variant" according to Ext_Level. - Adjust recursive calls throughout the procedure. - -2021-07-09 Piotr Trojanek - - * exp_util.ads (Map_Types): Fix typo. - -2021-07-09 Fedor Rybin - - * krunch.adb: Add safeguards against index range violations. - -2021-07-09 Arnaud Charlet - - * libgnat/a-strfix.adb: Take advantage of extended returns. - -2021-07-09 Eric Botcazou - - * doc/gnat_rm/implementation_defined_attributes.rst - (Scalar_Storage_Order): Add paragraph about representation - changes. - * gnat_rm.texi: Regenerate. - -2021-07-09 Frederic Konrad - - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) : Use - the wraplf variant of Aux_Long_Long_Float. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): Initialize Orig_N - and Typ variables. - -2021-07-09 Arnaud Charlet - - * sem_ch13.adb (Resolve_Aspect_Expressions): Use the same - processing for Predicate, Static_Predicate and - Dynamic_Predicate. Do not build the predicate function spec. - Update comments. - (Resolve_Name): Only reset Entity when necessary to avoid - spurious visibility errors. - (Check_Aspect_At_End_Of_Declarations): Handle consistently all - Predicate aspects. - * sem_ch3.adb (Analyze_Subtype_Declaration): Fix handling of - private types with predicates. - -2021-07-09 Justin Squirek - - * sem_util.ads (Type_Access_Level): Add new optional parameter - Assoc_Ent. - * sem_util.adb (Accessibility_Level): Treat access discriminants - the same as components when the restriction - No_Dynamic_Accessibility_Checks is enabled. - (Deepest_Type_Access_Level): Remove exception for - Debug_Flag_Underscore_B when returning the result of - Type_Access_Level in the case where - No_Dynamic_Accessibility_Checks is active. - (Function_Call_Or_Allocator_Level): Correctly calculate the - level of Expr based on its containing subprogram instead of - using Current_Subprogram. - * sem_res.adb (Valid_Conversion): Add actual for new parameter - Assoc_Ent in call to Type_Access_Level, and add test of - No_Dynamic_Accessibility_Checks_Enabled to ensure that static - accessibility checks are performed for all anonymous access type - conversions. - -2021-07-09 Eric Botcazou - - * exp_dbug.ads: Update documentation of various items. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): Reorder code. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): Reorder code. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): Add variable to - avoid repeated calls to Etype. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): Fix comment. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): Use Orig_N variable - instead of repeated calls to Original_Node. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): Change types local - variables from Entity_Id to Node_Id. - -2021-07-09 Piotr Trojanek - - * sem_ch6.adb (Analyze_Expression_Function): A local Expr - constant was shadowing a global constant with the same name and - the same value. - -2021-07-09 Piotr Trojanek - - * sem_res.adb (Preanalyze_And_Resolve): Only call - Set_Must_Not_Freeze when it is necessary to restore the previous - value. - -2021-07-08 Piotr Trojanek - - * sem_ch5.adb (Analyze_Assignment): Clear Current_Assignment at - exit. - (Analyze_Target_Name): Prevent AST climbing from going too far. - -2021-07-08 Ed Schonberg - - * sem_ch5.adb (Analyze_Target_Name): Properly reject a - Target_Name when it appears outside of an assignment statement, - or within the left-hand side of one. - -2021-07-08 Bob Duff - - * einfo-utils.ads, einfo-utils.adb (Unknown_Alignment, - Unknown_Component_Bit_Offset, Unknown_Component_Size, - Unknown_Esize, Unknown_Normalized_First_Bit, - Unknown_Normalized_Position, Unknown_Normalized_Position_Max, - Unknown_RM_Size): Remove these functions. - * exp_pakd.adb, exp_util.adb, fe.h, freeze.adb, layout.adb, - repinfo.adb, sem_ch13.adb, sem_ch3.adb, sem_util.adb: Remove - calls to these functions; do "not Known_..." instead. - * gcc-interface/decl.c, gcc-interface/trans.c - (Unknown_Alignment, Unknown_Component_Size, Unknown_Esize, - Unknown_RM_Size): Remove calls to these functions; do - "!Known_..." instead. - -2021-07-08 Eric Botcazou - - * exp_dbug.adb (Get_Encoded_Name): Do not encode names of discrete - types with custom bounds, except with -fgnat-encodings=all. - * exp_pakd.adb (Create_Packed_Array_Impl_Type): Adjust comment. - -2021-07-08 Bob Duff - - * comperr.adb (Compiler_Abort): Call Sinput.Unlock, because if - this is called late, then Source_Dump would crash otherwise. - * debug.adb: Correct documentation of the -gnatd.9 switch. - * exp_ch4.adb (Expand_Allocator_Expression): Add a comment. - * exp_ch6.adb: Minor comment fixes. Add assertion. - * exp_ch6.ads (Is_Build_In_Place_Result_Type): Correct comment. - * exp_ch7.adb, checks.ads: Minor comment fixes. - -2021-07-08 Doug Rupp - - * sigtramp-vxworks-target.inc: Rename to... - * sigtramp-vxworks-target.h: ... this. - * sigtramp-vxworks.c, Makefile.rtl: Likewise. - -2021-07-08 Ghjuvan Lacambre - - * lib-writ.ads: Mention SCOs dependency as reason for duplicates. - * lib.ads (Units): Update documentation to mention duplicated - units. - -2021-07-08 Ed Schonberg - - * style.adb (Missing_Overriding): Do not emit message when - parent of subprogram is a full type declaration. - -2021-07-08 Arnaud Charlet - - * par-ch5.adb (P_Iterator_Specification): Add support for access - definition in loop parameter. - * sem_ch5.adb (Check_Subtype_Indication): Renamed... - (Check_Subtype_Definition): ... into this and check for conformance - on access definitions, and improve error messages. - (Analyze_Iterator_Specification): Add support for access definition - in loop parameter. - -2021-07-08 Arnaud Charlet - - * sem_util.ads, sem_util.adb - (Apply_Compile_Time_Constraint_Error): New parameter - Emit_Message. - * sem_ch4.adb (Analyze_Selected_Component): Disable warning - within an instance. - -2021-07-08 Eric Botcazou - - * exp_imgv.adb: Add with and use clause for Restrict and Rident. - (Build_Enumeration_Image_Tables): Do not generate the hash function - if the No_Implicit_Loops restriction is active. - -2021-07-08 Piotr Trojanek - - * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb, sprint.adb: Simplify - checks for non-empty lists. - -2021-07-08 Piotr Trojanek - - * par-ch10.adb (Unit_Display): Remove redundant condition; fix - whitespace. - -2021-07-08 Piotr Trojanek - - * lib-load.adb (Load): Replace early return with goto to properly - restore context on failure. - -2021-07-08 Piotr Trojanek - - * lib-writ.adb (Ensure_System_Dependency): Simplify condition. - -2021-07-08 Piotr Trojanek - - * lib-load.adb (Load_Unit): Fix style in comment. - * par-load.adb (Load): Likewise. - * scng.adb (Initialize_Scanner): Fix whitespace. - -2021-07-08 Piotr Trojanek - - * par-load.adb (Load): Don't remove unit, but flag it as - erroneous and return. - -2021-07-08 Ghjuvan Lacambre - - * exp_prag.adb (Expand_Pragma_Inspection_Point): Fix error - message. - -2021-07-08 Yannick Moy - - * layout.adb (Layout_Type): Do not call Number_Dimensions if the - type does not have First_Index set. - -2021-07-08 Ghjuvan Lacambre - - * exp_prag.adb (Expand_Pragma_Inspection_Point): After expansion - of the Inspection_Point pragma, check if referenced entities - that have a freeze node are already frozen. If they aren't, emit - a warning and turn the pragma into a no-op. - -2021-07-08 Yannick Moy - - * layout.adb (Layout_Type): Add guard before calling Expr_Value. - -2021-07-08 Yannick Moy - - * layout.adb (Layout_Type): Special case when RM_Size and Esize - can be computed for packed arrays. - -2021-07-08 Steve Baird - - * rtsfind.ads, rtsfind.adb: Add support for finding the packages - System.Atomic_Operations and - System.Atomic_Operations.Test_And_Set and the declarations - within that latter package of the type Test_And_Set_Flag and the - function Atomic_Test_And_Set. - * exp_ch11.adb (Expand_N_Exception_Declaration): If an exception - is declared other than at library level, then we need to call - Register_Exception the first time (and only the first time) the - declaration is elaborated. In order to decide whether to - perform this call for a given elaboration of the declaration, we - used to unconditionally use a (library-level) Boolean variable. - Now we instead use a variable of type - System.Atomic_Operations.Test_And_Set.Test_And_Set_Flag unless - either that type is unavailable or a No_Tasking restriction is - in effect (in which case we use a Boolean variable as before). - -2021-07-08 Arnaud Charlet - - * gcc-interface/system.ads: Add No_Tasking restriction. - -2021-07-08 Ed Schonberg - - * libgnat/a-cohama.ads: Introduce an equality operator over - cursors. - * libgnat/a-cohase.ads: Ditto. - * libgnat/a-cohama.adb: Add body for "=" over cursors. - (Insert): Do not set the Position component of the cursor that - denotes the inserted element. - * libgnat/a-cohase.adb: Ditto. - -2021-07-08 Arnaud Charlet - - * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb, - libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb, - libgnat/a-cborma.adb, libgnat/a-cborse.adb, - libgnat/a-cobove.adb, libgnat/a-textio.adb, - libgnat/a-witeio.adb, libgnat/a-ztexio.adb: Make code compatible - with No_Dynamic_Accessibility_Checks restriction. - -2021-07-08 Arnaud Charlet - - * debug.adb, sem_util.adb: Revert meaning of -gnatd_b. - * sem_res.adb: Minor reformatting. - -2021-07-08 Arnaud Charlet - - * make.adb, osint.adb: Make code compatible with - No_Dynamic_Accessibility_Checks restriction. - -2021-07-08 Piotr Trojanek - - * lib-writ.adb (Ensure_System_Dependency): Replace search in - Lib.Units with a search in Lib.Unit_Names. - -2021-07-08 Piotr Trojanek - - * sinput-l.adb (Load_File): Simplify foreword manipulation with - concatenation; similar for filename with preprocessed output. - -2021-07-07 Dmitriy Anisimkov - - * s-oscons-tmplt.c (MSG_WAITALL): Remove wrong #ifdef - __MINWGW32__. - -2021-07-07 Gary Dismukes - - * einfo-utils.adb (Primitive_Operations): Default to returning - Direct_Primitive_Operations in the case of concurrent types - (when Corresponding_Record_Type not present). - * sem_ch9.adb (Analyze_Protected_Type_Declaration): Initialize - Direct_Primitive_Operations to an empty element list. - (Analyze_Task_Type_Declaration): Initialize - Direct_Primitive_Operations to an empty element list. - -2021-07-07 Piotr Trojanek - - * sem_eval.adb (Set_Checking_Potentially_Static_Expression): - Stronger assertion. - -2021-07-07 Arnaud Charlet - - * sem_ch12.adb (Analyze_Subprogram_Instantiation): Mark Anon_Id - intrinsic before calling Analyze_Instance_And_Renamings because - this flag may be propagated to other nodes. - -2021-07-07 Dmitriy Anisimkov - - * s-oscons-tmplt.c (TCP_KEEPCNT TCP_KEEPIDLE, TCP_KEEPINTVL): - Hardcode on Windows if undefined. - -2021-07-07 Bob Duff - - * checks.adb (Install_Primitive_Elaboration_Check): Do not - generate elaboration checks for primitives if pragma Pure or - Preelaborate is present. Misc comment fixes, including - referring to the correct kind of check (elaboration, not - accessibility). - * checks.ads, restrict.adb, sem_cat.ads, sinfo.ads: Minor - reformatting and comment fixes. - -2021-07-07 Piotr Trojanek - - * sem_prag.adb (Analyze_Pragma): Simplify processing of pragma - CPP_Constructor. - -2021-07-07 Arnaud Charlet - - * libgnat/g-debpoo.adb (Code_Address_For_Allocate_End): Default - Initialize. - -2021-07-07 Arnaud Charlet - - * libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code - cleanups. - -2021-07-07 Gary Dismukes - - * freeze.adb (Check_Inherited_Conditions): Setting of Ekind, - LSP_Subprogram, and Is_Wrapper needs to happen for null - procedures as well as other wrapper cases, so the code is moved - from the else part in front of the if statement. (Fixes a - latent bug encountered while working on this set of changes.) - * sem_attr.adb (Resolve_Attribute): Report an error for the case - of an Access attribute applied to a primitive of an abstract - type when the primitive has any nonstatic Pre'Class or - Post'Class expressions. - * sem_ch8.adb (Analyze_Subprogram_Renaming): Report an error for - the case of a actual subprogram associated with a nonabstract - formal subprogram when the actual is a primitive of an abstract - type and the primitive has any nonstatic Pre'Class or Post'Class - expressions. - * sem_disp.adb (Check_Dispatching_Context): Remove special - testing for null procedures, and replace it with a relaxed test - that avoids getting an error about illegal calls to abstract - subprograms in cases where RM 6.1.1(7/5) applies in - Pre/Post'Class aspects. Also, remove special test for - Postcondition, which seems to be unnecessary, update associated - comments, and fix a typo in one comment. - (Check_Dispatching_Call): Remove an unneeded return statement, - and report an error for the case of a nondispatching call to a - nonabstract subprogram of an abstract type where the subprogram - has nonstatic Pre/Post'Class aspects. - * sem_util.ads - (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function. - (In_Pre_Post_Condition): Add a flag formal Class_Wide_Only, - defaulted to False, for indicating whether the function should - only test for the node being within class-wide pre- and - postconditions. - * sem_util.adb - (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function - to determine whether a subprogram is a primitive of an abstract - type where the primitive has class-wide Pre/Post'Class aspects - specified with nonstatic expressions. - (In_Pre_Post_Condition): Extend testing to account for the new - formal Class_Wide_Only. - -2021-07-07 Piotr Trojanek - - * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Errors - emitted via Check_Volatility_Compatibility are now emitted at - Actual, just like other errors emitted by - Check_Shared_Variable_Control_Aspects. - -2021-07-07 Piotr Trojanek - - * uname.adb (Get_Unit_Name): Simplify with a bounded string - buffer; also, this addresses a ??? comment about the max length - being exceeded. - -2021-07-07 Piotr Trojanek - - * uname.adb (Get_Body_Name, Get_Parent_Body_Name, - Get_Parent_Spec_Name, Get_Spec_Name, Is_Child_Name, - Is_Body_Name, Is_Spec_Name, Name_To_Unit_Name): Use a local - instead of the global buffer. - -2021-07-07 Bob Duff - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Combine - processing of Size and Value_Size clauses. Ensure that - Value_Size is treated the same as Size, in the cases where both - are allowed (i.e. the prefix denotes a first subtype). Misc - cleanup. - * einfo-utils.adb (Init_Size): Add assertions. - (Size_Clause): Return a Value_Size clause if present, instead of - just looking for a Size clause. - * einfo.ads (Has_Size_Clause, Size_Clause): Change documentation - to include Value_Size. - * sem_ch13.ads, layout.ads, layout.adb: Comment modifications. - -2021-07-07 Steve Baird - - * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Add - TSS_Put_Image to list of predefined primitives that need special - treatment. - (Build_General_Calling_Stubs, Build_Subprogram_Receiving_Stubs): - Remove previous hack for dealing with TSS_Put_Image procedures. - -2021-07-07 Dmitriy Anisimkov - - * libgnat/g-socket.adb (Get_Socket_Option): Add 500ms only when - Minus_500ms_Windows_Timeout is True. - (Set_Socket_Option): Use "* 1000" instead of "/ 0.001" to - convert to milliseconds. - -2021-07-07 Bob Duff - - * tbuild.adb (Unchecked_Convert_To): Set the Parent of the new - node to the Parent of the old node. - * tbuild.ads (Unchecked_Convert_To): Document differences - between Convert_To and Unchecked_Convert_To. The previous - documentation claimed they are identical except for the - uncheckedness of the conversion. - -2021-07-07 Yannick Moy - - * checks.adb (Apply_Scalar_Range_Check): Remove special case for - GNATprove mode. - * sem_res.adb (Resolve_Arithmetic_Op): Same. - * sem_util.adb (Apply_Compile_Time_Constraint_Error): Same. - -2021-07-07 Piotr Trojanek - - * sem_ch6.adb (Check_For_Primitive_Subprogram): Move - declarations of local variables after nested subprogram bodies. - -2021-07-07 Piotr Trojanek - - * exp_disp.adb (CPP_Num_Prims): Reuse List_Length. - -2021-07-07 Piotr Trojanek - - * exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind - membership test in Private_Kind with a call to Is_Private_Type. - -2021-07-07 Bob Duff - - * gen_il-gen-gen_entities.adb: Remove Linker_Section_Pragma - field from Record_Field_Kind. Minor comment improvement. - -2021-07-07 Yannick Moy - - * libgnat/a-ngelfu.ads (Cot): Fix precondition. - -2021-07-07 Piotr Trojanek - - * par.adb (Par): A local Name variable is now a renaming of a - constant slice. - -2021-07-07 Piotr Trojanek - - * gnat1drv.adb (Gnat1drv): Remove flagging of main unit and its - corresponding spec as requiring code generation; now the flags - are set much earlier. - * lib-load.adb (Load_Main_Source): Set Generate_Code flag on the - main unit source. - (Make_Instance_Unit): Copy Generate_Code flag from the main unit - to instance units. - * lib-writ.adb (Write_ALI): Remove redundant condition; - Generate_Code flag is always set for the main unit. - * par-load.adb (Load): Set Generate_Code flag on the main unit's - corresponding spec, if any. - -2021-07-07 Dmitriy Anisimkov - - * libgnat/g-socket.ads (Option_Name): Add Keep_Alive_Count, - Keep_Alive_Idle, and Keep_Alive_Interval items to enumeration. - (Option_Type): Add Keep_Alive_Count, Keep_Alive_Idle, and - Keep_Alive_Interval alternatives to the case of discriminated - record. - * libgnat/g-socket.adb (Options): Add Keep_Alive_Count, - Keep_Alive_Idle, and Keep_Alive_Interval to items enumerator to - OS constant converter. - (Set_Socket_Option): Process Keep_Alive_Count, Keep_Alive_Idle, - and Keep_Alive_Interval socket options. - (Get_Socket_Option): Idem. - -2021-07-07 Piotr Trojanek - - * lib-writ.adb (Write_ALI): Exit from loop after seeing first - unit that violates No_Elaboration_Code restriction. - -2021-07-07 Piotr Trojanek - - * inline.adb (Instantiate_Bodies): Fix white in declaration. - (Remove_Dead_Instance): Change iteration from WHILE to FOR. - -2021-07-07 Bob Duff - - * checks.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb, - exp_ch9.adb, exp_disp.adb, exp_util.adb, inline.adb, - sem_res.adb: Change all calls to Make_Unchecked_Type_Conversion - to call Unchecked_Convert_To instead. This involves removing - New_Occurrence_Of on the first parameter, because - Unchecked_Convert_To expects a type entity, rather than the name - of one. Also, removed calls to Relocate_Node, because - Unchecked_Convert_To takes care of that. - * sinfo.ads: Change comment to be worded more firmly. - -2021-07-07 Steve Baird - - * libgnarl/s-tassta.adb (Free_Task): Acquire the Task_Lock - before, rather than after, querying the task's Terminated flag. - Add a corresponding Task_Unlock call. - -2021-07-06 Bob Duff - - * atree.ads (Current_Error_Node): Initialize to Empty. - -2021-07-06 Steve Baird - - * exp_put_image.adb: Eliminate references to - Debug_Flag_Underscore_Z. Change the meaning of the function - Enable_Put_Image. Previously, a result of False for a tagged - type would mean that the type does not get a Put_Image (PI) - routine at all. Now, it means that the type gets a PI routine - with very abbreviated functionality (just a call to - Unknown_Put_Image). This resolves problems in mixing code - compiled with and without the -gnat2022 switch. - * exp_ch3.adb: Enable_Put_Image no longer participates in - determining whether a tagged type gets a Put_Image procedure. A - tagged type does not get a Put_Image procedure if the type - Root_Buffer_Type is unavailable. This is needed to support cross - targets where tagged types are supported but the type - Root_Buffer_Type is not available. - * exp_dist.adb: Add workarounds for some problems that arise - when using the (obsolete?) Garlic implementation of the - distributed systems annex with Ada 2022 constructs. - * libgnat/a-sttebu.ads: Workaround a bootstrapping problem. - Older compilers do not support raise expressions, so revise the - the Pre'Class condition to meet this requirement without - changing the condition's behavior at run time. - -2021-07-06 Eric Botcazou - - * repinfo-input.adb (JSON_Entity_Kind, Read_Variant_Part): Fix - typo in comment. - -2021-07-06 Steve Baird - - * sem_ch5.adb (Analyze_Assignment): Add new nested function, - Omit_Range_Check_For_Streaming, and make call to - Apply_Scalar_Range_Check conditional on the result of this new - function. - * exp_attr.adb (Compile_Stream_Body_In_Scope): Eliminate Check - parameter, update callers. The new - Omit_Range_Check_For_Streaming parameter takes the place of the - old use of calling Insert_Action with Suppress => All_Checks, - which was insufficiently precise (it did not allow suppressing - checks for one component but not for another). - (Expand_N_Attribute_Reference): Eliminate another "Suppress => - All_Checks" from an Insert_Action call, this one in generating - the expansion of a T'Read attribute reference for a composite - type T. - -2021-07-06 Ghjuvan Lacambre - - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for - empty loops caused by constraints. - -2021-07-06 Nicolas Roche - - * rtinit.c (skip_quoted_string): Handle malformed command line - with no closing double quote. - (skip_argument): Handle case in which a null character is - encountered by skip_quote_string. - -2021-07-06 Piotr Trojanek - - * uname.adb (Add_Node_Name): Replace local constant whose - initial expression was evaluated even when unnecessary with just - that expression that is evaluated at most once and only when - needed. - -2021-07-06 Piotr Trojanek - - * lib.adb (Remove_Unit): Replace defensive code with an - assertion. - * par-load.adb (Load): Address a question mark in the comment. - -2021-07-06 Piotr Trojanek - - * sem_util.adb (Enclosing_Comp_Unit_Node): When the loop exits - the Current_Node is either an N_Compilation_Unit node or Empty, - so simply return it without redundant checks. - -2021-07-06 Piotr Trojanek - - * lib-load.adb (Load_Unit): Remove excessive whitespace. - * lib.adb (Is_Internal_Unit, Is_Predefined_Unit): Likewise. - * par-ch10.adb (P_Compilation_Unit): Simplify with membership - test. - * par-load.adb (Load): Likewise. - * uname.adb (Get_Unit_Name): Likewise. - -2021-07-06 Piotr Trojanek - - * lib-writ.adb (Ensure_System_Dependency): Simplify by reusing a - constant name. - -2021-07-06 Steve Baird - - * exp_ch5.adb - (Expand_N_Case_Statement.Expand_General_Case_Statement.Pattern_Match): - When generating an equality test for a statically known discrete - value, only generate the numeric value if the discrete type is - not an enumeration type. If it is an enumeration type, then - call Get_Enum_Lit_From_Pos instead. - -2021-07-06 Justin Squirek - - * par-ch6.adb (Get_Return_Kind): Removed. - (Is_Extended): Created to identify simple and "when" return - statements from extended return statements. - (P_Return_Statement): Merged simple and "when" return statement - processing. - -2021-07-06 Gary Dismukes - - * sem_ch4.adb (Try_One_Prefix_Interpretation): Augment test of - "not Extensions_Allowed" with test for absence of Obj_Type's - primitive operations Elist, as an additional condition for early - return from this procedure. - -2021-07-06 Gary Dismukes - - * exp_ch4.adb (Process_Transient_In_Expression): In one comment, - fix two typos and reorder wording of one sentence, plus minor - reformatting. - -2021-07-06 Justin Squirek - - * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Remove - legacy expansion of element iterators, and use expansion form - used by unconstrained element types in the general case. - -2021-07-06 Ed Schonberg - - * exp_ch4.adb (Process_Transient_In_Expression): Ensure that - Fin_Context, used to insert finalization code for the - expression, is a list member: the value returned by - Find_Hook_Context may be an expression node when the transient - is part of a larger expression and it has a non-boolean type. - -2021-07-06 Yannick Moy - - * sem_case.adb: Fix error message. - -2021-07-06 Bob Duff - - * tbuild.adb (Convert_To): Add assert, along with a comment. - (Make_DT_Access): Remove this function, which is not used. It - was incorrect anyway (the call to New_Occurrence_Of should not - be there). - (Unchecked_Convert_To): Add assert. The previous version's test - for unchecked conversion to the same type was redundant and - could never be true, because the previous 'if' already checked - for ANY expression of the same type. Remove that, and replace - with a test for unchecked conversion to a related type. - Otherwise, we somethings get things like - "finalize(some_type!(some_type!(x)))" in the generated code, - where x is already of type some_type, but we're converting it to - the private type and then to the full type or vice versa (so the - types aren't equal, so the previous 'if' doesn't catch it). - Avoid updating the Parent. This is not necessary; the Parent - will be updated if/when the node is attached to the tree. - * tbuild.ads: Fix comments. No need to say "this is safe" when - we just explained that a few lines earlier. Remove - Make_DT_Access. - * sinfo.ads: Add comments. - * exp_ch7.adb (Make_Finalize_Address_Stmts): Minor comment fix. - * gen_il-gen.adb, gen_il-gen.ads, gen_il-gen-gen_nodes.adb, - gen_il-internals.ads: Implement a feature where you can put: - Nmake_Assert => "expr" where expr is a boolean expression in a - call to Create_Concrete_Node_Type. It is added in a pragma - Assert in the Nmake.Make_... function for that type. - -2021-07-06 Gary Dismukes - - * checks.adb: Remove calls of Set_Do_Tag_Check (N, False). - * einfo.ads: Remove hanging unneeded ??? comment ("this real description - was clobbered"). - * exp_util.ads (Insert_Actions_After): Remove ??? from spec comment. - * gen_il-fields.ads (Opt_Field_Enum): Remove literals - Do_Accessibility_Check and Do_Tag_Check. - * gen_il-gen-gen_nodes.adb: Remove all calls to Sm for - Do_Accessibility_Check and Do_Tag_Check. - * sem_type.ads (Is_Subtype_Of): Remove obsolete ??? - comment (function is not limited to scalar subtypes). - * sem_util.ads (Is_Local_Variable_Reference): Revise comment to - mention out-mode parameters as well, and remove ???. - (Propagate_Concurrent_Flags): Minor reformatting. - (Propagate_Invariant_Attributes): Typo fix. - (Propagate_Predicate_Attributes): Indicate what is propagated - and remove ??? comment. - * sem_util.adb (Cannot_Raise_Constraint_Error): Remove unneeded - test of Do_Tag_Check. - (Is_Local_Variable_Reference): Extend function to testing for - formals of mode out as well. - * sinfo.ads: Remove ??? comment about flag - Convert_To_Return_False indicating that the flag is obsolete (in - fact it's used). Remove references to Do_Accessibility_Check and - Do_Tag_Check (and the two associated ??? comments), as these - flags are unneeded. - * sinfo-cn.adb (Change_Conversion_To_Unchecked): Remove call of - Set_Do_Tag_Check (N, False). - * targparm.ads (Support_Atomic_Primitives_On_Target): Remove ??? - comment, plus minor reformatting. - -2021-07-06 Justin Squirek - - * par-ch6.adb (Get_Return_Kind): Properly handle the case of a - "return when" statement in the procedure case. - -2021-07-06 Bob Duff - - * sem.ads (Node_To_Be_Wrapped): Minor comment fix. - * exp_ch7.adb (Establish_Transient_Scope): Misc cleanups and - comment improvements. - (Set_Node_To_Be_Wrapped): Remove -- not worth putting this code - in a separate procedure, called only once. - * sem_util.adb (Requires_Transient_Scope): Assert that our - parameter has the right Kind. It probably shouldn't be E_Void, - but that is passed in in some cases. - (Ensure_Minimum_Decoration): Move the call later, so we know Typ - is Present, and remove "if Present (Typ)" from this procedure. - * exp_aggr.adb (Convert_To_Assignments): Use membership test, - and avoid the "if False" idiom. - (Expand_Array_Aggregate): Remove a ??? comment. - * sem_ch8.adb (Push_Scope): Take advantage of the full coverage - rules for aggregates. - * sem_res.adb (Resolve_Declare_Expression): Remove test for - Is_Type -- that's all it can be. Use named notation in call to - Establish_Transient_Scope. - * libgnat/a-cdlili.adb (Adjust): Remove redundant code. - (Clear): Remove "pragma Warnings (Off);", which wasn't actually - suppressing any warnings. - -2021-07-06 Bob Duff - - * gen_il-gen-gen_nodes.adb: Change the parent of - N_Exception_Declaration to be N_Declaration. Minor comment fix. - -2021-07-06 Ed Schonberg - - * exp_ch4.adb (Expand_N_Type_Conversion): If the conversion is - the name of an assignment operation do not apply predicate check - to it prior to the assignment. - -2021-07-06 Bob Duff - - * libgnat/a-conhel.adb: Assert that tampering counts remain - between 0 and 2**31-1. This makes debugging of - finalization-related bugs easier. - -2021-07-06 Doug Rupp - - * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use s-osprim__posix.adb - vice s-osprim__vxworks.adb for all vxworks7r2 targets. - -2021-07-06 Richard Kenner - - * gen_il-types.ads (Void_Or_Type_Kind, - Exception_Or_Object_Kind): Declare. - * gen_il-gen-gen_entities.adb: Likewise. - -2021-07-06 Gary Dismukes - - * doc/gnat_rm/implementation_defined_pragmas.rst: Add a - description of the feature of prefixed-view calls for untagged - types to the section on pragma Extensions_Allowed. - * gnat_rm.texi: Regenerate. - * einfo.ads: Update specification for - Direct_Primitive_Operations to reflect its use for untagged - types when Extensions_Allowed is True. - * gen_il-gen-gen_entities.adb: Allow Direct_Primitive_Operations - as a field of untagged classes of types by removing the "Pre" - test of "Is_Tagged_Type (N)", and making that field generally - available for all types and subtypes by defining it for - Type_Kind and removing its specification for individual classes - of types. - * sem_ch3.adb (Analyze_Full_Type_Declaration): Initialize the - Direct_Primitive_Operations list when not already set for the - new (sub)type and its base type (except when Ekind of the type - is E_Void, which can happen due to errors in cases where - Derived_Type_Declaration is called and perhaps in other - situations). - (Analyze_Subtype_Declaration): Inherit - Direct_Primitive_Operations list from the base type, for record - and private cases. - (Build_Derived_Record_Type): Initialize the - Direct_Primitive_Operations list for derived record and private - types. - (Build_Derived_Type): Initialize the Direct_Primitive_Operations - list for derived types (and also for their associated base types - when needed). - (Process_Full_View): For full types that are untagged record and - private types, copy the primitive operations of the partial view - to the primitives list of the full view. - * sem_ch4.adb (Analyze_Selected_Component): Allow prefixed - notation for subprogram calls in the case of untagged - types (when Extensions_Allowed is True). In the case where - Is_Private_Type (Prefix_Type) is True, call Try_Object_Operation - when a discriminant selector wasn't found. Also call - Try_Object_Operation in other type kind cases (when - Extensions_Allowed is True). - (Try_Object_Operation.Try_One_Prefixed_Interpretation): Prevent - early return in the untagged case (when Extensions_Allowed is - True). Condition main call to Try_Primitive_Operation on the - type having primitives, and after that, if Prim_Result is False, - test for case where the prefix type is a named access type with - primitive operations and in that case call - Try_Primitive_Operation after temporarily resetting Obj_Type to - denote the access type (and restore it to the designated type - after the call) - (Try_Object_Operation.Valid_First_Argument_Of): Do matching type - comparison by testing Base_Type (Obj_Type) against - Base_Type (Typ), rather than against just Typ, to properly - handle cases where the object prefix has a constrained - subtype. (Fixes a bug discovered while working on this - feature.) - * sem_ch6.adb - (New_Overloaded_Entity.Check_For_Primitive_Subprogram): Add a - primitive of an untagged type to the type's list of primitive - operations, for both explicit and implicit (derived, so - Comes_From_Source is False) subprogram declarations. In the case - where the new primitive overrides an inherited subprogram, - locate the primitives Elist that references the overridden - subprogram, and replace that element of the list with the new - subprogram (done by calling the new procedure - Add_Or_Replace_Untagged_Primitive on the result type and each - formal atype). - (Check_For_Primitive_Subprogram.Add_Or_Replace_Untagged_Primitive): - New nested procedure to either add or replace an untagged - primitive subprogram in a given type's list of primitive - operations (replacement happens in case where the new subprogram - overrides a primitive of the type). - * sem_ch7.adb (New_Private_Type): When Extensions_Allowed is - True, initialize the Direct_Primitive_Operations list of a - private type to New_Elmt_List in the case of untagged types. - * sem_ch8.adb (Find_Selected_Component): In the case where the - prefix is an entity name, relax condition that tests - Has_Components so that Analyze_Selected_Component will also be - called when Extensions_Allowed is True and the prefix type is - any type. - -2021-07-06 Ed Schonberg - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform - conformance check when the subprogram body has been created for - an expression function that is not a completion of a previous - specification, because the profile of the constructed body is - copied from the expression function itself. - -2021-07-06 Steve Baird - - * doc/gnat_rm/implementation_of_specific_ada_features.rst: Add a - warning indicating that the details of the default (i.e., - selected by the compiler) implementation of T'Put_Image for a - nonscalar type T are subject to change. - * gnat_rm.texi: Regenerate. - -2021-07-05 Pierre-Marie de Rodat - - * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2021-07-05 Piotr Trojanek - - * sem_prag.adb (Analyze_Depends_In_Decl_Part): Reject overlays - in Depends and Refined_Depends contracts. - (Analyze_Global_In_Decl_Part): Likewise for Global and - Refined_Global. - (Analyze_Initializes_In_Decl_Part): Likewise for Initializes - (when appearing both as a single item and as a initialization - clause). - * sem_util.ads (Ultimate_Overlaid_Entity): New routine. - * sem_util.adb (Report_Unused_Body_States): Ignore overlays. - (Ultimate_Overlaid_Entity): New routine. - -2021-07-05 Claire Dross - - * libgnat/a-cfdlli.ads, libgnat/a-cfdlli.adb - libgnat/a-cfinve.ads, libgnat/a-cfinve.adb, - libgnat/a-cofove.ads, libgnat/a-cofove.adb, - libgnat/a-coboho.ads, libgnat/a-coboho.adb (Constant_Reference): - Get a read-only access to an element of the container. - (At_End): Ghost functions used to express pledges in the - postcondition of Reference. - (Reference): Get a read-write access to an element of the - container. - * libgnat/a-cfhama.ads, libgnat/a-cfhama.adb, - libgnat/a-cforma.ads, libgnat/a-cforma.adb: The full view of the - Map type is no longer a tagged type, but a wrapper over this - tagged type. This is to avoid issues with dispatching result in - At_End functions. - (Constant_Reference): Get a read-only access to an element of - the container. - (At_End): Ghost functions used to express pledges in the - postcondition of Reference. - (Reference): Get a read-write access to an element of the - container. - * libgnat/a-cfhase.ads, libgnat/a-cfhase.adb, - libgnat/a-cforse.ads, libgnat/a-cforse.adb: The full view of the - Map type is no longer a tagged type, but a wrapper over this - tagged type. - (Constant_Reference): Get a read-only access to an element of - the container. - * libgnat/a-cofuse.ads, libgnat/a-cofuve.ads (Copy_Element): - Expression function used to cause SPARK to make sure - Element_Type is copiable. - * libgnat/a-cofuma.ads (Copy_Key): Expression function used to - cause SPARK to make sure Key_Type is copiable. - (Copy_Element): Expression function used to cause SPARK to make - sure Element_Type is copiable. - -2021-07-05 Yannick Moy - - * sem_prag.adb (Analyze_Global_Item): Adapt to update SPARK RM - rule. - -2021-07-05 Arnaud Charlet - - * Make-generated.in: Add -f switch to ensure cp will never fail. - -2021-07-05 Steve Baird - - * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): When - building the assignment statement corresponding to the default - expression for a component, we make a copy of the expression. - When making that copy (and if we have seen a component that - requires late initialization), pass a Map parameter into the - call to New_Copy_Tree to redirect references to the type to - instead refer to the _Init formal parameter of the init proc. - This includes hoisting the declaration of Has_Late_Init_Comp out - one level so that it becomes available to Build_Assignment. - (Find_Current_Instance): Return True for other kinds of current - instance references, instead of just access-valued attribute - references such as T'Access. - * sem_util.adb (Is_Aliased_View): Return True for the _Init - formal parameter of an init procedure. The changes in - exp_ch3.adb can have the effect of replacing a "T'Access" - attribute reference in an init procedure with an "_Init'Access" - attribute reference. We want such an attribute reference to be - legal. However, we do not simply mark the formal parameter as - being aliased because that might impact callers. - (Is_Object_Image): Return True if Is_Current_Instance returns - True for the prefix of an Image (or related attribute) attribute - reference. - -2021-07-05 Piotr Trojanek - - * exp_ch3.adb (Stream_Operation_OK): Reuse - Is_Concurrent_Interface. - * sem_ch3.adb (Analyze_Interface_Declaration, - Build_Derived_Record_Type): Likewise. - * sem_ch6.adb (Check_Limited_Return): Likewise. - * sem_util.adb (Is_Concurrent_Interface): Don't call - Is_Interface because each of the Is_Protected_Interface, - Is_Synchronized_Interface and Is_Task_Interface calls it anyway. - -2021-07-05 Ghjuvan Lacambre - - * sem_ch6.adb (Check_Limited_Return): Replace Comes_From_Source - with Comes_From_Extended_Return_Statement. - -2021-07-05 Steve Baird - - * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads, - libgnat/a-stobfi.adb, libgnat/a-stobfi.ads, - libgnat/a-stoubu.adb, libgnat/a-stoubu.ads, - libgnat/a-stoufi.adb, libgnat/a-stoufi.ads, - libgnat/a-stoufo.adb, libgnat/a-stoufo.ads, - libgnat/a-stouut.adb, libgnat/a-stouut.ads, - libgnat/a-stteou.ads: Delete files. - * Makefile.rtl, impunit.adb: Remove references to deleted files. - -2021-07-05 Piotr Trojanek - - * sem_util.adb (Has_Compatible_Alignment_Internal): If the - prefix of the Address expression is an entire object with a - known alignment, then skip checks related to its size. - -2021-07-05 Doug Rupp - - * libgnat/s-os_lib.ads: Import OS_Time comparison ops as - intrinsic. - * libgnat/s-os_lib.adb: Remove OS_TIme comparison ops - implementation. - -2021-07-05 Doug Rupp - - * libgnat/s-os_lib.ads: Add some comments about time_t. - * libgnat/s-os_lib.adb (GM_Split/To_GM_Time): Rename formal to - P_OS_Time. - (GM_Time_Of/To_OS_Time): Likewise. - -2021-07-05 Ghjuvan Lacambre - - * sem_res.adb (Resolve): Insert minus sign if needed. - -2021-07-05 Steve Baird - - * exp_put_image.adb: - (Enable_Put_Image, Preload_Root_Buffer_Type): Revert to querying - the -gnatd_z switch, as opposed to testing whether Ada_Version >= Ada_2022. - -2021-07-05 Justin Squirek - - * checks.adb (Accessibility_Checks_Suppressed): Add check - against restriction No_Dynamic_Accessibility_Checks. - (Apply_Accessibility_Check): Add assertion to check restriction - No_Dynamic_Accessibility_Checks is not active. - * debug.adb: Add documentation for new debugging switch to - control which accessibility model gets employed under - restriction No_Dynamic_Accessibility_Checks. - * exp_attr.adb (Expand_N_Attribute_Reference): Disable dynamic - accessibility check generation when - No_Dynamic_Accessibility_Checks is active. - * exp_ch4.adb (Apply_Accessibility_Check): Skip check generation - when restriction No_Dynamic_Accessibility_Checks is active. - (Expand_N_Allocator): Disable dynamic accessibility checks when - No_Dynamic_Accessibility_Checks is active. - (Expand_N_In): Disable dynamic accessibility checks when - No_Dynamic_Accessibility_Checks is active. - (Expand_N_Type_Conversion): Disable dynamic accessibility checks - when No_Dynamic_Accessibility_Checks is active. - * exp_ch5.adb (Expand_N_Assignment_Statement): Disable - alternative accessibility model calculations when computing a - dynamic level for a SAOAAT. - * exp_ch6.adb (Add_Call_By_Copy_Code): Disable dynamic - accessibility check generation when - No_Dynamic_Accessibility_Checks is active. - (Expand_Branch): Disable alternative accessibility model - calculations. - (Expand_Call_Helper): Disable alternative accessibility model - calculations. - * restrict.adb, restrict.ads: Add new restriction - No_Dynamic_Accessibility_Checks. - (No_Dynamic_Accessibility_Checks_Enabled): Created to test when - experimental features (which are generally incompatible with - standard Ada) can be enabled. - * sem_attr.adb (Safe_Value_Conversions): Add handling of new - accessibility model under the restriction - No_Dynamic_Accessibility_Checks. - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Disallow new restriction No_Dynamic_Accessibility_Checks from - being exclusively specified within a body or subunit without - being present in a specification. - * sem_res.adb (Check_Fully_Declared_Prefix): Minor comment - fixup. - (Valid_Conversion): Omit implicit conversion checks on anonymous - access types and perform static checking instead when - No_Dynamic_Accessibility_Checks is active. - * sem_util.adb, sem_util.ads (Accessibility_Level): Add special - handling of anonymous access objects, formal parameters, - anonymous access components, and function return objects. - (Deepest_Type_Access_Level): When - No_Dynamic_Accessibility_Checks is active employ an alternative - model. Add paramter Allow_Alt_Model to override the new behavior - in certain cases. - (Type_Access_Level): When No_Dynamic_Accessibility_Checks is - active employ an alternative model. Add parameter - Allow_Alt_Model to override the new behavior in certain cases. - (Typ_Access_Level): Created within Accessibility_Level for - convenience. - * libgnat/s-rident.ads, snames.ads-tmpl: Add handing for - No_Dynamic_Accessibility_Checks. - -2021-07-05 Doug Rupp - - * adaint.h (__gnat_set_file_time_name): Use OS_Time. - * adaint.c (__gnat_set_file_time_name): Likewise. - -2021-07-05 Doug Rupp - - * adaint.h (OS_Time): typedef as long long. - * osint.adb (Underlying_OS_Time): Declare as 64-bit signed type. - * libgnat/s-os_lib.adb ("<"): Compare OS_Time as - Long_Long_Integer. - ("<="): Likewise. - (">"): Likewise. - (">="): Likewise. - * libgnat/s-os_lib.ads (OS_Time): Declare as 64-bit signed type. - -2021-07-05 Ghjuvan Lacambre - - * sem_ch3.adb (Check_Abstract_Overriding): Post error message on - renaming node. - -2021-07-05 Yannick Moy - - * libgnat/a-uncdea.ads: Add Depends/Post to - Ada.Unchecked_Deallocation. - * sem_ch4.adb (Analyze_Allocator): Remove checking of allocator - placement. - * sem_res.adb (Flag_Object): Same. - -2021-07-05 Ghjuvan Lacambre - - * aspects.ads: Add GNAT_Annotate aspect. - * gnat1drv.adb (Adjust_Global_Switches): Stop defining - Name_Gnat_Annotate as an alias of Name_Annotate. - * snames.ads-tmpl: Define Gnat_Annotate. - * par-prag.adb, sem_prag.ads: Add Pragma_Gnat_Annotate to list - of pragmas. - * lib-writ.adb, sem_ch13.adb, sem_prag.adb: Handle Gnat_Annotate - like Aspect_Annotate. - -2021-07-05 Piotr Trojanek - - * ttypes.ads (Target_Strict_Alignment): Fix comment. - -2021-07-05 Piotr Trojanek - - * sem_util.adb (Has_Compatible_Alignment_Internal): Fix - indentation of ELSIF comments; remove explicit calls to - UI_To_Int; remove extra parens around the MOD operand. - -2021-07-05 Ed Schonberg - - * sem_aggr.adb (Resolve_Record_Aggregate, Step_5): Do not check - for the need to use an extension aggregate for a given component - when within an instance and the type of the component hss a - private ancestor: the instantiation is legal if the generic - compiles, and spurious errors may be generated otherwise. - -2021-07-05 Ghjuvan Lacambre - - * errout.adb (Output_JSON_Message): Recursively call - Output_JSON_Message for continuation messages instead of - appending their content to the initial message. - -2021-07-05 Steve Baird - - * debug.adb: Remove comments about -gnatd_z switch. - * exp_ch3.adb (Make_Predefined_Primitive_Specs): A one-line fix - for a subtle bug that took some effort to debug. Append a new - Put_Image procedure for a type extension even if it seems to - already have one, just as is done for (for example) the - streaming-related Read procedure. - * exp_put_image.adb: - (Build_Record_Put_Image_Procedure.Make_Component_Attributes): Do - not treat _Parent component like just another component, for two - reasons. 1. If the _parent component's type has a - user-specified Put_Image procedure, then we want to generate a - call to that procedure and then generate extension aggregate - syntax. 2. Otherwise, we still don't want to see any mention of - "_parent" in the generated image text. - (Build_Record_Put_Image_Procedure.Make_Component_Name): Add - assertion that we are not generating a reference to an "_parent" - component. - (Build_Record_Put_Image_Procedure): Add special treatment for - null records. Add call to Duplicate_Subexpr for image attribute - prefix in order to help with expansion needed in the class-wide - case (where the prefix is also referenced in the call to - Wide_Wide_Expanded_Name) if evaluation of the prefix has side - effects. Add new local helper function, Put_String_Exp. Add - support for case where prefix type is class-wide. - (Enable_Put_Image, Preload_Root_Buffer_Type): Query Ada_Version - > Ada_2022 instead of (indirectly) querying -gnatd_z switch. - * freeze.adb (In_Expanded_Body): A one-line change to add - TSS_Put_Image to the list of subprograms that have - expander-created bodies. - * rtsfind.ads: Add support for accessing - Ada.Tags.Wide_Wide_Expanded_Name. - * sem_ch3.ads, sem_ch3.adb: Delete Is_Null_Extension function, - as part of moving it to Sem_Util. - * sem_ch13.adb - (Analyze_Put_Image_TSS_Definition.Has_Good_Profile): Improve - diagnostic messages in cases where the result is going to be - False and the Report parameter is True. Relax overly-restrictive - checks in order to implement mode conformance. - (Analyze_Stream_TSS_Definition.Has_Good_Profile): Add similar - relaxation of parameter subtype checking for the Stream - parameter of user-defined streaming subprograms. - * sem_disp.adb (Check_Dispatching_Operation): A one-line - change (and an accompanying comment change) to add TSS_Put_Image - to the list of compiler-generated dispatching primitive - operations. - * sem_util.ads, sem_util.adb: Add Ignore_Privacy Boolean - parameter to Is_Null_Record_Type function (typically the - parameter will be False when the function is being used in the - implementation of static semantics and True for dynamic - semantics; the parameter might make a difference in the case of, - for example, a private type that is implemented as a null record - type). Add related new routines Is_Null_Extension (formerly - declared in Sem_Ch3), Is_Null_Extension_Of, and - Is_Null_Record_Definition. - -2021-07-05 Justin Squirek - - * freeze.adb (Freeze_Profile): Use N's Sloc, F_type's chars. - -2021-07-05 Bob Duff - - * checks.adb, exp_aggr.adb, exp_ch5.adb, freeze.adb, - sem_util.adb, sem_util.ads: Change L and H to be First and Last, - to match the attributes in the RM. Change calls from procedure - to function where appropriate. - -2021-07-05 Bob Duff - - * sem_util.ads, sem_util.adb (Compute_Returns_By_Ref): New - procedure to compute Returns_By_Ref, to avoid some code - duplication. This will likely change soon, so it's good to have - the code in one place. - (CW_Or_Has_Controlled_Part): Move here from Exp_Ch7, because - it's called by Compute_Returns_By_Ref, and this is a better - place for it anyway. - (Needs_Finalization): Fix comment to be vague instead of wrong. - * exp_ch6.adb (Expand_N_Subprogram_Body, Freeze_Subprogram): - Call Compute_Returns_By_Ref. - * sem_ch6.adb (Check_Delayed_Subprogram): Call - Compute_Returns_By_Ref. - * exp_ch7.ads, exp_ch7.adb (CW_Or_Has_Controlled_Part): Move to - Sem_Util. - (Has_New_Controlled_Component): Remove unused function. - -2021-07-05 Ghjuvan Lacambre - - * sem_ch3.adb (Check_Abstract_Overriding): Check for renamings. - -2021-07-05 Boris Yakobowski - - * exp_ch4.adb (Expand_N_Op_Rem): Remove special case for rem -1 - in CodePeer_Mode. - -2021-07-01 Eric Botcazou - - PR ada/101094 - * exp_attr.adb (Get_Integer_Type): Return an integer type with the - same signedness as the input type. - -2021-06-29 Richard Kenner - - * sem_util.adb (Visit_Node): Add handling for N_Block_Statement - with declarations. - -2021-06-29 Piotr Trojanek - - * einfo-utils.adb - (Unknown_Alignment): Simply negate the Known_ counterpart. - (Unknown_Component_Bit_Offset): Likewise. - (Unknown_Esize): Likewise. - (Unknown_Normalized_First_Bit): Likewise. - (Unknown_Normalized_Position): Likewise. - (Unknown_Normalized_Position_Max): Likewise. - (Unknown_RM_Size): Likewise. - -2021-06-29 Boris Yakobowski - - * exp_ch4.adb (Expand_N_Op_Mod): Remove special case for mod -1 - in CodePeer_Mode. - -2021-06-29 Aleksandra Pasek - - * libgnat/s-objrea.adb (EM_AARCH64): New Constant. - (Initialize): Handle EM_AARCH64 case. - (Read_Address): Handle AARCH64 case. - * libgnat/s-objrea.ads (Object_Arch): Add AARCH64 record - component. - -2021-06-29 Bob Duff - - * sem_ch13.adb (Analyze_Record_Representation_Clause): Call - Set_Entity_With_Checks instead of Set_Entity, so we perform the - check for correct casing. - * style.adb (Check_Identifier): Minor comment improvement. - Cleanup overly complicated code. - -2021-06-29 Ed Schonberg - - * exp_aggr.adb (Convert_Aggr_In_Object_Decl): After expansion of - the aggregate, the expression can be removed from the - declaration, except if the object is class-wide, in which case - the aggregate provides the actual type. In other cases the - presence of the expression may lead to spurious freezing issue. - * exp_ch3.adb (Expand_N_Object_Declaration): If the expression - in the declaration is an aggregate with delayed expansion (as is - the case for objects of a limited type, or a subsequent address - specification) the aggregate must be resolved at this point. - This resolution must not include expansion, because the - expansion of the enclosing declaration will construct the - necessary aggregate expansion. - -2021-06-29 Piotr Trojanek - - * errout.ads (Adjust_Name_Case): Remove obsolete and now unused - variant. - * errout.adb (Adjust_Name_Case): Likewise; fix variant that uses - a custom buffer to also use it for names in Standard_Location. - -2021-06-29 Eric Botcazou - - * sem_ch12.adb (Freeze_Subprogram_Body): Add missing "freeze". - (Install_Body): Likewise. - -2021-06-29 Piotr Trojanek - - * adaint.c (__gnat_portable_spawn): Revert change that - introduced setting of __gnat_in_child_after_fork. - -2021-06-29 Patrick Bernardi - - * libgnarl/s-tasdeb.ads (Known_Tasks): Add Atomic_Components - aspect. - -2021-06-29 Doug Rupp - - * Makefile.rtl (x86_64-vx7r2) [EXTRA_GNATRTL_TASKING_OBJS]: Move - i-vxinco.o out of RTP runtime. - -2021-06-29 Claire Dross - - * libgnat/a-cfdlli.ads: Use pragma Assertion_Policy to disable - pre and postconditions. - * libgnat/a-cfhama.ads: Likewise. - * libgnat/a-cfhase.ads: Likewise. - * libgnat/a-cfinve.ads: Likewise. - * libgnat/a-cforma.ads: Likewise. - * libgnat/a-cforse.ads: Likewise. - * libgnat/a-cofove.ads: Likewise. - -2021-06-29 Piotr Trojanek - - * sem_util.ads (Get_Fullest_View): Refill comment; remove extra - extra after period. - * sem_util.adb (Get_Fullest_View): Fix style. - -2021-06-29 Piotr Trojanek - - * sem_ch3.adb (Analyze_Declarations): Remove explicit check for - missing, because a subsequent call to Is_Empty_List will detect - them anyway. - -2021-06-29 Piotr Trojanek - - * freeze.adb (Freeze_All): Simplify by reusing - Is_Subprogram_Or_Entry. - * sem_ch11.adb (Analyze_Handled_Statement): Likewise. - -2021-06-29 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded - errors once for the subprogram call, not for every pair of - actual parameters. - -2021-06-29 Piotr Trojanek - - * sem_ch3.adb (Is_Local_Type): Simplify by reusing Scope_Within. - -2021-06-29 Gary Dismukes - - * sem_ch6.ads (Can_Override_Operator): Function declaration - moved from package body to package spec. - * sem_ch6.adb (Check_Overriding_Indicator): Now use test of - whether the subprogram's Chars is an operator name, to handle - cases of function instances whose entity is - N_Defining_Identifier rather than N_Defining_Operator_Symbol. - (Can_Override_Operator): Function declaration moved to package - spec. Now use test of whether the subprogram's Chars is an - operator name, to handle cases of function instances whose - entity is N_Defining_Identifier rather than - N_Defining_Operator_Symbol. - * sem_ch8.adb (Analyze_Renamed_Subprogram): Check for - possibility of an overridden predefined operator, and suppress - the "not overriding" message in that case. - -2021-06-29 Doug Rupp - - * Makefile.rtl: Add a new ifeq for vx7r2 shared gnatlib. - -2021-06-29 Piotr Trojanek - - * exp_attr.adb (Build_Array_VS_Func): Restore uses of - Validated_View. - (Build_Record_VS_Func): Likewise. - (Expand_N_Attribute_Reference): Likewise. - * sem_util.adb (Validated_View): Behave as an identity function - for arrays and scalars. - -2021-06-29 Bob Duff - - * atree.adb, atree.ads (Parent, Set_Parent): Assert node is - Present. - (Copy_Parent, Parent_Kind): New helper routines. - * gen_il-gen.adb: Add with clause. - * nlists.adb (Parent): Assert Parent of list is Present. - * aspects.adb, checks.adb, exp_aggr.adb, exp_ch6.adb, - exp_util.adb, lib-xref-spark_specific.adb, osint.ads, - sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch6.adb, - sem_dim.adb, sem_prag.adb, sem_res.adb, sem_util.adb, - treepr.adb: Do not call Parent and Set_Parent on the Empty node. - * libgnat/a-stwiun__shared.adb, libgnat/a-stzunb__shared.adb: - Minor: Fix typos in comments. - * einfo.ads: Minor comment update. - * sinfo-utils.ads, sinfo-utils.adb (Parent_Kind, Copy_Parent): - New functions. - -2021-06-29 Eric Botcazou - - * repinfo-input.adb (Read_JSON_Stream): Fix typo. - -2021-06-29 Eric Botcazou - - * rtsfind.ads (RE_Id): Change RE_Valid_Enumeration_Value_NN into - RE_Valid_Value_Enumeration_NN. - (RE_Unit_Table): Adjust to above renaming. - * exp_imgv.adb (Expand_Valid_Value_Attribute): Likewise. - * libgnat/s-valuen.ads (Invalid): Remove. - (Value_Enumeration_Pos): Move to... - * libgnat/s-valuen.adb (Value_Enumeration_Pos): ...here. - Return -1 instead of Invalid. - (Value_Enumeration): Compare against 0 instead of Invalid. - (Valid_Enumeration_Value): Likewise. Rename to... - (Valid_Value_Enumeration): ...this. - * libgnat/s-vaenu8.ads (Valid_Enumeration_Value_8): Rename into... - (Valid_Value_Enumeration_8): ...this. - * libgnat/s-vaen16.ads (Valid_Enumeration_Value_16): Rename into... - (Valid_Value_Enumeration_16): ...this. - * libgnat/s-vaen32.ads (Valid_Enumeration_Value_32): Rename into... - (Valid_Value_Enumeration_32): ...this. - -2021-06-29 Bob Duff - - * einfo.ads (Component_Bit_Offset, Component_Size): Update - documentation: Repinfo is the package where these negative - values are documented. - * einfo-utils.adb (Known_Component_Size, - Known_Static_Component_Size, Unknown_Component_Size): Remove - calls to Implementation_Base_Type, because Component_Size is an - Impl_Base_Type_Only field (see Gen_Entities). - * sem_ch13.ads, sem_ch13.adb (Check_Size): Do not set Esize and - RM_Size. This is unnecessary in the case of Size. For - Component_Size, it is wrong, because we would be setting the - Esize and RM_Size of the component type. - -2021-06-29 Pascal Obry - - * s-oscons-tmplt.c: Add some OS constants. - -2021-06-29 Piotr Trojanek - - * sem_util.ads (Validated_View): Fix style in comment. - * sem_util.adb (Validated_View): Rewrite in recursive style. - -2021-06-29 Eric Botcazou - - * Make-generated.in (ada/stamp-gen_il): Ignore errors from - running gen_il-main. - -2021-06-29 Richard Kenner - - * gen_il-gen-gen_entities.adb (Record_Field_Kind, - Allocatable_Kind): Add new abstract kinds. - (Constant_Or_Variable_Kind): Likewise. - (E_Constant, E_Variable, E_Loop_Parameter): Use them. - (E_Discriminant, E_Component): Likewise. - * gen_il-types.ads (type Opt_Type_Enum): Add them. - -2021-06-29 Bob Duff - - * gen_il-gen.adb (Put_C_Type_And_Subtypes): Put the correct - numbers. - * gen_il-internals.ads, gen_il-internals.adb: (Pos): Remove this - function. It was assuming that the order of the enumeration - literals in Type_Enum is the same as the order of the generated - types Node_Kind and Entity_Kind, which is not true. - -2021-06-29 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Explicitly use - Validated_View for record objects. - -2021-06-28 Martin Sebor - - * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): - Replace TREE_NO_WARNING with suppress_warning. - (gnat_gimplify_expr): Same. - * gcc-interface/utils.c (gnat_pushdecl): Same. - -2021-06-21 Gary Dismukes - - * checks.adb (Selected_Range_Checks): In the case of a - qualified_expression where the qualifying subtype is an - unconstrained array subtype with fixed lower bounds for some of - its indexes, generate tests to check that those bounds are equal - to the corresponding lower bounds of the qualified array object. - -2021-06-21 Bob Duff - - * libgnat/s-valuen.ads (Value_Enumeration, - Valid_Enumeration_Value): Inline. - (Value_Enumeration_Pos): Add Pure_Function. - -2021-06-21 Justin Squirek - - * doc/gnat_rm/implementation_defined_pragmas.rst: Document new - feature under pragma Extensions_Allowed. - * gnat_rm.texi: Regenerate. - * errout.adb, errout.ads (Error_Msg_GNAT_Extension): Created to - issue errors when parsing extension only constructs. - * exp_ch11.adb, exp_ch11.ads (Expand_N_Raise_When_Statement): - Created to expand raise ... when constucts. - * exp_ch5.adb, exp_ch5.ads (Expand_N_Goto_When_Statement): - Created to expand goto ... when constructs. - * exp_ch6.adb, exp_ch6.ads (Expand_N_Return_When_Statement): - Created to expand return ... when constructs. - * expander.adb (Expand): Add case entries for "when" constructs. - * gen_il-gen-gen_nodes.adb, gen_il-types.ads: Add entries for - "when" constructs. - * par-ch11.adb (P_Raise_Statement): Add processing for raise ... - when. - * par-ch5.adb (Missing_Semicolon_On_Exit): Renamed to - Missing_Semicolon_On_When and moved to par-util.adb. - * par-ch6.adb (Get_Return_Kind): Renamed from Is_Simple and - processing added for "return ... when" return kind. - (Is_Simple): Renamed to Get_Return_Kind. - (P_Return_Statement): Add case for return ... when variant of - return statement. - * par-util.adb, par.adb (Missing_Semicolon_On_When): Added to - centeralize parsing of "when" keywords in the context of "when" - constructs. - * sem.adb (Analyze): Add case for "when" constructs. - * sem_ch11.adb, sem_ch11.ads (Analyze_Raise_When_Statement): - Created to analyze raise ... when constructs. - * sem_ch5.adb, sem_ch5.ads (Analyzed_Goto_When_Statement): - Created to analyze goto ... when constructs. - * sem_ch6.adb, sem_ch6.ads (Analyze_Return_When_Statement): - Created to analyze return ... when constructs. - * sprint.adb (Sprint_Node_Actual): Add entries for new "when" - nodes. - -2021-06-21 Steve Baird - - * Make-generated.in (GEN_IL_FLAGS): Keep only GNAT flags. - (ada/stamp-gen_il): Remove dependencies on libgnat/ sources. Do not - copy libgnat/ sources locally and tidy up. - * Makefile.rtl: Include object files for new Text_Buffer units - in the GNATRTL_NONTASKING_OBJS list. - * exp_put_image.ads, exp_put_image.adb: Update Rtsfind calls to - match new specs. For example, calls to RE_Sink are replaced with - calls to RE_Root_Buffer_Type. Update comments and change - subprogram names accordingly (e.g., Preload_Sink is changed to - Preload_Root_Buffer_Type). - * impunit.adb: Add 6 new predefined units (Text_Buffers and 5 - child units thereof). - * rtsfind.ads, rtsfind.adb: Add interfaces for accessing the - Ada.Strings.Text_Buffers package and declarations - therein (including the Unbounded child unit). Do not (yet) - delete interfaces for accessing the old Text_Output package. - * sem_attr.adb (Check_Put_Image_Attribute): Replace RE_Sink uses - with RE_Root_Buffer_Type and update comments accordingly. - * sem_ch10.adb (Analyze_Compilation_Unit): Update call to - reflect name change of callee (that is, the former Preload_Sink - is now Preload_Root_Buffer_Type). - * sem_ch13.adb (Has_Good_Profile): Replace RE_Sink use with - RE_Root_Buffer_Type. - (Build_Spec): Update comment describing a parameter type. - * gen_il.ads: Remove clauses for the old Text_Output package and - add them for Ada.Streams.Stream_IO. - (Sink): Declare. - (Create_File): Likewise. - (Increase_Indent): Likewise. - (Decrease_Indent): Likewise. - (Put): Likewise. - (LF): Likewise. - * gen_il.adb: Add clauses for Ada.Streams.Stream_IO. - (Create_File): New procedure. - (Increase_Indent): Likewise. - (Decrease_Indent): Likewise. - (Put): New procedures. - * gen_il-gen.adb: Add clauses for Ada.Text_IO. Replace - Sink'Class with Sink throughout. Use string concatenation and - LF marker instead of formatted strings and "\n" marker. Update - Indent/Outdent calls to use new Increase_Indent/Decrease_Indent - names. - (Put_Membership_Query_Decl): Remove. - * gen_il-internals.ads: Replace Sink'Class with Sink throughout. - (Ptypes): Remove. - (Pfields): Likewise. - * gen_il-internals.adb: Remove clauses for GNAT.OS_Lib and - Ada.Strings.Text_Buffers.Files. Replace Sink'Class with Sink - throughout. Use string concatenation and LF marker instead of - formatted strings and "\n" marker. - (Stdout): Remove. - (Ptypes): Likewise. - (Pfields): Likewise. - * libgnarl/s-putaim.ads: Modify context clause, update - declaration of subtype Sink to refer to - Text_Buffers.Root_Buffer_Type instead of the old - Text_Output.Sink type. - * libgnarl/s-putaim.adb: Modify context clause and add use - clause to refer to Text_Buffers package. - * libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb, - libgnat/a-cbhama.ads, libgnat/a-cbhama.adb, - libgnat/a-cbhase.ads, libgnat/a-cbhase.adb, - libgnat/a-cbmutr.ads, libgnat/a-cbmutr.adb, - libgnat/a-cborma.ads, libgnat/a-cborma.adb, - libgnat/a-cborse.ads, libgnat/a-cborse.adb, - libgnat/a-cdlili.ads, libgnat/a-cdlili.adb, - libgnat/a-cidlli.ads, libgnat/a-cidlli.adb, - libgnat/a-cihama.ads, libgnat/a-cihama.adb, - libgnat/a-cihase.ads, libgnat/a-cihase.adb, - libgnat/a-cimutr.ads, libgnat/a-cimutr.adb, - libgnat/a-ciorma.ads, libgnat/a-ciorma.adb, - libgnat/a-ciormu.ads, libgnat/a-ciormu.adb, - libgnat/a-ciorse.ads, libgnat/a-ciorse.adb, - libgnat/a-coboho.ads, libgnat/a-coboho.adb, - libgnat/a-cobove.ads, libgnat/a-cobove.adb, - libgnat/a-cohama.ads, libgnat/a-cohama.adb, - libgnat/a-cohase.ads, libgnat/a-cohase.adb, - libgnat/a-coinho.ads, libgnat/a-coinho.adb, - libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb, - libgnat/a-coinve.ads, libgnat/a-coinve.adb, - libgnat/a-comutr.ads, libgnat/a-comutr.adb, - libgnat/a-convec.ads, libgnat/a-convec.adb, - libgnat/a-coorma.ads, libgnat/a-coorma.adb, - libgnat/a-coormu.ads, libgnat/a-coormu.adb, - libgnat/a-coorse.ads, libgnat/a-coorse.adb, - libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb, - libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.ads, - libgnat/a-nbnbre.adb, libgnat/a-strunb.ads, - libgnat/a-strunb.adb, libgnat/a-strunb__shared.ads, - libgnat/a-strunb__shared.adb, libgnat/s-rannum.ads, - libgnat/s-rannum.adb: Modify Put_Image procedure used in - Put_Image aspect specification to conform to Ada profile - rules (in particular, the first parameter shall be of type - Ada.Strings.Text_Buffers.Root_Buffer_Type'Class). - * libgnat/a-sttebu.ads, libgnat/a-sttebu.adb, - libgnat/a-stbubo.ads, libgnat/a-stbubo.adb, - libgnat/a-stbufi.ads, libgnat/a-stbufi.adb, - libgnat/a-stbufo.ads, libgnat/a-stbufo.adb, - libgnat/a-stbuun.ads, libgnat/a-stbuun.adb, - libgnat/a-stbuut.ads, libgnat/a-stbuut.adb: A new predefined - unit, Ada.Strings.Text_Buffers, and five child units. Two of - the five are RM-defined: Bounded and Unbounded. The remaining - three are GNAT-defined: Files, Utils, and Formatting. The buffer - type corresponding to an output file, type Files.File_Buffer, is - simpler (and perhaps therefore slower) than its predecessor. - Caching similar to what was being done before could be added - later if that seems appropriate. - * libgnat/s-putima.ads: Modify context clause, update - declaration of subtype Sink to refer to - Text_Buffers.Root_Buffer_Type instead of the old - Text_Output.Sink type. - * libgnat/s-putima.adb: Modify context clause. Update - Indent/Outdent calls to use new Increase_Indent/Decrease_Indent - names; ditto for "Put_String => Put" name change. - * libgnat/a-stteou__bootstrap.ads: Delete. - -2021-06-21 Eric Botcazou - - * exp_ch5.adb (Expand_Assign_Array_Bitfield_Fast): If big-endian - ordering is in effect for the operands and they are small, - adjust the unchecked conversions done around them. - -2021-06-21 Richard Kenner - - * einfo.ads (Return_Statement): Add documentation. - * exp_ch6.adb (Expand_N_Extended_Return_Statement): Set it. - * gen_il-fields.ads: Add it. - * gen_il-gen-gen_entities.adb: Add it. - -2021-06-21 Bob Duff - - * rtsfind.ads, libgnat/s-bitfie.ads, libgnat/s-bituti.adb, - libgnat/s-bituti.ads (Fast_Copy_Bitfield): New run-time library - function to copy bit fields faster than Copy_Bitfield. Cannot be - called with zero-size bit fields. Remove obsolete ??? comments - from s-bituti.adb; we already do "avoid calling this if - Forwards_OK is False". - * exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield, - Expand_Assign_Array_Bitfield_Fast): Generate calls to - Fast_Copy_Bitfield when appropriate. - * sem_util.adb, sem_util.ads (Get_Index_Bounds): Two new - functions for getting the index bounds. These are more - convenient than the procedure of the same name, because they can - be used to initialize constants. - -2021-06-21 Ed Schonberg - - * gen_il-fields.ads: Add Default_Subtype_Mark to enumeration - type for fields. - * gen_il-gen-gen_nodes.adb: Add call to create new field for - Formal_Type_Declaration node. - * par-ch12.adb (P_Formal_Type_Declaration): in Ada_2022 mode, - recognize new syntax for default: "or use subtype_mark". - (P_Formal_Type_Definition): Ditto for the case of a formal - incomplete type. - * sinfo.ads: Add field Default_Subtype_Mark to - N_Formal_Type_Declaration. - * sem_ch12.adb (Validate_Formal_Type_Default): New procedure, to - apply legality rules to default subtypes in formal type - declarations. Some legality rules apply to all defaults, such as - the requirement that the default for a formal type that depends - on previous formal entities must itself be a previously declared - formal of the same unit. Other checks are kind- specific. - (Analyze_Associations): Use specified default if there is no - actual provided for a formal type in an instance. - (Analyze_Formal_Type_Declaration): Call - Validate_Formal_Type_Default when default subtype is present. - -2021-06-21 Bob Duff - - * libgnat/s-valuen.ads, libgnat/s-valuen.adb - (Value_Enumeration_Pos): New function to compute the 'Pos of the - enumeration literal for a given String. Return a special value - instead of raising an exception on invalid input. Called by both - Valid_Enumeration_Image and Value_Enumeration. - (Valid_Enumeration_Image): Return a Boolean indicating whether - the String is a valid Image for the given enumeration type. - (Value_Enumeration): Implement in terms of - Value_Enumeration_Pos. - * libgnat/s-vaenu8.ads, libgnat/s-vaen16.ads, - libgnat/s-vaen32.ads: Rename Valid_Enumeration_Image from the - instances. - * libgnat/s-valuti.ads: Correct documentation (it was not true - for the null string). - * libgnat/s-valuti.adb (Normalize_String): Do not raise - Constraint_Error for the null string, nor strings containing - nothing but blanks, so that Valid_Enumeration_Image can return - False in these cases, rather than raising an exception. - * rtsfind.ads (RE_Value_Enumeration_8, RE_Value_Enumeration_16, - RE_Value_Enumeration_32): New functions. - (RTE_Available): Improve comment (E doesn't have to be a - subprogram, although that's the usual case). - * sem_attr.adb (nalid_Value): Semantic analysis for new - attribute. - * exp_attr.adb: Call Expand_Valid_Value_Attribute for new - attribute. - * exp_imgv.ads, exp_imgv.adb (Expand_Valid_Value_Attribute): New - procedure to expand Valid_Value into a call to - Valid_Enumeration_Image_NN. - (Expand_Value_Attribute): Misc code cleanups. Remove two ??? - mark comments. RTE_Available won't work here. For one thing, - RTE_Available (X) shouldn't be called until the compiler has - decided to make use of X (see comments on RTE_Available), and in - this case we're trying to AVOID calling something. - * snames.ads-tmpl: New attribute name. - * doc/gnat_rm/implementation_defined_attributes.rst: Document - new attribute. - * gnat_rm.texi: Regenerate. - -2021-06-21 Eric Botcazou - - * fe.h (Assume_No_Invalid_Values): Declare. - * opt.ads (Assume_No_Invalid_Values): Add warning comment. - -2021-06-21 Bob Duff - - * libgnat/s-bituti.ads (Small_Size): Do not include 0 in this - type. - * libgnat/s-bituti.adb (Copy_Bitfield): Do nothing for 0-bit - bitfields. - -2021-06-21 Ghjuvan Lacambre - - * exp_ch9.adb (Build_Simple_Entry_Call): Add comment. - * libgnat/s-rannum.adb (Random): Update comment. - * libgnat/s-rannum.ads (Generator): Update comment. - -2021-06-21 Piotr Trojanek - - * doc/gnat_rm/representation_clauses_and_pragmas.rst (Address - Clauses): Fix unbalanced parens. - * gnat_rm.texi: Regenerate. - -2021-06-21 Ghjuvan Lacambre - - * errout.adb (Handle_Serious_Error): Capitalize comment. - * exp_dbug.adb (Set_Entity_Name): Capitalize sentence. - * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Fix - typo. - * sem_ch3.adb (Modular_Type_Declaration): Add space after comma. - -2021-06-21 Ghjuvan Lacambre - - * debug.adb: Document -gnatd_U as taken. - * err_vars.ads (Warning_Doc_Switch): Set to True. - * errout.ads (Errout): Update documentation. - * gnat1drv.adb (Adjust_Global_Switches): React to -gnatd_U. - * hostparm.ads (Tag_Errors): Set to True. - * opt.ads (Unique_Error_Tag): Document -gnatd_U. - -2021-06-21 Eric Botcazou - - * urealp.ads (UR_Write_To_JSON): Declare. - * urealp.adb (Decimal_Exponent_Hi): Treat numbers in base 10 - specially and rewrite handling of numbers in other bases. - (Decimal_Exponent_Lo): Likewise. - (Normalize): Minor tweak. - (UR_Write_To_JSON): New wrapper procedure around UR_Write. - * repinfo.adb (List_Type_Info): When the output is to JSON, call - UR_Write_To_JSON instead of UR_Write. - -2021-06-21 Piotr Trojanek - - * sem_util.adb (Indexed_Component_Bit_Offset): Return an unknown - offset for components within multidimensional arrays; remove - redundant parens. - -2021-06-21 Piotr Trojanek - - * sem_util.adb (Find_Overlaid_Entity): Ignore references to - components and discriminants. - -2021-06-21 Doug Rupp - - * Makefile.rtl (aarch64-linux) [LIBGNAT_TARGET_PAIRS]: Add - $(TRASYM_DWARF_UNIX_PAIRS). - [EXTRA_GNAT_RTL_NONTASKING_OBJS]: Add $(TRASYM_DWARF_UNIX_OBJS) - -2021-06-21 Gary Dismukes - - * exp_util.adb (Expand_Sliding_Conversion): Only perform - expansion when Expander_Active is True. Add a comment about this - and refine existing comment regarding string literals. - -2021-06-21 Piotr Trojanek - - * sem_util.adb (Denotes_Same_Object): Simplify handling of - slices. - -2021-06-21 Piotr Trojanek - - * sem_util.adb (Is_Object_Renaming): Rename from Is_Renaming; - simplify; adapt callers. - -2021-06-21 Frederic Konrad - - * Makefile.rtl: Compiles both static and dynamic libgnat for - powerpc64-wrs-vxworks7r2. - -2021-06-18 Gary Dismukes - - * sem_ch3.adb (Constrain_Array): Add error checking for - fixed-lower-bound and constrained index ranges applied - inappropriately on subtypes of unconstrained and - fixed-lower-bound array types. - (Constrain_Index): Correct and refine comment related to - fixed-lower-bound index ranges. - -2021-06-18 Bob Duff - - * gen_il-gen.adb: Improve comments. - * snames.ads-tmpl (Convention_Id): Remove "-- Plenty of space - for expansion", because that's irrelevant now that we are no - longer laying out node fields by hand. - -2021-06-18 Piotr Trojanek - - * sem_util.adb (Denotes_Same_Object): Handle character literals - just like integer literals. - -2021-06-18 Piotr Trojanek - - * sem_util.adb (Denotes_Same_Object): Explicitly test for node - kinds being the same; deal with renamings one-by-one; adjust - numbers in references to the Ada RM. - -2021-06-18 Bob Duff - - * sprint.adb (Write_Source_Line): Check for EOF in - Line_Terminator loop. Note that when a source file is read in, - an EOF character is added to the end. - -2021-06-18 Piotr Trojanek - - * sem_aux.adb (Package_Specification): Add assertions to confirm - the kind of the of parameter and returned node. - * sem_ch12.adb (Remove_Parent): Reorder conditions; this change - appears to be semantically neutral, but is enough to avoid the - problematic call to Package_Specification. - * sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop - with a call to Package_Specification. - -2021-06-18 Bob Duff - - * sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use - Enum_Type'Object_Size. - -2021-06-18 Olivier Hainque - - * sigtramp-vxworks-target.inc (__aarch64__): Sync - REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN. - In CFI_COMMON_REGS, leave r18 alone, VxWorks private. - -2021-06-18 Javier Miranda - - * contracts.adb (Process_Spec_Postconditions): Add missing - support for aliased subprograms and handle wrappers of - class-wide pre/post conditions. - (Process_Inherited_Preconditions): Add missing support for - aliased subprograms and handle wrappers of class-wide pre/post - conditions. - * einfo.ads (Class_Wide_Clone): Fix typo. - (Is_Class_Wide_Clone): Removed since it is not referenced. - (Is_Wrapper): Documenting new flag. - (LSP_Subprogram): Documenting new attribute. - * exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate - wrapper as Is_Wrapper and adjust call to - Override_Dispatching_Operation. - * freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in - documentation. - (Check_Inherited_Conditions): Handle LSP wrappers; ensure - correct decoration of LSP wrappers. - * gen_il-fields.ads (Is_Class_Wide_Clone): Removed. - (Is_Wrapper): Added. - (LSP_Subprogram): Added. - * gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed. - (Is_Wrapper): Added. - (LSP_Subprogram): Added. - * gen_il-internals.adb (Image): Adding uppercase image of - LSP_Subprogram. - * sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP - wrappers. - * sem_disp.ads (Override_Dispatching_Operation): Remove - parameter Is_Wrapper; no longer needed. - * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion. - (Override_Dispatching_Operation): Remove parameter Is_Wrapper; - no longer needed. - * treepr.adb (Image): Adding uppercase image of LSP_Subprogram. - -2021-06-18 Arnaud Charlet - - * exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type - of the name of a "for of" loop is frozen. - * exp_disp.adb (Check_Premature_Freezing): Complete condition to - take into account a private type completed by another private - type now that the freezing rule are better implemented. - * freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an - early freeze on types if not in the proper scope. Special case - expression functions that requires access to the dispatch table. - (Should_Freeze_Type): New. - * sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert - failure in case of an invalid tree (previous errors detected). - * sem_res.adb (Resolve): Remove kludge related to entities - causing incorrect premature freezing. - * sem_util.adb (Ensure_Minimum_Decoration): Add protection - against non base types. - -2021-06-18 Gary Dismukes - - * sem_ch3.adb (Constrain_Index): Set the High_Bound of a - fixed-lower-bound subtype's range to T (the subtype of the FLB - index being constrained) rather than Base_Type (T). - -2021-06-18 Bob Duff - - * ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb, - einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb, - libgnat/a-textio.ads, libgnat/g-memdum.ads, - libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb, - osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb, - sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl, - targparm.ads, types.ads: Remove AAMP-specific code. - * switch.ads: Minor reformatting. - * gen_il-fields.ads, gen_il-gen.adb, - gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb, - einfo-utils.ads: Package Types now contains "type Float_Rep_Kind - is (IEEE_Binary);", which used to also have an enumeral AAMP. - Gen_IL can't handle fields of this type, which would be zero - sized. Therefore, we move the Float_Rep field into Einfo.Utils - as a synthesized attribute. (We do not delete the field - altogether, in case we want new floating-point representations - in the future.) - * doc/gnat_rm/implementation_defined_pragmas.rst, - doc/gnat_rm/implementation_defined_aspects.rst, - doc/gnat_ugn/building_executable_programs_with_gnat.rst, - doc/gnat_ugn/the_gnat_compilation_model.rst: Remove - AAMP-specific documentation. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2021-06-18 Gary Dismukes - - * exp_util.adb (Expand_Sliding_Conversion): Move test of - Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string - literals from sliding expansion. - -2021-06-18 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions - related to Ada_Version. - -2021-06-18 Piotr Trojanek - - * sem_util.adb (Address_Value): Simplify. - -2021-06-18 Bob Duff - - * sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value - instead of Intval, because the latter only exists in literals. - Remove Set_Etype on E1; setting the type is done elsewhere. - -2021-06-18 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of - both formal parameters; refactor a complex detection of - by-reference types. - -2021-06-18 Arnaud Charlet - - * gnatcmd.adb: Fix handling of check and test commands. - -2021-06-18 Gary Dismukes - - * doc/gnat_rm/implementation_defined_pragmas.rst: Add - documentation for the array fixed-lower-bound feature. - * gnat_rm.texi: Regenerate. - -2021-06-18 Bob Duff - - * debug.adb: Document switch. - * exp_aggr.adb: If -gnatd_g was given, then do not bump the - limit to 500_000. - -2021-06-18 Bob Duff - - * sem_util.ads, sem_util.adb (Has_Access_Values): Remove - Include_Internal parameter that was added in previous change. - * sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==> - Formal_Kind change made previously. Check Is_Private_Type to - avoid warnings on private types. Misc cleanup. - * sem_attr.adb (Attribute_Has_Access_Values): Remove - Include_Internal parameter. - -2021-06-18 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch - for overlapping actuals in prefix notation. - -2021-06-18 Eric Botcazou - - * sem_prag.adb (Process_Import_Or_Interface): Do not - artificially record a possible modification for a constant. - -2021-06-18 Arnaud Charlet - - * exp_ch6.adb (Expand_Call_Helper): Code cleanups. - -2021-06-18 Arnaud Charlet - - * exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads, - sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb, - sem_util.adb, sem_util.ads, sinfo.ads: Update comments. - -2021-06-18 Ghjuvan Lacambre - - * back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to - True if -fdiagnostics-format=json option is found. - * back_end.ads (Scan_Compiler_Arguments): Mention - Opt.JSON_Output. - * errout.adb (Output_JSON_Message): New procedure. - (Output_Messages): If Opt.JSON_Output is True, print messages - with new Output_JSON_Message procedure. - * opt.ads: Declare JSON_Output variable. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Mention new -fdiagnostics-format option. - * gnat_ugn.texi: Regenerate. - -2021-06-18 Arnaud Charlet - - * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion - mismatch check when Relaxed_RM_Semantics is set. - -2021-06-18 Arnaud Charlet - - * fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb, - switch-c.adb (Extensions_Allowed): Replace by a function. - (Ada_Version_Type): Add new value Ada_With_Extensions, to - replace setting of Extensions_Allowed. Update setting of - Extensions_Allowed. - -2021-06-18 Arnaud Charlet - - * bindgen.adb (Gen_Output_File_Ada): Generate a new constant - GNAT_Version_Address. - * libgnat/g-comver.adb (GNAT_Version_Address): New; - (GNAT_Version): Use GNAT_Version_Address to disable LTO warning. - -2021-06-18 Javier Miranda - - * einfo.ads (Is_Ada_2022_Only): Adding documentation. - * gen_il-fields.ads (Is_Ada_2022_Only): New flag. - * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag. - * itypes.adb (Create_Null_Excluding_Itype): Inherit - Is_Ada_2022_Only. - * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error - on Ada 2022 only subprograms that require overriding if we are - not in Ada 2022 mode. - (Derive_Subprogram): Inherit Is_Ada_2022_Only. - * sem_ch6.adb (Check_Overriding_Indicator): Inherit - Is_Ada_2022_Only. - (New_Overloaded_Entity): Inherit Is_Ada_2022_Only. - * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit - Is_Ada_2022_Only. - (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only. - * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit - Is_Ada_2022_Only. - (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only. - * sem_prag.adb (Analyze_Pragma): Allow form with argument for - Ada 2022. - * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only - * lib-xref.adb (Generate_Reference): Error on static and - dispatching calls to Ada 2022 subprograms that require - overriding if we are not in Ada 2022 mode; warn on other - references to Ada 2022 entities when not in Ada 2022 mode. - * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit - Ada_2020_Only. - * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022. - * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022. - * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022. - * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022. - * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022. - (New_Vector): Adding pragma Ada_2022. - (Insert_Vector): Adding pragma Ada_2022. - (Prepend_Vector): Adding pragma Ada_2022. - (Append_Vector): Adding pragma Ada_2022. - -2021-06-17 Arnaud Charlet - - * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against - no Primitive_Operations. - -2021-06-17 Vadim Godunko - - * libgnat/a-strunb__shared.ads (Allocate): Additional parameter - to provide additional amount of space to be allocated. - * libgnat/a-strunb__shared.adb (Aligned_Max_Length): Limit - length to Natural'Last when requested length is larger than it. - (Allocate): Merge two slightly different implementations into - one. - -2021-06-17 Gary Dismukes - - * checks.adb (Discrete_Range_Cond): For an index subtype that - has a fixed lower bound, require that the range's lower bound - match that of the subtype. - (Selected_Range_Checks): Warn about the case where a static - lower bound does not equal an index subtype's fixed lower bound. - * einfo.ads (Is_Fixed_Lower_Bound_Array_Subtype, - Is_Fixed_Lower_Bound_Index_Subtype): Document new entity flag. - * exp_ch4.adb (Expand_N_Type_Conversion): If the operand is of - an unconstrained array subtype with fixed lower bound, then - Expand_Sliding_Conversion is applied to the operand. - * exp_ch6.adb (Expand_Simple_Function_Return): If the result - subtype is an unconstrained array subtype with fixed lower - bound, then Expand_Sliding_Conversion is applied to the return - object. - * exp_util.ads (Expand_Sliding_Conversion): New procedure for - applying a sliding subtype conversion to an array object of a - fixed-lower-bound subtype when needed. - * exp_util.adb: Add with_clause for Freeze. - (Expand_Sliding_Conversion): New procedure for applying a - sliding subtype conversion to an array object of a - fixed-lower-bound subtype when needed. It traverses the indexes - of the unconstrained array type/subtype to create a target - constrained subtype and rewrites the array object to be a - conversion to that subtype, when there's at least one index - whose lower bound does not statically match the fixed-lower - bound of the target subtype. - * gen_il-fields.ads (type Opt_Field_Enum): Add literals - Is_Fixed_Lower_Bound_Array_Subtype and - Is_Fixed_Lower_Bound_Index_Subtype for new flags on type - entities. - * gen_il-gen-gen_entities.adb: Add calls to - Create_Semantic_Field for the new fixed-lower-bound flags on - type entities. - * par-ch3.adb (P_Array_Type_Definition): Add handling for - parsing of fixed-lower-bound index ranges in unconstrained array - types. Report an error if such an index is encountered and GNAT - language extensions are not enabled. - (P_Index_Subtype_Def_With_Fixed_Lower_Bound): Support procedure - for parsing unconstrained index ranges. - (P_Index_Or_Discriminant_Constraint): Add handling for parsing - of index constraints that specify ranges with fixed lower - bounds. Report an error if such an index is encountered and GNAT - language extensions are not enabled. - * sem_ch3.adb (Analyze_Object_Declaration): If the object's - nominal subtype is an array subtype with fixed lower bound, then - Expand_Sliding_Conversion is applied to the object. - (Array_Type_Declaration): Mark the array type and the subtypes - of any indexes that specify a fixed lower bound as being - fixed-lower-bound subtypes, and set the High_bound of the range - of such an index to the upper bound of the named subtype. - (Constrain_Array): For an array subtype with one or more index - ranges specifying a fixed lower bound, set Is_Constrained to - False and set the array subtype's - Is_Fixed_Lower_Bound_Array_Subtype flag to True. - (Constrain_Index): Mark the subtypes of an index that specifies - a fixed lower bound as being a fixed-lower-bound index subtype, - and set the High_bound of the range of such an index to the - upper bound of the base type of the array type's corresponding - index. - * sem_res.adb (Resolve_Actuals): If a formal is of an - unconstrained array subtype with fixed lower bound, then - Expand_Sliding_Conversion is applied to the actual. - * sem_util.adb (Build_Actual_Subtype): If the actual subtype - corresponds to an unconstrained array subtype having any indexes - with fixed lower bounds, then set the lower bounds of any such - indexes of the actual subtype to the appropriate fixed lower - bound of the formal subtype (rather than taking it from the - formal itself). - * sprint.adb (Sprint_Node_Actual, case N_Range): If a range's - Etype has a fixed lower bound, then print "<>" rather than the - High_Bound of the range. - -2021-06-17 Bob Duff - - * sem_util.adb, sem_util.ads (Has_Access_Values): New formal - Include_Internal to indicate whether internal types should be - included. - * sem_warn.adb (Check_References): Change E_Out_Parameter to - Formal_Kind, to match the comment about Spec_Entity. Pass - Include_Internal => False to Has_Access_Values, so that we warn - on types with access values that happen to be in internal types, - such as Unbounded_String. - * sem_attr.adb (Attribute_Has_Access_Values): Pass - Include_Internal => True to Has_Access_Values, to preserve - existing behavior. - * libgnat/g-rewdat.adb (Do_Output): Change B from 'in out' to - 'in', to avoid warning enabled by the change to sem_warn.adb. - * libgnat/s-objrea.adb (Check_Read_Offset): Change S from 'in - out' to 'in', to avoid warning enabled by the change to - sem_warn.adb. - -2021-06-17 Steve Baird - - * exp_ch5.adb - (Expand_N_Case_Statement.Expand_General_Case_Statement): New - subprogram. - (Expand_N_Case_Statement): If extensions are allowed and the - case selector is not of a discrete type, then call - Expand_General_Case_Statement to generate expansion instead of - flagging the non-discrete selector as an error. - * sem_case.ads (Is_Case_Choice_Pattern): New Boolean-valued - function for testing whether a given expression occurs as part - of a case choice pattern. - * sem_case.adb (Composite_Case_Ops): New package providing - support routines for the new form of case statements. This - includes a nested package, Composite_Case_Ops.Value_Sets, which - encapsulates the "representative values" implementation of - composite value sets. - (Check_Choices.Check_Case_Pattern_Choices): New procedure for - semantic checking of non-discrete case choices. This includes - the checks pertaining to coverage and overlapping. - (Check_Choices.Check_Composite_Case_Selector): New procedure for - semantic checking of non-discrete case selectors. - (Check_Choices): If extensions are allowed then a non-discrete - selector type no longer implies that an error must have been - flagged earlier. Instead of simply returning, call - Check_Composite_Case_Selector and Check_Case_Pattern_Choices. - (Is_Case_Choice_Pattern): Body of new function declared in - sem_case.ads . - * sem_ch5.adb (Analyze_Case_Statement): If extensions are - allowed, then we can't use RM 5.4's "The selecting_expression is - expected to be of any discrete type" name resolution rule. - Handle the case where the type of the selecting expression is - not discrete, as well as the new ambiguous-name-resolution error - cases made possible by this change. - * sem_res.adb (Resolve_Entity_Name): It is ok to treat the name - of a type or subtype as an expression if it is part of a case - choice pattern, as in "(Field1 => Positive, Field2 => <>)". - * exp_aggr.adb (Expand_Record_Aggregate): Do not expand case - choice aggregates. - * gen_il-fields.ads: Define two new node attributes, - Binding_Chars and Multidefined_Bindings. - * gen_il-gen-gen_nodes.adb: The new Multidefined_Bindings - attribute is Boolean-valued and may be set on - N_Case_Statement_Alternative nodes. The new Binding_Chars - attribute is Name_Id-valued and may be set on - N_Component_Association nodes. - * par-ch4.adb (P_Record_Or_Array_Component_Association): When - parsing a component association, check for both new syntax forms - used to specify a bound value in a case-choice aggregate. In - the case of a box value, an identifier may occur within the box, - as in "Foo => " instead of "Foo => <>". In the more general - case, an expression (or a box) may be followed by "is - ", as in - "Foo => Bar is Abc" instead of just "Foo => Bar". - * sem_aggr.adb (Resolve_Record_Aggregate): Do not transform box - component values in a case-choice aggregate. - * sinfo.ads: Provide comments for the new attributes added in - gen_il-fields.ads. - * doc/gnat_rm/implementation_defined_pragmas.rst: Describe this - new feature in documentation for pragma Extensions_Allowed. - * gnat_rm.texi: Regenerate. - -2021-06-17 Arnaud Charlet - - * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): - Do not abandon processing on a nested N_Expression_With_Actions - or N_Loop_Statement, otherwise we may miss some transient - declarations. - -2021-06-17 Arnaud Charlet - - * exp_util.adb (Find_Hook_Context): Do not stop on an aggregate - node. - -2021-06-17 Piotr Trojanek - - * sem_util.adb (Is_Valid_Renaming): Check not only indexed - components, but slices too. - -2021-06-17 Piotr Trojanek - - * sem_ch3.adb (Analyze_Private_Extension_Declaration): Check - No_Wide_Characters restriction after rejecting illegal parent - types. - (Derived_Type_Declaration): Likewise. - (Find_Type_Of_Subtype_Indic): Remove check for - No_Wide_Characters restriction, which was done too early. - -2021-06-17 Piotr Trojanek - - * sem_util.adb (Is_Valid_Renaming): Body moved from its nested - routine. - -2021-06-17 Gary Dismukes - - * sem_ch12.adb (Instantiate_Type): If the actual type for an - incomplete formal type is also incomplete, but has a Full_View, - use the Full_View of the actual type rather than the incomplete - view. - -2021-06-17 Piotr Trojanek - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (-gnatw.I): Remove double period at the end of sentence. - * gnat_ugn.texi: Regenerate. - -2021-06-17 Piotr Trojanek - - * sem_util.adb (Denotes_Same_Object): Call Get_Index_Bounds with - the range of a slice object, not its type. - -2021-06-17 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix style; - refactor repeated calls to Nkind; remove early RETURN. - -2021-06-17 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Ignore formal of - generic types, but keep examining other parameters. - -2021-06-17 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead code. - -2021-06-17 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove repeated - code. - -2021-06-17 Piotr Trojanek - - * checks.adb (Overlap_Check): Replace Set_Casing with - Adjust_Name_Case and adapt surrounding code as needed. - -2021-06-17 Arnaud Charlet - - * libgnat/s-putaim.ads, libgnat/s-putaim.adb: Move... - * libgnarl/s-putaim.ads, libgnarl/s-putaim.adb: ... here. - -2021-06-17 Arnaud Charlet - - * uintp.ads, uintp.adb (UI_To_Unsigned_64): New. - -2021-06-17 Piotr Trojanek - - * sem_prag.adb (Get_Overflow_Mode): Reword error message. - * switch-c.adb (Get_Overflow_Mode): Likewise. - -2021-06-17 Richard Kenner - - * exp_util.adb (Expand_Static_Predicates_In_Choices): Handle - Others_Discrete_Choices in N_Others_Choice. - -2021-06-17 Arnaud Charlet - - * atree.adb: Remove redundant comment with spec. - * sem_warn.adb: Fix typo in comment. - -2021-06-17 Arnaud Charlet - - * atree.adb: Do not suppress checks. - -2021-06-17 Justin Squirek - - * exp_ch3.adb (Check_Missing_Others): Add comment. - (Build_Initialization_Call): Remove inaccurate accessibility - comment. - * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Remove - test for Ada2012. - (Analyze_Package_Instantiation): Remove speculative comment. - (Inline_Instance_Body): Add comments for loops. - (Build_Subprogram_Renaming): Remove comment about fix being - partial and "ugly." - (Instantiate_Subprogram_Body): Remove comment referencing DEC - related internal issue. - (Subtypes_Match): Add comment and simplify anonymous access - test. - (Is_Global): Add test for when E is an expanded name, and - calculate the scope accordingly. - * sem_ch6.adb (Analyze_Function_Return): Update comment - regarding accessibility, and add check for - Warn_On_Ada_2012_Compatibility. - (Mask_Type_Refs): Add comments. - (Analyze_Subprogram_Declaration): Remove mysterious suppression - of elaboration checks. - * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Atomic - value. - * sem_ch8.adb (Most_Descendant_Use_Clause): Remove comment. - (Note_Redundant_Use): Fix calls to Find_First_Use to be - Find_Most_Prev. - (Get_Object_Name): Modify error message to be more descriptive. - (Known_But_Visible): Remove mysterious special case for - GNAT_Mode. - (Find_First_Use): Removed. - (Find_Most_Prev): Renamed from Find_First_Use. - * sem_prag.adb (Check_Static_Constraint): Add comments to - routine. - -2021-06-17 Bob Duff - - * treepr.adb (Print_Node): Display the Entity or Associated_Node - fields if appropriate. - * sinfo-utils.ads (F_Associated_Node, F_Entity): Remove. These - are no longer needed. - -2021-06-17 Piotr Trojanek - - * checks.adb (Apply_Parameter_Aliasing_Checks): Replace calls to - Is_Object_Reference with calls to Is_Name_Reference; remove - asymmetric condition that only detected an aggregate as the - first actual (aggregate objects were just a special case of an - object reference that was not a name). - -2021-06-17 Bob Duff - - * gen_il-gen.adb, gen_il-internals.ads: Generate field - enumeration literals with "F_" prefix. Update all generated - references accordingly. - * atree.adb, einfo-utils.adb, sem_ch3.adb, sem_ch5.adb, - sem_ch6.adb, sem_ch8.adb, sinfo-cn.adb, sinfo-utils.adb, - sinfo-utils.ads, treepr.adb: Add "F_" prefix to all uses of the - field enumeration literals. - -2021-06-17 Arnaud Charlet - - * libgnat/i-c.ads, libgnat/i-cexten.ads, - libgnat/i-cexten__128.ads: bool renamed C_bool. - -2021-06-17 Piotr Trojanek - - * sem_ch4.adb (Analyze_Allocator): Reject allocators in - restricted contexts. - -2021-06-17 Arnaud Charlet - - * gcc-interface/Make-lang.in: Use libgnat.so if libgnat.a cannot - be found. - -2021-06-16 Piotr Trojanek - - * sem_util.adb (Is_Volatile_Function): Follow the exact wording - of SPARK (regarding volatile functions) and Ada (regarding - protected functions). - -2021-06-16 Piotr Trojanek - - * sem_util.adb (Is_OK_Volatile_Context): All references to - volatile objects are legal in preanalysis. - (Within_Volatile_Function): Previously it was wrongly called on - Empty entities; now it is only called on E_Return_Statement, - which allow the body to be greatly simplified. - -2021-06-16 Yannick Moy - - * sem_res.adb (Set_Slice_Subtype): Revert special-case - introduced previously, which is not needed as Itypes created for - slices are precisely always used. - -2021-06-16 Eric Botcazou - - * urealp.adb (Scale): Change first paramter to Uint and adjust. - (Equivalent_Decimal_Exponent): Pass U.Den directly to Scale. - * libgnat/s-exponr.adb (Negative): Rename to... - (Safe_Negative): ...this and change its lower bound. - (Exponr): Adjust to above renaming and deal with Integer'First. - -2021-06-16 Piotr Trojanek - - * sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also - allocators within restricted contexts and not just entity names. - (Resolve_Actuals): Remove duplicated code for detecting - restricted contexts; it is now exclusively done in - Is_OK_Volatile_Context. - (Resolve_Entity_Name): Adapt to new parameter of - Is_OK_Volatile_Context. - * sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to - handle contexts both inside and outside of subprogram call - actual parameters. - (Within_Subprogram_Call): Remove; now handled by - Is_OK_Volatile_Context itself and its parameter. - -2021-06-16 Piotr Trojanek - - * sinput.adb (Sloc_Range): Refactor several repeated calls to - Sloc and two comparisons with No_Location. - -2021-06-16 Piotr Trojanek - - * checks.adb (Apply_Scalar_Range_Check): Fix handling of check depending - on the parameter passing mechanism. Grammar adjustment ("has" - => "have"). - (Parameter_Passing_Mechanism_Specified): Add a hyphen in a comment. - -2021-06-16 Piotr Trojanek - - * exp_ch3.adb (Build_Slice_Assignment): Remove unused - initialization. - -2021-06-16 Piotr Trojanek - - * restrict.adb, sem_attr.adb, types.ads: Fix typos in - "occuring"; refill comment as necessary. - -2021-06-16 Piotr Trojanek - - * sem_util.ads (Is_Actual_Parameter): Update comment. - * sem_util.adb (Is_Actual_Parameter): Also detect entry parameters. - -2021-06-16 Arnaud Charlet - - * rtsfind.ads, libgnarl/s-taskin.ads, exp_ch3.adb, exp_ch4.adb, - exp_ch6.adb, exp_ch9.adb, sem_ch6.adb: Move master related - entities to the expander directly. - -2021-06-16 Piotr Trojanek - - * sem_res.adb (Is_Assignment_Or_Object_Expression): Whitespace - cleanup. - (Is_Attribute_Expression): Prevent AST climbing from going to - the root of the compilation unit. - -2021-06-16 Steve Baird - - * doc/gnat_rm/implementation_advice.rst: Add a section for RM - A.18 . - * gnat_rm.texi: Regenerate. - -2021-06-16 Justin Squirek - - * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Add - check for the mixing of entries. - -2021-06-16 Justin Squirek - - * sem_ch13.adb (Make_Aitem_Pragma): Check for static expressions - in Priority aspect arguments for restriction Static_Priorities. - -2021-06-16 Justin Squirek - - * sem_util.adb (Accessibility_Level): Take into account - renamings of loop parameters. - -2021-06-16 Matthieu Eyraud - - * par_sco.adb (Set_Statement_Entry): Change sloc for dominance - marker. - (Traverse_One): Fix typo. - (Output_Header): Fix comment. - -2021-06-16 Richard Kenner - - * exp_unst.adb (Register_Subprogram): Don't look for aliases for - subprograms that are generic. Reorder tests for efficiency. - -2021-06-16 Eric Botcazou - - * sem_util.adb (Incomplete_Or_Partial_View): Retrieve the scope of - the parameter and use it to find its incomplete view, if any. - -2021-06-16 Eric Botcazou - - * freeze.adb (Check_No_Parts_Violations): Return earlier if the - type is elementary or does not come from source. - -2021-06-16 Bob Duff - - * ghost.adb: Add another special case where full analysis is - needed. This bug is due to quirks in the way - Mark_And_Set_Ghost_Assignment works (it happens very early, - before name resolution is done). - -2021-06-16 Eric Botcazou - - * sem_util.adb (Current_Entity_In_Scope): Reimplement. - -2021-06-16 Piotr Trojanek - - * sem_ch8.adb (End_Scope): Remove extra parens. - -2021-06-16 Javier Miranda - - * exp_disp.adb (Build_Class_Wide_Check): Ensure that evaluation - of actuals is side effects free (since the check duplicates - actuals). - -2021-06-16 Ed Schonberg - - * sem_res.adb (Resolve_Raise_Expression): Apply Ada_2020 rules - concerning the need for parentheses around Raise_Expressions in - various contexts. - -2021-06-16 Piotr Trojanek - - * sem_ch13.adb (Validate_Unchecked_Conversion): Move detection - of generic types before switching to their private views; fix - style in using AND THEN. - -2021-06-16 Arnaud Charlet - - * sem_ch3.adb (Analyze_Component_Declaration): Do not special - case raise expressions. - -2021-06-16 Sergey Rybin - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Instead of referring to the formatting of the Ada examples in - Ada RM add use the list of checks that are actually performed. - * gnat_ugn.texi: Regenerate. - -2021-06-16 Eric Botcazou - - * initialize.c: Do not include vxWorks.h and fcntl.h from here. - (__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute - (__gnat_initialize) [init_float]: Delete. - (__gnat_initialize) [VxWorks]: Likewise. - (__gnat_initialize) [PA-RISC HP-UX 10]: Likewise. - * runtime.h: Add comment about vxWorks.h include. - -2021-06-16 Eric Botcazou - - * libgnat/s-except.ads (ZCX_By_Default): Delete. - (Require_Body): Likewise. - * libgnat/s-except.adb: Replace body with pragma No_Body. - -2021-06-15 Steve Baird - - * exp_util.adb (Kill_Dead_Code): Generalize the existing - handling of if statements to handle case statements similarly. - -2021-06-15 Eric Botcazou - - * raise.h (_gnat_builtin_longjmp): Delete. - (set_gnat_exit_status): Likewise. - -2021-06-15 Piotr Trojanek - - * exp_util.adb (Possible_Side_Effect_In_SPARK): Handle component - declaration just like full type and subtype declarations. - -2021-06-15 Yannick Moy - - * errout.adb (First_And_Last_Node): Also apply to arbitrary late - declarations, not only subprogram specs. - -2021-06-15 Bob Duff - - * sem_ch3.adb (Make_Class_Wide_Type): Make sure all the calls to - Reinit_Field_To_Zero are for the correct Ekinds. - -2021-06-15 Bob Duff - - * aspects.ads (No_Task_Parts): New aspect. - * snames.ads-tmpl: Add the aspect name. - * exp_ch6.adb (Might_Have_Tasks): Return False if this is a - class-wide type whose specific type has No_Task_Parts. - * freeze.adb (Check_No_Parts_Violations): This is an adaptation - of the procedure formerly known as - Check_No_Controlled_Parts_Violations, which now supports both - No_Controlled_Parts and No_Task_Parts. It takes a parameter - indicating which aspect is being checked. - (Freeze_Entity): Call Check_No_Parts_Violations for both - aspects. - * sem_ch13.adb (Analyze_Aspect_Specifications): The code for - Aspect_No_Controlled_Parts already works as is with - Aspect_No_Task_Parts. - * libgnat/a-iteint.ads: Add No_Task_Parts aspect to the two - iterator iterfaces. - * doc/gnat_rm/implementation_defined_aspects.rst: Add - documentation for the No_Task_Parts aspect. - * gnat_rm.texi: Regenerate. - -2021-06-15 Arnaud Charlet - - * exp_unst.adb (Unnest_Subprogram.Build_Table.Visit_Node): Fix - handling of scopes for subprogram calls. - -2021-06-15 Piotr Trojanek - - * sem_prag.adb: Fix typos in comments related to access types. - * sem_util.adb (Is_Access_Variable): Stronger condition. - -2021-06-15 Arnaud Charlet - - * Make-generated.in: Add rule to copy runtime files needed - during stage1. - * raise.c: Remove obsolete symbols used during bootstrap. - * gcc-interface/Make-lang.in: Do not use libgnat sources during - stage1. - (GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common - part and the part only used outside of stage1. - (ADA_GENERATED_FILES): Add runtime files needed during bootstrap - when recent APIs are needed. - (ada/b_gnatb.adb): Remove prerequisite. - * gcc-interface/system.ads: Remove obsolete entries. - -2021-06-15 Eric Botcazou - - * raise-gcc.c (__gnat_personality_seh0): Use PERSONALITY_FUNCTION. - -2021-06-15 Ed Schonberg - - * sem_util.adb (Is_Confirming): Separate the handling of - Implicit_Dereference, for which no pragma is generated but which - is already checked for legality in Sem_Ch13, including renamed - discriminants in a derived type. - (Is_Confirming, Same_Name): For expanded names, only check - matching of selector, because prefix may correspond to original - and derived types with different names and/or scopes. Semantic - checks on aspect expression have already verified its legality. - Add comments regarding possible gaps in RM description of the - feature. - -2021-06-15 Gary Dismukes - - * freeze.adb (Freeze_Subprogram): Don't propagate conventions - Intrinsic or Entry to anonymous access-to-subprogram types - associated with subprograms having those conventions. Update - related comment. - * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Remove - special-case warning code for cases where a called subprogram - has convention Intrinsic as well as its formal's type (the - expected type for the Access attribute), since this case can no - longer occur. - -2021-06-15 Piotr Trojanek - - * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Fix - typos. - -2021-06-15 Bob Duff - - * einfo-utils.adb (Known_Component_Size, - Known_Static_Component_Size, Unknown_Component_Size): Use - Implementation_Base_Type instead of Base_Type. - -2021-06-15 Bob Duff - - * gen_il-gen-gen_entities.adb (E_Loop_Parameter): Add - Interface_Name field. - -2021-06-15 Bob Duff - - * sem_cat.adb (Check_Non_Static_Default_Expr): Allow nonstatic - expression in predefined unit with pragma Preelaborate. - -2021-06-15 Yannick Moy - - * doc/gnat_rm/intrinsic_subprograms.rst: More details on shift - operations for signed types. Also add the missing Import and - Convention on the example. - * gnat_rm.texi: Regenerate. - -2021-06-15 Eric Botcazou - - * raise-gcc.c: Include instead of in C++. - Include and unconditionally in C. - -2021-06-15 Piotr Trojanek - - * sem_util.ads (Find_Overlaid_Entity): Simplify comment for - spec. - * sem_util.adb (Find_Overlaid_Entity): Remove defensive code - from body. - -2021-06-15 Eric Botcazou - - * argv.c: Add include of for the runtime. - (gnat_argv): Change type to char ** and initialize to NULL. - (gnat_envp): Likewise. - * argv-lynxos178-raven-cert.c: Add include of . - (gnat_argv): Change type to char ** and initialize to NULL. - (gnat_envp): Likewise. - -2021-06-15 Bob Duff - - * gen_il-gen.adb (Setter_Needs_Parent): Add missing - Then_Actions. Fix self-contradictory comment. - * exp_util.adb (Insert_Actions): Minor comment improvments. - -2021-06-15 Arnaud Charlet - - * sem_eval.adb (Eval_Logical_Op, Test_Expression_Is_Foldable): - Add support for folding more "and"/"or" expressions. - * exp_util.adb (Side_Effect_Free): Fix handling of membership - tests. - -2021-06-15 Piotr Trojanek - - * sem_res.adb (Resolve_Actual): Replace repeated calls to - "Etype (F)" with references to "F_Typ", which keeps the results - of exactly that call. - -2021-06-15 Bob Duff - - * gen_il-gen.adb (To_Bit_Offset): Use 'Base to avoid overflow in - computations in Last_Bit when Offset = 'Last. - (Choose_Offset): Give a better error message when we run out of - fields. In particular, point out that - Gen_IL.Internals.Bit_Offset'Last needs to be increased. - -2021-06-15 Bob Duff - - * atree.ads, einfo-utils.ads, einfo-utils.adb, fe.h, gen_il.adb, - gen_il.ads, gen_il-gen-gen_entities.adb, - gen_il-gen-gen_nodes.adb, sem_ch12.adb, sem_ch3.adb, - sem_util.adb, sinfo-utils.ads, treepr.adb, types.ads: Clean up - ??? comments and other comments. - * atree.adb: Clean up ??? comments and other comments. - (Validate_Node): Fix bug: "Off_0 (N) < Off_L (N)" - should be "Off_0 (N) <= Off_L (N)". - * gen_il-gen.adb, gen_il-gen.ads: Clean up ??? - comments and other comments. Add support for getter-specific - and setter-specific preconditions. Detect the error of putting - a field in the wrong subrange. Misc cleanup. - (Node_Field vs. Entity_Field): Clean up Nmake. Improve - comments. - * gen_il-utils.ads: Misc cleanup. Move... - * gen_il-internals.ads: ... here. - * gen_il-utils.adb: Misc cleanup. Move... - * gen_il-internals.adb: ... here. - * gen_il-fields.ads: Move Was_Default_Init_Box_Association, - which was in the wrong subrange. Add comments. Misc cleanup. - * gen_il-types.ads: Add Named_Access_Kind. - * sinfo-cn.adb: Clean up ??? comments and other comments. - Remove redundant assertions. - * einfo.ads, sinfo.ads: Clean up ??? comments and other - comments. Remove all the comments indicating field offsets. - These are obsolete now that Gen_IL computes the offsets - automatically. - -2021-06-15 Arnaud Charlet - - * einfo.ads, errout.adb, errout.ads, exp_aggr.adb, exp_ch5.adb, - exp_ch6.adb, exp_ch8.adb, exp_ch9.adb, exp_imgv.adb, - exp_put_image.adb, fe.h, impunit.adb, impunit.ads, - libgnat/a-cobove.ads, libgnat/a-convec.ads, opt.ads, - par-ch12.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, - par-ch6.adb, par-prag.adb, par-util.adb, scans.ads, scng.adb, - sem_aggr.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb, - sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, - sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb, - sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads, - sinfo.ads, snames.ads-tmpl, sprint.adb, switch-c.adb, usage.adb, - doc/gnat_ugn/building_executable_programs_with_gnat.rst, - doc/gnat_rm/implementation_defined_aspects.rst, - gcc-interface/trans.c: Update all references to Ada 2020 to Ada - 2022. Rename pragma Ada_2020 to Ada_2022. Update documentation - accordingly. - * gnat_ugn.texi, gnat_rm.texi: Regenerate. - -2021-06-15 Steve Baird - - * sem_util.adb (Gather_Components): Factor the test that was - already being used to govern emitting a pre-Ada_2020 error - message into an expression function, - OK_Scope_For_Discrim_Value_Error_Messages. Call that new - function in two places: the point where the same test was being - performed previously, and in governing emission of a newer - Ada_2020 error message. In both cases, the out-mode parameter - Gather_Components.Report_Errors is set to True even if no error - messages are generated within Gather_Components. - * sem_util.ads: Correct a comment. - -2021-06-15 Richard Kenner - - * sem_ch3.adb (Array_Type_Declaration, Build_Derived_Type): - Reinitialize Stored_Constraint when needed. - (Set_Modular_Size): Likewise. - * atree.adb: (Check_Vanishing_Fields): Add node id to debugging - information. - -2021-06-15 Bob Duff - - * sem_util.adb (Propagate_Invariant_Attributes): Call - Set_Has_Own_Invariants on the base type, because these are - Base_Type_Only. The problem is that the base type of a type is - indeed a base type when Set_Base_Type is called, but then the - type is mutated into a subtype in rare cases. - * atree.ads, atree.adb (Is_Entity): Export. Correct subtype of - parameter in body. - * gen_il-gen.adb: Improve getters so that "Pre => ..." can refer - to the value of the field. Put Warnings (Off) on some with - clauses that are not currently used, but might be used by such - Pre's. - -2021-06-15 Piotr Trojanek - - * sem_ch3.adb (Access_Type_Declaration): Add comments to explain - the ordering of Mutate_Kind and Set_Directly_Designated_Type; - remove temporary setting of Ekind to E_Access_Type for building - _master objects, since now the Ekind is already set to its final - value. Move repeated code into Setup_Access_Type routine and use - it so that Process_Subtype is executed before mutating the kind - of the type entity. - * gen_il-gen-gen_entities.adb (Gen_Entities): Remove - Directly_Designated_Type from E_Void, E_Private_Record, - E_Limited_Private_Type and Incomplete_Kind; now it only belongs - to Access_Kind entities. - * sem_util.adb: Minor reformatting. - -2021-06-03 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Add PAT - local constant and use it throughout. If it is set, use a ref-all - pointer type for the pointer-to-array field of the fat pointer type. - : Add PAT local constant and use it throughout. - -2021-05-26 Jakub Jelinek - - * init.c (__gnat_error_handler): Remove register keyword. - -2021-05-25 Martin Liska - - * doc/share/conf.py: Fix Sphinx 4.0.x error. - -2021-05-21 Piotr Trojanek - - * gcc-interface/trans.c (Raise_Error_to_gnu): Add an assertion. - -2021-05-21 Eric Botcazou - - * gcc-interface/utils.c (gnat_pushdecl): Fix typo in comment. - * gcc-interface/utils2.c (build_simple_component_ref): Build NULL_EXPR - if the offset of the field has overflowed. - (build_component_ref): Add gigi checking assertion that the reference - has been built and replace the discriminant check by a Program_Error. - -2021-05-21 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Do - not pass default value in call to create_var_decl. - : Likewise. - : Both pass true for const_flag and false for - const_decl_allowed_p in call to create_var_decl. - Small tweaks in the generic record type case. - (elaborate_expression): Rename need_debug into need_for_debug and - adjust throughout. - (elaborate_expression_1): Likewise. Pass Needs_Debug_Info instead - of need_for_debug in call to create_var_decl. - (elaborate_expression_2): Likewise. - * gcc-interface/utils.c (maybe_pad_type): Pass false for - const_decl_allowed_p in call to create_var_decl. - -2021-05-21 Ghjuvan Lacambre - - * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ? with ??. - (gnat_to_gnu_param): Likewise. - (gnat_to_gnu_subprog_type): Likewise. - (warn_on_field_placement): Likewise. - (intrin_arglists_compatible_p): Likewise. - * gcc-interface/trans.c (Pragma_to_gnu): Likewise. - (gnat_to_gnu): Likewise. - (validate_unchecked_conversion): Likewise. - * gcc-interface/utils.c (maybe_pad_type): Likewise. - -2021-05-21 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Process - the implementation type of a packed type implemented specially. - -2021-05-21 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Always translate - the Is_Pure flag into the "pure" attribute of GNU C. - -2021-05-21 Eric Botcazou - - * gcc-interface/trans.c (Call_to_gnu): Restrict previous change - to bitfields whose size is not equal to the type size. - (gnat_to_gnu): Likewise. - -2021-05-21 Eric Botcazou - - * gcc-interface/trans.c (Call_to_gnu): Minor tweaks. - (gnat_to_gnu_external): Likewise. - (Raise_Error_to_gnu): Return an empty statement list if there is a - condition and it is always false. - (gnat_to_gnu): Do not check for elaboration code a priori during the - translation but a posteriori instead. - -2021-05-21 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu) : - Put a SLOC on the assignment from the return value to the return - object in the copy-in/copy-out case. - -2021-05-21 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Replace - CEIL_DIV_EXPR with EXACT_DIV_EXPR. - * gcc-interface/misc.c (gnat_type_max_size): Likewise. - * gcc-interface/utils.c (maybe_pad_type): Likewise. - (finish_record_type): Likewise. And always compute the unit size. - -2021-05-14 Martin Liska - - * doc/Makefile: Add gnat-style target. - * doc/share/conf.py: Likewise. - * doc/gnat-style.rst: New file. - -2021-05-12 Bob Duff - - PR ada/100564 - * atree.adb (Change_Node): Do not call Zero_Slots on a Node_Id - when the Nkind has not yet been set; call the other Zero_Slots - that takes a range of slot offsets. Call the new Mutate_Kind - that takes an Old_Size, for the same reason -- the size cannot - be computed without the Nkind. - (Mutate_Nkind): New function that allows specifying the Old_Size. - (Size_In_Slots): Assert that the Nkind has proper (nonzero) value. - * atree.ads: Minor reformatting. - -2021-05-12 Martin Liska - - * doc/share/conf.py: Do not use binary mode. - Do not use u' literals as Python3 uses unicode by default. - -2021-05-11 Martin Liska - - * gcc-interface/ada-tree.h (BUILT_IN_LIKELY): Use builtins - from COROUTINES. - (BUILT_IN_UNLIKELY): Likewise. - -2021-05-11 Eric Botcazou - - * gnatvsn.adb (Version_String): Rename to... - (C_Version_String): ...this. - (Gnat_Version_String): Adjust to above renaming. - * version.c : Fix formatting glitches. - -2021-05-10 Martin Liska - - PR bootstrap/100506 - * Make-generated.in: Replace version.c with ada/version.c. - * gcc-interface/Make-lang.in: Add version.o to GNAT1_C_OBJS and - GNATBIND_OBJS. - * gcc-interface/Makefile.in: Replace version.c with ada/version.c. - Add version.o to TOOLS_LIBS. - * gnatvsn.adb: Replace version_string with gnat_version_string. - * version.c: New file. - -2021-05-10 Eric Botcazou - - * einfo-utils.ads (Classification Attributes): Add pragma Inline. - (Synthesized Attribute Functions): Move pragma Inline around. - (Type Representation Attribute Predicates): Likewise. - (Field Initialization Routines): Likewise. - (Miscellaneous Subprogram): Likewise. - -2021-05-10 Eric Botcazou - - * atree.ads (Slot): Remove pragma Provide_Shift_Operators. - (Shift_Left): New intrinsic function. - (Shift_Right): Likewise. - * atree.adb (Get_1_Bit_Val): Use Natural instead of Integer. - (Get_2_Bit_Val): Likewise. - (Get_4_Bit_Val): Likewise. - (Get_8_Bit_Val): Likewise. - (Set_1_Bit_Val): Likewise. - (Set_2_Bit_Val): Likewise. - (Set_4_Bit_Val): Likewise. - (Set_8_Bit_Val): Likewise. - -2021-05-10 Eric Botcazou - - * atree.adb (Zero_Slots): Remove obsolete comment and add header. - -2021-05-10 Eric Botcazou - - * atree.h (Get_32_Bit_Field): Tidy up. - (Get_32_Bit_Field_With_Default): Likewise. - -2021-05-10 Eric Botcazou - - * Make-generated.in (do_gen_il): Replace with... - (ada/stamp-gen_il): ...this. Do not copy files into generated/. - -2021-05-10 Martin Liska - - * gcc-interface/utils.c (def_builtin_1): Use startswith - function instead of strncmp. - -2021-05-07 Piotr Trojanek - - * einfo-utils.adb (Is_Access_Object_Type): Use - Directly_Designated_Type. - (Is_Access_Subprogram_Type): Use Directly_Designated_Type. - (Set_Convention): Use plain Ekind. - * gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind. - * sem_ch3.adb (Access_Type_Declaration): When seeing an illegal - completion with an access type don't attempt to decorate the - completion entity; previously the entity had its Ekind set to - E_General_Access_Type or E_Access_Type, but its Designated_Type - was empty, which caused a crash in freezing. (Actually, the - error recovery in the surrounding context is still incomplete, - e.g. we will crash when the illegal completion is an access to - an unknown identifier). - -2021-05-07 Bob Duff - - * par_sco.adb: Align with/use clauses. - (Traverse_Declarations_Or_Statements): Minor comment fix. - * aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb, - contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb, - errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb, - exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb, - exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, - exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, - exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_disp.adb, - exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, - exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb, - exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb, - exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb, - frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb, - impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb, - lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb, - lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb, - par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb, - repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb, - sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb, - sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, - sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, - sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, - sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, - sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb, - sem_prag.adb, sem_res.adb, sem_scil.adb, sem_smem.adb, - sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb, - sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb, - sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads, - treepr.adb, uname.adb: Align with/use clauses. - -2021-05-07 Bob Duff - - * atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean - up ??? marks. Rename Set_Ekind to be Mutate_Ekind. - * einfo.ads, sinfo.ads: Likewise. Change "definitive - definition" to "official definition", because the former sounds - redundant. Rename Set_Ekind to be Mutate_Ekind. - * checks.adb, contracts.adb, cstand.adb, exp_aggr.adb, - exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb, - exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, - exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb, - exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb, - lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb, - sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, - sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, - sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb, - sem_util.adb: Rename Set_Ekind to be Mutate_Ekind. - -2021-05-07 Bob Duff - - * atree.adb: Move nnd-related code from here, and leave a - comment pointing to sinfo-utils.adb. - * sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to - here. - -2021-05-07 Piotr Trojanek - - * einfo.ads: Move Corresponding_Protected_Entry... - * sinfo.ads: ... here. - * exp_ch9.adb (Build_Entry_Body): Link procedure and entry - bodies. - * gen_il-fields.ads (Opt_Field_Enum): Add - Corresponding_Entry_Body field to nodes; remove - Corresponding_Protected_Entry field from entities. - * gen_il-gen-gen_entities.adb (Gen_Entities): Remove - Corresponding_Protected_Entry field from E_Void and - E_Subprogram_Body. - * gen_il-gen-gen_nodes.adb (Gen_Nodes): Add - Corresponding_Entry_Body field to N_Subprogram_Body. - * sem_ch6.adb (Analyze_Subprogram_Specification): Remove - manipulation of Ekind and Corresponding_Protected_Entry added as - part of the support for varsize-nodes. - -2021-05-07 Bob Duff - - * sem_ch3.adb (Process_Incomplete_Dependents): Reset - Private_Dependents field to zero before calling Set_Ekind. Also - move Set_Etype to after Set_Ekind, because it's always best to - set the Ekind as early as possible. - * atree.adb: Improve debugging facilities for vanishing fields. - -2021-05-07 Eric Botcazou - - * atree.ads (Slot): Change to modular type. - (Slot_1_Bit): Delete. - (Slot_2_Bit): Likewise. - (Slot_4_Bit): Likewise. - (Slot_8_Bit): Likewise. - (Slot_32_Bit): Likewise. - * atree.adb (Get_1_Bit_Val): Adjust to above change. - (Get_2_Bit_Val): Likewise. - (Get_4_Bit_Val): Likewise. - (Get_8_Bit_Val): Likewise. - (Get_32_Bit_Val): Likewise. - (Set_1_Bit_Val): Likewise. - (Set_2_Bit_Val): Likewise. - (Set_4_Bit_Val): Likewise. - (Set_8_Bit_Val): Likewise. - (Set_32_Bit_Val): Likewise. - (Print_Atree_Info): Likewise. - (Zero): Likewise. - * atree.h (Get_1_Bit_Field): Likewise. - (Get_2_Bit_Field): Likewise. - (Get_4_Bit_Field): Likewise. - (Get_8_Bit_Field): Likewise. - (Get_32_Bit_Field): Likewise. - (Get_32_Bit_Field_With_Default): Likewise. - * types.h (slot_1_bit): Delete. - (slot_2_bit): Likewise. - (slot_4_bit): Likewise. - (slot_8_bit): Likewise. - (slot_32_bit): Likewise. - (any_slot): Change to unsigned int. - (Slot_Size): New macro. - -2021-05-07 Eric Botcazou - - * gcc-interface/gigi.h (enum standard_datatype): Remove - ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id. - (exception_data_name_id): Delete. - (not_handled_by_others_name_id): New macro. - * gcc-interface/decl.c (gnat_to_gnu_entity) : Remove old - kludge for exceptions. - : Likewise. - (gnat_to_gnu_field): Force character type on Not_Handled_By_Others. - * gcc-interface/misc.c (gnat_argv): Change type to char **. - (gnat_init_options): Adjust accordingly. - * gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id - and use it to set not_handled_by_others_decl. - (Exception_Handler_to_gnu_fe_sjlj): Fix indentation. - -2021-05-07 Eric Botcazou - - * raise-gcc.c (__gnat_others_value): Remove const qualifier. - (__gnat_all_others_value): Likewise. - (__gnat_unhandled_others_value): Likewise. - (GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr. - (GNAT_ALL_OTHERS): Likewise. - (GNAT_UNHANDLED_OTHERS): Likewise. - (Is_Handled_By_Others): Change parameter type to Exception_Id. - (Language_For): Likewise. - (Foreign_Data_For): Likewise. - (is_handled_by): Likewise. Adjust throughout, remove redundant - line and fix indentation. - * libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and - useless qualification from parameter type. - (Foreign_Data_For): Likewise. - (Language_For): Likewise. - -2021-05-07 Eric Botcazou - - * libgnat/s-stalib.ads (Exception_Data): Mark components as aliased. - * stand.ads (Standard_Entity_Type): Enhance comments. - * cstand.adb (Make_Component): Rename into... - (Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent - flags on the component. - (Create_Standard): Adjust the types of the component of the record - Standard_Exception_Type and mark them as aliased. - * exp_ch11.adb (Expand_N_Exception_Declaration): Use OK - conversion to Standard_Address for Full_Name component, except - in CodePeer_Mode (set it to 0). - * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise. - * raise.h (struct Exception_Data): Change the type of Full_Name, - HTable_Ptr and Foreign_Data. - -2021-05-07 Eric Botcazou - - * atree.h (Slots_Ptr): Change pointed-to type to any_slot. - * fe.h (Get_RT_Exception_Name): Change type of parameter. - * namet.ads (Name_Entry): Mark non-boolean components as aliased, - reorder the boolean components and add an explicit Spare component. - * namet.adb (Name_Enter): Adjust aggregate accordingly. - (Name_Find): Likewise. - (Reinitialize): Likewise. - * namet.h (struct Name_Entry): Adjust accordingly. - (Names_Ptr): Use correct type. - (Name_Chars_Ptr): Likewise. - (Get_Name_String): Fix declaration and adjust to above changes. - * types.ads (RT_Exception_Code): Add pragma Convention C. - * types.h (Column_Number_Type): Fix original type. - (slot): Rename union type to... - (any_slot): ...this and adjust assertion accordingly. - (RT_Exception_Code): New enumeration type. - * uintp.ads (Uint_Entry): Mark components as aliased. - * uintp.h (Uints_Ptr): Use correct type. - (Udigits_Ptr): Likewise. - * gcc-interface/gigi.h (gigi): Adjust name and type of parameter. - * gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr - and Udigits_Ptr. - * gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type. - (gigi): Adjust type of parameter. - (build_raise_check): Add cast in call to Get_RT_Exception_Name. - -2021-05-07 Eric Botcazou - - * init.c (__gnat_raise_program_error): Fix parameter type. - (Raise_From_Signal_Handler): Likewise and mark as no-return. - * raise-gcc.c (__gnat_others_value): Fix type. - (__gnat_all_others_value): Likewise. - (__gnat_unhandled_others_value): Likewise. - * seh_init.c (Raise_From_Signal_Handler): Fix parameter type. - * libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C - and new symbol name, move declaration to... - (Raise_From_Controlled_Operation): Minor tweak. - * libgnat/a-except.adb (Raise_From_Signal_Handler): ...here. - * libgnat/a-exexpr.adb (bool): New C compatible boolean type. - (Is_Handled_By_Others): Use it as return type for the function. - -2021-05-07 Eric Botcazou - - * errout.ads (Set_Identifier_Casing): Add pragma Convention C. - * eval_fat.ads (Rounding_Mode): Likewise. - (Machine): Add WARNING comment line. - * exp_code.ads (Clobber_Get_Next): Add pragma Convention C. - * fe.h (Compiler_Abort): Fix return type. - (Set_Identifier_Casing): Change type of parameters. - (Clobber_Get_Next): Change return type. - * gcc-interface/trans.c (gnat_to_gnu) : Add cast. - -2021-05-07 Eric Botcazou - - * atree.h (Parent): Remove duplicate declaration. - (Get_1_Bit_Field): Also use INLINE specifier in the declaration, - fix formatting and use gcc_unreachable for the default case. - (Get_2_Bit_Field): Likewise. - (Get_4_Bit_Field): Likewise. - (Get_8_Bit_Field): Likewise. - (Get_32_Bit_Field): Likewise. - (Get_32_Bit_Field_With_Default): Likewise. - -2021-05-07 Bob Duff - - * atree.ads, atree.adb: Major rewrite to support variable-sized - node types. Add pragmas Suppress and Assertion_Policy. We now - have an extra level of indirection: Node_Offsets is a table - mapping Node_Ids to the offset of the start of each node in - Slots. Slots is a table containing one or more contiguous slots - for each node. Each slot is a 32-bit unchecked union that can - contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits. - The old low-level getters and setters (e.g. Flag123) are - removed. - * gen_il-fields.ads, gen_il-gen-gen_entities.adb, - gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads, - gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb, - gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program - that generates various Ada and C++ files. In particular, the - following files are generated by gen_il: einfo-entities.adb - einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads, - seinfo.ads, seinfo_tables.adb, seinfo_tables.ads, - sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h. - * sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb, - einfo-utils.ads: New files containing code that needs to refer - to Sinfo.Nodes and Einfo.Entities. This code is mostly moved - here from Sinfo and Einfo to break cycles. - * back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi, - instead of nodes_ptr and flags_ptr. The Nodes and Flags tables - no longer exist. (Note that gigi never used the Flags table.) - * sinfo-cn.ads (Change_Identifier_To_Defining_Identifier, - Change_Character_Literal_To_Defining_Character_Literal, - Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into - an IN formal. - * sinfo-cn.adb: Update. Add assertions, which can be removed at - some point. Rewrite to use higher-level facilities. Make sure - vanishing fields are zeroed out. Add with/use for new packages. - * sem_util.adb: Remove "Assert(False)" immediately followed by - "raise Program_Error". Use higher-level facilities such as - Walk_Sinfo_Fields instead of depending on low-level Set_FieldN - routines that no longer exist. Use Get_Comes_From_Source_Default - instead of Default_Node.Comes_From_Source (Default_Node no - longer exists). Use Set_Basic_Convention instead of - Basic_Set_Convention. Add with/use for new packages. - * sem_util.ads: The Convention field had getter Convention and - setter Basic_Set_Convention. Make that more uniform: there is - now a field called Basic_Convention, with Basic_Convention and - Set_Basic_Convention as getter/setter, and write Convention and - Set_Convention here. - * nlists.adb: Rewrite to use abstractions, rather then depending - on low-level implementation details of Atree. Necessary because - those details have changed. Add with/use for new packages. - * sem_ch12.adb: Use higher-level facilities such as - Walk_Sinfo_Fields instead of depending on low-level Set_FieldN - routines that no longer exist. Add with/use for new packages. - * exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb, - sem_prag.adb, sem_warn.adb: Change expanded names to refer to - the new packages for things that moved. Add with/use for new - packages. - * sem_ch3.adb: Likewise. Reinitialize vanishing fields. - * exp_disp.adb: Likewise. Remove failing assertion. - * sinfo.ads, einfo.ads: Remove code that is now generated into - Sinfo.Nodes and Einfo.Entities. - * sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;". - We should delete these at some point, but No_Body makes make - files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities, - Sinfo.Utils, and Einfo.Utils. Some is no longer necessary. - * treepr.adb: Rewrite to use new tables. We no longer need - treeprs.ads. - * treepr.ads: Add comment. - * types.ads: Move types Component_Alignment_Kind and - Float_Rep_Kind here. - * atree.h: Major update to match atree.ads changes. Add slot - types, for use by getters/setters. - * types.h: Move types Component_Alignment_Kind and - Float_Rep_Kind here. - * fe.h: Rewrite to deal with code that has changed or moved from - Atree, Sinfo, Einfo. - * nlists.h: Move some code to fe.h. - * alloc.ads: Split Nodes_* constants into Node_Offsets and - Slots, because Atree has two separate tables. Increase values. - Remove Nodes_Release_Threshold. Improve comment. - * debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N - switches. Add with/use for new packages. - * opt.ads: Minor comment fix. - * aspects.adb, checks.adb, comperr.adb, contracts.adb, - cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb, - exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb, - exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, - exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb, - exp_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb, - exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb, - exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb, - exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb, - exp_util.ads, expander.adb, freeze.adb, frontend.adb, - get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb, - itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb, - lib-writ.adb, lib-xref.adb, lib-xref.ads, - lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb, - pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, - scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb, - sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb, - sem_ch13.adb, sem_ch2.adb, sem_ch5.adb, sem_ch6.adb, - sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb, - sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb, - sem_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb, - sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb, - sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb, - tbuild.ads, uname.adb: Add with/use for new packages. - * libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease - bootstrap. - * libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File, - Create_New_File): Create file in binary format, to avoid - introducing unwanted text conversions on Windows. Simplify to - ease bootstrap. - * libgnat/a-stteou__bootstrap.ads: New. - * ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb, - xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete. - * Make-generated.in: Build and run the gen_il program to - generate files. The files are generated in the ada/gen_il - subdirectory, and then moved up to ada. We rely on gnatmake (as - opposed to make) to build the gen_il program efficiently (i.e. - don't do anything if the sources didn't change). - * gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU. - (GNATMAKE_OBJS): Add new object files. - (GENERATED_FILES_FOR_TOOLS): New variable. - (../stamp-tools): Create a link for all - GENERATED_FILES_FOR_TOOLS. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object - files. Remove ada/treeprs.o. - (GNATBIND_OBJS): Add new object files. - (ada.mostlyclean): Remove ada/sdefault.adb and add - ada/stamp-gen_il. - (ada.maintainer-clean): Remove ada/treeprs.ads. - (update-sources): Remove obsolete target. - (ada_generated_files): Rename to... - (ADA_GENERATED_FILES): ... this. Add new source files. Add - comment. - * gcc-interface/trans.c: Remove obsolete Nodes_Ptr and - Flags_ptr. Add Node_Offsets_Ptr and Slots_Ptr, which point to - the corresponding tables in Atree. - * gcc-interface/gigi.h (gigi): New parameters for initializing - Node_Offsets_Ptr and Slots_Ptr. - * gcc-interface/decl.c: Numeric_Kind, - Discrete_Or_Fixed_Point_Kind, and Record_Kind were - nonhierarchical, and were therefore removed for simplicity. - Replace uses with calls to Is_In_... functions. - -2021-05-07 Ed Schonberg - - * exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A - component declaration whose subtype indication is an entity name - without an explicit constraint is an Unchecked_Union type only - if the entity has an unconstrained nominal subtype (record type - or private type) whose parent type is an Unchecked_Union. - -2021-05-07 Piotr Trojanek - - * sem_res.adb (Flag_Object): Ignore prefixes of attribute - Address. - -2021-05-07 Yannick Moy - - * opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value. - * sem_res.adb (Resolve_Unary_Op): Generate warning. - * usage.adb: Refine doc for -gnatw.m/M switch. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Update doc on -gnatw.m switch. - * gnat_ugn.texi: Regenerate. - -2021-05-07 Piotr Trojanek - - * sem_res.adb (Flag_Object): Replace chained IF with a CASE; - remove repeated calls to Entity; do not traverse into - N_Identifier and N_Expanded_Name, because only need to examine - their Entity field anyway. - -2021-05-07 Piotr Trojanek - - * sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List. - (Process_Overloaded_Indexed_Component): Remove call to - End_Interp_List. - * sem_util.adb (Insert_Explicit_Dereference): Remove call to - End_Interp_List. - * sem_type.ads (End_Interp_List): Remove. - * sem_type.adb (Add_Entry): The guard against duplicate entries - is now checked before other conditions, so that EXIT statements - do not bypass this guard. - (End_Interp_List): Remove. - -2021-05-07 Ed Schonberg - - * exp_util.adb (Remove_Init_Call): If a simple initialization - call is present, and the next statement is an initialization - block (that contains a call to a Deep_ Initialize routine), - remove the block as well, and insert the first initialization - call in it, in case it is needed for later relocation. - -2021-05-07 Gary Dismukes - - * errout.ads (Size_Too_Small_Message): Remove low-value ??? - comment. - * exp_util.ads: Remove ??? in part of overall package comments - and restructure comment to clarify. - (Duplicate_Subexpr): Remove ??? comment that seems unnecessary. - * sem_ch3.ads (Analyze_Declarations): Remove two parenthesized - ??? comments and add more description of the procedure's - actions. - (Get_Discriminant_Value): Remove ??? comment requesting more - documentation, expanding description of the function's actions. - * sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more - semantic description of the procedure and remove ??? comment - requesting such. - (Propagate_Tag): Refine comment to indicate meaning of formal - parameters and generally improve the spec comment (and remove - ??? comment asking about the parameters). - -2021-05-07 Arnaud Charlet - - * sem_eval.adb (Fold_Shift): Fix computation of Shift_Left - resulting in negative signed values. - -2021-05-07 Eric Botcazou - - * sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter. - (Defining_Entity_Or_Empty): New function. - * sem_util.adb (Defining_Entity): Move bulk of implementation to... - (Defining_Entity_Or_Empty): ...here. Do not raise Program_Error. - (Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty. - -2021-05-07 Justin Squirek - - * aspects.ads: Add entries to register - Aspect_No_Controlled_Parts. - * freeze.adb (Check_No_Controlled_Parts_Violations): Added to - check requirements of aspect No_Controlled_Parts after a type - has been frozen. - (Freeze_Entity): Add call to - Check_No_Controlled_Parts_Violations. - (Find_Aspect_No_Controlled_Parts): Created to obtain the aspect - specification for No_Controlled_Parts on a given type when - present. - (Find_Aspect_No_Controlled_Parts_Value): Protect against invalid - value. - (Has_Aspect_No_Controlled_Parts): Created as a prediate function - to check if No_Controlled_Parts has been specified on a type for - Get_Anacestor_Types_With_Specification. - (Get_Aspect_No_Controlled_Parts_Value): Created to obtain the - value of the aspect No_Controlled_Parts when specified on a - given type. - (Get_Generic_Formal_Types_In_Hierarchy): Created to collect - formal types in a given type's hierarchy. - (Get_Types_With_Aspect_In_Hierarchy): Created to collect types - in a given type's hierarchy with No_Controlled_Parts specified. - * sem_ch13.adb (Analyze_One_Aspect): Add processing for - No_Controlled_Parts, and fix error in check for allowed pragmas - for formal types. - (Check_Expr_Is_OK_Static_Expression): Created to enforce - checking of static expressions in the same vein as - Analyze_Pragma.Check_Expr_OK_Static_Expression. - * sem_util.adb (Collect_Types_In_Hierarchy): Created to collect - types in a given type's hierarchy that match a given predicate - function. - * sem_util.ads: Fix typo. - * snames.ads-tmpl: Add entry for No_Controlled_Parts. - -2021-05-07 Eric Botcazou - - * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the - overflow case when T'Machine_Overflows is True. - -2021-05-07 Bob Duff - - * libgnat/a-conhel.adb (TC_Check): Move the Assert into the - 'if'. - -2021-05-07 Frederic Konrad - - * sigtramp-vxworks-target.inc: Use a local label for the TOC. - -2021-05-07 Claire Dross - - * exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util. - * sem_util.ads, sem_util.adb (Has_Inferable_Discriminants): - Moved from Exp_Ch4. - -2021-05-07 Ed Schonberg - - * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): - Add guard to verify that the enclosing pragma is a precondition. - -2021-05-06 Javier Miranda - - * exp_disp.adb (Build_Class_Wide_Check): Extending the - functionality of this routine to climb to the ancestors - searching for the enclosing overridden dispatching primitive - that has a class-wide precondition to generate the check. - -2021-05-06 Piotr Trojanek - - * sem_ch3.adb (Constraint_Index): Remove redundant problematic - analysis. - -2021-05-06 Arnaud Charlet - - * exp_unst.adb (Note_Uplevel_Bound): Exclude - E_Enumeration_Literal. - -2021-05-06 Arnaud Charlet - - * exp_ch4.adb (Expand_N_If_Expression): - Apply_Arithmetic_Overflow_Check will not deal with - Then/Else_Actions so skip minimizing overflow checks if any - actions are present. - -2021-05-06 Boris Yakobowski - - * gnat1drv.adb (Adjust_Global_Switches): Simplify logic. - -2021-05-06 Arnaud Charlet - - * libgnat/i-c.ads (bool): New type. - * libgnat/i-cexten.ads, libgnat/i-cexten__128.ads (bool): Now - a subtype of Interfaces.C.bool. - * libgnarl/s-interr__vxworks.adb (Interrupt_Manager): Qualify - False. - * libgnarl/s-interr.adb, libgnarl/s-interr__hwint.adb, - libgnarl/s-tasini.adb, libgnarl/s-tasren.adb, - libgnarl/s-tassta.adb, libgnarl/s-tpobmu.adb, - libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb: Replace - Assert (False) by Assert (Standard.False). - -2021-05-06 Ghjuvan Lacambre - - * make.adb (Compute_Executable): Document parameter. - -2021-05-06 Eric Botcazou - - * libgnat/s-fatgen.adb (Scaling): Use single handling of - underflow. Add pragma Annotate. - -2021-05-06 Ghjuvan Lacambre - - * sem_eval.adb (Is_OK_Static_Subtype): Call Is_Static_Subtype, - remove redundant checks. - -2021-05-06 Piotr Trojanek - - * sem_res.adb (First_Last_Ref): Simplify "if [condition] then - return True" in "return [condition]". - (Resolve_Range): Remove calls appearing in IF condition from the - THEN statements. - -2021-05-06 Piotr Trojanek - - * sem_case.adb (Missing_Choice): Fix typo in comment. - (Lit_Of): Simplify with Make_Character_Literal. - (Check_Choices): Remove extra spaces in parameter - specifications. - * sem_case.ads: Same reformatting. - -2021-05-06 Ed Schonberg - - * exp_aggr.adb (Expand_Array_Aggregate): If the expression in an - Others_Clause has not been analyzed because previous analysis of - the enclosing aggregate showed the clause to be ineffective i.e. - cover a null range, analyze it now to detect a possible type - illegality. - -2021-05-06 Eric Botcazou - - * libgnat/s-fatgen.adb (Scaling): Fix off-by-one bug for underflow. - -2021-05-06 Arnaud Charlet - - * sem_ch6.adb (Is_Inline_Pragma): Protect against N not being a - list member in both branches. - -2021-05-06 Piotr Trojanek - - * libgnat/a-cofove.adb (Insert_Space): Remove hardcoded pragma - Warnings. - -2021-05-06 Piotr Trojanek - - * sem_ch4.adb (Analyze_Selected_Component): Remove explicit call - to Set_Raises_Constraint_Error on statically missing component. - * sem_eval.adb (Eval_Arithmetic_Op): Likewise for static - divisions by integer and real zeros. - * sem_util.adb (Apply_Compile_Time_Constraint_Error): Call - Set_Raises_Constraint_Error before exiting early in GNATprove - mode. - -2021-05-06 Justin Squirek - - * checks.adb (Make_Discriminant_Constraint_Check): Add check for - null when the type being converted is an access type. - -2021-05-06 Arnaud Charlet - - * exp_pakd.adb (Expand_Packed_Eq): Fix handling of PATs. - -2021-05-06 Piotr Trojanek - - * osint.adb (Read_Library_Info_From_Full): Cleanup unused - initial value. - -2021-05-06 Eric Botcazou - - * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.7): - Mention the IEEE standard explicitly. Use current format names. - Document assumed rounding mode and new features of I/O support. - * gnat_rm.texi: Regenerate. - -2021-05-06 Eric Botcazou - - * init.c (__gnat_init_float): Use full version on Linux too. - -2021-05-06 Eric Botcazou - - * libgnat/s-fatgen.adb (Valid): Do a bit comparison with 0.0 - when denormalized numbers are not supported. - -2021-05-06 Piotr Trojanek - - * sem_attr.adb (Check_Enum_Image): Reword comment; add - Check_Enumeration_Maps parameter. Now this routine combines - both referencing enumeration literals and checking restriction - No_Enumeration_Maps, if required. - (Analyze_Attribute): Remove duplicated code and instead call - Check_Enum_Image. - -2021-05-06 Piotr Trojanek - - * sem_attr.adb (Analyze_Image_Attribute): Remove redundant - condition; add a missing header box. - -2021-05-06 Gary Dismukes - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add - mention of underscore and fix grammar error in doc for -gnatd. - * gnat_ugn.texi: Regenerate. - -2021-05-06 Eric Botcazou - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-exponr, s-exnflt - and s-exnlfl. - * exp_ch4.adb (Expand_N_Op_Expon): Use RE_Exn_Float for Short_Float. - * rtsfind.ads (RTU_Id): Add System_Exn_Flt and System_Exn_LFlt. - (RE_Id): Adjust entries for RE_Exn_Float and RE_Exn_Long_Float. - (RE_Unit_Table): Likewise. - * libgnat/s-exnflt.ads: New file. - * libgnat/s-exnlfl.ads: Likewise. - * libgnat/s-exnllf.ads: Change to mere instantiation. - * libgnat/s-exnllf.adb: Move implementation to... - * libgnat/s-exponr.ads: New generic unit. - * libgnat/s-exponr.adb: ...here and also make it generic. - (Expon): Do the computation in double precision internally. - -2021-05-06 Piotr Trojanek - - * lib-writ.adb, osint.adb, osint.ads: Cleanup. - -2021-05-06 Piotr Trojanek - - * exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive - condition. - (Expand_N_Object_Declaration): Likewise. - (Build_Equivalent_Aggregate): Likewise. - (Initialization_Warning): Likewise; change another excessive - condition into assertion. - * freeze.adb (Freeze_Entity): Remove excessive condition. - -2021-05-06 Ed Schonberg - - * sem_res.adb (Resolve_If_Expression): If the context of the - expression is an indexed_component, resolve the expression and - its dependent_expressions with the base type of the index, to - ensure that an index check is generated when resolving the - enclosing indexxed_component, and avoid an improper use of - discriminants out of scope, when the index type is - discriminant-dependent. - -2021-05-06 Arnaud Charlet - - * einfo.ads, exp_prag.adb, exp_util.adb: Fix typos. - -2021-05-05 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Fix expansion of - attributes Input and Output for unchecked unions. - * sem_case.ads: Fix typo "disriminant" and refill comment. - -2021-05-05 Piotr Trojanek - - * exp_attr.adb, exp_ch9.adb, sem_ch3.adb: Reuse - Has_Defaulted_Discriminants. - * sem_ch4.adb (Analyze_Allocator): Reuse - Has_Defaulted_Discriminants (after reordering conjuncts); remove - redundant IF statement, whose condition is implied by - Has_Defaulted_Discriminants. - * sem_util.adb (Has_Defaulted_Discriminants): Has_Discriminants - implies that the First_Discriminant is present. - (Is_Fully_Initialized_Type): Reuse Has_Defaulted_Discriminants. - -2021-05-05 Justin Squirek - - * exp_ch6.adb (Expand_Call_Helper): Add condition to check for - expanded actuals and remove dead code. - -2021-05-05 Piotr Trojanek - - * exp_ch4.adb (Has_Unconstrained_UU_Component): Rewrite to - follow the Ada RM grammar. - -2021-05-05 Piotr Trojanek - - * exp_ch4.adb (User_Defined_Primitive_Equality_Op): Refine type - of a local variable. - * exp_dbug.adb (Scope_Contains): Refine all types from Node_Id - to Entity_Id; rename parameters to match those of the - Scope_Within routine (which is similar but not the same); also, - simplify an OR ELSE into a membership test. - -2021-05-05 Piotr Trojanek - - * exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both - qualified and unqualified names of unchecked union components. - -2021-05-05 Piotr Trojanek - - * exp_ch4.adb (Variant_Is_Unconstrained_UU): Remove redundant - check for empty list. - * exp_disp.adb (Find_Entry_Index): Simplify by removing - redundant check and counting from zero; fix type of a local - variable. - * sem_ch12.adb (Save_Global_Descendant): Remove an unnecessary - special-case for empty lists. - -2021-05-05 Piotr Trojanek - - * exp_ch4.adb (Apply_Accessibility_Check): Skip a statically - true condition in expanded raise statement. - -2021-05-05 Bob Duff - - * libgnat/s-os_lib.adb (Missed_Drive_Letter): Simplify the code. - -2021-05-05 Ed Schonberg - - * sem_ch5.adb (Analyze_Assignment): Do not emit the warning that - a previous value of the target object is useless if the - right-hand side of the assignment includes target names. - -2021-05-05 Eric Botcazou - - * exp_imgv.adb: Add with/use clauses for Targparm. - (Build_Enumeration_Image_Tables): Set type of Threshold to Nat and - initialize it to Nat'Last if the type is local and the target does - not support descriptors. Adjust Threshold_For_Size similarly. - (Expand_Value_Attribute): Minor tweaks. - -2021-05-05 Ghjuvan Lacambre - - * exp_ch7.adb (Expand_N_Package_Body): Add CUDA init call. - * sem_ch7.adb (Analyze_Package_Body_Helper): Remove CUDA init - call. - -2021-05-05 Ghjuvan Lacambre - - * par-ch5.adb (P_Condition): Check if expression is declare - expression. - -2021-05-05 Piotr Trojanek - - * make.adb (Make): Use GNAT.Ctrl_C.Install_Handler instead of a - custom imported procedure. - -2021-05-05 Eric Botcazou - - * exp_imgv.adb (Is_User_Defined_Enumeration_Type): Delete. - (Expand_Image_Attribute): Move inline expansion into normal flow of - control, move down declarations and remove superfluous processing. - -2021-05-05 Piotr Trojanek - - * libgnat/g-alleve.adb (Bit_Operation): Now a not-null type. - * libgnat/g-sechas.adb (Fill_Buffer_Access): Likewise. - * libgnat/s-dwalin.adb (Callback): Likewise. - -2021-05-05 Ghjuvan Lacambre - - * exp_util.adb (Is_Possibly_Unaligned_Object): Remove commented - code. - -2021-05-05 Ed Schonberg - - * sem_ch3.adb (Find_Type_Of_Object): When In_Spec_Expression is - set and the object declaration generates a subtype indication, - build the corresponding subtype declaration and place it in tree - without the use of Insert_Actions, which is disabled in this - context. - -2021-05-05 Eric Botcazou - - * debug.adb (d_x): Document extended usage. - * exp_imgv.adb (Expand_Standard_Boolean_Image): New procedure. - (Expand_Image_Attribute): Call it to expand in line the attribute - for standard boolean by default. - -2021-05-05 Eric Botcazou - - * debug.adb (d_x): Document new usage. - * exp_imgv.adb (Expand_User_Defined_Enumeration_Image): Add Typ - parameter and use it throughout the processing. - (Expand_Image_Attribute): Retrieve the underlying type of the - prefix and use the inline expansion for user-defined enumeration - types with a literal string by default. - -2021-05-05 Eric Botcazou - - * libgnat/s-dorepr.adb (Split): Declare a per-size temporary. - Add pragma Annotate. - -2021-05-05 Piotr Trojanek - - * exp_ch4.adb, sem_ch13.adb, sem_eval.adb, sem_res.adb: Remove - redundant calls to UI_From_Int. - -2021-05-05 Eric Botcazou - - * exp_imgv.ads (Build_Enumeration_Image_Tables): Adjust comment. - * exp_imgv.adb (Build_Enumeration_Image_Tables): Add the - declaration nodes of the 4 tables to the declaration list of the - function body. - -2021-05-05 Piotr Trojanek - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imagen, s-imen16, - s-imen32, s-imenu8, s-pehage, s-valuen, s-vaen16, s-vaen32 and - s-vaenu8. Remove s-imenne, s-imgenu and s-valenu. - * debug.adb (d_h): Document new usage. - * einfo.ads (Lit_Hash): New attribute for enumeration types. - (Set_Lit_Hash): Declare. - * einfo.adb (Lit_Hash): New function. - (Set_Lit_Hash): New procedure. - (Write_Field21_Name): Print Lit_Hash for Enumeration_Kind. - * exp_imgv.ads (Build_Enumeration_Image_Tables): Fix description - and document the hash function and its tables. - * exp_imgv.adb: Add with/use clauses for Debug. Add with clause - for System.Perfect_Hash_Generators. - (Append_Table_To): New helper routine. - (Build_Enumeration_Image_Tables): Call it to build the tables. - In the main unit, register the literals with the hash generator. - If they are sufficiently many and -gnatd_h is not passed, generate - a perfect hash function and its tables; otherwise, generate a dummy - hash function. For the other units, generate only the declaration. - In all cases, set Lit_Hash to the entity of the function, if any. - (Expand_Value_Attribute): Pass the 'Unrestricted_Access of Lit_Hash, - if any, as third argument to the Value_Enumeration_NN function. - * gnat1drv.adb (Adjust_Global_Switches): force simpler implementation - of 'Value in CodePeer_Mode. - * lib.ads (Synchronize_Serial_Number): Add SN parameter. - * lib.adb (Synchronize_Serial_Number): Assert that it is larger than - the serial number of the current unit and set the latter to it only - in this case. - * rtsfind.ads (RTU_Id): Add System_Img_Enum_8, System_Img_Enum_16, - System_Img_Enum_32, System_Val_Enum_8, System_Val_Enum_16 and - System_Val_Enum_32. Remove System_Img_Enum, System_Img_Enum_New - and System_Val_Enum. - * sem_attr.adb (Analyze_Access_Attribute): Do not flag a compiler - generated Unrestricted_Access attribute as illegal in a declare - expression. - (RE_Unit_Table): Adjust to above changes. - * libgnat/g-heasor.ads: Add pragma Compiler_Unit_Warning. - * libgnat/g-table.ads: Likewise. - * libgnat/g-pehage.ads: Add with clause and local renaming for - System.Perfect_Hash_Generators. - (Optimization): Turn into derived type. - (Verbose): Turn into renaming. - (Too_Many_Tries): Likewise. - (Table_Name): Move to System.Perfect_Hash_Generators. - (Define): Likewise. - (Value): Likewise. - * libgnat/g-pehage.adb: Remove with clause for Ada.Directories, - GNAT.Heap_Sort_G and GNAT.Table. Move bulk of implementation - to System.Perfect_Hash_Generators, only keep the output part. - * libgnat/s-imagen.ads: New generic unit. - * libgnat/s-imagen.adb: New body. - * libgnat/s-imen16.ads: New unit. - * libgnat/s-imen32.ads: Likewise. - * libgnat/s-imenu8.ads: Likewise. - * libgnat/s-imenne.ads: Adjust description. - * libgnat/s-imgenu.ads: Delete. - * libgnat/s-imgenu.adb: Likewise. - * libgnat/s-pehage.ads: New unit from GNAT.Perfect_Hash_Generators. - * libgnat/s-pehage.adb: New body from GNAT.Perfect_Hash_Generators. - * libgnat/s-valuen.ads: New generic unit. - * libgnat/s-valuen.adb: New body. - * libgnat/s-vaen16.ads: New unit. - * libgnat/s-vaen32.ads: Likewise. - * libgnat/s-vaenu8.ads: Likewise. - * libgnat/s-valenu.ads: Delete. - * libgnat/s-valenu.adb: Likewise. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add s-pehage.o. - (GNATBIND_OBJS): Remove s-imgenu.o. - -2021-05-05 Piotr Trojanek - - * sem_util.ads (Apply_Compile_Time_Constraint_Error): Remove - parameter Rep from the function spec and "and if the flag Rep is - set" from the comment. - * sem_util.adb (Apply_Compile_Time_Constraint_Error): Remove - parameter Rep. - -2021-05-05 Ed Schonberg - - * sem_aggr.adb (Resolve_Indexed_Aggregate): For indexed - aggregates with component associations verify that if there is - more than one component association then all the choices are - static, that the set of choices define a continuous sequence of - values, and that if loop specfications appear, they do not - include iterator filters or key expressions. - -2021-05-05 Eric Botcazou - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-dourea, s-imager, - s-imgflt, s-imglfl and s-imgllf. - (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorks]: Use s-dorepr__fma.adb. - (LIBGNAT_TARGET_PAIRS) [PowerPC/VxWorksAE]: Likewise. - (LIBGNAT_TARGET_PAIRS) [Aarch64/VxWorks]: Likewise. - (LIBGNAT_TARGET_PAIRS) [Aarch64/QNX]: Likewise. - (LIBGNAT_TARGET_PAIRS) [Aarch64/FreeBSD]: Likewise. - (LIBGNAT_TARGET_PAIRS) [PowerPC/Linux]: Likewise. - (LIBGNAT_TARGET_PAIRS) [Aarch64/Linux]: Likewise. - (LIBGNAT_TARGET_PAIRS) [IA-64/Linux]: Likewise. - (LIBGNAT_TARGET_PAIRS) [IA-64/HP-UX]: Likewise. - (LIBGNAT_TARGET_PAIRS) [RISC-V/Linux]: Likewise. - (LIBGNAT_TARGET_PAIRS) [PowerPC/Darwin]: Likewise. - * exp_attr.adb (Expand_N_Attribute_Reference) [Attribute_Fore]: Use - Fixed suffix and Long_Float type. - * exp_imgv.adb (Expand_Image_Attribute): For floating-point types, - use the routine of the corresponding root type. For ordinary fixed - point types, use Fixed suffix and Long_Float type. - (Expand_Value_Attribute): Revert latest change for Long_Long_Float. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove libgnat units - g-hesora.o and s-imgenu.o, add g-heasor.o, g-table.o and s-pehage.o. - (GNATBIND_OBJS): Remove libgnat unit s-imgenu.o. - * rtsfind.ads (RTU_Id): Add System_Img_Flt, System_Img_LFlt and - System_Img_LLF. Remove System_Img_Real. - (RE_Id): Rename RE_Fore_Real to RE_Fore_Fixed. Add RE_Image_Float, - RE_Image_Long_Float and RE_Image_Long_Long_Float. Rename - RE_Image_Ordinary_Fixed_Point to RE_Image_Fixed. - (RE_Unit_Table): Adjust to above changes. - * libgnat/a-nbnbre.adb (Fixed_Conversions): Use Long_Float instead - of Long_Long_Float. - * libgnat/a-textio.ads (Field): Remove obsolete comment. - * libgnat/a-ticoau.ads (Aux): Adjust ancestor package. - * libgnat/a-ticoau.adb: Remove with/use clause for System.Img_Real. - (Puts): Call Aux.Set_Image instead of Set_Image_Real. - * libgnat/a-ticoio.adb: Add with/use clauses for System.Img_Flt, - System.Img_LFlt and System.Img_LLF. - (Scalar_Float): Add third actual parameter. - (Scalar_Long_Float): Likewise. - (Scalar_Long_Long_Float): Likewise. - * libgnat/a-tifiio.adb: Add with/use clauses for System.Img_LFlt - and System.Val_LFlt. Remove the one for System.Val_LLF. Replace - Long_Long_Float with Long_Float throughout. - * libgnat/a-tifiio__128.adb: Likewise. - * libgnat/a-tiflau.ads: Add Set_Image formal parameter. - * libgnat/a-tiflau.adb: Add with/use clause for System.Img_Util, - remove the one for System.Img_Real. - (Put): Call Set_Image instead of Set_Image_Real. - (Puts): Likewise. - * libgnat/a-tiflio.adb: Add with/use clause for System.Img_Flt, - System.Img_LFlt and System.Img_LLF. - (Aux_Float): Add third actual parameter. - (Aux_Long_Float): Likewise. - (Aux_Long_Long_Float): Likewise. - * libgnat/a-witeio.ads (Field): Remove obsolete comment. - * libgnat/a-wtcoau.ads (Aux): Adjust ancestor package. - * libgnat/a-wtcoau.adb: Remove with/use clause for System.Img_Real. - (Puts): Call Aux.Set_Image instead of Set_Image_Real. - * libgnat/a-wtcoio.adb: Add with/use clauses for System.Img_Flt, - System.Img_LFlt and System.Img_LLF. - (Scalar_Float): Add third actual parameter. - (Scalar_Long_Float): Likewise. - (Scalar_Long_Long_Float): Likewise. - * libgnat/a-wtfiio.adb: Add with/use clauses for System.Img_LFlt - and System.Val_LFlt. Remove the one for System.Val_LLF. Replace - Long_Long_Float with Long_Float throughout. - * libgnat/a-wtfiio__128.adb: Likewise. - * libgnat/a-wtflau.ads: Add Set_Image formal parameter. - * libgnat/a-wtflau.adb: Add with/use clause for System.Img_Util, - remove the one for System.Img_Real. - (Put): Call Set_Image instead of Set_Image_Real. - (Puts): Likewise. - * libgnat/a-wtflio.adb: Add with/use clause for System.Img_Flt, - System.Img_LFlt and System.Img_LLF. - (Aux_Float): Add third actual parameter. - (Aux_Long_Float): Likewise. - (Aux_Long_Long_Float): Likewise. - * libgnat/a-ztexio.ads (Field): Remove obsolete comment. - * libgnat/a-ztcoau.ads (Aux): Adjust ancestor package. - * libgnat/a-ztcoau.adb: Remove with/use clause for System.Img_Real. - (Puts): Call Aux.Set_Image instead of Set_Image_Real. - * libgnat/a-ztcoio.adb: Add with/use clauses for System.Img_Flt, - System.Img_LFlt and System.Img_LLF. - (Scalar_Float): Add third actual parameter. - (Scalar_Long_Float): Likewise. - (Scalar_Long_Long_Float): Likewise. - * libgnat/a-ztfiio.adb: Add with/use clauses for System.Img_LFlt - and System.Val_LFlt. Remove the one for System.Val_LLF. Replace - Long_Long_Float with Long_Float throughout. - * libgnat/a-ztfiio__128.adb: Likewise. - * libgnat/a-ztflau.ads: Add Set_Image formal parameter. - * libgnat/a-ztflau.adb: Add with/use clause for System.Img_Util, - remove the one for System.Img_Real. - (Put): Call Set_Image instead of Set_Image_Real. - (Puts): Likewise. - * libgnat/a-ztflio.adb: Add with/use clause for System.Img_Flt, - System.Img_LFlt and System.Img_LLF. - (Aux_Float): Add third actual parameter. - (Aux_Long_Float): Likewise. - (Aux_Long_Long_Float): Likewise. - * libgnat/s-dorepr.adb: New file. - * libgnat/s-dorepr__fma.adb: Likewise. - * libgnat/s-dourea.ads: Likewise. - * libgnat/s-dourea.adb: Likewise. - * libgnat/s-forrea.ads (Fore_Real): Rename into... - (Fore_Fixed): ...this and take Long_Float parameters. - * libgnat/s-forrea.adb (Fore_Real): Likewise. - (Fore_Fixed): Likewise. - * libgnat/s-imgrea.ads: Move to... - (Set_Image_Real): Turn into mere renaming. - * libgnat/s-imager.ads: ...here. - (Image_Ordinary_Fixed_Point): Turn into... - (Image_Fixed_Point): ...this. - * libgnat/s-imgrea.adb: Add pragma No_Body. Move to... - * libgnat/s-imager.adb: ...here. - (Image_Ordinary_Fixed_Point): Turn into... - (Image_Fixed_Point): ...this. - (Is_Negative): Replace Long_Long_Float with Num. - (Set_Image_Real): Likewise. Use Double_T instead of single Num - throughout the algorithm. - * libgnat/s-imgflt.ads: New file. - * libgnat/s-imglfl.ads: Likewise. - * libgnat/s-imgllf.ads: Likewise. - * libgnat/s-imagef.ads: Adjust comment. - * libgnat/s-imguti.ads (Max_Real_Image_Length): New named number. - * libgnat/s-powflt.ads (Maxpow): Adjust. - (Powten): Turn into an exact table of double Float. - * libgnat/s-powlfl.ads (Maxpow): Adjust. - (Powten): Turn into an exact table of double Long_Float. - * libgnat/s-powllf.ads (Maxpow): Adjust. - (Powten): Turn into an exact table of double Long_Long_Float. - * libgnat/s-valrea.ads: Change order of formal parameters. - * libgnat/s-valrea.adb: Add with clause for System.Double_Real. - (Double_Real): New instantiation. - (Fast2Sum): Delete. - (Large_Powten): New function. - (Integer_to_Real): Use Quick_Two_Sum instead of Fast2Sum. Convert - the value to Double_T. Do the scaling in Double_T for base 10. - * libgnat/s-valflt.ads: Remove with/use clasue for Interfaces, - add it for System.Unsigned_Types. Use Unsigned. - * libgnat/s-vallfl.ads: Remove with/use clasue for Interfaces, - add it for System.Unsigned_Types. Use Long_Unsigned. - * libgnat/s-valllf.ads: Remove with/use clasue for Interfaces, - add it for System.Unsigned_Types. Use Long_Long_Unsigned. - -2021-05-05 Piotr Trojanek - - * sem_eval.adb (Eval_Arithmetic_Op): Call - Set_Raises_Constraint_Error on real division by zero just like - it is called for integer division by zero earlier in this - routine. - -2021-05-05 Piotr Trojanek - - * freeze.adb (Build_Renamed_Body): Simplify IF and WHILE - statements with the same condition. - -2021-05-05 Piotr Trojanek - - * pprint.adb (Expr_Name): Introduce local constants to make the - code more readable and avoid repeated calls to Next to reach the - ELSE part of an if-expression. - -2021-05-04 Piotr Trojanek - - * pprint.adb: Remove qualification of arbitrary calls to - Sinfo.Expressions and Sinfo.Parameter_Associations. - -2021-05-04 Piotr Trojanek - - * pprint.adb (Expr_Name): Simplify with functional variant of - UI_Image. - -2021-05-04 Piotr Trojanek - - * pprint.adb (To_Mixed): Removed. - -2021-05-04 Piotr Trojanek - - * pprint.adb (List_Name_Count): Change type from Integer to - Natural. - -2021-05-04 Yannick Moy - - * pprint.adb (Expression_Image): Special case for - expression-with-actions. - -2021-05-04 Bob Duff - - * exp_ch4.adb (Expand_Concatenate): Remove the non-optimization. - -2021-05-04 Piotr Trojanek - - * lib-xref.adb (Generate_Reference_To_Formals): Remove dedicated - branch for generic subprograms (they are now handled together - with non-generic subprograms in the ELSE branch); replace a - low-level Ekind membership test with a high-level call to - Is_Access_Subprogram_Type. - -2021-05-04 Piotr Trojanek - - * sem_ch12.adb (Check_Abstract_Primitives): Match First_Formal - with Next_Formal. - * sem_ch6.adb (Is_Non_Overriding_Operation): Likewise. - -2021-05-04 Piotr Trojanek - - * sem_prag.adb (Collect_Global_Item): Iterate directly over - formals. - -2021-05-04 Piotr Trojanek - - * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update - comment; this routine is no longer used by GNATprove. - * sem_prag.adb (Find_Role): The IN parameter is on output only - when it belongs to non-function; also, the otherwise constant - object can only be written by a non-function. - (Collect_Global_Item): The IN parameter can only be written when - it belongs to non-function; also, unnest this check to make it - easier to read. - -2021-05-04 Arnaud Charlet - - * libgnat/s-assert.ads (Assert_Failure): Now a renaming of - Assertion_Error. - * libgnat/a-assert.ads (Assertion_Error): Now a first class - citizen. Remove dependency on System.Assertions. - * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add - a-assert.o from gcc-interface. - -2021-05-04 Yannick Moy - - * erroutc.adb (Matches): Move spec... - * erroutc.ads (Matches): ...here. - -2021-05-04 Yannick Moy - - * gnat1drv.adb (Adjust_Global_Switches): Force error marker in - GNATprove mode. - -2021-05-04 Bob Duff - - * binde.adb: No need for ??? marks in Binde, because it is - superseded by Bindo. - * bindo-writers.adb (Write_Unit_Closure): Verified that -Ra - works. - * exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for - conversions passed to gigi are documented in sinfo.ads. - (Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of - one in sinfo.ads. - (Expand_N_In): Robert already added sufficient comments years - after the ??? comment was inserted. - (Expand_Membership_Minimize_Eliminate_Overflow): I don't see any - reason why Stand should export Long_Long_Integer'Base -- it - doesn't export any other base types. - (Size_In_Storage_Elements): We are doing an allocator, so we - don't care about sizes in bits. - (Expand_N_Allocator): PolyORB isn't going to be significantly - improved, so we're not going to mess with remote access to - class-wide types. - (Optimize_Return_Stmt): It's not important to optimize return - statements in predicate functions -- there are many - more-important optimizations we could do. Keep part of the - comment without "???", to clarify why the "and then ...". - (User_Defined_Primitive_Equality_Op): The optimization doesn't - seem important enough. - (Expand_N_Unchecked_Type_Conversion): Refactor to use - Expand_N_Unchecked_Expression. - (Make_Array_Comparison_Op): This seems like a case of "it it's - not broken, don't fix it". Too much risk of causing bugs. - * debug_a.adb: Remove ??? comments asking why Current_Error_Node - is maintained unconditionally, and add a comment explaining why. - * errout.adb: These kinds of minor bugs do indeed exist, but - we're never going to get around to fixing them "properly", so we - need this code for robustness. - * gnatchop.adb (Read_File): Document when read can fail. - * gnatdll.adb (Parse_Command_Line): Nobody is complaining about - these arbitrary limits, so no need to use Table. Increase the - limits just in case. It is clear from the names what they are - limits on. - * gnatlink.adb: Add needed comments. - (Delete): An existing comment makes clear it's intentional, and - it's been like that since 1996. - (Process_Args): Improve comments. - (Search_Library_Path): Refactoring to avoid deep nesting. - * inline.adb (Build_Body_To_Inline): Probably won't get around - to doing that optimization. - (Is_Unit_Subprogram): No, this should not be moved to Sem_Aux, - because it is too specialized to this context. - (Do_Reset): No comment is needed here; it's clear from the - comment on Reset_Dispatching_Calls. Do_Reset is an artificial - subprogram; if we had proper iterators, it would just be an if - statement in the loop. - (Rewrite_Function_Call): Probably won't get around to doing that - optimization. - * layout.adb (Layout_Type): The gigi comment doesn't need to be - a ??? comment, and it's been that way since 2000. The - limitation to scalars will likely never be investigated, and - it's been that way since 2009. - * lib.adb (Check_Same_Extended_Unit): This doesn't look like - something that needs fixing; it looks like a permanent - workaround. - * lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in - practice. - (Load_Unit): Nobody will ever get around to investigating the - obscure PMES oddity, and the optimization is not worth the - trouble. - * live.adb: It's not worth documenting this. It is used only - with a debug switch. Nobody who has done significant work on it - is still around, so it would require substantial investigation. - * mdll.ads: I see no reason for USE. - * namet.ads: Routines are obsolete, but they're not going - anywhere anytime soon (too much work, and surprisingly delicate - because of dependences on global variables). - * osint.ads: Minor. - * osint.adb: Improve comments. - (Full_Lib_File_Name): Use Smart_Find_File. - -2021-05-04 Piotr Trojanek - - * exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership - tests with a high-level call to Is_Formal_Object. - -2021-05-04 Arnaud Charlet - - * cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads, - xr_tabls.adb, xref_lib.adb: Address ??? comments. - -2021-05-04 Piotr Trojanek - - * sem_prag.adb (Analyze_Global_Item): Take subprogram kind into - account when accepting or rejecting a constant of an - access-to-variable type as a global Output/In_Out; do this check - inside an ELSIF branch to avoid unnecessary evaluation of the - subsequent condition. - -2021-05-04 Piotr Trojanek - - * sem_prag.adb (Role_Error, Usage_Error): Replace calls to - Name_Find and Get_Name_String with a call to To_String. - -2021-05-04 Ed Schonberg - - * exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of - Expand_Container_Aggregate, to create an expression to be used - in the dynamic allocation of a container with a single container - element association. - (Add_Range): Handle static bounds of ranges over enumerations. - (Expand_Container_Aggregate): Add declaration for size - expression when needed, and use it in container object - declaration for container. - -2021-05-04 Arnaud Charlet - - * exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name): - Unnest so that it can be reused. - (Build_Finalizer_Helper.Process_Declarations): Call the - xxx__finalize_body procedure of a package instantiation in case - it contains finalization statements. Code clean ups. - (Build_Finalizer_Helper.Create_Finalizer): Export and set an - Interface_Name for library level finalizers since these may be - imported now. - (Build_Finalizer_Helper): Need to process library level package - body instantiations which may contain objects requiring - finalization. - * libgnat/s-finmas.ads: Fix typo. - -2021-05-04 Arnaud Charlet - - * checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks, - Determine_Range, Insert_Range_Checks, - Install_Null_Excluding_Check, Selected_Length_Checks, - Selected_Range_Checks): Address ??? comments and code cleanups. - -2021-05-04 Piotr Trojanek - - * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): - Apply the rule even with no explicit Global contract (and remove - a dead condition for Refined_Global). - -2021-05-04 Piotr Trojanek - - * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): - Extend check to protected entries. - -2021-05-04 Piotr Trojanek - - * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): - Fix reference to SPARK RM rule number. - -2021-05-04 Eric Botcazou - - * exp_intr.adb: Remove with/use clauses for Urealp. - (Expand_Is_Negative): Delete. - (Expand_Intrinsic_Call): Do not call it. - * rtsfind.ads (RE_Id): Remove RE_Float_Unsigned. - (RE_Unit_Table): Remove entry for RE_Float_Unsigned. - * snames.ads-tmpl (Name_Is_Negative): Delete. - * libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter. - * libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util. - (LLU): New subtype. - (Maxdigs): Use it. - (Is_Negative): Reimplement. - (Image_Floating_Point): Simplify. - (Set_Image_Real): Fix mode of S parameter. Remove the low-level - processing on characters. Flip the sign of the Scale variable. - Compute the maximum number of digits for the straight notation. - Call Set_Decimal_Digits at the end to do the final formatting. - * libgnat/s-imguti.ads (Floating_Invalid_Value): New type. - (Set_Floating_Invalid_Value): New procedure. - * libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it - based on existing code from Set_Image_Real. - * libgnat/s-unstyp.ads (Float_Unsigned): Delete. - -2021-05-04 Piotr Trojanek - - * csets.adb (Initialize): Refactor into CASE statement; raise - exception on unsupported code of character set (it will be - gently rejected earlier when scanning command line switches). - * switch-b.adb (Scan_Binder_Switches): Refactor into a - membership expression; add missing '9' choice; reorder as - described by GNAT UG, section 4.3.11. - * switch-c.adb (Scan_Front_End_Switches): Refactor into a - membership expression and reorder as above. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (gnatic): Mention '5' as an allowed value for "c". - * gnat_ugn.texi: Regenerate. - -2021-05-04 Piotr Trojanek - - * errout.adb (Error_Msg_Internal): Add assertion to prevent - style mistakes reappearing in the future. - -2021-05-04 Javier Miranda - - * exp_ch4.adb (Tagged_Membership): Remove wrong condition that - is not consistent with the documentation of this subprogram. - -2021-05-04 Yannick Moy - - * sem_res.adb (Valid_Conversion): Make message a continuation. - -2021-05-04 Arnaud Charlet - - * styleg.adb: Address ??? comments. - -2021-05-03 Arnaud Charlet - - * libgnat/a-stunau.ads, libgnat/a-stunau.adb, - libgnat/a-stunau__shared.adb (Set_String): Remove old version, - replace by a new version taking a callback to set the string. - -2021-05-03 Arnaud Charlet - - * libgnat/a-coorma.ads (Map): Add missing - Preelaborate_Initialization. - -2021-05-03 Piotr Trojanek - - * exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon): - Simplify with Is_Universal_Numeric_Type. - * sem_attr.adb (Resolve_Attribute): Likewise. - * sem_ch3.adb: Likewise. - * sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair): - Likewise. - * sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise. - * sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op, - Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand, - Set_Operand_Type): Likewise. - * sem_type.adb (Disambiguate, Find_Unique_Type): Likewise. - * sem_util.adb (Universal_Interpretation): Likewise. - -2021-05-03 Piotr Trojanek - - * exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested - routines; move a local constant after nested subprogram bodies; - refill comment. - -2021-05-03 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit - type when analysing attribute Priority. - * sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case - in analysis of case statements. - (Analyze_Iterator_Specification): Likewise for non-overloaded - domain of iteration. - -2021-05-03 Piotr Trojanek - - * einfo.adb (Write_Entity_Info): Simplify an Ekind membership - test. - * exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise. - -2021-05-03 Piotr Trojanek - - * exp_ch7.adb (Build_Finalize_Statements): Refine type of a - local counter variable. - * exp_dist.adb (Append_Record_Traversal): Refine type of Counter - parameter. - (Add_Process_Element): Likewise. - (Build_From_Any_Call): Refine type of a local counter variable. - (Build_From_Any_Function): Likewise. - (Build_To_Any_Function): Likewise. - (FA_Rec_Add_Process_Element): Likewise. - (TA_Append_Record_Traversal): Likewise. - (TA_Rec_Add_Process_Element): Likewise. - -2021-05-03 Piotr Trojanek - - * rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node. - -2021-05-03 Arnaud Charlet - - * Makefile.rtl: Update copyright notice. - * ada_get_targ.adb: Likewise. - * adabkend.adb: Likewise. - * adabkend.ads: Likewise. - * adadecode.c: Likewise. - * adadecode.h: Likewise. - * adaint.c: Likewise. - * adaint.h: Likewise. - * affinity.c: Likewise. - * ali-util.adb: Likewise. - * ali-util.ads: Likewise. - * ali.adb: Likewise. - * ali.ads: Likewise. - * alloc.ads: Likewise. - * argv-lynxos178-raven-cert.c: Likewise. - * argv.c: Likewise. - * aspects.adb: Likewise. - * aspects.ads: Likewise. - * atree.adb: Likewise. - * atree.ads: Likewise. - * atree.h: Likewise. - * aux-io.c: Likewise. - * back_end.adb: Likewise. - * back_end.ads: Likewise. - * bcheck.adb: Likewise. - * bcheck.ads: Likewise. - * binde.adb: Likewise. - * binde.ads: Likewise. - * binderr.adb: Likewise. - * binderr.ads: Likewise. - * bindgen.adb: Likewise. - * bindgen.ads: Likewise. - * bindo-augmentors.adb: Likewise. - * bindo-augmentors.ads: Likewise. - * bindo-builders.adb: Likewise. - * bindo-builders.ads: Likewise. - * bindo-diagnostics.adb: Likewise. - * bindo-diagnostics.ads: Likewise. - * bindo-elaborators.adb: Likewise. - * bindo-elaborators.ads: Likewise. - * bindo-graphs.adb: Likewise. - * bindo-graphs.ads: Likewise. - * bindo-units.adb: Likewise. - * bindo-units.ads: Likewise. - * bindo-validators.adb: Likewise. - * bindo-validators.ads: Likewise. - * bindo-writers.adb: Likewise. - * bindo-writers.ads: Likewise. - * bindo.adb: Likewise. - * bindo.ads: Likewise. - * bindusg.adb: Likewise. - * bindusg.ads: Likewise. - * butil.adb: Likewise. - * butil.ads: Likewise. - * cal.c: Likewise. - * casing.adb: Likewise. - * casing.ads: Likewise. - * ceinfo.adb: Likewise. - * checks.adb: Likewise. - * checks.ads: Likewise. - * cio.c: Likewise. - * clean.adb: Likewise. - * clean.ads: Likewise. - * comperr.adb: Likewise. - * comperr.ads: Likewise. - * contracts.adb: Likewise. - * contracts.ads: Likewise. - * csets.adb: Likewise. - * csets.ads: Likewise. - * csinfo.adb: Likewise. - * cstand.adb: Likewise. - * cstand.ads: Likewise. - * cstreams.c: Likewise. - * ctrl_c.c: Likewise. - * debug.adb: Likewise. - * debug.ads: Likewise. - * debug_a.adb: Likewise. - * debug_a.ads: Likewise. - * einfo.adb: Likewise. - * einfo.ads: Likewise. - * elists.adb: Likewise. - * elists.ads: Likewise. - * elists.h: Likewise. - * env.c: Likewise. - * env.h: Likewise. - * err_vars.ads: Likewise. - * errno.c: Likewise. - * errout.adb: Likewise. - * errout.ads: Likewise. - * erroutc.adb: Likewise. - * erroutc.ads: Likewise. - * errutil.adb: Likewise. - * errutil.ads: Likewise. - * eval_fat.adb: Likewise. - * eval_fat.ads: Likewise. - * exit.c: Likewise. - * exp_aggr.adb: Likewise. - * exp_aggr.ads: Likewise. - * exp_atag.adb: Likewise. - * exp_atag.ads: Likewise. - * exp_attr.adb: Likewise. - * exp_attr.ads: Likewise. - * exp_cg.adb: Likewise. - * exp_cg.ads: Likewise. - * exp_ch10.ads: Likewise. - * exp_ch11.adb: Likewise. - * exp_ch11.ads: Likewise. - * exp_ch12.adb: Likewise. - * exp_ch12.ads: Likewise. - * exp_ch13.adb: Likewise. - * exp_ch13.ads: Likewise. - * exp_ch2.adb: Likewise. - * exp_ch2.ads: Likewise. - * exp_ch3.adb: Likewise. - * exp_ch3.ads: Likewise. - * exp_ch4.adb: Likewise. - * exp_ch4.ads: Likewise. - * exp_ch5.adb: Likewise. - * exp_ch5.ads: Likewise. - * exp_ch6.adb: Likewise. - * exp_ch6.ads: Likewise. - * exp_ch7.adb: Likewise. - * exp_ch7.ads: Likewise. - * exp_ch8.adb: Likewise. - * exp_ch8.ads: Likewise. - * exp_ch9.adb: Likewise. - * exp_ch9.ads: Likewise. - * exp_code.adb: Likewise. - * exp_code.ads: Likewise. - * exp_dbug.adb: Likewise. - * exp_dbug.ads: Likewise. - * exp_disp.adb: Likewise. - * exp_disp.ads: Likewise. - * exp_dist.adb: Likewise. - * exp_dist.ads: Likewise. - * exp_fixd.adb: Likewise. - * exp_fixd.ads: Likewise. - * exp_imgv.adb: Likewise. - * exp_imgv.ads: Likewise. - * exp_intr.adb: Likewise. - * exp_intr.ads: Likewise. - * exp_pakd.adb: Likewise. - * exp_pakd.ads: Likewise. - * exp_prag.adb: Likewise. - * exp_prag.ads: Likewise. - * exp_put_image.adb: Likewise. - * exp_put_image.ads: Likewise. - * exp_sel.adb: Likewise. - * exp_sel.ads: Likewise. - * exp_smem.adb: Likewise. - * exp_smem.ads: Likewise. - * exp_spark.adb: Likewise. - * exp_spark.ads: Likewise. - * exp_strm.adb: Likewise. - * exp_strm.ads: Likewise. - * exp_tss.adb: Likewise. - * exp_tss.ads: Likewise. - * exp_unst.adb: Likewise. - * exp_unst.ads: Likewise. - * exp_util.adb: Likewise. - * exp_util.ads: Likewise. - * expander.adb: Likewise. - * expander.ads: Likewise. - * expect.c: Likewise. - * fe.h: Likewise. - * final.c: Likewise. - * fmap.adb: Likewise. - * fmap.ads: Likewise. - * fname-sf.adb: Likewise. - * fname-sf.ads: Likewise. - * fname-uf.adb: Likewise. - * fname-uf.ads: Likewise. - * fname.adb: Likewise. - * fname.ads: Likewise. - * freeze.adb: Likewise. - * freeze.ads: Likewise. - * frontend.adb: Likewise. - * frontend.ads: Likewise. - * gcc-interface/ada-tree.h: Likewise. - * gcc-interface/ada.h: Likewise. - * gcc-interface/cuintp.c: Likewise. - * gcc-interface/decl.c: Likewise. - * gcc-interface/gadaint.h: Likewise. - * gcc-interface/gigi.h: Likewise. - * gcc-interface/lang-specs.h: Likewise. - * gcc-interface/misc.c: Likewise. - * gcc-interface/system.ads: Likewise. - * gcc-interface/targtyps.c: Likewise. - * gcc-interface/trans.c: Likewise. - * gcc-interface/utils.c: Likewise. - * gcc-interface/utils2.c: Likewise. - * get_scos.adb: Likewise. - * get_scos.ads: Likewise. - * get_targ.adb: Likewise. - * get_targ.ads: Likewise. - * ghost.adb: Likewise. - * ghost.ads: Likewise. - * gnat1drv.adb: Likewise. - * gnat1drv.ads: Likewise. - * gnat_cuda.adb: Likewise. - * gnat_cuda.ads: Likewise. - * gnatbind.adb: Likewise. - * gnatbind.ads: Likewise. - * gnatchop.adb: Likewise. - * gnatclean.adb: Likewise. - * gnatcmd.adb: Likewise. - * gnatcmd.ads: Likewise. - * gnatdll.adb: Likewise. - * gnatfind.adb: Likewise. - * gnatkr.adb: Likewise. - * gnatkr.ads: Likewise. - * gnatlink.adb: Likewise. - * gnatlink.ads: Likewise. - * gnatls.adb: Likewise. - * gnatls.ads: Likewise. - * gnatmake.adb: Likewise. - * gnatmake.ads: Likewise. - * gnatname.adb: Likewise. - * gnatname.ads: Likewise. - * gnatprep.adb: Likewise. - * gnatprep.ads: Likewise. - * gnatvsn.adb: Likewise. - * gnatvsn.ads: Likewise. - * gnatxref.adb: Likewise. - * gprep.adb: Likewise. - * gprep.ads: Likewise. - * gsocket.h: Likewise. - * hostparm.ads: Likewise. - * impunit.adb: Likewise. - * impunit.ads: Likewise. - * indepsw-aix.adb: Likewise. - * indepsw-darwin.adb: Likewise. - * indepsw-gnu.adb: Likewise. - * indepsw.adb: Likewise. - * indepsw.ads: Likewise. - * init.c: Likewise. - * initialize.c: Likewise. - * inline.adb: Likewise. - * inline.ads: Likewise. - * itypes.adb: Likewise. - * itypes.ads: Likewise. - * krunch.adb: Likewise. - * krunch.ads: Likewise. - * layout.adb: Likewise. - * layout.ads: Likewise. - * lib-list.adb: Likewise. - * lib-load.adb: Likewise. - * lib-load.ads: Likewise. - * lib-sort.adb: Likewise. - * lib-util.adb: Likewise. - * lib-util.ads: Likewise. - * lib-writ.adb: Likewise. - * lib-writ.ads: Likewise. - * lib-xref-spark_specific.adb: Likewise. - * lib-xref.adb: Likewise. - * lib-xref.ads: Likewise. - * lib.adb: Likewise. - * lib.ads: Likewise. - * libgnarl/a-astaco.adb: Likewise. - * libgnarl/a-dispat.adb: Likewise. - * libgnarl/a-dynpri.adb: Likewise. - * libgnarl/a-etgrbu.ads: Likewise. - * libgnarl/a-exetim__darwin.adb: Likewise. - * libgnarl/a-exetim__default.ads: Likewise. - * libgnarl/a-exetim__mingw.adb: Likewise. - * libgnarl/a-exetim__mingw.ads: Likewise. - * libgnarl/a-exetim__posix.adb: Likewise. - * libgnarl/a-interr.adb: Likewise. - * libgnarl/a-interr.ads: Likewise. - * libgnarl/a-intnam.ads: Likewise. - * libgnarl/a-intnam__aix.ads: Likewise. - * libgnarl/a-intnam__darwin.ads: Likewise. - * libgnarl/a-intnam__dragonfly.ads: Likewise. - * libgnarl/a-intnam__dummy.ads: Likewise. - * libgnarl/a-intnam__freebsd.ads: Likewise. - * libgnarl/a-intnam__hpux.ads: Likewise. - * libgnarl/a-intnam__linux.ads: Likewise. - * libgnarl/a-intnam__lynxos.ads: Likewise. - * libgnarl/a-intnam__mingw.ads: Likewise. - * libgnarl/a-intnam__qnx.ads: Likewise. - * libgnarl/a-intnam__rtems.ads: Likewise. - * libgnarl/a-intnam__solaris.ads: Likewise. - * libgnarl/a-intnam__vxworks.ads: Likewise. - * libgnarl/a-reatim.adb: Likewise. - * libgnarl/a-reatim.ads: Likewise. - * libgnarl/a-retide.adb: Likewise. - * libgnarl/a-retide.ads: Likewise. - * libgnarl/a-rttiev.adb: Likewise. - * libgnarl/a-rttiev.ads: Likewise. - * libgnarl/a-synbar.adb: Likewise. - * libgnarl/a-synbar.ads: Likewise. - * libgnarl/a-synbar__posix.adb: Likewise. - * libgnarl/a-synbar__posix.ads: Likewise. - * libgnarl/a-sytaco.adb: Likewise. - * libgnarl/a-sytaco.ads: Likewise. - * libgnarl/a-tasatt.adb: Likewise. - * libgnarl/a-tasatt.ads: Likewise. - * libgnarl/a-taside.adb: Likewise. - * libgnarl/a-taside.ads: Likewise. - * libgnarl/a-tasini.adb: Likewise. - * libgnarl/a-tasini.ads: Likewise. - * libgnarl/a-taster.adb: Likewise. - * libgnarl/g-boubuf.adb: Likewise. - * libgnarl/g-boubuf.ads: Likewise. - * libgnarl/g-boumai.ads: Likewise. - * libgnarl/g-semaph.adb: Likewise. - * libgnarl/g-semaph.ads: Likewise. - * libgnarl/g-signal.adb: Likewise. - * libgnarl/g-signal.ads: Likewise. - * libgnarl/g-tastus.ads: Likewise. - * libgnarl/g-thread.adb: Likewise. - * libgnarl/g-thread.ads: Likewise. - * libgnarl/i-vxinco.adb: Likewise. - * libgnarl/i-vxinco.ads: Likewise. - * libgnarl/s-inmaop.ads: Likewise. - * libgnarl/s-inmaop__dummy.adb: Likewise. - * libgnarl/s-inmaop__posix.adb: Likewise. - * libgnarl/s-inmaop__vxworks.adb: Likewise. - * libgnarl/s-interr.adb: Likewise. - * libgnarl/s-interr.ads: Likewise. - * libgnarl/s-interr__dummy.adb: Likewise. - * libgnarl/s-interr__hwint.adb: Likewise. - * libgnarl/s-interr__sigaction.adb: Likewise. - * libgnarl/s-interr__vxworks.adb: Likewise. - * libgnarl/s-intman.ads: Likewise. - * libgnarl/s-intman__android.adb: Likewise. - * libgnarl/s-intman__dummy.adb: Likewise. - * libgnarl/s-intman__lynxos.adb: Likewise. - * libgnarl/s-intman__mingw.adb: Likewise. - * libgnarl/s-intman__posix.adb: Likewise. - * libgnarl/s-intman__qnx.adb: Likewise. - * libgnarl/s-intman__solaris.adb: Likewise. - * libgnarl/s-intman__susv3.adb: Likewise. - * libgnarl/s-intman__vxworks.adb: Likewise. - * libgnarl/s-intman__vxworks.ads: Likewise. - * libgnarl/s-linux.ads: Likewise. - * libgnarl/s-linux__alpha.ads: Likewise. - * libgnarl/s-linux__android.ads: Likewise. - * libgnarl/s-linux__hppa.ads: Likewise. - * libgnarl/s-linux__mips.ads: Likewise. - * libgnarl/s-linux__riscv.ads: Likewise. - * libgnarl/s-linux__sparc.ads: Likewise. - * libgnarl/s-linux__x32.ads: Likewise. - * libgnarl/s-mudido.adb: Likewise. - * libgnarl/s-mudido__affinity.adb: Likewise. - * libgnarl/s-osinte__aix.adb: Likewise. - * libgnarl/s-osinte__aix.ads: Likewise. - * libgnarl/s-osinte__android.adb: Likewise. - * libgnarl/s-osinte__android.ads: Likewise. - * libgnarl/s-osinte__darwin.adb: Likewise. - * libgnarl/s-osinte__darwin.ads: Likewise. - * libgnarl/s-osinte__dragonfly.adb: Likewise. - * libgnarl/s-osinte__dragonfly.ads: Likewise. - * libgnarl/s-osinte__dummy.ads: Likewise. - * libgnarl/s-osinte__freebsd.adb: Likewise. - * libgnarl/s-osinte__freebsd.ads: Likewise. - * libgnarl/s-osinte__gnu.adb: Likewise. - * libgnarl/s-osinte__gnu.ads: Likewise. - * libgnarl/s-osinte__hpux-dce.adb: Likewise. - * libgnarl/s-osinte__hpux-dce.ads: Likewise. - * libgnarl/s-osinte__hpux.ads: Likewise. - * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. - * libgnarl/s-osinte__linux.ads: Likewise. - * libgnarl/s-osinte__lynxos178.adb: Likewise. - * libgnarl/s-osinte__lynxos178e.ads: Likewise. - * libgnarl/s-osinte__mingw.ads: Likewise. - * libgnarl/s-osinte__posix.adb: Likewise. - * libgnarl/s-osinte__qnx.adb: Likewise. - * libgnarl/s-osinte__qnx.ads: Likewise. - * libgnarl/s-osinte__rtems.adb: Likewise. - * libgnarl/s-osinte__rtems.ads: Likewise. - * libgnarl/s-osinte__solaris.adb: Likewise. - * libgnarl/s-osinte__solaris.ads: Likewise. - * libgnarl/s-osinte__vxworks.adb: Likewise. - * libgnarl/s-osinte__vxworks.ads: Likewise. - * libgnarl/s-osinte__x32.adb: Likewise. - * libgnarl/s-proinf.adb: Likewise. - * libgnarl/s-proinf.ads: Likewise. - * libgnarl/s-qnx.ads: Likewise. - * libgnarl/s-solita.adb: Likewise. - * libgnarl/s-solita.ads: Likewise. - * libgnarl/s-stusta.adb: Likewise. - * libgnarl/s-stusta.ads: Likewise. - * libgnarl/s-taasde.adb: Likewise. - * libgnarl/s-taasde.ads: Likewise. - * libgnarl/s-tadeca.adb: Likewise. - * libgnarl/s-tadeca.ads: Likewise. - * libgnarl/s-tadert.adb: Likewise. - * libgnarl/s-tadert.ads: Likewise. - * libgnarl/s-taenca.adb: Likewise. - * libgnarl/s-taenca.ads: Likewise. - * libgnarl/s-taprob.adb: Likewise. - * libgnarl/s-taprob.ads: Likewise. - * libgnarl/s-taprop.ads: Likewise. - * libgnarl/s-taprop__dummy.adb: Likewise. - * libgnarl/s-taprop__hpux-dce.adb: Likewise. - * libgnarl/s-taprop__linux.adb: Likewise. - * libgnarl/s-taprop__mingw.adb: Likewise. - * libgnarl/s-taprop__posix.adb: Likewise. - * libgnarl/s-taprop__qnx.adb: Likewise. - * libgnarl/s-taprop__solaris.adb: Likewise. - * libgnarl/s-taprop__vxworks.adb: Likewise. - * libgnarl/s-tarest.adb: Likewise. - * libgnarl/s-tarest.ads: Likewise. - * libgnarl/s-tasdeb.adb: Likewise. - * libgnarl/s-tasdeb.ads: Likewise. - * libgnarl/s-tasinf.adb: Likewise. - * libgnarl/s-tasinf.ads: Likewise. - * libgnarl/s-tasinf__linux.adb: Likewise. - * libgnarl/s-tasinf__linux.ads: Likewise. - * libgnarl/s-tasinf__mingw.adb: Likewise. - * libgnarl/s-tasinf__mingw.ads: Likewise. - * libgnarl/s-tasinf__solaris.adb: Likewise. - * libgnarl/s-tasinf__solaris.ads: Likewise. - * libgnarl/s-tasinf__vxworks.ads: Likewise. - * libgnarl/s-tasini.adb: Likewise. - * libgnarl/s-tasini.ads: Likewise. - * libgnarl/s-taskin.adb: Likewise. - * libgnarl/s-taskin.ads: Likewise. - * libgnarl/s-taspri__dummy.ads: Likewise. - * libgnarl/s-taspri__hpux-dce.ads: Likewise. - * libgnarl/s-taspri__lynxos.ads: Likewise. - * libgnarl/s-taspri__mingw.ads: Likewise. - * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. - * libgnarl/s-taspri__posix.ads: Likewise. - * libgnarl/s-taspri__solaris.ads: Likewise. - * libgnarl/s-taspri__vxworks.ads: Likewise. - * libgnarl/s-tasque.adb: Likewise. - * libgnarl/s-tasque.ads: Likewise. - * libgnarl/s-tasren.adb: Likewise. - * libgnarl/s-tasren.ads: Likewise. - * libgnarl/s-tasres.ads: Likewise. - * libgnarl/s-tassta.adb: Likewise. - * libgnarl/s-tassta.ads: Likewise. - * libgnarl/s-tasuti.adb: Likewise. - * libgnarl/s-tasuti.ads: Likewise. - * libgnarl/s-tataat.adb: Likewise. - * libgnarl/s-tataat.ads: Likewise. - * libgnarl/s-tpinop.adb: Likewise. - * libgnarl/s-tpinop.ads: Likewise. - * libgnarl/s-tpoaal.adb: Likewise. - * libgnarl/s-tpoben.adb: Likewise. - * libgnarl/s-tpoben.ads: Likewise. - * libgnarl/s-tpobmu.adb: Likewise. - * libgnarl/s-tpobmu.ads: Likewise. - * libgnarl/s-tpobop.adb: Likewise. - * libgnarl/s-tpobop.ads: Likewise. - * libgnarl/s-tpopmo.adb: Likewise. - * libgnarl/s-tpopsp__posix-foreign.adb: Likewise. - * libgnarl/s-tpopsp__posix.adb: Likewise. - * libgnarl/s-tpopsp__solaris.adb: Likewise. - * libgnarl/s-tpopsp__tls.adb: Likewise. - * libgnarl/s-tpopsp__vxworks-rtp.adb: Likewise. - * libgnarl/s-tpopsp__vxworks-tls.adb: Likewise. - * libgnarl/s-tpopsp__vxworks.adb: Likewise. - * libgnarl/s-tporft.adb: Likewise. - * libgnarl/s-tposen.adb: Likewise. - * libgnarl/s-tposen.ads: Likewise. - * libgnarl/s-vxwext.adb: Likewise. - * libgnarl/s-vxwext.ads: Likewise. - * libgnarl/s-vxwext__kernel-smp.adb: Likewise. - * libgnarl/s-vxwext__kernel.adb: Likewise. - * libgnarl/s-vxwext__kernel.ads: Likewise. - * libgnarl/s-vxwext__noints.adb: Likewise. - * libgnarl/s-vxwext__rtp-smp.adb: Likewise. - * libgnarl/s-vxwext__rtp.adb: Likewise. - * libgnarl/s-vxwext__rtp.ads: Likewise. - * libgnarl/s-vxwext__vthreads.ads: Likewise. - * libgnarl/s-vxwork__aarch64.ads: Likewise. - * libgnarl/s-vxwork__arm.ads: Likewise. - * libgnarl/s-vxwork__ppc.ads: Likewise. - * libgnarl/s-vxwork__x86.ads: Likewise. - * libgnarl/thread.c: Likewise. - * libgnat/a-assert.adb: Likewise. - * libgnat/a-assert.ads: Likewise. - * libgnat/a-btgbso.adb: Likewise. - * libgnat/a-btgbso.ads: Likewise. - * libgnat/a-calari.adb: Likewise. - * libgnat/a-calari.ads: Likewise. - * libgnat/a-calcon.adb: Likewise. - * libgnat/a-calcon.ads: Likewise. - * libgnat/a-caldel.adb: Likewise. - * libgnat/a-caldel.ads: Likewise. - * libgnat/a-calend.adb: Likewise. - * libgnat/a-calend.ads: Likewise. - * libgnat/a-calfor.adb: Likewise. - * libgnat/a-calfor.ads: Likewise. - * libgnat/a-catizo.adb: Likewise. - * libgnat/a-cbdlli.adb: Likewise. - * libgnat/a-cbdlli.ads: Likewise. - * libgnat/a-cbhama.adb: Likewise. - * libgnat/a-cbhama.ads: Likewise. - * libgnat/a-cbhase.adb: Likewise. - * libgnat/a-cbhase.ads: Likewise. - * libgnat/a-cbmutr.adb: Likewise. - * libgnat/a-cbmutr.ads: Likewise. - * libgnat/a-cborma.adb: Likewise. - * libgnat/a-cborma.ads: Likewise. - * libgnat/a-cborse.adb: Likewise. - * libgnat/a-cborse.ads: Likewise. - * libgnat/a-cbprqu.adb: Likewise. - * libgnat/a-cbprqu.ads: Likewise. - * libgnat/a-cbsyqu.adb: Likewise. - * libgnat/a-cbsyqu.ads: Likewise. - * libgnat/a-cdlili.adb: Likewise. - * libgnat/a-cdlili.ads: Likewise. - * libgnat/a-cfdlli.adb: Likewise. - * libgnat/a-cfdlli.ads: Likewise. - * libgnat/a-cfhama.adb: Likewise. - * libgnat/a-cfhama.ads: Likewise. - * libgnat/a-cfhase.adb: Likewise. - * libgnat/a-cfhase.ads: Likewise. - * libgnat/a-cfinve.adb: Likewise. - * libgnat/a-cfinve.ads: Likewise. - * libgnat/a-cforma.adb: Likewise. - * libgnat/a-cforma.ads: Likewise. - * libgnat/a-cforse.adb: Likewise. - * libgnat/a-cforse.ads: Likewise. - * libgnat/a-cgaaso.adb: Likewise. - * libgnat/a-cgaaso.ads: Likewise. - * libgnat/a-cgarso.adb: Likewise. - * libgnat/a-cgcaso.adb: Likewise. - * libgnat/a-chacon.adb: Likewise. - * libgnat/a-chacon.ads: Likewise. - * libgnat/a-chahan.adb: Likewise. - * libgnat/a-chahan.ads: Likewise. - * libgnat/a-chlat9.ads: Likewise. - * libgnat/a-chtgbk.adb: Likewise. - * libgnat/a-chtgbk.ads: Likewise. - * libgnat/a-chtgbo.adb: Likewise. - * libgnat/a-chtgbo.ads: Likewise. - * libgnat/a-chtgke.adb: Likewise. - * libgnat/a-chtgke.ads: Likewise. - * libgnat/a-chtgop.adb: Likewise. - * libgnat/a-chtgop.ads: Likewise. - * libgnat/a-chzla1.ads: Likewise. - * libgnat/a-chzla9.ads: Likewise. - * libgnat/a-cidlli.adb: Likewise. - * libgnat/a-cidlli.ads: Likewise. - * libgnat/a-cihama.adb: Likewise. - * libgnat/a-cihama.ads: Likewise. - * libgnat/a-cihase.adb: Likewise. - * libgnat/a-cihase.ads: Likewise. - * libgnat/a-cimutr.adb: Likewise. - * libgnat/a-cimutr.ads: Likewise. - * libgnat/a-ciorma.adb: Likewise. - * libgnat/a-ciorma.ads: Likewise. - * libgnat/a-ciormu.adb: Likewise. - * libgnat/a-ciormu.ads: Likewise. - * libgnat/a-ciorse.adb: Likewise. - * libgnat/a-ciorse.ads: Likewise. - * libgnat/a-clrefi.adb: Likewise. - * libgnat/a-clrefi.ads: Likewise. - * libgnat/a-coboho.adb: Likewise. - * libgnat/a-coboho.ads: Likewise. - * libgnat/a-cobove.adb: Likewise. - * libgnat/a-cobove.ads: Likewise. - * libgnat/a-cofove.adb: Likewise. - * libgnat/a-cofove.ads: Likewise. - * libgnat/a-cofuba.adb: Likewise. - * libgnat/a-cofuba.ads: Likewise. - * libgnat/a-cofuma.adb: Likewise. - * libgnat/a-cofuma.ads: Likewise. - * libgnat/a-cofuse.adb: Likewise. - * libgnat/a-cofuse.ads: Likewise. - * libgnat/a-cofuve.adb: Likewise. - * libgnat/a-cofuve.ads: Likewise. - * libgnat/a-cogeso.adb: Likewise. - * libgnat/a-cogeso.ads: Likewise. - * libgnat/a-cohama.adb: Likewise. - * libgnat/a-cohama.ads: Likewise. - * libgnat/a-cohase.adb: Likewise. - * libgnat/a-cohase.ads: Likewise. - * libgnat/a-cohata.ads: Likewise. - * libgnat/a-coinho.adb: Likewise. - * libgnat/a-coinho.ads: Likewise. - * libgnat/a-coinho__shared.adb: Likewise. - * libgnat/a-coinho__shared.ads: Likewise. - * libgnat/a-coinve.adb: Likewise. - * libgnat/a-coinve.ads: Likewise. - * libgnat/a-colien.adb: Likewise. - * libgnat/a-colien.ads: Likewise. - * libgnat/a-colire.adb: Likewise. - * libgnat/a-colire.ads: Likewise. - * libgnat/a-comlin.adb: Likewise. - * libgnat/a-comlin.ads: Likewise. - * libgnat/a-comutr.adb: Likewise. - * libgnat/a-comutr.ads: Likewise. - * libgnat/a-conhel.adb: Likewise. - * libgnat/a-conhel.ads: Likewise. - * libgnat/a-convec.adb: Likewise. - * libgnat/a-convec.ads: Likewise. - * libgnat/a-coorma.adb: Likewise. - * libgnat/a-coorma.ads: Likewise. - * libgnat/a-coormu.adb: Likewise. - * libgnat/a-coormu.ads: Likewise. - * libgnat/a-coorse.adb: Likewise. - * libgnat/a-coorse.ads: Likewise. - * libgnat/a-coprnu.adb: Likewise. - * libgnat/a-coprnu.ads: Likewise. - * libgnat/a-crbltr.ads: Likewise. - * libgnat/a-crbtgk.adb: Likewise. - * libgnat/a-crbtgk.ads: Likewise. - * libgnat/a-crbtgo.adb: Likewise. - * libgnat/a-crbtgo.ads: Likewise. - * libgnat/a-crdlli.adb: Likewise. - * libgnat/a-crdlli.ads: Likewise. - * libgnat/a-csquin.ads: Likewise. - * libgnat/a-cuprqu.adb: Likewise. - * libgnat/a-cuprqu.ads: Likewise. - * libgnat/a-cusyqu.adb: Likewise. - * libgnat/a-cusyqu.ads: Likewise. - * libgnat/a-cwila1.ads: Likewise. - * libgnat/a-cwila9.ads: Likewise. - * libgnat/a-decima.adb: Likewise. - * libgnat/a-decima.ads: Likewise. - * libgnat/a-decima__128.ads: Likewise. - * libgnat/a-dhfina.adb: Likewise. - * libgnat/a-dhfina.ads: Likewise. - * libgnat/a-diocst.adb: Likewise. - * libgnat/a-diocst.ads: Likewise. - * libgnat/a-direct.adb: Likewise. - * libgnat/a-direct.ads: Likewise. - * libgnat/a-direio.adb: Likewise. - * libgnat/a-direio.ads: Likewise. - * libgnat/a-dirval.adb: Likewise. - * libgnat/a-dirval.ads: Likewise. - * libgnat/a-dirval__mingw.adb: Likewise. - * libgnat/a-einuoc.adb: Likewise. - * libgnat/a-einuoc.ads: Likewise. - * libgnat/a-elchha.adb: Likewise. - * libgnat/a-elchha.ads: Likewise. - * libgnat/a-elchha__vxworks-ppc-full.adb: Likewise. - * libgnat/a-envvar.adb: Likewise. - * libgnat/a-excach.adb: Likewise. - * libgnat/a-except.adb: Likewise. - * libgnat/a-except.ads: Likewise. - * libgnat/a-exctra.adb: Likewise. - * libgnat/a-exctra.ads: Likewise. - * libgnat/a-exexda.adb: Likewise. - * libgnat/a-exexpr.adb: Likewise. - * libgnat/a-exextr.adb: Likewise. - * libgnat/a-exstat.adb: Likewise. - * libgnat/a-finali.adb: Likewise. - * libgnat/a-finali.ads: Likewise. - * libgnat/a-locale.adb: Likewise. - * libgnat/a-locale.ads: Likewise. - * libgnat/a-nagefl.ads: Likewise. - * libgnat/a-naliop.ads: Likewise. - * libgnat/a-naliop__nolibm.ads: Likewise. - * libgnat/a-nallfl.ads: Likewise. - * libgnat/a-nallfl__wraplf.ads: Likewise. - * libgnat/a-nalofl.ads: Likewise. - * libgnat/a-nashfl.ads: Likewise. - * libgnat/a-nashfl__wraplf.ads: Likewise. - * libgnat/a-nbnbin.adb: Likewise. - * libgnat/a-nbnbin__gmp.adb: Likewise. - * libgnat/a-nbnbre.adb: Likewise. - * libgnat/a-ngcefu.adb: Likewise. - * libgnat/a-ngcoar.adb: Likewise. - * libgnat/a-ngcoty.adb: Likewise. - * libgnat/a-ngcoty.ads: Likewise. - * libgnat/a-ngelfu.adb: Likewise. - * libgnat/a-ngelfu.ads: Likewise. - * libgnat/a-ngrear.adb: Likewise. - * libgnat/a-ngrear.ads: Likewise. - * libgnat/a-nuauco.ads: Likewise. - * libgnat/a-nuauco__x86.ads: Likewise. - * libgnat/a-nuaufl.ads: Likewise. - * libgnat/a-nuaufl__wraplf.ads: Likewise. - * libgnat/a-nudira.adb: Likewise. - * libgnat/a-nudira.ads: Likewise. - * libgnat/a-nuflra.adb: Likewise. - * libgnat/a-nuflra.ads: Likewise. - * libgnat/a-numaux.ads: Likewise. - * libgnat/a-rbtgbk.adb: Likewise. - * libgnat/a-rbtgbk.ads: Likewise. - * libgnat/a-rbtgbo.adb: Likewise. - * libgnat/a-rbtgbo.ads: Likewise. - * libgnat/a-rbtgso.adb: Likewise. - * libgnat/a-rbtgso.ads: Likewise. - * libgnat/a-sbecin.adb: Likewise. - * libgnat/a-sbecin.ads: Likewise. - * libgnat/a-sbhcin.adb: Likewise. - * libgnat/a-sbhcin.ads: Likewise. - * libgnat/a-sblcin.adb: Likewise. - * libgnat/a-sblcin.ads: Likewise. - * libgnat/a-secain.adb: Likewise. - * libgnat/a-secain.ads: Likewise. - * libgnat/a-sequio.adb: Likewise. - * libgnat/a-sequio.ads: Likewise. - * libgnat/a-sfecin.ads: Likewise. - * libgnat/a-sfhcin.ads: Likewise. - * libgnat/a-sflcin.ads: Likewise. - * libgnat/a-shcain.adb: Likewise. - * libgnat/a-shcain.ads: Likewise. - * libgnat/a-siocst.adb: Likewise. - * libgnat/a-siocst.ads: Likewise. - * libgnat/a-slcain.adb: Likewise. - * libgnat/a-slcain.ads: Likewise. - * libgnat/a-ssicst.adb: Likewise. - * libgnat/a-ssicst.ads: Likewise. - * libgnat/a-stboha.adb: Likewise. - * libgnat/a-stmaco.ads: Likewise. - * libgnat/a-stobbu.adb: Likewise. - * libgnat/a-stobbu.ads: Likewise. - * libgnat/a-stobfi.adb: Likewise. - * libgnat/a-stobfi.ads: Likewise. - * libgnat/a-storio.adb: Likewise. - * libgnat/a-stoubu.adb: Likewise. - * libgnat/a-stoubu.ads: Likewise. - * libgnat/a-stoufi.adb: Likewise. - * libgnat/a-stoufi.ads: Likewise. - * libgnat/a-stoufo.adb: Likewise. - * libgnat/a-stoufo.ads: Likewise. - * libgnat/a-stouut.adb: Likewise. - * libgnat/a-stouut.ads: Likewise. - * libgnat/a-strbou.adb: Likewise. - * libgnat/a-strbou.ads: Likewise. - * libgnat/a-stream.adb: Likewise. - * libgnat/a-stream.ads: Likewise. - * libgnat/a-strfix.adb: Likewise. - * libgnat/a-strhas.adb: Likewise. - * libgnat/a-strmap.adb: Likewise. - * libgnat/a-strmap.ads: Likewise. - * libgnat/a-strsea.adb: Likewise. - * libgnat/a-strsea.ads: Likewise. - * libgnat/a-strsto.ads: Likewise. - * libgnat/a-strsup.adb: Likewise. - * libgnat/a-strsup.ads: Likewise. - * libgnat/a-strunb.adb: Likewise. - * libgnat/a-strunb.ads: Likewise. - * libgnat/a-strunb__shared.adb: Likewise. - * libgnat/a-strunb__shared.ads: Likewise. - * libgnat/a-ststbo.adb: Likewise. - * libgnat/a-ststbo.ads: Likewise. - * libgnat/a-ststio.adb: Likewise. - * libgnat/a-ststio.ads: Likewise. - * libgnat/a-ststun.adb: Likewise. - * libgnat/a-ststun.ads: Likewise. - * libgnat/a-stteou.ads: Likewise. - * libgnat/a-stunau.adb: Likewise. - * libgnat/a-stunau.ads: Likewise. - * libgnat/a-stunau__shared.adb: Likewise. - * libgnat/a-stunha.adb: Likewise. - * libgnat/a-stuten.adb: Likewise. - * libgnat/a-stwibo.adb: Likewise. - * libgnat/a-stwibo.ads: Likewise. - * libgnat/a-stwifi.adb: Likewise. - * libgnat/a-stwiha.adb: Likewise. - * libgnat/a-stwima.adb: Likewise. - * libgnat/a-stwima.ads: Likewise. - * libgnat/a-stwise.adb: Likewise. - * libgnat/a-stwise.ads: Likewise. - * libgnat/a-stwisu.adb: Likewise. - * libgnat/a-stwisu.ads: Likewise. - * libgnat/a-stwiun.adb: Likewise. - * libgnat/a-stwiun.ads: Likewise. - * libgnat/a-stwiun__shared.adb: Likewise. - * libgnat/a-stwiun__shared.ads: Likewise. - * libgnat/a-stzbou.adb: Likewise. - * libgnat/a-stzbou.ads: Likewise. - * libgnat/a-stzfix.adb: Likewise. - * libgnat/a-stzhas.adb: Likewise. - * libgnat/a-stzmap.adb: Likewise. - * libgnat/a-stzmap.ads: Likewise. - * libgnat/a-stzsea.adb: Likewise. - * libgnat/a-stzsea.ads: Likewise. - * libgnat/a-stzsup.adb: Likewise. - * libgnat/a-stzsup.ads: Likewise. - * libgnat/a-stzunb.adb: Likewise. - * libgnat/a-stzunb.ads: Likewise. - * libgnat/a-stzunb__shared.adb: Likewise. - * libgnat/a-stzunb__shared.ads: Likewise. - * libgnat/a-suecin.adb: Likewise. - * libgnat/a-suecin.ads: Likewise. - * libgnat/a-suenco.adb: Likewise. - * libgnat/a-suenst.adb: Likewise. - * libgnat/a-suewst.adb: Likewise. - * libgnat/a-suezst.adb: Likewise. - * libgnat/a-suhcin.adb: Likewise. - * libgnat/a-suhcin.ads: Likewise. - * libgnat/a-sulcin.adb: Likewise. - * libgnat/a-sulcin.ads: Likewise. - * libgnat/a-suteio.adb: Likewise. - * libgnat/a-suteio.ads: Likewise. - * libgnat/a-suteio__shared.adb: Likewise. - * libgnat/a-swbwha.adb: Likewise. - * libgnat/a-swmwco.ads: Likewise. - * libgnat/a-swunau.adb: Likewise. - * libgnat/a-swunau.ads: Likewise. - * libgnat/a-swunau__shared.adb: Likewise. - * libgnat/a-swuwha.adb: Likewise. - * libgnat/a-swuwti.adb: Likewise. - * libgnat/a-swuwti.ads: Likewise. - * libgnat/a-swuwti__shared.adb: Likewise. - * libgnat/a-szbzha.adb: Likewise. - * libgnat/a-szmzco.ads: Likewise. - * libgnat/a-szunau.adb: Likewise. - * libgnat/a-szunau.ads: Likewise. - * libgnat/a-szunau__shared.adb: Likewise. - * libgnat/a-szuzha.adb: Likewise. - * libgnat/a-szuzti.adb: Likewise. - * libgnat/a-szuzti.ads: Likewise. - * libgnat/a-szuzti__shared.adb: Likewise. - * libgnat/a-tags.adb: Likewise. - * libgnat/a-tags.ads: Likewise. - * libgnat/a-teioed.adb: Likewise. - * libgnat/a-teioed.ads: Likewise. - * libgnat/a-textio.adb: Likewise. - * libgnat/a-textio.ads: Likewise. - * libgnat/a-tiboio.adb: Likewise. - * libgnat/a-ticoau.adb: Likewise. - * libgnat/a-ticoau.ads: Likewise. - * libgnat/a-ticoio.adb: Likewise. - * libgnat/a-ticoio.ads: Likewise. - * libgnat/a-tideau.adb: Likewise. - * libgnat/a-tideau.ads: Likewise. - * libgnat/a-tideio.adb: Likewise. - * libgnat/a-tideio.ads: Likewise. - * libgnat/a-tideio__128.adb: Likewise. - * libgnat/a-tienau.adb: Likewise. - * libgnat/a-tienau.ads: Likewise. - * libgnat/a-tienio.adb: Likewise. - * libgnat/a-tifiau.adb: Likewise. - * libgnat/a-tifiau.ads: Likewise. - * libgnat/a-tifiio.adb: Likewise. - * libgnat/a-tifiio__128.adb: Likewise. - * libgnat/a-tiflau.adb: Likewise. - * libgnat/a-tiflau.ads: Likewise. - * libgnat/a-tiflio.adb: Likewise. - * libgnat/a-tiflio.ads: Likewise. - * libgnat/a-tigeau.adb: Likewise. - * libgnat/a-tigeau.ads: Likewise. - * libgnat/a-tigeli.adb: Likewise. - * libgnat/a-tiinau.adb: Likewise. - * libgnat/a-tiinau.ads: Likewise. - * libgnat/a-tiinio.adb: Likewise. - * libgnat/a-tiinio.ads: Likewise. - * libgnat/a-tiinio__128.adb: Likewise. - * libgnat/a-timoio.adb: Likewise. - * libgnat/a-timoio.ads: Likewise. - * libgnat/a-timoio__128.adb: Likewise. - * libgnat/a-tiocst.adb: Likewise. - * libgnat/a-tiocst.ads: Likewise. - * libgnat/a-tirsfi.adb: Likewise. - * libgnat/a-tirsfi.ads: Likewise. - * libgnat/a-titest.adb: Likewise. - * libgnat/a-undesu.adb: Likewise. - * libgnat/a-wichha.adb: Likewise. - * libgnat/a-wichun.adb: Likewise. - * libgnat/a-wichun.ads: Likewise. - * libgnat/a-witeio.adb: Likewise. - * libgnat/a-witeio.ads: Likewise. - * libgnat/a-wrstfi.adb: Likewise. - * libgnat/a-wrstfi.ads: Likewise. - * libgnat/a-wtcoau.adb: Likewise. - * libgnat/a-wtcoau.ads: Likewise. - * libgnat/a-wtcoio.adb: Likewise. - * libgnat/a-wtcstr.adb: Likewise. - * libgnat/a-wtcstr.ads: Likewise. - * libgnat/a-wtdeau.adb: Likewise. - * libgnat/a-wtdeau.ads: Likewise. - * libgnat/a-wtdeio.adb: Likewise. - * libgnat/a-wtdeio__128.adb: Likewise. - * libgnat/a-wtedit.adb: Likewise. - * libgnat/a-wtedit.ads: Likewise. - * libgnat/a-wtenau.adb: Likewise. - * libgnat/a-wtenau.ads: Likewise. - * libgnat/a-wtenio.adb: Likewise. - * libgnat/a-wtfiau.adb: Likewise. - * libgnat/a-wtfiau.ads: Likewise. - * libgnat/a-wtfiio.adb: Likewise. - * libgnat/a-wtfiio__128.adb: Likewise. - * libgnat/a-wtflau.adb: Likewise. - * libgnat/a-wtflau.ads: Likewise. - * libgnat/a-wtflio.adb: Likewise. - * libgnat/a-wtgeau.adb: Likewise. - * libgnat/a-wtgeau.ads: Likewise. - * libgnat/a-wtinau.adb: Likewise. - * libgnat/a-wtinau.ads: Likewise. - * libgnat/a-wtinio.adb: Likewise. - * libgnat/a-wtinio__128.adb: Likewise. - * libgnat/a-wtmoio.adb: Likewise. - * libgnat/a-wtmoio.ads: Likewise. - * libgnat/a-wtmoio__128.adb: Likewise. - * libgnat/a-wttest.adb: Likewise. - * libgnat/a-wwboio.adb: Likewise. - * libgnat/a-zchhan.adb: Likewise. - * libgnat/a-zchuni.adb: Likewise. - * libgnat/a-zchuni.ads: Likewise. - * libgnat/a-zrstfi.adb: Likewise. - * libgnat/a-zrstfi.ads: Likewise. - * libgnat/a-ztcoau.adb: Likewise. - * libgnat/a-ztcoio.adb: Likewise. - * libgnat/a-ztcstr.adb: Likewise. - * libgnat/a-ztcstr.ads: Likewise. - * libgnat/a-ztdeau.adb: Likewise. - * libgnat/a-ztdeau.ads: Likewise. - * libgnat/a-ztdeio.adb: Likewise. - * libgnat/a-ztdeio__128.adb: Likewise. - * libgnat/a-ztedit.adb: Likewise. - * libgnat/a-ztedit.ads: Likewise. - * libgnat/a-ztenau.adb: Likewise. - * libgnat/a-ztenau.ads: Likewise. - * libgnat/a-ztenio.adb: Likewise. - * libgnat/a-ztexio.adb: Likewise. - * libgnat/a-ztexio.ads: Likewise. - * libgnat/a-ztfiau.adb: Likewise. - * libgnat/a-ztfiau.ads: Likewise. - * libgnat/a-ztfiio.adb: Likewise. - * libgnat/a-ztfiio__128.adb: Likewise. - * libgnat/a-ztflau.adb: Likewise. - * libgnat/a-ztflau.ads: Likewise. - * libgnat/a-ztflio.adb: Likewise. - * libgnat/a-ztgeau.adb: Likewise. - * libgnat/a-ztgeau.ads: Likewise. - * libgnat/a-ztinau.adb: Likewise. - * libgnat/a-ztinau.ads: Likewise. - * libgnat/a-ztinio.adb: Likewise. - * libgnat/a-ztinio__128.adb: Likewise. - * libgnat/a-ztmoio.adb: Likewise. - * libgnat/a-ztmoio__128.adb: Likewise. - * libgnat/a-zttest.adb: Likewise. - * libgnat/a-zzboio.adb: Likewise. - * libgnat/g-allein.ads: Likewise. - * libgnat/g-alleve.adb: Likewise. - * libgnat/g-alleve.ads: Likewise. - * libgnat/g-alleve__hard.adb: Likewise. - * libgnat/g-alleve__hard.ads: Likewise. - * libgnat/g-altcon.adb: Likewise. - * libgnat/g-altcon.ads: Likewise. - * libgnat/g-altive.ads: Likewise. - * libgnat/g-alveop.adb: Likewise. - * libgnat/g-alveop.ads: Likewise. - * libgnat/g-alvety.ads: Likewise. - * libgnat/g-alvevi.ads: Likewise. - * libgnat/g-arrspl.adb: Likewise. - * libgnat/g-arrspl.ads: Likewise. - * libgnat/g-awk.adb: Likewise. - * libgnat/g-awk.ads: Likewise. - * libgnat/g-binenv.adb: Likewise. - * libgnat/g-binenv.ads: Likewise. - * libgnat/g-brapre.ads: Likewise. - * libgnat/g-bubsor.adb: Likewise. - * libgnat/g-bubsor.ads: Likewise. - * libgnat/g-busora.adb: Likewise. - * libgnat/g-busora.ads: Likewise. - * libgnat/g-busorg.adb: Likewise. - * libgnat/g-busorg.ads: Likewise. - * libgnat/g-byorma.adb: Likewise. - * libgnat/g-byorma.ads: Likewise. - * libgnat/g-bytswa.adb: Likewise. - * libgnat/g-bytswa.ads: Likewise. - * libgnat/g-calend.adb: Likewise. - * libgnat/g-calend.ads: Likewise. - * libgnat/g-casuti.adb: Likewise. - * libgnat/g-casuti.ads: Likewise. - * libgnat/g-catiio.adb: Likewise. - * libgnat/g-catiio.ads: Likewise. - * libgnat/g-cgi.adb: Likewise. - * libgnat/g-cgi.ads: Likewise. - * libgnat/g-cgicoo.adb: Likewise. - * libgnat/g-cgicoo.ads: Likewise. - * libgnat/g-cgideb.adb: Likewise. - * libgnat/g-cgideb.ads: Likewise. - * libgnat/g-comlin.adb: Likewise. - * libgnat/g-comlin.ads: Likewise. - * libgnat/g-comver.adb: Likewise. - * libgnat/g-comver.ads: Likewise. - * libgnat/g-cppexc.adb: Likewise. - * libgnat/g-cppexc.ads: Likewise. - * libgnat/g-crc32.adb: Likewise. - * libgnat/g-crc32.ads: Likewise. - * libgnat/g-ctrl_c.adb: Likewise. - * libgnat/g-ctrl_c.ads: Likewise. - * libgnat/g-curexc.ads: Likewise. - * libgnat/g-debpoo.adb: Likewise. - * libgnat/g-debpoo.ads: Likewise. - * libgnat/g-debuti.adb: Likewise. - * libgnat/g-debuti.ads: Likewise. - * libgnat/g-decstr.adb: Likewise. - * libgnat/g-decstr.ads: Likewise. - * libgnat/g-deutst.ads: Likewise. - * libgnat/g-diopit.adb: Likewise. - * libgnat/g-diopit.ads: Likewise. - * libgnat/g-dirope.adb: Likewise. - * libgnat/g-dirope.ads: Likewise. - * libgnat/g-dynhta.adb: Likewise. - * libgnat/g-dynhta.ads: Likewise. - * libgnat/g-dyntab.adb: Likewise. - * libgnat/g-dyntab.ads: Likewise. - * libgnat/g-eacodu.adb: Likewise. - * libgnat/g-encstr.adb: Likewise. - * libgnat/g-encstr.ads: Likewise. - * libgnat/g-enutst.ads: Likewise. - * libgnat/g-excact.adb: Likewise. - * libgnat/g-excact.ads: Likewise. - * libgnat/g-except.ads: Likewise. - * libgnat/g-exctra.adb: Likewise. - * libgnat/g-exctra.ads: Likewise. - * libgnat/g-expect.adb: Likewise. - * libgnat/g-expect.ads: Likewise. - * libgnat/g-exptty.adb: Likewise. - * libgnat/g-exptty.ads: Likewise. - * libgnat/g-flocon.ads: Likewise. - * libgnat/g-forstr.adb: Likewise. - * libgnat/g-forstr.ads: Likewise. - * libgnat/g-graphs.adb: Likewise. - * libgnat/g-graphs.ads: Likewise. - * libgnat/g-heasor.adb: Likewise. - * libgnat/g-heasor.ads: Likewise. - * libgnat/g-hesora.adb: Likewise. - * libgnat/g-hesora.ads: Likewise. - * libgnat/g-hesorg.adb: Likewise. - * libgnat/g-hesorg.ads: Likewise. - * libgnat/g-htable.adb: Likewise. - * libgnat/g-htable.ads: Likewise. - * libgnat/g-io-put__vxworks.adb: Likewise. - * libgnat/g-io.adb: Likewise. - * libgnat/g-io.ads: Likewise. - * libgnat/g-io_aux.adb: Likewise. - * libgnat/g-io_aux.ads: Likewise. - * libgnat/g-lists.adb: Likewise. - * libgnat/g-lists.ads: Likewise. - * libgnat/g-locfil.adb: Likewise. - * libgnat/g-locfil.ads: Likewise. - * libgnat/g-mbdira.adb: Likewise. - * libgnat/g-mbdira.ads: Likewise. - * libgnat/g-mbflra.adb: Likewise. - * libgnat/g-mbflra.ads: Likewise. - * libgnat/g-md5.adb: Likewise. - * libgnat/g-md5.ads: Likewise. - * libgnat/g-memdum.adb: Likewise. - * libgnat/g-memdum.ads: Likewise. - * libgnat/g-moreex.adb: Likewise. - * libgnat/g-moreex.ads: Likewise. - * libgnat/g-os_lib.adb: Likewise. - * libgnat/g-os_lib.ads: Likewise. - * libgnat/g-pehage.adb: Likewise. - * libgnat/g-pehage.ads: Likewise. - * libgnat/g-rannum.adb: Likewise. - * libgnat/g-rannum.ads: Likewise. - * libgnat/g-regexp.adb: Likewise. - * libgnat/g-regexp.ads: Likewise. - * libgnat/g-regist.adb: Likewise. - * libgnat/g-regist.ads: Likewise. - * libgnat/g-regpat.adb: Likewise. - * libgnat/g-regpat.ads: Likewise. - * libgnat/g-rewdat.adb: Likewise. - * libgnat/g-rewdat.ads: Likewise. - * libgnat/g-sechas.adb: Likewise. - * libgnat/g-sechas.ads: Likewise. - * libgnat/g-sehamd.adb: Likewise. - * libgnat/g-sehamd.ads: Likewise. - * libgnat/g-sehash.adb: Likewise. - * libgnat/g-sehash.ads: Likewise. - * libgnat/g-sercom.adb: Likewise. - * libgnat/g-sercom.ads: Likewise. - * libgnat/g-sercom__linux.adb: Likewise. - * libgnat/g-sercom__mingw.adb: Likewise. - * libgnat/g-sestin.ads: Likewise. - * libgnat/g-sets.adb: Likewise. - * libgnat/g-sets.ads: Likewise. - * libgnat/g-sha1.adb: Likewise. - * libgnat/g-sha1.ads: Likewise. - * libgnat/g-sha224.ads: Likewise. - * libgnat/g-sha256.ads: Likewise. - * libgnat/g-sha384.ads: Likewise. - * libgnat/g-sha512.ads: Likewise. - * libgnat/g-shsh32.adb: Likewise. - * libgnat/g-shsh32.ads: Likewise. - * libgnat/g-shsh64.adb: Likewise. - * libgnat/g-shsh64.ads: Likewise. - * libgnat/g-shshco.adb: Likewise. - * libgnat/g-shshco.ads: Likewise. - * libgnat/g-soccon.ads: Likewise. - * libgnat/g-socket.adb: Likewise. - * libgnat/g-socket.ads: Likewise. - * libgnat/g-socket__dummy.adb: Likewise. - * libgnat/g-socket__dummy.ads: Likewise. - * libgnat/g-socpol.adb: Likewise. - * libgnat/g-socpol.ads: Likewise. - * libgnat/g-socpol__dummy.adb: Likewise. - * libgnat/g-socpol__dummy.ads: Likewise. - * libgnat/g-socthi.adb: Likewise. - * libgnat/g-socthi.ads: Likewise. - * libgnat/g-socthi__dummy.adb: Likewise. - * libgnat/g-socthi__dummy.ads: Likewise. - * libgnat/g-socthi__mingw.adb: Likewise. - * libgnat/g-socthi__mingw.ads: Likewise. - * libgnat/g-socthi__vxworks.adb: Likewise. - * libgnat/g-socthi__vxworks.ads: Likewise. - * libgnat/g-soliop.ads: Likewise. - * libgnat/g-soliop__lynxos.ads: Likewise. - * libgnat/g-soliop__mingw.ads: Likewise. - * libgnat/g-soliop__qnx.ads: Likewise. - * libgnat/g-soliop__solaris.ads: Likewise. - * libgnat/g-sopowa.adb: Likewise. - * libgnat/g-sopowa__mingw.adb: Likewise. - * libgnat/g-sopowa__posix.adb: Likewise. - * libgnat/g-sothco.adb: Likewise. - * libgnat/g-sothco.ads: Likewise. - * libgnat/g-sothco__dummy.adb: Likewise. - * libgnat/g-sothco__dummy.ads: Likewise. - * libgnat/g-souinf.ads: Likewise. - * libgnat/g-spchge.adb: Likewise. - * libgnat/g-spchge.ads: Likewise. - * libgnat/g-speche.adb: Likewise. - * libgnat/g-speche.ads: Likewise. - * libgnat/g-spipat.adb: Likewise. - * libgnat/g-spipat.ads: Likewise. - * libgnat/g-spitbo.adb: Likewise. - * libgnat/g-spitbo.ads: Likewise. - * libgnat/g-spogwa.adb: Likewise. - * libgnat/g-spogwa.ads: Likewise. - * libgnat/g-sptabo.ads: Likewise. - * libgnat/g-sptain.ads: Likewise. - * libgnat/g-sptavs.ads: Likewise. - * libgnat/g-sse.ads: Likewise. - * libgnat/g-ssvety.ads: Likewise. - * libgnat/g-sthcso.adb: Likewise. - * libgnat/g-stheme.adb: Likewise. - * libgnat/g-strhas.ads: Likewise. - * libgnat/g-string.adb: Likewise. - * libgnat/g-string.ads: Likewise. - * libgnat/g-strspl.ads: Likewise. - * libgnat/g-stseme.adb: Likewise. - * libgnat/g-stsifd__sockets.adb: Likewise. - * libgnat/g-table.adb: Likewise. - * libgnat/g-table.ads: Likewise. - * libgnat/g-tasloc.adb: Likewise. - * libgnat/g-tasloc.ads: Likewise. - * libgnat/g-timsta.adb: Likewise. - * libgnat/g-timsta.ads: Likewise. - * libgnat/g-traceb.adb: Likewise. - * libgnat/g-traceb.ads: Likewise. - * libgnat/g-trasym.adb: Likewise. - * libgnat/g-trasym.ads: Likewise. - * libgnat/g-tty.adb: Likewise. - * libgnat/g-tty.ads: Likewise. - * libgnat/g-u3spch.adb: Likewise. - * libgnat/g-u3spch.ads: Likewise. - * libgnat/g-utf_32.adb: Likewise. - * libgnat/g-utf_32.ads: Likewise. - * libgnat/g-wispch.adb: Likewise. - * libgnat/g-wispch.ads: Likewise. - * libgnat/g-wistsp.ads: Likewise. - * libgnat/g-zspche.adb: Likewise. - * libgnat/g-zspche.ads: Likewise. - * libgnat/g-zstspl.ads: Likewise. - * libgnat/gnat.ads: Likewise. - * libgnat/i-c.adb: Likewise. - * libgnat/i-cexten.ads: Likewise. - * libgnat/i-cexten__128.ads: Likewise. - * libgnat/i-cobol.adb: Likewise. - * libgnat/i-cobol.ads: Likewise. - * libgnat/i-cpoint.adb: Likewise. - * libgnat/i-cpoint.ads: Likewise. - * libgnat/i-cstrea.adb: Likewise. - * libgnat/i-cstrea.ads: Likewise. - * libgnat/i-cstrin.adb: Likewise. - * libgnat/i-cstrin.ads: Likewise. - * libgnat/i-fortra.adb: Likewise. - * libgnat/i-pacdec.adb: Likewise. - * libgnat/i-pacdec.ads: Likewise. - * libgnat/i-vxwoio.adb: Likewise. - * libgnat/i-vxwoio.ads: Likewise. - * libgnat/i-vxwork.ads: Likewise. - * libgnat/i-vxwork__x86.ads: Likewise. - * libgnat/interfac.ads: Likewise. - * libgnat/interfac__2020.ads: Likewise. - * libgnat/memtrack.adb: Likewise. - * libgnat/s-addima.adb: Likewise. - * libgnat/s-addima.ads: Likewise. - * libgnat/s-addope.adb: Likewise. - * libgnat/s-addope.ads: Likewise. - * libgnat/s-aoinar.adb: Likewise. - * libgnat/s-aoinar.ads: Likewise. - * libgnat/s-aomoar.adb: Likewise. - * libgnat/s-aomoar.ads: Likewise. - * libgnat/s-aotase.adb: Likewise. - * libgnat/s-aotase.ads: Likewise. - * libgnat/s-aridou.adb: Likewise. - * libgnat/s-aridou.ads: Likewise. - * libgnat/s-arit128.adb: Likewise. - * libgnat/s-arit128.ads: Likewise. - * libgnat/s-arit32.adb: Likewise. - * libgnat/s-arit32.ads: Likewise. - * libgnat/s-arit64.adb: Likewise. - * libgnat/s-arit64.ads: Likewise. - * libgnat/s-assert.adb: Likewise. - * libgnat/s-assert.ads: Likewise. - * libgnat/s-atacco.adb: Likewise. - * libgnat/s-atacco.ads: Likewise. - * libgnat/s-atocou.adb: Likewise. - * libgnat/s-atocou.ads: Likewise. - * libgnat/s-atocou__builtin.adb: Likewise. - * libgnat/s-atocou__x86.adb: Likewise. - * libgnat/s-atoope.ads: Likewise. - * libgnat/s-atopex.adb: Likewise. - * libgnat/s-atopex.ads: Likewise. - * libgnat/s-atopri.adb: Likewise. - * libgnat/s-atopri.ads: Likewise. - * libgnat/s-auxdec.adb: Likewise. - * libgnat/s-auxdec.ads: Likewise. - * libgnat/s-bignum.adb: Likewise. - * libgnat/s-bignum.ads: Likewise. - * libgnat/s-bitfie.ads: Likewise. - * libgnat/s-bitops.adb: Likewise. - * libgnat/s-bitops.ads: Likewise. - * libgnat/s-bituti.adb: Likewise. - * libgnat/s-bituti.ads: Likewise. - * libgnat/s-boarop.ads: Likewise. - * libgnat/s-boustr.adb: Likewise. - * libgnat/s-boustr.ads: Likewise. - * libgnat/s-bytswa.ads: Likewise. - * libgnat/s-carsi8.adb: Likewise. - * libgnat/s-carsi8.ads: Likewise. - * libgnat/s-carun8.adb: Likewise. - * libgnat/s-carun8.ads: Likewise. - * libgnat/s-casi128.adb: Likewise. - * libgnat/s-casi128.ads: Likewise. - * libgnat/s-casi16.adb: Likewise. - * libgnat/s-casi16.ads: Likewise. - * libgnat/s-casi32.adb: Likewise. - * libgnat/s-casi32.ads: Likewise. - * libgnat/s-casi64.adb: Likewise. - * libgnat/s-casi64.ads: Likewise. - * libgnat/s-casuti.adb: Likewise. - * libgnat/s-casuti.ads: Likewise. - * libgnat/s-caun128.adb: Likewise. - * libgnat/s-caun128.ads: Likewise. - * libgnat/s-caun16.adb: Likewise. - * libgnat/s-caun16.ads: Likewise. - * libgnat/s-caun32.adb: Likewise. - * libgnat/s-caun32.ads: Likewise. - * libgnat/s-caun64.adb: Likewise. - * libgnat/s-caun64.ads: Likewise. - * libgnat/s-chepoo.ads: Likewise. - * libgnat/s-commun.adb: Likewise. - * libgnat/s-commun.ads: Likewise. - * libgnat/s-conca2.adb: Likewise. - * libgnat/s-conca2.ads: Likewise. - * libgnat/s-conca3.adb: Likewise. - * libgnat/s-conca3.ads: Likewise. - * libgnat/s-conca4.adb: Likewise. - * libgnat/s-conca4.ads: Likewise. - * libgnat/s-conca5.adb: Likewise. - * libgnat/s-conca5.ads: Likewise. - * libgnat/s-conca6.adb: Likewise. - * libgnat/s-conca6.ads: Likewise. - * libgnat/s-conca7.adb: Likewise. - * libgnat/s-conca7.ads: Likewise. - * libgnat/s-conca8.adb: Likewise. - * libgnat/s-conca8.ads: Likewise. - * libgnat/s-conca9.adb: Likewise. - * libgnat/s-conca9.ads: Likewise. - * libgnat/s-crc32.adb: Likewise. - * libgnat/s-crc32.ads: Likewise. - * libgnat/s-crtl.ads: Likewise. - * libgnat/s-dfmkio.ads: Likewise. - * libgnat/s-dfmopr.ads: Likewise. - * libgnat/s-dgmgop.ads: Likewise. - * libgnat/s-diflio.adb: Likewise. - * libgnat/s-diflio.ads: Likewise. - * libgnat/s-diflmk.ads: Likewise. - * libgnat/s-digemk.ads: Likewise. - * libgnat/s-diinio.adb: Likewise. - * libgnat/s-diinio.ads: Likewise. - * libgnat/s-dilomk.ads: Likewise. - * libgnat/s-dim.ads: Likewise. - * libgnat/s-dimkio.ads: Likewise. - * libgnat/s-dimmks.ads: Likewise. - * libgnat/s-direio.adb: Likewise. - * libgnat/s-direio.ads: Likewise. - * libgnat/s-dlmkio.ads: Likewise. - * libgnat/s-dlmopr.ads: Likewise. - * libgnat/s-dmotpr.ads: Likewise. - * libgnat/s-dsaser.ads: Likewise. - * libgnat/s-dwalin.adb: Likewise. - * libgnat/s-dwalin.ads: Likewise. - * libgnat/s-elaall.adb: Likewise. - * libgnat/s-elaall.ads: Likewise. - * libgnat/s-excdeb.adb: Likewise. - * libgnat/s-excdeb.ads: Likewise. - * libgnat/s-except.adb: Likewise. - * libgnat/s-except.ads: Likewise. - * libgnat/s-excmac__arm.adb: Likewise. - * libgnat/s-excmac__arm.ads: Likewise. - * libgnat/s-excmac__gcc.adb: Likewise. - * libgnat/s-excmac__gcc.ads: Likewise. - * libgnat/s-exctab.adb: Likewise. - * libgnat/s-exctab.ads: Likewise. - * libgnat/s-exctra.adb: Likewise. - * libgnat/s-exctra.ads: Likewise. - * libgnat/s-exnint.adb: Likewise. - * libgnat/s-exnint.ads: Likewise. - * libgnat/s-exnllf.adb: Likewise. - * libgnat/s-exnllf.ads: Likewise. - * libgnat/s-exnlli.adb: Likewise. - * libgnat/s-exnlli.ads: Likewise. - * libgnat/s-exnllli.ads: Likewise. - * libgnat/s-expint.adb: Likewise. - * libgnat/s-expint.ads: Likewise. - * libgnat/s-explli.adb: Likewise. - * libgnat/s-explli.ads: Likewise. - * libgnat/s-expllli.ads: Likewise. - * libgnat/s-explllu.ads: Likewise. - * libgnat/s-expllu.adb: Likewise. - * libgnat/s-expllu.ads: Likewise. - * libgnat/s-expmod.adb: Likewise. - * libgnat/s-expmod.ads: Likewise. - * libgnat/s-exponn.adb: Likewise. - * libgnat/s-exponn.ads: Likewise. - * libgnat/s-expont.adb: Likewise. - * libgnat/s-expont.ads: Likewise. - * libgnat/s-exponu.adb: Likewise. - * libgnat/s-exponu.ads: Likewise. - * libgnat/s-expuns.adb: Likewise. - * libgnat/s-expuns.ads: Likewise. - * libgnat/s-fatflt.ads: Likewise. - * libgnat/s-fatgen.adb: Likewise. - * libgnat/s-fatgen.ads: Likewise. - * libgnat/s-fatlfl.ads: Likewise. - * libgnat/s-fatllf.ads: Likewise. - * libgnat/s-ficobl.ads: Likewise. - * libgnat/s-filatt.ads: Likewise. - * libgnat/s-fileio.adb: Likewise. - * libgnat/s-fileio.ads: Likewise. - * libgnat/s-finmas.adb: Likewise. - * libgnat/s-finmas.ads: Likewise. - * libgnat/s-finroo.adb: Likewise. - * libgnat/s-finroo.ads: Likewise. - * libgnat/s-flocon.adb: Likewise. - * libgnat/s-flocon.ads: Likewise. - * libgnat/s-flocon__none.adb: Likewise. - * libgnat/s-fode128.ads: Likewise. - * libgnat/s-fode32.ads: Likewise. - * libgnat/s-fode64.ads: Likewise. - * libgnat/s-fofi128.ads: Likewise. - * libgnat/s-fofi32.ads: Likewise. - * libgnat/s-fofi64.ads: Likewise. - * libgnat/s-fore_d.adb: Likewise. - * libgnat/s-fore_d.ads: Likewise. - * libgnat/s-fore_f.adb: Likewise. - * libgnat/s-fore_f.ads: Likewise. - * libgnat/s-forrea.adb: Likewise. - * libgnat/s-forrea.ads: Likewise. - * libgnat/s-gearop.adb: Likewise. - * libgnat/s-gearop.ads: Likewise. - * libgnat/s-genbig.adb: Likewise. - * libgnat/s-genbig.ads: Likewise. - * libgnat/s-geveop.adb: Likewise. - * libgnat/s-geveop.ads: Likewise. - * libgnat/s-gloloc.adb: Likewise. - * libgnat/s-gloloc.ads: Likewise. - * libgnat/s-gloloc__mingw.adb: Likewise. - * libgnat/s-htable.adb: Likewise. - * libgnat/s-htable.ads: Likewise. - * libgnat/s-imageb.adb: Likewise. - * libgnat/s-imageb.ads: Likewise. - * libgnat/s-imaged.adb: Likewise. - * libgnat/s-imaged.ads: Likewise. - * libgnat/s-imagef.adb: Likewise. - * libgnat/s-imagef.ads: Likewise. - * libgnat/s-imagei.adb: Likewise. - * libgnat/s-imagei.ads: Likewise. - * libgnat/s-imageu.adb: Likewise. - * libgnat/s-imageu.ads: Likewise. - * libgnat/s-imagew.adb: Likewise. - * libgnat/s-imagew.ads: Likewise. - * libgnat/s-imde128.ads: Likewise. - * libgnat/s-imde32.ads: Likewise. - * libgnat/s-imde64.ads: Likewise. - * libgnat/s-imenne.adb: Likewise. - * libgnat/s-imenne.ads: Likewise. - * libgnat/s-imfi128.ads: Likewise. - * libgnat/s-imfi32.ads: Likewise. - * libgnat/s-imfi64.ads: Likewise. - * libgnat/s-imgbiu.adb: Likewise. - * libgnat/s-imgbiu.ads: Likewise. - * libgnat/s-imgboo.adb: Likewise. - * libgnat/s-imgboo.ads: Likewise. - * libgnat/s-imgcha.adb: Likewise. - * libgnat/s-imgcha.ads: Likewise. - * libgnat/s-imgenu.adb: Likewise. - * libgnat/s-imgenu.ads: Likewise. - * libgnat/s-imgint.adb: Likewise. - * libgnat/s-imgint.ads: Likewise. - * libgnat/s-imgllb.adb: Likewise. - * libgnat/s-imgllb.ads: Likewise. - * libgnat/s-imglli.adb: Likewise. - * libgnat/s-imglli.ads: Likewise. - * libgnat/s-imglllb.ads: Likewise. - * libgnat/s-imgllli.ads: Likewise. - * libgnat/s-imglllu.ads: Likewise. - * libgnat/s-imglllw.ads: Likewise. - * libgnat/s-imgllu.adb: Likewise. - * libgnat/s-imgllu.ads: Likewise. - * libgnat/s-imgllw.adb: Likewise. - * libgnat/s-imgllw.ads: Likewise. - * libgnat/s-imgrea.adb: Likewise. - * libgnat/s-imgrea.ads: Likewise. - * libgnat/s-imguns.adb: Likewise. - * libgnat/s-imguns.ads: Likewise. - * libgnat/s-imguti.adb: Likewise. - * libgnat/s-imguti.ads: Likewise. - * libgnat/s-imgwch.adb: Likewise. - * libgnat/s-imgwch.ads: Likewise. - * libgnat/s-imgwiu.adb: Likewise. - * libgnat/s-imgwiu.ads: Likewise. - * libgnat/s-io.adb: Likewise. - * libgnat/s-io.ads: Likewise. - * libgnat/s-llflex.ads: Likewise. - * libgnat/s-maccod.ads: Likewise. - * libgnat/s-mantis.adb: Likewise. - * libgnat/s-mantis.ads: Likewise. - * libgnat/s-mastop.adb: Likewise. - * libgnat/s-mastop.ads: Likewise. - * libgnat/s-memcop.ads: Likewise. - * libgnat/s-memory.adb: Likewise. - * libgnat/s-memory.ads: Likewise. - * libgnat/s-mmap.adb: Likewise. - * libgnat/s-mmap.ads: Likewise. - * libgnat/s-mmauni__long.ads: Likewise. - * libgnat/s-mmosin__mingw.adb: Likewise. - * libgnat/s-mmosin__mingw.ads: Likewise. - * libgnat/s-mmosin__unix.adb: Likewise. - * libgnat/s-mmosin__unix.ads: Likewise. - * libgnat/s-multip.adb: Likewise. - * libgnat/s-objrea.adb: Likewise. - * libgnat/s-objrea.ads: Likewise. - * libgnat/s-optide.adb: Likewise. - * libgnat/s-os_lib.adb: Likewise. - * libgnat/s-os_lib.ads: Likewise. - * libgnat/s-osprim.ads: Likewise. - * libgnat/s-osprim__darwin.adb: Likewise. - * libgnat/s-osprim__lynxos.ads: Likewise. - * libgnat/s-osprim__mingw.adb: Likewise. - * libgnat/s-osprim__posix.adb: Likewise. - * libgnat/s-osprim__posix2008.adb: Likewise. - * libgnat/s-osprim__rtems.adb: Likewise. - * libgnat/s-osprim__solaris.adb: Likewise. - * libgnat/s-osprim__unix.adb: Likewise. - * libgnat/s-osprim__vxworks.adb: Likewise. - * libgnat/s-osprim__x32.adb: Likewise. - * libgnat/s-osvers__vxworks-653.ads: Likewise. - * libgnat/s-pack03.adb: Likewise. - * libgnat/s-pack03.ads: Likewise. - * libgnat/s-pack05.adb: Likewise. - * libgnat/s-pack05.ads: Likewise. - * libgnat/s-pack06.adb: Likewise. - * libgnat/s-pack06.ads: Likewise. - * libgnat/s-pack07.adb: Likewise. - * libgnat/s-pack07.ads: Likewise. - * libgnat/s-pack09.adb: Likewise. - * libgnat/s-pack09.ads: Likewise. - * libgnat/s-pack10.adb: Likewise. - * libgnat/s-pack10.ads: Likewise. - * libgnat/s-pack100.adb: Likewise. - * libgnat/s-pack100.ads: Likewise. - * libgnat/s-pack101.adb: Likewise. - * libgnat/s-pack101.ads: Likewise. - * libgnat/s-pack102.adb: Likewise. - * libgnat/s-pack102.ads: Likewise. - * libgnat/s-pack103.adb: Likewise. - * libgnat/s-pack103.ads: Likewise. - * libgnat/s-pack104.adb: Likewise. - * libgnat/s-pack104.ads: Likewise. - * libgnat/s-pack105.adb: Likewise. - * libgnat/s-pack105.ads: Likewise. - * libgnat/s-pack106.adb: Likewise. - * libgnat/s-pack106.ads: Likewise. - * libgnat/s-pack107.adb: Likewise. - * libgnat/s-pack107.ads: Likewise. - * libgnat/s-pack108.adb: Likewise. - * libgnat/s-pack108.ads: Likewise. - * libgnat/s-pack109.adb: Likewise. - * libgnat/s-pack109.ads: Likewise. - * libgnat/s-pack11.adb: Likewise. - * libgnat/s-pack11.ads: Likewise. - * libgnat/s-pack110.adb: Likewise. - * libgnat/s-pack110.ads: Likewise. - * libgnat/s-pack111.adb: Likewise. - * libgnat/s-pack111.ads: Likewise. - * libgnat/s-pack112.adb: Likewise. - * libgnat/s-pack112.ads: Likewise. - * libgnat/s-pack113.adb: Likewise. - * libgnat/s-pack113.ads: Likewise. - * libgnat/s-pack114.adb: Likewise. - * libgnat/s-pack114.ads: Likewise. - * libgnat/s-pack115.adb: Likewise. - * libgnat/s-pack115.ads: Likewise. - * libgnat/s-pack116.adb: Likewise. - * libgnat/s-pack116.ads: Likewise. - * libgnat/s-pack117.adb: Likewise. - * libgnat/s-pack117.ads: Likewise. - * libgnat/s-pack118.adb: Likewise. - * libgnat/s-pack118.ads: Likewise. - * libgnat/s-pack119.adb: Likewise. - * libgnat/s-pack119.ads: Likewise. - * libgnat/s-pack12.adb: Likewise. - * libgnat/s-pack12.ads: Likewise. - * libgnat/s-pack120.adb: Likewise. - * libgnat/s-pack120.ads: Likewise. - * libgnat/s-pack121.adb: Likewise. - * libgnat/s-pack121.ads: Likewise. - * libgnat/s-pack122.adb: Likewise. - * libgnat/s-pack122.ads: Likewise. - * libgnat/s-pack123.adb: Likewise. - * libgnat/s-pack123.ads: Likewise. - * libgnat/s-pack124.adb: Likewise. - * libgnat/s-pack124.ads: Likewise. - * libgnat/s-pack125.adb: Likewise. - * libgnat/s-pack125.ads: Likewise. - * libgnat/s-pack126.adb: Likewise. - * libgnat/s-pack126.ads: Likewise. - * libgnat/s-pack127.adb: Likewise. - * libgnat/s-pack127.ads: Likewise. - * libgnat/s-pack13.adb: Likewise. - * libgnat/s-pack13.ads: Likewise. - * libgnat/s-pack14.adb: Likewise. - * libgnat/s-pack14.ads: Likewise. - * libgnat/s-pack15.adb: Likewise. - * libgnat/s-pack15.ads: Likewise. - * libgnat/s-pack17.adb: Likewise. - * libgnat/s-pack17.ads: Likewise. - * libgnat/s-pack18.adb: Likewise. - * libgnat/s-pack18.ads: Likewise. - * libgnat/s-pack19.adb: Likewise. - * libgnat/s-pack19.ads: Likewise. - * libgnat/s-pack20.adb: Likewise. - * libgnat/s-pack20.ads: Likewise. - * libgnat/s-pack21.adb: Likewise. - * libgnat/s-pack21.ads: Likewise. - * libgnat/s-pack22.adb: Likewise. - * libgnat/s-pack22.ads: Likewise. - * libgnat/s-pack23.adb: Likewise. - * libgnat/s-pack23.ads: Likewise. - * libgnat/s-pack24.adb: Likewise. - * libgnat/s-pack24.ads: Likewise. - * libgnat/s-pack25.adb: Likewise. - * libgnat/s-pack25.ads: Likewise. - * libgnat/s-pack26.adb: Likewise. - * libgnat/s-pack26.ads: Likewise. - * libgnat/s-pack27.adb: Likewise. - * libgnat/s-pack27.ads: Likewise. - * libgnat/s-pack28.adb: Likewise. - * libgnat/s-pack28.ads: Likewise. - * libgnat/s-pack29.adb: Likewise. - * libgnat/s-pack29.ads: Likewise. - * libgnat/s-pack30.adb: Likewise. - * libgnat/s-pack30.ads: Likewise. - * libgnat/s-pack31.adb: Likewise. - * libgnat/s-pack31.ads: Likewise. - * libgnat/s-pack33.adb: Likewise. - * libgnat/s-pack33.ads: Likewise. - * libgnat/s-pack34.adb: Likewise. - * libgnat/s-pack34.ads: Likewise. - * libgnat/s-pack35.adb: Likewise. - * libgnat/s-pack35.ads: Likewise. - * libgnat/s-pack36.adb: Likewise. - * libgnat/s-pack36.ads: Likewise. - * libgnat/s-pack37.adb: Likewise. - * libgnat/s-pack37.ads: Likewise. - * libgnat/s-pack38.adb: Likewise. - * libgnat/s-pack38.ads: Likewise. - * libgnat/s-pack39.adb: Likewise. - * libgnat/s-pack39.ads: Likewise. - * libgnat/s-pack40.adb: Likewise. - * libgnat/s-pack40.ads: Likewise. - * libgnat/s-pack41.adb: Likewise. - * libgnat/s-pack41.ads: Likewise. - * libgnat/s-pack42.adb: Likewise. - * libgnat/s-pack42.ads: Likewise. - * libgnat/s-pack43.adb: Likewise. - * libgnat/s-pack43.ads: Likewise. - * libgnat/s-pack44.adb: Likewise. - * libgnat/s-pack44.ads: Likewise. - * libgnat/s-pack45.adb: Likewise. - * libgnat/s-pack45.ads: Likewise. - * libgnat/s-pack46.adb: Likewise. - * libgnat/s-pack46.ads: Likewise. - * libgnat/s-pack47.adb: Likewise. - * libgnat/s-pack47.ads: Likewise. - * libgnat/s-pack48.adb: Likewise. - * libgnat/s-pack48.ads: Likewise. - * libgnat/s-pack49.adb: Likewise. - * libgnat/s-pack49.ads: Likewise. - * libgnat/s-pack50.adb: Likewise. - * libgnat/s-pack50.ads: Likewise. - * libgnat/s-pack51.adb: Likewise. - * libgnat/s-pack51.ads: Likewise. - * libgnat/s-pack52.adb: Likewise. - * libgnat/s-pack52.ads: Likewise. - * libgnat/s-pack53.adb: Likewise. - * libgnat/s-pack53.ads: Likewise. - * libgnat/s-pack54.adb: Likewise. - * libgnat/s-pack54.ads: Likewise. - * libgnat/s-pack55.adb: Likewise. - * libgnat/s-pack55.ads: Likewise. - * libgnat/s-pack56.adb: Likewise. - * libgnat/s-pack56.ads: Likewise. - * libgnat/s-pack57.adb: Likewise. - * libgnat/s-pack57.ads: Likewise. - * libgnat/s-pack58.adb: Likewise. - * libgnat/s-pack58.ads: Likewise. - * libgnat/s-pack59.adb: Likewise. - * libgnat/s-pack59.ads: Likewise. - * libgnat/s-pack60.adb: Likewise. - * libgnat/s-pack60.ads: Likewise. - * libgnat/s-pack61.adb: Likewise. - * libgnat/s-pack61.ads: Likewise. - * libgnat/s-pack62.adb: Likewise. - * libgnat/s-pack62.ads: Likewise. - * libgnat/s-pack63.adb: Likewise. - * libgnat/s-pack63.ads: Likewise. - * libgnat/s-pack65.adb: Likewise. - * libgnat/s-pack65.ads: Likewise. - * libgnat/s-pack66.adb: Likewise. - * libgnat/s-pack66.ads: Likewise. - * libgnat/s-pack67.adb: Likewise. - * libgnat/s-pack67.ads: Likewise. - * libgnat/s-pack68.adb: Likewise. - * libgnat/s-pack68.ads: Likewise. - * libgnat/s-pack69.adb: Likewise. - * libgnat/s-pack69.ads: Likewise. - * libgnat/s-pack70.adb: Likewise. - * libgnat/s-pack70.ads: Likewise. - * libgnat/s-pack71.adb: Likewise. - * libgnat/s-pack71.ads: Likewise. - * libgnat/s-pack72.adb: Likewise. - * libgnat/s-pack72.ads: Likewise. - * libgnat/s-pack73.adb: Likewise. - * libgnat/s-pack73.ads: Likewise. - * libgnat/s-pack74.adb: Likewise. - * libgnat/s-pack74.ads: Likewise. - * libgnat/s-pack75.adb: Likewise. - * libgnat/s-pack75.ads: Likewise. - * libgnat/s-pack76.adb: Likewise. - * libgnat/s-pack76.ads: Likewise. - * libgnat/s-pack77.adb: Likewise. - * libgnat/s-pack77.ads: Likewise. - * libgnat/s-pack78.adb: Likewise. - * libgnat/s-pack78.ads: Likewise. - * libgnat/s-pack79.adb: Likewise. - * libgnat/s-pack79.ads: Likewise. - * libgnat/s-pack80.adb: Likewise. - * libgnat/s-pack80.ads: Likewise. - * libgnat/s-pack81.adb: Likewise. - * libgnat/s-pack81.ads: Likewise. - * libgnat/s-pack82.adb: Likewise. - * libgnat/s-pack82.ads: Likewise. - * libgnat/s-pack83.adb: Likewise. - * libgnat/s-pack83.ads: Likewise. - * libgnat/s-pack84.adb: Likewise. - * libgnat/s-pack84.ads: Likewise. - * libgnat/s-pack85.adb: Likewise. - * libgnat/s-pack85.ads: Likewise. - * libgnat/s-pack86.adb: Likewise. - * libgnat/s-pack86.ads: Likewise. - * libgnat/s-pack87.adb: Likewise. - * libgnat/s-pack87.ads: Likewise. - * libgnat/s-pack88.adb: Likewise. - * libgnat/s-pack88.ads: Likewise. - * libgnat/s-pack89.adb: Likewise. - * libgnat/s-pack89.ads: Likewise. - * libgnat/s-pack90.adb: Likewise. - * libgnat/s-pack90.ads: Likewise. - * libgnat/s-pack91.adb: Likewise. - * libgnat/s-pack91.ads: Likewise. - * libgnat/s-pack92.adb: Likewise. - * libgnat/s-pack92.ads: Likewise. - * libgnat/s-pack93.adb: Likewise. - * libgnat/s-pack93.ads: Likewise. - * libgnat/s-pack94.adb: Likewise. - * libgnat/s-pack94.ads: Likewise. - * libgnat/s-pack95.adb: Likewise. - * libgnat/s-pack95.ads: Likewise. - * libgnat/s-pack96.adb: Likewise. - * libgnat/s-pack96.ads: Likewise. - * libgnat/s-pack97.adb: Likewise. - * libgnat/s-pack97.ads: Likewise. - * libgnat/s-pack98.adb: Likewise. - * libgnat/s-pack98.ads: Likewise. - * libgnat/s-pack99.adb: Likewise. - * libgnat/s-pack99.ads: Likewise. - * libgnat/s-parame.adb: Likewise. - * libgnat/s-parame.ads: Likewise. - * libgnat/s-parame__ae653.ads: Likewise. - * libgnat/s-parame__hpux.ads: Likewise. - * libgnat/s-parame__rtems.adb: Likewise. - * libgnat/s-parame__vxworks.adb: Likewise. - * libgnat/s-parame__vxworks.ads: Likewise. - * libgnat/s-parint.adb: Likewise. - * libgnat/s-parint.ads: Likewise. - * libgnat/s-pooglo.adb: Likewise. - * libgnat/s-pooglo.ads: Likewise. - * libgnat/s-pooloc.adb: Likewise. - * libgnat/s-pooloc.ads: Likewise. - * libgnat/s-poosiz.adb: Likewise. - * libgnat/s-poosiz.ads: Likewise. - * libgnat/s-powflt.ads: Likewise. - * libgnat/s-powlfl.ads: Likewise. - * libgnat/s-powllf.ads: Likewise. - * libgnat/s-purexc.ads: Likewise. - * libgnat/s-putaim.adb: Likewise. - * libgnat/s-putaim.ads: Likewise. - * libgnat/s-putima.adb: Likewise. - * libgnat/s-putima.ads: Likewise. - * libgnat/s-rannum.adb: Likewise. - * libgnat/s-rannum.ads: Likewise. - * libgnat/s-ransee.adb: Likewise. - * libgnat/s-ransee.ads: Likewise. - * libgnat/s-regexp.adb: Likewise. - * libgnat/s-regexp.ads: Likewise. - * libgnat/s-regpat.adb: Likewise. - * libgnat/s-regpat.ads: Likewise. - * libgnat/s-resfil.adb: Likewise. - * libgnat/s-resfil.ads: Likewise. - * libgnat/s-restri.adb: Likewise. - * libgnat/s-restri.ads: Likewise. - * libgnat/s-rident.ads: Likewise. - * libgnat/s-rpc.adb: Likewise. - * libgnat/s-rpc.ads: Likewise. - * libgnat/s-scaval.adb: Likewise. - * libgnat/s-scaval.ads: Likewise. - * libgnat/s-scaval__128.adb: Likewise. - * libgnat/s-scaval__128.ads: Likewise. - * libgnat/s-secsta.adb: Likewise. - * libgnat/s-secsta.ads: Likewise. - * libgnat/s-sequio.adb: Likewise. - * libgnat/s-sequio.ads: Likewise. - * libgnat/s-shabig.ads: Likewise. - * libgnat/s-shasto.adb: Likewise. - * libgnat/s-shasto.ads: Likewise. - * libgnat/s-soflin.adb: Likewise. - * libgnat/s-soflin.ads: Likewise. - * libgnat/s-soliin.adb: Likewise. - * libgnat/s-soliin.ads: Likewise. - * libgnat/s-sopco3.adb: Likewise. - * libgnat/s-sopco3.ads: Likewise. - * libgnat/s-sopco4.adb: Likewise. - * libgnat/s-sopco4.ads: Likewise. - * libgnat/s-sopco5.adb: Likewise. - * libgnat/s-sopco5.ads: Likewise. - * libgnat/s-spsufi.adb: Likewise. - * libgnat/s-spsufi.ads: Likewise. - * libgnat/s-stache.adb: Likewise. - * libgnat/s-stache.ads: Likewise. - * libgnat/s-stalib.adb: Likewise. - * libgnat/s-stalib.ads: Likewise. - * libgnat/s-statxd.adb: Likewise. - * libgnat/s-statxd.ads: Likewise. - * libgnat/s-stausa.adb: Likewise. - * libgnat/s-stausa.ads: Likewise. - * libgnat/s-stchop.adb: Likewise. - * libgnat/s-stchop.ads: Likewise. - * libgnat/s-stchop__limit.ads: Likewise. - * libgnat/s-stchop__rtems.adb: Likewise. - * libgnat/s-stchop__vxworks.adb: Likewise. - * libgnat/s-stoele.adb: Likewise. - * libgnat/s-stoele.ads: Likewise. - * libgnat/s-stopoo.adb: Likewise. - * libgnat/s-stopoo.ads: Likewise. - * libgnat/s-stposu.adb: Likewise. - * libgnat/s-stposu.ads: Likewise. - * libgnat/s-stratt.adb: Likewise. - * libgnat/s-stratt.ads: Likewise. - * libgnat/s-strcom.adb: Likewise. - * libgnat/s-strcom.ads: Likewise. - * libgnat/s-strhas.adb: Likewise. - * libgnat/s-strhas.ads: Likewise. - * libgnat/s-string.adb: Likewise. - * libgnat/s-string.ads: Likewise. - * libgnat/s-strops.adb: Likewise. - * libgnat/s-strops.ads: Likewise. - * libgnat/s-ststop.adb: Likewise. - * libgnat/s-ststop.ads: Likewise. - * libgnat/s-tasloc.adb: Likewise. - * libgnat/s-tasloc.ads: Likewise. - * libgnat/s-thread.ads: Likewise. - * libgnat/s-thread__ae653.adb: Likewise. - * libgnat/s-traceb.adb: Likewise. - * libgnat/s-traceb.ads: Likewise. - * libgnat/s-traceb__hpux.adb: Likewise. - * libgnat/s-traceb__mastop.adb: Likewise. - * libgnat/s-traent.adb: Likewise. - * libgnat/s-traent.ads: Likewise. - * libgnat/s-trasym.adb: Likewise. - * libgnat/s-trasym.ads: Likewise. - * libgnat/s-trasym__dwarf.adb: Likewise. - * libgnat/s-tsmona.adb: Likewise. - * libgnat/s-tsmona__linux.adb: Likewise. - * libgnat/s-tsmona__mingw.adb: Likewise. - * libgnat/s-unstyp.ads: Likewise. - * libgnat/s-utf_32.adb: Likewise. - * libgnat/s-utf_32.ads: Likewise. - * libgnat/s-vade128.ads: Likewise. - * libgnat/s-vade32.ads: Likewise. - * libgnat/s-vade64.ads: Likewise. - * libgnat/s-vafi128.ads: Likewise. - * libgnat/s-vafi32.ads: Likewise. - * libgnat/s-vafi64.ads: Likewise. - * libgnat/s-valboo.adb: Likewise. - * libgnat/s-valboo.ads: Likewise. - * libgnat/s-valcha.adb: Likewise. - * libgnat/s-valcha.ads: Likewise. - * libgnat/s-valenu.adb: Likewise. - * libgnat/s-valenu.ads: Likewise. - * libgnat/s-valflt.ads: Likewise. - * libgnat/s-valint.adb: Likewise. - * libgnat/s-valint.ads: Likewise. - * libgnat/s-vallfl.ads: Likewise. - * libgnat/s-valllf.ads: Likewise. - * libgnat/s-vallli.adb: Likewise. - * libgnat/s-vallli.ads: Likewise. - * libgnat/s-valllli.ads: Likewise. - * libgnat/s-vallllu.ads: Likewise. - * libgnat/s-valllu.adb: Likewise. - * libgnat/s-valllu.ads: Likewise. - * libgnat/s-valrea.adb: Likewise. - * libgnat/s-valrea.ads: Likewise. - * libgnat/s-valued.adb: Likewise. - * libgnat/s-valued.ads: Likewise. - * libgnat/s-valuef.adb: Likewise. - * libgnat/s-valuef.ads: Likewise. - * libgnat/s-valuei.adb: Likewise. - * libgnat/s-valuei.ads: Likewise. - * libgnat/s-valuer.adb: Likewise. - * libgnat/s-valuer.ads: Likewise. - * libgnat/s-valueu.adb: Likewise. - * libgnat/s-valueu.ads: Likewise. - * libgnat/s-valuns.adb: Likewise. - * libgnat/s-valuns.ads: Likewise. - * libgnat/s-valuti.adb: Likewise. - * libgnat/s-valuti.ads: Likewise. - * libgnat/s-valwch.adb: Likewise. - * libgnat/s-valwch.ads: Likewise. - * libgnat/s-veboop.adb: Likewise. - * libgnat/s-veboop.ads: Likewise. - * libgnat/s-vector.ads: Likewise. - * libgnat/s-vercon.adb: Likewise. - * libgnat/s-vercon.ads: Likewise. - * libgnat/s-wchcnv.adb: Likewise. - * libgnat/s-wchcnv.ads: Likewise. - * libgnat/s-wchcon.adb: Likewise. - * libgnat/s-wchcon.ads: Likewise. - * libgnat/s-wchjis.adb: Likewise. - * libgnat/s-wchjis.ads: Likewise. - * libgnat/s-wchstw.adb: Likewise. - * libgnat/s-wchstw.ads: Likewise. - * libgnat/s-wchwts.adb: Likewise. - * libgnat/s-wchwts.ads: Likewise. - * libgnat/s-widboo.adb: Likewise. - * libgnat/s-widboo.ads: Likewise. - * libgnat/s-widcha.adb: Likewise. - * libgnat/s-widcha.ads: Likewise. - * libgnat/s-widenu.adb: Likewise. - * libgnat/s-widenu.ads: Likewise. - * libgnat/s-widint.ads: Likewise. - * libgnat/s-widlli.adb: Likewise. - * libgnat/s-widlli.ads: Likewise. - * libgnat/s-widllli.ads: Likewise. - * libgnat/s-widlllu.ads: Likewise. - * libgnat/s-widllu.adb: Likewise. - * libgnat/s-widllu.ads: Likewise. - * libgnat/s-widthi.adb: Likewise. - * libgnat/s-widthi.ads: Likewise. - * libgnat/s-widthu.adb: Likewise. - * libgnat/s-widthu.ads: Likewise. - * libgnat/s-widuns.ads: Likewise. - * libgnat/s-widwch.adb: Likewise. - * libgnat/s-widwch.ads: Likewise. - * libgnat/s-win32.ads: Likewise. - * libgnat/s-winext.ads: Likewise. - * libgnat/s-wwdcha.adb: Likewise. - * libgnat/s-wwdcha.ads: Likewise. - * libgnat/s-wwdenu.adb: Likewise. - * libgnat/s-wwdenu.ads: Likewise. - * libgnat/s-wwdwch.adb: Likewise. - * libgnat/s-wwdwch.ads: Likewise. - * libgnat/system-aix.ads: Likewise. - * libgnat/system-darwin-arm.ads: Likewise. - * libgnat/system-darwin-ppc.ads: Likewise. - * libgnat/system-darwin-x86.ads: Likewise. - * libgnat/system-djgpp.ads: Likewise. - * libgnat/system-dragonfly-x86_64.ads: Likewise. - * libgnat/system-freebsd.ads: Likewise. - * libgnat/system-hpux-ia64.ads: Likewise. - * libgnat/system-hpux.ads: Likewise. - * libgnat/system-linux-alpha.ads: Likewise. - * libgnat/system-linux-arm.ads: Likewise. - * libgnat/system-linux-hppa.ads: Likewise. - * libgnat/system-linux-ia64.ads: Likewise. - * libgnat/system-linux-m68k.ads: Likewise. - * libgnat/system-linux-mips.ads: Likewise. - * libgnat/system-linux-ppc.ads: Likewise. - * libgnat/system-linux-riscv.ads: Likewise. - * libgnat/system-linux-s390.ads: Likewise. - * libgnat/system-linux-sh4.ads: Likewise. - * libgnat/system-linux-sparc.ads: Likewise. - * libgnat/system-linux-x86.ads: Likewise. - * libgnat/system-lynxos178-ppc.ads: Likewise. - * libgnat/system-lynxos178-x86.ads: Likewise. - * libgnat/system-mingw.ads: Likewise. - * libgnat/system-qnx-aarch64.ads: Likewise. - * libgnat/system-rtems.ads: Likewise. - * libgnat/system-solaris-sparc.ads: Likewise. - * libgnat/system-solaris-x86.ads: Likewise. - * libgnat/system-vxworks-arm-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-arm-rtp.ads: Likewise. - * libgnat/system-vxworks-arm.ads: Likewise. - * libgnat/system-vxworks-e500-kernel.ads: Likewise. - * libgnat/system-vxworks-e500-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-e500-rtp.ads: Likewise. - * libgnat/system-vxworks-e500-vthread.ads: Likewise. - * libgnat/system-vxworks-ppc-kernel.ads: Likewise. - * libgnat/system-vxworks-ppc-ravenscar.ads: Likewise. - * libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-ppc-rtp.ads: Likewise. - * libgnat/system-vxworks-ppc-vthread.ads: Likewise. - * libgnat/system-vxworks-ppc.ads: Likewise. - * libgnat/system-vxworks-x86-kernel.ads: Likewise. - * libgnat/system-vxworks-x86-rtp-smp.ads: Likewise. - * libgnat/system-vxworks-x86-rtp.ads: Likewise. - * libgnat/system-vxworks-x86-vthread.ads: Likewise. - * libgnat/system-vxworks-x86.ads: Likewise. - * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-aarch64.ads: Likewise. - * libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-arm.ads: Likewise. - * libgnat/system-vxworks7-e500-kernel.ads: Likewise. - * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-e500-rtp.ads: Likewise. - * libgnat/system-vxworks7-ppc-kernel.ads: Likewise. - * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-ppc-rtp.ads: Likewise. - * libgnat/system-vxworks7-ppc64-kernel.ads: Likewise. - * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-x86-kernel.ads: Likewise. - * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. - * libgnat/system-vxworks7-x86-rtp.ads: Likewise. - * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. - * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. - * link.c: Likewise. - * live.adb: Likewise. - * live.ads: Likewise. - * locales.c: Likewise. - * make.adb: Likewise. - * make.ads: Likewise. - * make_util.adb: Likewise. - * make_util.ads: Likewise. - * makeusg.adb: Likewise. - * makeusg.ads: Likewise. - * mdll-fil.adb: Likewise. - * mdll-fil.ads: Likewise. - * mdll-utl.adb: Likewise. - * mdll-utl.ads: Likewise. - * mdll.adb: Likewise. - * mdll.ads: Likewise. - * mingw32.h: Likewise. - * mkdir.c: Likewise. - * namet-sp.adb: Likewise. - * namet-sp.ads: Likewise. - * namet.adb: Likewise. - * namet.ads: Likewise. - * namet.h: Likewise. - * nlists.adb: Likewise. - * nlists.ads: Likewise. - * nlists.h: Likewise. - * opt.adb: Likewise. - * opt.ads: Likewise. - * osint-b.adb: Likewise. - * osint-b.ads: Likewise. - * osint-c.adb: Likewise. - * osint-c.ads: Likewise. - * osint-l.adb: Likewise. - * osint-l.ads: Likewise. - * osint-m.adb: Likewise. - * osint-m.ads: Likewise. - * osint.adb: Likewise. - * osint.ads: Likewise. - * output.adb: Likewise. - * output.ads: Likewise. - * par-ch10.adb: Likewise. - * par-ch11.adb: Likewise. - * par-ch12.adb: Likewise. - * par-ch13.adb: Likewise. - * par-ch2.adb: Likewise. - * par-ch3.adb: Likewise. - * par-ch4.adb: Likewise. - * par-ch5.adb: Likewise. - * par-ch6.adb: Likewise. - * par-ch7.adb: Likewise. - * par-ch8.adb: Likewise. - * par-ch9.adb: Likewise. - * par-endh.adb: Likewise. - * par-labl.adb: Likewise. - * par-load.adb: Likewise. - * par-prag.adb: Likewise. - * par-sync.adb: Likewise. - * par-tchk.adb: Likewise. - * par-util.adb: Likewise. - * par.adb: Likewise. - * par.ads: Likewise. - * par_sco.adb: Likewise. - * par_sco.ads: Likewise. - * pprint.adb: Likewise. - * pprint.ads: Likewise. - * prep.adb: Likewise. - * prep.ads: Likewise. - * prepcomp.adb: Likewise. - * prepcomp.ads: Likewise. - * put_scos.adb: Likewise. - * put_scos.ads: Likewise. - * raise-gcc.c: Likewise. - * raise.c: Likewise. - * raise.h: Likewise. - * repinfo-input.adb: Likewise. - * repinfo-input.ads: Likewise. - * repinfo.adb: Likewise. - * repinfo.ads: Likewise. - * repinfo.h: Likewise. - * restrict.adb: Likewise. - * restrict.ads: Likewise. - * rident.ads: Likewise. - * rtfinal.c: Likewise. - * rtinit.c: Likewise. - * rtsfind.adb: Likewise. - * rtsfind.ads: Likewise. - * runtime.h: Likewise. - * s-oscons-tmplt.c: Likewise. - * sa_messages.adb: Likewise. - * sa_messages.ads: Likewise. - * scans.adb: Likewise. - * scans.ads: Likewise. - * scil_ll.adb: Likewise. - * scil_ll.ads: Likewise. - * scn.adb: Likewise. - * scn.ads: Likewise. - * scng.adb: Likewise. - * scng.ads: Likewise. - * scos.adb: Likewise. - * scos.ads: Likewise. - * scos.h: Likewise. - * sdefault.ads: Likewise. - * seh_init.c: Likewise. - * sem.adb: Likewise. - * sem.ads: Likewise. - * sem_aggr.adb: Likewise. - * sem_aggr.ads: Likewise. - * sem_attr.adb: Likewise. - * sem_attr.ads: Likewise. - * sem_aux.adb: Likewise. - * sem_aux.ads: Likewise. - * sem_case.adb: Likewise. - * sem_case.ads: Likewise. - * sem_cat.adb: Likewise. - * sem_cat.ads: Likewise. - * sem_ch10.adb: Likewise. - * sem_ch10.ads: Likewise. - * sem_ch11.adb: Likewise. - * sem_ch11.ads: Likewise. - * sem_ch12.adb: Likewise. - * sem_ch12.ads: Likewise. - * sem_ch13.adb: Likewise. - * sem_ch13.ads: Likewise. - * sem_ch2.adb: Likewise. - * sem_ch2.ads: Likewise. - * sem_ch3.adb: Likewise. - * sem_ch3.ads: Likewise. - * sem_ch4.adb: Likewise. - * sem_ch4.ads: Likewise. - * sem_ch5.adb: Likewise. - * sem_ch5.ads: Likewise. - * sem_ch6.adb: Likewise. - * sem_ch6.ads: Likewise. - * sem_ch7.adb: Likewise. - * sem_ch7.ads: Likewise. - * sem_ch8.adb: Likewise. - * sem_ch8.ads: Likewise. - * sem_ch9.adb: Likewise. - * sem_ch9.ads: Likewise. - * sem_dim.adb: Likewise. - * sem_dim.ads: Likewise. - * sem_disp.adb: Likewise. - * sem_disp.ads: Likewise. - * sem_dist.adb: Likewise. - * sem_dist.ads: Likewise. - * sem_elab.adb: Likewise. - * sem_elab.ads: Likewise. - * sem_elim.adb: Likewise. - * sem_elim.ads: Likewise. - * sem_eval.adb: Likewise. - * sem_eval.ads: Likewise. - * sem_intr.adb: Likewise. - * sem_intr.ads: Likewise. - * sem_mech.adb: Likewise. - * sem_mech.ads: Likewise. - * sem_prag.adb: Likewise. - * sem_prag.ads: Likewise. - * sem_res.adb: Likewise. - * sem_res.ads: Likewise. - * sem_scil.adb: Likewise. - * sem_scil.ads: Likewise. - * sem_smem.adb: Likewise. - * sem_smem.ads: Likewise. - * sem_type.adb: Likewise. - * sem_type.ads: Likewise. - * sem_util.adb: Likewise. - * sem_util.ads: Likewise. - * sem_warn.adb: Likewise. - * sem_warn.ads: Likewise. - * set_targ.adb: Likewise. - * set_targ.ads: Likewise. - * sfn_scan.adb: Likewise. - * sfn_scan.ads: Likewise. - * sigtramp-armdroid.c: Likewise. - * sigtramp-ios.c: Likewise. - * sigtramp-qnx.c: Likewise. - * sigtramp-vxworks.c: Likewise. - * sigtramp.h: Likewise. - * sinfo-cn.adb: Likewise. - * sinfo-cn.ads: Likewise. - * sinfo.adb: Likewise. - * sinfo.ads: Likewise. - * sinput-c.adb: Likewise. - * sinput-c.ads: Likewise. - * sinput-d.adb: Likewise. - * sinput-d.ads: Likewise. - * sinput-l.adb: Likewise. - * sinput-l.ads: Likewise. - * sinput.adb: Likewise. - * sinput.ads: Likewise. - * snames.adb-tmpl: Likewise. - * snames.ads-tmpl: Likewise. - * socket.c: Likewise. - * spark_xrefs.adb: Likewise. - * spark_xrefs.ads: Likewise. - * sprint.adb: Likewise. - * sprint.ads: Likewise. - * stand.ads: Likewise. - * stringt.adb: Likewise. - * stringt.ads: Likewise. - * stringt.h: Likewise. - * style.adb: Likewise. - * style.ads: Likewise. - * styleg.adb: Likewise. - * styleg.ads: Likewise. - * stylesw.adb: Likewise. - * stylesw.ads: Likewise. - * switch-b.adb: Likewise. - * switch-b.ads: Likewise. - * switch-c.adb: Likewise. - * switch-c.ads: Likewise. - * switch-m.adb: Likewise. - * switch-m.ads: Likewise. - * switch.adb: Likewise. - * switch.ads: Likewise. - * sysdep.c: Likewise. - * table.adb: Likewise. - * table.ads: Likewise. - * targext.c: Likewise. - * targparm.adb: Likewise. - * targparm.ads: Likewise. - * tbuild.adb: Likewise. - * tbuild.ads: Likewise. - * tempdir.adb: Likewise. - * tempdir.ads: Likewise. - * terminals.c: Likewise. - * tracebak.c: Likewise. - * treepr.adb: Likewise. - * treepr.ads: Likewise. - * ttypes.ads: Likewise. - * types.adb: Likewise. - * types.ads: Likewise. - * types.h: Likewise. - * uintp.adb: Likewise. - * uintp.ads: Likewise. - * uintp.h: Likewise. - * uname.adb: Likewise. - * uname.ads: Likewise. - * urealp.adb: Likewise. - * urealp.ads: Likewise. - * urealp.h: Likewise. - * usage.adb: Likewise. - * usage.ads: Likewise. - * validsw.adb: Likewise. - * validsw.ads: Likewise. - * vast.adb: Likewise. - * vast.ads: Likewise. - * warnsw.adb: Likewise. - * warnsw.ads: Likewise. - * widechar.adb: Likewise. - * widechar.ads: Likewise. - * xeinfo.adb: Likewise. - * xnmake.adb: Likewise. - * xoscons.adb: Likewise. - * xr_tabls.adb: Likewise. - * xr_tabls.ads: Likewise. - * xref_lib.adb: Likewise. - * xref_lib.ads: Likewise. - * xsinfo.adb: Likewise. - * xsnamest.adb: Likewise. - * xtreeprs.adb: Likewise. - * xutil.adb: Likewise. - * xutil.ads: Likewise. - -2021-05-03 Piotr Trojanek - - * exp_dist.adb (Build_From_Any_Call): Remove initial value for - Fnam; fix style. - (Build_To_Any_Call): Remove initial value for Fnam. - (Build_TypeCode_Call): Likewise. - -2021-05-03 Piotr Trojanek - - * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb, - exp_disp.adb, exp_imgv.adb, exp_util.adb, sem_attr.adb, - sem_ch13.adb, sem_ch8.adb, sem_eval.adb, sem_scil.adb, - sem_util.adb: Replace calls to RTE with Is_RTE. - -2021-05-03 Piotr Trojanek - - * sem_ch4.adb (Try_Object_Operation): Reuse local constant. - -2021-05-03 Ed Schonberg - - * sem_ch4.adb (Try_Object_Operation): When a prefixed call is - overloaded and illegal, and the All_Errors flag is off, generate - an error message if the re-analysis of some candidate - interpretation fails to produce one. - -2021-05-03 Dmitriy Anisimkov - - * libgnat/g-casuti.adb: Replace with "pragma No_Body". - * libgnat/g-casuti.ads: Replace with a package renaming. - -2021-05-03 Piotr Trojanek - - * sem_attr.adb (Check_Program_Unit): Fix references to - Concurrent_Kind and Is_Concurrent_Type; avoid repeated calls to - Entity. - -2021-05-03 Piotr Trojanek - - * sem_attr.adb (Check_Program_Unit): Replace tests for Task_Kind - and Protected_Kind with a collective test for Concurrent_Kind; - likewise, replace calls to Is_Task_Type and Is_Protected_Type - with a collective call to Is_Concurrent_Type; simplify into a - single membership test; add missing Entry_Kind alternative. - -2021-05-03 Piotr Trojanek - - * sem_aggr.adb (Resolve_Record_Aggregate): Fix casing in error - message. - * sem_ch3.adb (Add_Internal_Interface_Entities): Fix unbalanced - parens. - * sem_elim.adb (Eliminate_Error_Msg): Add insertion character. - -2021-05-03 Piotr Trojanek - - * freeze.adb (Freeze_Profile): Replace Error_Msg_NE with - Error_Msg_N; change to continuation message. - * sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch5.adb: Replace - calls to Error_Msg_NE with calls to Error_Msg_N. - -2021-05-03 Piotr Trojanek - - * exp_disp.adb, sem_aggr.adb, sem_cat.adb, sem_ch10.adb, - sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, - sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.adb, - sem_res.adb: Remove extra leading and trailing space in error - messages. - -2021-05-03 Arnaud Charlet - - * sem_prag.adb (Set_Exported): Do not warn on exporting a type. - -2021-05-03 Ed Schonberg - - * sem_warn.adb (Check_References): Do not emit warning on a - selected component when enclosing type has no discriminant and - type of component has partial initialization. - -2021-05-03 Justin Squirek - - * contracts.adb (Build_Postconditions_Procedure): Remove - internally generated if statement used to control finalization - actions. - * exp_ch6.adb (Add_Return, Expand_Non_Function_Return, - Expand_Simple_Function_Return): Add if statement around - _postconditions to control finalization. - * exp_ch7.adb (Build_Finalizer): Likewise. - * sem_prag.adb (Find_Related_Declaration_Or_Body): Add case to - handle Context itself being a handled sequence of statements. - -2021-05-03 Justin Squirek - - * sem_util.adb (In_Return_Value): Modified to detect when - implicit dereference is specified on the return type of a - function call within the expression being checked. - -2021-05-03 Ed Schonberg - - * exp_aggr.adb (Expand_Array_Aggregate): If the parent node of - the aggregate is a subprogram call there is no target in which - to build the aggregate, and it has to be expanded into component - assignments. - -2021-05-03 Piotr Trojanek - - * exp_prag.adb (Expand_Pragma_CUDA_Execute): Refill comments; - remove periods after single-line comments; use procedural - variant of Next_Entity. - * gnat_cuda.adb: Refill comments; remove periods after - single-line comments; replace calls to UI_From_Int with - constants; change iteration bounds so they match the comments. - * sem_prag.adb (Analyze_Pragma): Add checks for malformed pragma - CUDA_Kernel aggregate; simplify processing of pragma CUDA_Global - with Check_Arg_Count; sync comment with code for CUDA_Global. - -2021-05-03 Arnaud Charlet - - * tbuild.adb (Make_Implicit_Loop_Statement): Disable restriction - checking on dead paths. - -2021-05-03 Arnaud Charlet - - * sem_util.adb (Check_Result_And_Post_State): Replace custom - Has_In_Out_Parameter with existing Has_Out_Or_In_Out_Parameter - flag which corresponds exactly to what we need. - -2021-05-03 Arnaud Charlet - - * libgnat/a-ztcoio.adb: Remove unused with clause. - -2021-05-03 Piotr Trojanek - - * sem_ch13.adb (Build_Predicate_Functions): Fix typo in comment. - (Resolve_Aspect_Expressions): Fix typo in comment; remove - redundant check for no aspects; simplify with Discard_Node. - -2021-05-03 Ed Schonberg - - * sem_util.adb (Build_Constrained_Itype): Remove prior patch, - issue is better handled in Sem_Ch13.Build_Predicate_Functions. - * sem_ch13.adb (Build_Predicate_Functions): Do not build - predicate function for an Itype with a defined - Predicated_Parent, even if that designated parent does not yet - have a Predicate_Function. This can happen in instance bodies - nested within a generic unit. - -2021-04-29 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) - : Apply the checks for - universal integer contexts only in the default case. - * exp_ch4.adb (Get_Size_For_Range): Move to library level. - (Expand_N_Type_Conversion): If the operand has Universal_Integer - type and the conversion requires an overflow check, try to do an - intermediate conversion to a narrower type. - -2021-04-29 Arnaud Charlet - - * sem_ch3.adb (Check_Anonymous_Access_Component): Factor out - core processing of Check_Anonymous_Access_Components. - (Check_Anonymous_Access_Components): Call - Check_Anonymous_Access_Component. - (Process_Discriminants): Call Check_Anonymous_Access_Component. - * freeze.adb (Freeze_Record_Type): Code cleanups and add more tree - checking to handle changes in sem_ch3.adb. - * sem_ch8.adb (Find_Type): Remove special case for access - discriminant in task types, these are now supported. - -2021-04-29 Eric Botcazou - - * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): Remove - entry condition. - (Expand_N_In): Call Minimized_Eliminated_Overflow_Check on the left - operand before doing the special overflow expansion. - (Expand_N_Op_Eq): Likewise. - (Expand_N_Op_Ge): Likewise. - (Expand_N_Op_Gt): Likewise. - (Expand_N_Op_Le): Likewise. - (Expand_N_Op_Lt): Likewise. - (Expand_N_Op_Ne): Likewise. - (Minimized_Eliminated_Overflow_Check): Return False for Minimized - if the size of the type is greater than that of Long_Long_Integer. - -2021-04-29 Arnaud Charlet - - * exp_ch5.adb (Expand_N_If_Statement): Only perform the - simplification on return True/False for internal nodes when - -fpreserve-control-flow is not set. - -2021-04-29 Eric Botcazou - - * sem_attr.adb (Eval_Attribute) : Use - Round_Even instead of Round in the call to the Machine routine. - -2021-04-29 Bob Duff - - * sem_attr.adb (Analyze_Attribute): Change "$" to "&". - Otherwise, Errout will trip over an uninitialized (invalid) - variable (Error_Msg_Unit_1). - -2021-04-29 Eric Botcazou - - * libgnat/s-valuer.adb (Scan_Decimal_Digits): Set Extra to zero - when the precision limit is reached by means of trailing zeros - and prevent it from being overwritten later. - -2021-04-29 Yannick Moy - - * errout.adb (Output_Messages): Insert SGR strings where needed. - * erroutc.adb (Output_Message_Txt): Insert SGR strings where - needed in the text of the message itself. - (Output_Msg_Text): Allow for style message not to start - with (style). - * erroutc.ads: Add new constants and functions to control colors - in messages output to the terminal. Add variable Use_SGR_Control - that should be set to True for using SGR color control strings. - -2021-04-29 Yannick Moy - - * sem_eval.adb (Check_Non_Static_Context_For_Overflow): Apply - compile-time checking for overflows in non-static contexts - including inlined code. - (Eval_Arithmetic_Op): Use the new procedure. - (Eval_Unary_Op, Eval_Op_Expon): Add call to the new procedure. - -2021-04-29 Justin Squirek - - * checks.adb (Apply_Type_Conversion_Checks): Move out constraint - check generation, and add case for general access types with - constraints. - (Make_Discriminant_Constraint_Check): Created to centralize - generation of constraint checks for stored discriminants. - -2021-04-29 Eric Botcazou - - * gnat1drv.adb (Adjust_Global_Switches): Force a 32-bit Duration - type if the maximum integer size is lower than 64 bits. - -2021-04-29 Arnaud Charlet - - * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove unused files. - (ADA_INCLUDE_SRCS): Remove libgnat/system.ads - -2021-04-29 Arnaud Charlet - - * exp_aggr.adb (Collect_Initialization_Statements): Removed. - (Convert_Aggr_In_Object_Decl, Expand_Array_Aggregate): Fix - creation and insertion of Initialization_Statements. Do not set - Initialization_Statements when a transient scope is involved. - Move processing of Array_Slice here. Ensure that an object with - an Array_Slice call gets its array component initialized. Add - comments. - * exp_ch7.adb: Update comments. - (Store_Actions_In_Scope): Deal properly with an empty list which - might now be generated by Convert_Aggr_In_Object_Decl. - * exp_ch3.adb: Update comments. - (Expand_N_Object_Declaration): Remove processing of Array_Slice. - -2021-04-29 Arnaud Charlet - - * sem_ch8.adb (Analyze_Object_Renaming): Update check for - AI12-0401. - -2021-04-29 Patrick Bernardi - - * libgnat/s-stoele.ads (Storage_Offset): Cleanup comment. - -2021-04-29 Gary Dismukes - - * exp_util.adb (Add_Own_DIC): Relax the suppression of adding a - DIC Check pragma that's done for abstract types by still doing - it in the case where GNATprove_Mode is set. - -2021-04-29 Joel Brobecker - - * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove s-gcc.adb, s-gcc.ads, - s-gccdiv.adb, s-gccdiv.ads, s-gccshi.adb and s-gccshi.ads. - -2021-04-29 Piotr Trojanek - - * layout.adb (Layout_Type): Refine type of a local variable with - the required size of object from Int to Pos (it is initialized - with 8 and only multiplied by 2); fix unbalanced parens in - comment. - -2021-04-29 Eric Botcazou - - * eval_fat.adb (Succ): Use Ureal_Half in a couple of places. - -2021-04-29 Ed Schonberg - - * sem_util.adb (Build_Constrained_Itype): Inhibit the generation - of predicate functions for this Itype, which is created for an - aggregate of a discriminated type. The object to which the - aggregate is assigned, e.g a writable actual parameter, will - apply the predicates if any are inherited from the base type. - -2021-04-29 Piotr Trojanek - - * sem_cat.adb (Set_Categorization_From_Pragmas): Remove special - case for generic child units; remove optimization for empty list - of pragmas; properly restore visibility. - -2021-04-29 Piotr Trojanek - - * sem_elab.adb (Process_SPARK_Instantiation): Fix typo in - comment. - * sem_prag.adb (Find_Related_Context): Add missing reference to - No_Caching in the comment; handle pragmas on compilation units. - -2021-04-29 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_attributes.rst: Change all - occurrences of "permissible prefix" to "allowed prefix", for - consistency. - * gnat_rm.texi: Regenerate. - -2021-04-29 Eric Botcazou - - * eval_fat.adb (Succ): Add a special case for zero if the type does - not support denormalized numbers. Always use the canonical formula - in other cases and add commentary throughout the function. - -2021-04-29 Eric Botcazou - - * libgnat/s-fatgen.adb: Remove with clause for Interfaces and - use type clauses for Interfaces.Unsigned_{16,32,64}. - (Small16): Remove. - (Small32): Likewise - (Small64): Likewise. - (Small80): Likewise. - (Tiny16): Likewise. - (Tiny32): Likewise. - (Tiny64): Likewise. - (Tiny80): Likewise. - (Siz): Always use 16. - (NR): New constant. - (Rep_Last): Use it in the computation. - (Exp_Factor): Remove special case for 80-bit. - (Sign_Mask): Likewise. - (Finite_Succ): New function implementing the Succ attribute for - finite numbers. - (Pred): Rewrite in terms of Finite_Succ. - (Succ): Likewise. - -2021-04-29 Arnaud Charlet - - * debug_a.adb (Debug_Output_Astring): Remove obsolete comment. - -2021-04-29 Arnaud Charlet - - * sem_attr.adb (Check_Image_Type): Protect against empty - Image_Type. - -2021-04-29 Arnaud Charlet - - * libgnat/a-nbnbin.ads (From_Universal_Image): New. - (Big_Integer): Update definition. - * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb - (From_Universal_Image): New. - (From_String): Remove alternate body, replaced by - From_Universal_Image. - (Big_Real): Update definition. - -2021-04-29 Gary Dismukes - - * sem_ch8.adb (Find_Type): Check the No_Obsolescent_Features - restriction for 'Class applied to an untagged incomplete - type (when Ada_Version >= Ada_2005). Remove disabling of the - warning message for such usage, along with the ??? comment, - which no longer applies (because the -gnatg switch no longer - sets Warn_On_Obsolescent_Feature). - -2021-04-29 Yannick Moy - - * errout.adb (Error_Msg_NEL): Extract span from node. - (First_And_Last_Nodes): Use spans for subtype indications and - attribute definition clauses. - (Write_Source_Code_Lines): Fix for tabulation characters. Change - output for large spans to skip intermediate lines. - * sem_case.adb (Check_Choice_Set): Report duplicate choice on - the Original_Node for the case. - (Generic_Check_Choices): Set the Original_Node for the rewritten - case, so that the subtree used in spans has the correct - locations. - -2021-04-28 Piotr Trojanek - - * sem_ch13.adb, sem_util.adb: Fix style. - -2021-04-28 Piotr Trojanek - - * nlists.ads (List_Length): Adapt comment to match the - behaviour. - -2021-04-28 Arnaud Charlet - - * sem_eval.adb (Eval_Selected_Component): Only consider compile - time known aggregates. - -2021-04-28 Eric Botcazou - - * libgnat/s-fatgen.adb: Add use clause for Interfaces.Unsigned_16 - and Interfaces.Unsigned_32. - (Small16): New constant. - (Small32): Likewise. - (Small64): Likewise. - (Small80): Likewise. - (Pred): Declare a local overlay for Small and return it negated - for zero if the type does not support denormalized numbers. - (Succ): Likewise, but return it directly. - -2021-04-28 Piotr Trojanek - - * inline.adb (Formal_Is_Used_Once): Refine type of the counter - variable; remove redundant assignment. - -2021-04-28 Patrick Bernardi - - * libgnarl/s-interr.adb (Install_Restricted_Handlers): Change - Prio parameter to type Interrupt_Priority. - * libgnarl/s-interr.ads (Install_Restricted_Handlers): Likewise. - * libgnarl/s-interr__dummy.adb (Install_Restricted_Handlers): - Likewise. - * libgnarl/s-interr__hwint.adb (Install_Restricted_Handlers): - Likewise. - * libgnarl/s-interr__sigaction.adb (Install_Restricted_Handlers): - Likewise. - * libgnarl/s-interr__vxworks.adb (Install_Restricted_Handlers): - Likewise. - -2021-04-28 Piotr Trojanek - - * sem_type.ads (Write_Interp_Ref): Removed; no longer needed. - * sem_type.adb (Headers): Removed; now the hash table is - directly in the Interp_Map alone. - (Interp_Map): Now an instance of the GNAT.HTable.Simple_HTable. - (Last_Overloaded): New variable to emulate Interp_Map.Last. - (Add_One_Interp): Adapt to new data structure. - (Get_First_Interp): Likewise. - (Hash): Likewise. - (Init_Interp_Tables): Likewise. - (New_Interps): Likewise. - (Save_Interps): Likewise; handle O_N variable like in - Get_First_Interp. - (Write_Interp_Ref): Removed; no longer needed. - -2021-04-28 Piotr Trojanek - - * inline.adb (Do_Reset_Calls): Now an instance of Traverse_Proc. - -2021-04-28 Piotr Trojanek - - * sem_ch13.adb (Analyze_Aspect_Static): Reuse - Error_Msg_Ada_2020_Feature for aspect Static. - (Analyze_One_Aspect): Likewise for aspect Full_Access. - -2021-04-28 Piotr Trojanek - - * sem_ch13.adb (Analyze_Aspect_Static): Refactor to have a - single check for the expression being present; adapt comments. - -2021-04-28 Piotr Trojanek - - * sem_ch13.adb (Analyze_Aspect_Static): Use aspect name in the - error message. - -2021-04-28 Piotr Trojanek - - * sem_eval.adb (Eval_Selected_Component): Simplify with - Unqualify. - -2021-04-28 Eric Botcazou - - * libgnat/s-valrea.adb (Fast2Sum): New function. - (Integer_to_Real): Use it in an iterated addition with exact - error handling for the case where an extra digit is needed. - Move local variable now only used in the exponentiation case. - -2021-04-28 Yannick Moy - - * errout.adb: (Error_Msg_Internal): Use span instead of - location. - (Error_Msg, Error_Msg_NEL): Add versions with span parameter. - (Error_Msg_F, Error_Msg_FE, Error_Msg_N, Error_Msg_NE, - Error_Msg_NW): Retrieve span from node. - (First_Node): Use the new First_And_Last_Nodes. - (First_And_Last_Nodes): Expand on previous First_Node. Apply to - other nodes than expressions. - (First_Sloc): Protect against inconsistent locations. - (Last_Node): New function based on First_And_Last_Nodes. - (Last_Sloc): New function similar to First_Sloc. - (Output_Messages): Update output when -gnatdF is used. Use - character ~ for making the span visible, similar to what is done - in GCC and Clang. - * errout.ads (Error_Msg, Error_Msg_NEL): Add versions with span - parameter. - (First_And_Last_Nodes, Last_Node, Last_Sloc): New subprograms. - * erroutc.adb: Adapt to Sptr field being a span. - * erroutc.ads (Error_Msg_Object): Change field Sptr from - location to span. - * errutil.adb: Adapt to Sptr field being a span. - * freeze.adb: Use Errout reporting procedures for nodes to get - spans. - * par-ch3.adb: Likewise. - * par-prag.adb: Likewise. - * par-util.adb: Likewise. - * sem_case.adb: Likewise. - * sem_ch13.adb: Likewise. - * sem_ch3.adb: Likewise. - * sem_prag.adb: Likewise. - * types.ads: (Source_Span): New type for spans. - (To_Span): Basic constructors for spans. - -2021-04-28 Arnaud Charlet - - * einfo.adb (Discriminant_Constraint): Refine assertion. - -2021-04-28 Gary Dismukes - - * exp_util.adb (Add_Own_DIC): Suppress expansion of a DIC pragma - when the pragma occurs for an abstract type, since that could - lead to a call to an abstract function, and such DIC checks can - never be performed for abstract types in any case. - * sem_disp.adb (Check_Dispatching_Context): Suppress the check - for illegal calls to abstract subprograms when the call occurs - within a Default_Initial_Condition aspect and the call is passed - the current instance as an actual. - (Has_Controlling_Current_Instance_Actual): New function to test - a call to see if it has any actuals given by direct references - to a current instance of a type - * sem_res.adb (Resolve_Actuals): Issue an error for a call - within a DIC aspect to a nonprimitive subprogram with an actual - given by the name of the DIC type's current instance (which will - show up as a reference to the formal parameter of a DIC - procedure). - -2021-04-28 Ed Schonberg - - * exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on - the type extension when within a generic unit, even though - expansion is disabled, to allow for proper resolution of - selected components inherited from an ancestor. - -2021-04-28 Arnaud Charlet - - * sem_aux.adb (Is_Limited_Type): Fix logic to check Is_Type - before assuming Ent is a typo. - * sem_ch4.adb (Analyze_Expression_With_Actions): Update - comments, minor reformatting. - * sem_res.adb (Resolve_Declare_Expression): Add protection - against no type. - -2021-04-28 Arnaud Charlet - - * exp_ch6.adb: Fix typo in comment. - * sem_ch3.adb (Access_Subprogram_Declaration): Add missing call - to Create_Extra_Formals. Remove obsolete bootstrap check. - * sem_eval.adb (Eval_Selected_Component): Simplify a - selected_component on an aggregate. - -2021-04-28 Piotr Trojanek - - * fmap.ads (Reset_Tables): Remove outdated references to - GNSA/ASIS. - * sem_eval.ads (Initialize): Likewise. - * sem_type.adb (Headers): Remove initialization at elaboration. - * sem_type.ads (Init_Interp_Tables): Remove outdated reference - to gnatf. - * stringt.ads (Initialize): Fix style in comment. - -2021-04-28 Piotr Trojanek - - * sem_res.ads: Update reference in comment. - * sem_type.ads: Fix casing in a name of a unit. - -2021-04-28 Yannick Moy - - * ghost.adb (Check_Ghost_Context): Add continuation message when - in predicate. - -2021-04-28 Eric Botcazou - - * libgnat/s-valrea.adb (Integer_to_Real): Use a subtype of Num - for the component type of the table of powers of ten. - * libgnat/s-valuer.adb (Round_Extra): Add assertion on Base. - -2021-04-28 Piotr Trojanek - - * sem_ch5.adb (Analyze_Case_Statement): Extend optimization to - all objects; fix typo in comment. - -2021-04-28 Piotr Trojanek - - * exp_ch9.adb (Build_Barrier_Function): Refine type of a - protected type entity. - (Is_Pure_Barrier): Fix style. - -2021-04-28 Bob Duff - - * exp_ch3.adb (Simple_Init_Defaulted_Type): Simplify the code, - and always use OK_Convert_To, rather than Unchecked_Convert_To - and Convert_To. - -2021-04-28 Arnaud Charlet - - * sem_ch3.adb (Analyze_Object_Declaration): Remove dead code. - * ali.ads, ali.adb (Scan_ALI): Remove unused parameters. - Remove unused code related to Xref lines. - (Get_Typeref): Removed, no longer used. - -2021-04-28 Arnaud Charlet - - * exp_attr.adb (Build_Array_VS_Func, Build_Record_VS_Func, - Expand_N_Attribute_Reference): Use Get_Fullest_View instead of - Validated_View. - (Build_Record_VS_Func): Adjust to keep using Validated_View. - (Expand_N_Attribute_Reference) [Valid]: Use - Small_Integer_Type_For to allow for more compile time - evaluations. - * sem_util.adb (Cannot_Raise_Constraint_Error): Add more precise - support for N_Indexed_Component and fix support for - N_Selected_Component which wasn't completely safe. - (List_Cannot_Raise_CE): New. - * libgnat/i-cobol.adb (Valid_Packed): Simplify test to address - new GNAT warning. - -2021-04-28 Arnaud Charlet - - * .gitignore: New. - * doc/share/conf.py: Add Python 3 compatibility. - * doc/share/gnat.sty: Add missing file. - -2021-04-28 Richard Wai - - * libgnat/a-cohase.ads (Cursor): Synchronize comments for the Cursor - type definition to be consistent with identical definitions in other - container packages. Add additional comments regarding the importance of - maintaining the "Position" component for predefined equality. - * libgnat/a-cohama.ads (Cursor): Likewise. - * libgnat/a-cihama.ads (Cursor): Likewise. - * libgnat/a-cohase.adb (Find, Insert): Ensure that Cursor objects - always have their "Position" component set to ensure predefined - equality works as required. - * libgnat/a-cohama.adb (Find, Insert): Likewise. - * libgnat/a-cihama.adb (Find, Insert): Likewise. - -2021-04-28 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Do not demote a - const or pure function because of a parameter whose type is pointer - to function. - * gcc-interface/trans.c (Call_to_gnu): Do not put back a conversion - between an actual and a formal that are unconstrained array types. - (gnat_gimplify_expr) : New case. - * gcc-interface/utils2.c (build_binary_op): Do not use |= operator. - (gnat_stabilize_reference_1): Likewise. - (gnat_rewrite_reference): Likewise. - (build_unary_op): Do not clear existing TREE_CONSTANT on the result. - (gnat_build_constructor): Also accept the address of a constant - CONSTRUCTOR as constant element. - -2021-04-28 Eric Botcazou - - * gcc-interface/trans.c (is_array_of_scalar_type): New predicate. - (find_decls_r): New function. - (return_slot_opt_for_pure_call_p): New predicate. - (Call_to_gnu): Do not create a temporary for the return value if the - parent node is an aggregate. If there is a target, try to apply the - return slot optimization to regular calls to pure functions returning - an array of scalar type. - -2021-04-28 Eric Botcazou - - * gcc-interface/trans.c (language_function): Add comment. - (loop_info_d): Add fndecl and invariants fields. - (find_loop_for): Test fndecl instead of the context of var. - (find_loop): New function. - (Regular_Loop_to_gnu): Fold back into... - (Loop_Statement_to_gnu): ...this. Emit invariants on entry, if any. - (gnat_to_gnu) : Record nonconstant invariant - offset computations in loops when optimization is enabled. - * gcc-interface/utils2.c (gnat_invariant_expr): Handle BIT_AND_EXPR. - -2021-04-20 Martin Liska - - * gnatvsn.ads: Bump Library_Version to 12. - -2021-04-13 Eric Botcazou - - * gcc-interface/misc.c (gnat_init): Set default range bits to 0. - * gcc-interface/trans.c (extract_encoding): Delete. - (decode_name): Likewise. - (File_Name_to_gnu): New function. - (gigi): Call it to translate file names. Replace assertion on - 1-1 mapping between files and line maps with conditional error. - -2021-04-11 Gerald Pfeifer - - * gnat_ugn.texi (Top): Avoid invalid "up" link. - -2021-03-29 Eric Botcazou - - PR ada/99802 - * freeze.adb (Is_Full_Access_Aggregate): Call Is_Full_Access_Object - on the name of an N_Assignment_Statement to spot full access. - -2021-03-10 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity): Build a TYPE_STUB_DECL - for the main variant of an enumeration type declared as volatile. - -2021-03-09 Mikael Pettersson - - * raise-gcc.c: On Cygwin include mingw32.h to prevent - windows.h from including x86intrin.h or emmintrin.h. - -2021-03-05 Eric Botcazou - - PR ada/99264 - * init.c (__gnat_alternate_sta) [Linux]: Remove preprocessor test on - MINSIGSTKSZ and bump size to 32KB. - * libgnarl/s-osinte__linux.ads (Alternate_Stack_Size): Bump to 32KB. - -2021-03-02 Mikael Pettersson - - PR bootstrap/98590 - * cstreams.c: Ensure fileno_unlocked() is visible on Cygwin. - -2021-03-02 Eric Botcazou - - PR ada/99095 - * sem_ch8.adb (Check_Constrained_Object): Restrict again the special - optimization for limited types to non-array types except in the case - of an extended return statement. - -2021-03-02 Eric Botcazou - - PR ada/99020 - * sem_ch3.adb (Build_Discriminated_Subtype): Set the Cloned_Subtype - only if the type is not private. - -2021-02-26 YunQiang Su - - PR ada/98996 - * Makefile.rtl: - add 128Bit operation file for MIPS N64 and N32 to - LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS - -2021-02-12 Arnaud Charlet - - * repinfo.ads, repinfo.adb (*SO_Ref*): Restore. - -2021-02-03 Eric Botcazou - - * gcc-interface/decl.c (components_to_record): If the first component - with rep clause is the _Parent field with variable size, temporarily - set it aside when computing the internal layout of the REP part again. - * gcc-interface/utils.c (finish_record_type): Revert to taking the - maximum when merging sizes for all record types with rep clause. - (merge_sizes): Put SPECIAL parameter last and adjust recursive calls. - -2021-02-03 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Make the - two fields of the fat pointer type addressable, and do not make the - template type read-only. - : If the type has discriminants mark it as may_alias. - * gcc-interface/utils.c (make_dummy_type): Likewise. - (build_dummy_unc_pointer_types): Likewise. - -2021-01-26 Marius Hillenbrand - - PR ada/98228 - * gcc-interface/utils.c (maybe_pad_type): Test the size of the new - packable type instead of its alignment for addressability's sake. - -2021-01-25 Eric Botcazou - - * gcc-interface/trans.c (make_covariant_thunk): Set the DECL_CONTEXT - of the parameters and do not set TREE_PUBLIC on the thunk. - (maybe_make_gnu_thunk): Pass the alias to the covariant thunk. - * gcc-interface/utils.c (finish_subprog_decl): Set the DECL_CONTEXT - of the parameters here... - (begin_subprog_body): ...instead of here. - -2021-01-19 Eric Botcazou - - PR ada/98740 - * gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE. - -2021-01-14 Sebastian Huber - - PR ada/98595 - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) : Use - wraplf version of Aux_Long_Long_Float. - -2021-01-03 Eric Botcazou - - * gnatvsn.ads: Bump copyright year. - -2021-01-01 Jakub Jelinek - - * gnat_ugn.texi: Bump @copying's copyright year. - * gnat_rm.texi: Likewise. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6e4adbc..26a2c67 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -6,5515 +6,8 @@ * decl.c (wrap_cleanups_r): Don't wrap if noexcept. -2021-12-20 Patrick Palka - - * call.c (build_new_method_call): Set - BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P on the pruned baselink. - * cp-tree.h (BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P): Define. - * pt.c (filter_memfn_lookup): New subroutine of tsubst_baselink. - (tsubst_baselink): Use filter_memfn_lookup on the new lookup - result when BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P is set on the - old baselink. Remove redundant BASELINK_P check. - * search.c (build_baselink): Set - BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P appropriately. - -2021-12-20 Patrick Palka - - * call.c (build_new_method_call): For a non-dependent call - expression inside a template, returning a templated tree - whose overload set contains just the selected function. - * semantics.c (finish_call_expr): Likewise. - -2021-12-19 Matthias Kretz - - * module.cc (trees_out::get_merge_kind): NAMESPACE_DECLs also - cannot have a DECL_TEMPLATE_INFO. - -2021-12-19 Patrick Palka - - PR c++/94376 - * lambda.c (lambda_capture_field_type): Strip location wrappers - before checking for a capture proxy. - (is_capture_proxy): Assert that we don't see a location wrapper. - (mark_const_cap_r): Don't call is_constant_capture_proxy on a - location wrapper. - -2021-12-19 Patrick Palka - - PR c++/103714 - * constraint.cc (satisfy_declaration_constraints): Do - push_to_top_level and pop_from_top_level around the call to - satisfy_normalized_constraints. - -2021-12-17 Marek Polacek - - PR c/103649 - * parser.c (cp_parser_declaration): Don't warn for attribute_ignored_p. - (cp_parser_std_attribute): Skip parsing of the attribute - arguments when the attribute is ignored. - -2021-12-17 Marek Polacek - - PR c++/103749 - * decl.c (lookup_and_check_tag): Give an error when a class was - declared as template but no template header has been provided. - * pt.c (do_class_deduction): Don't deduce CLASSTYPE_ERRONEOUS - types. - -2021-12-17 Iain Sandoe - - PR c++/100127 - * coroutines.cc (coro_rewrite_function_body): Handle initial - await expressions that try to produce a reference value. - -2021-12-17 Iain Sandoe - - PR c++/100772 - * coroutines.cc (morph_fn_to_coro): Convert function parms - from reference before constructing any operator-new args - list. - -2021-12-17 Jason Merrill - - * constraint.cc (deduce_concept_introduction): Adjust comment. - -2021-12-17 Jason Merrill - - PR c++/103681 - * cp-tree.h (struct lang_type): Add non_pod_aggregate. - (CLASSTYPE_NON_POD_AGGREGATE): New. - * class.c (check_field_decls): Set it. - (check_bases_and_members): Check it. - (check_non_pod_aggregate): New. - (enum eoc_mode): New. - (end_of_class): Always include non-empty fields. - Add eoc_nv_or_dsize mode. - (include_empty_classes, layout_class_type): Adjust. - -2021-12-16 Marek Polacek - - PR c++/99980 - * parser.c (cp_parser_single_declaration): Maybe pass - CP_PARSER_FLAGS_DELAY_NOEXCEPT down to cp_parser_init_declarator. - -2021-12-16 Martin Sebor - - PR c++/103703 - * parser.c (class_decl_loc_t::diag_mismatched_tags): Check for class - type before assuming a type is one. - -2021-12-16 Patrick Palka - - PR c++/51577 - PR c++/83035 - PR c++/100465 - * call.c (add_operator_candidates): Add lookups parameter. - Use it to avoid performing a second unqualified lookup when - instantiating a dependent operator expression. - (build_new_op): Add lookups parameter and pass it appropriately. - * constraint.cc (finish_constraint_binary_op): Use - build_min_nt_loc instead of build_x_binary_op. - * coroutines.cc (build_co_await): Adjust call to build_new_op. - * cp-objcp-common.c (cp_common_init_ts): Mark - DEPENDENT_OPERATOR_TYPE appropriately. - * cp-tree.def (DEPENDENT_OPERATOR_TYPE): Define. - * cp-tree.h (WILDCARD_TYPE_P): Accept DEPENDENT_OPERATOR_TYPE. - (FOLD_EXPR_OP_RAW): New, renamed from ... - (FOLD_EXPR_OP): ... this. Change this to return the tree_code directly. - (DEPENDENT_OPERATOR_TYPE_SAVED_LOOKUPS): Define. - (templated_operator_saved_lookups): Define. - (build_new_op): Add lookups parameter. - (build_dependent_operator_type): Declare. - (build_x_indirect_ref): Add lookups parameter. - (build_x_binary_op): Likewise. - (build_x_unary_op): Likewise. - (build_x_compound_expr): Likewise. - (build_x_modify_expr): Likewise. - * cxx-pretty-print.c (get_fold_operator): Adjust after - FOLD_EXPR_OP change. - * decl.c (start_preparsed_function): Don't call - push_operator_bindings. - * decl2.c (grok_array_decl): Adjust calls to build_new_op. - * method.c (do_one_comp): Likewise. - (build_comparison_op): Likewise. - * module.cc (trees_out::type_node): Handle DEPENDENT_OPERATOR_TYPE. - (trees_in::tree_node): Likewise. - * name-lookup.c (lookup_name): Revert r11-2876 change. - (op_unqualified_lookup): Remove. - (maybe_save_operator_binding): Remove. - (discard_operator_bindings): Remove. - (push_operator_bindings): Remove. - * name-lookup.h (maybe_save_operator_binding): Remove. - (push_operator_bindings): Remove. - (discard_operator_bindings): Remove. - * parser.c (cp_parser_unary_expression): Adjust calls to build_x_*. - (cp_parser_binary_expression): Likewise. - (cp_parser_assignment_expression): Likewise. - (cp_parser_expression): Likewise. - (do_range_for_auto_deduction): Likewise. - (cp_convert_range_for): Likewise. - (cp_parser_perform_range_for_lookup): Likewise. - (cp_parser_template_argument): Likewise. - (cp_parser_omp_for_cond): Likewise. - (cp_parser_omp_for_incr): Likewise. - (cp_parser_omp_for_loop_init): Likewise. - (cp_convert_omp_range_for): Likewise. - (cp_finish_omp_range_for): Likewise. - * pt.c (fold_expression): Adjust after FOLD_EXPR_OP change. Pass - templated_operator_saved_lookups to build_x_*. - (tsubst_omp_for_iterator): Adjust call to build_x_modify_expr. - (tsubst_expr) : Pass - templated_operator_saved_lookups to build_x_*. - (tsubst_copy_and_build) : Likewise. - : Likewise. - : Likewise. - : Likewise. - : Likewise. - (dependent_type_p_r): Return true for DEPENDENT_OPERATOR_TYPE. - * ptree.c (cxx_print_type): Handle DEPENDENT_OPERATOR_TYPE. - * semantics.c (finish_increment_expr): Adjust call to - build_x_unary_op. - (finish_unary_op_expr): Likewise. - (handle_omp_for_class_iterator): Adjust calls to build_x_*. - (finish_omp_cancel): Likewise. - (finish_unary_fold_expr): Use build_dependent_operator_type. - (finish_binary_fold_expr): Likewise. - * tree.c (cp_free_lang_data): Don't call discard_operator_bindings. - * typeck.c (rationalize_conditional_expr): Adjust call to - build_x_binary_op. - (op_unqualified_lookup): Define. - (build_dependent_operator_type): Define. - (build_x_indirect_ref): Add lookups parameter and use - build_dependent_operator_type. - (build_x_binary_op): Likewise. - (build_x_array_ref): Likewise. - (build_x_unary_op): Likewise. - (build_x_compound_expr_from_list): Adjust call to - build_x_compound_expr. - (build_x_compound_expr_from_vec): Likewise. - (build_x_compound_expr): Add lookups parameter and use - build_dependent_operator_type. - (cp_build_modify_expr): Adjust call to build_new_op. - (build_x_modify_expr): Add lookups parameter and use - build_dependent_operator_type. - * typeck2.c (build_x_arrow): Adjust call to build_new_op. - -2021-12-15 Marek Polacek - - PR c++/102229 - * decl.c (check_decltype_auto): New. - (grokdeclarator): Call it. - * pt.c (do_auto_deduction): Don't check decltype(auto) here. - -2021-12-15 Martin Liska - - PR c++/103713 - * tree.c (maybe_warn_parm_abi): Fix warning word splitting. - -2021-12-15 Jakub Jelinek - - PR c++/103704 - * semantics.c (finish_omp_target_clauses_r): For OMP_CLAUSEs - just walk subtrees. - -2021-12-14 Patrick Palka - - PR c++/103408 - * constraint.cc (type_deducible_p): Remove workaround for - non-templated requires-expressions. - (normalize_placeholder_type_constraints): Likewise. - * cp-tree.h (current_template_depth): Define. - (PROCESSING_REAL_TEMPLATE_DECL): Inspect current_template_depth - instead of the magnitude of processing_template_decl. - * decl.c (start_decl): Likewise. - (grokfndecl): Likewise. - (grokvardecl): Likewise. - (grokdeclarator): Likewise. - * friend.c (make_friend_class): Likewise. Calculate - friend_depth differently when called at instantiation time - instead of parse time. - (do_friend): Likewise. - * parser.c (cp_parser_requires_clause_expression): Remove - workaround for lambdas inside constraints. - (cp_parser_constraint_expression): Likewise. - (cp_parser_requires_expression): Likewise. - (synthesize_implicit_template_parm): Add to current_template_parms - before calling process_template_parm. - * pt.c (inline_needs_template_parms): Inspect - current_template_depth instead of the magnitude of - processing_template_decl. - (push_inline_template_parms_recursive): Likewise. - (maybe_begin_member_template_processing): Likewise. - (begin_template_parm_list): Likewise. - (process_template_parm): Likewise. - (end_template_parm_list): Likewise. - (push_template_decl): Likewise. - (add_inherited_template_parms): Likewise. - (instantiate_class_template_1): Don't adjust - processing_template_decl around the call to make_friend_class. - adjust_processing_template_decl to adjust_template_depth. Set - current_template_parms instead of processing_template_decl when - adjust_template_depth. - (make_auto_1): Inspect current_template_depth instead of the - magnitude of processing_template_decl. - (splice_late_return_type): Likewise. - * semantics.c (fixup_template_type): Likewise. - -2021-12-14 Patrick Palka - - * call.c (build_new_op): Use releasing_vec for arglist. Declare - conv in the scope it's used. - -2021-12-14 Patrick Palka - - * cp-tree.h (COMPOUND_EXPR_OVERLOADED): Remove. - * pt.c (build_non_dependent_expr): Don't inspect the flag. - * tree.c (build_min_non_dep): Don't set the flag. - -2021-12-12 Jonathan Wakely - - * error.c: Define INCLUDE_MEMORY instead of - INCLUDE_UNIQUE_PTR. - * lex.c: Likewise. - * name-lookup.c: Likewise. - (class namespace_limit_reached): Use std::unique_ptr instead of - gnu::unique_ptr. - (suggest_alternatives_for): Use std::move instead of gnu::move. - (suggest_alternatives_in_other_namespaces): Likewise. - * parser.c: Define INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR. - -2021-12-09 Marek Polacek - - PR c++/103401 - * parser.c (cp_parser_decltype): Clear - auto_is_implicit_function_template_parm_p. - (cp_parser_type_id_1): Give errors only when !cp_parser_simulate_error. - (cp_parser_parameter_declaration): Clear - auto_is_implicit_function_template_parm_p after parsing the - decl-specifier-seq. - (cp_parser_sizeof_operand): Clear - auto_is_implicit_function_template_parm_p. - -2021-12-09 Jakub Jelinek - - PR pch/71934 - * module.cc (nop): Add another void * argument. - * name-lookup.c (resort_member_name_cmp): Pass the same pointer twice - to resort_data.new_value. - -2021-12-08 Chung-Lin Tang - - * parser.c (struct omp_dim): New struct type for use inside - cp_parser_omp_var_list_no_open. - (cp_parser_omp_var_list_no_open): Allow multiple levels of array and - component accesses in array section base-pointer expression. - (cp_parser_omp_all_clauses): Set 'allow_deref' to true in call to - cp_parser_omp_var_list for to/from clauses. - * semantics.c (handle_omp_array_sections_1): Extend allowed range - of base-pointer expressions involving INDIRECT/MEM/ARRAY_REF and - POINTER_PLUS_EXPR. - (handle_omp_array_sections): Adjust pointer map generation of - references. - (finish_omp_clauses): Extend allowed ranged of expressions - involving INDIRECT/MEM/ARRAY_REF and POINTER_PLUS_EXPR. - -2021-12-08 Chung-Lin Tang - - PR middle-end/92120 - * cp-tree.h (finish_omp_target): New declaration. - (finish_omp_target_clauses): Likewise. - * parser.c (cp_parser_omp_clause_map): Adjust call to - cp_parser_omp_var_list_no_open to set 'allow_deref' argument to true. - (cp_parser_omp_target): Factor out code, adjust into calls to new - function finish_omp_target. - * pt.c (tsubst_expr): Add call to finish_omp_target_clauses for - OMP_TARGET case. - * semantics.c (handle_omp_array_sections_1): Add handling to create - 'this->member' from 'member' FIELD_DECL. Remove case of rejecting - 'this' when not in declare simd. - (handle_omp_array_sections): Likewise. - (finish_omp_clauses): Likewise. Adjust to allow 'this[]' in OpenMP - map clauses. Handle 'A->member' case in map clauses. Remove case of - rejecting 'this' when not in declare simd. - (struct omp_target_walk_data): New struct for walking over - target-directive tree body. - (finish_omp_target_clauses_r): New function for tree walk. - (finish_omp_target_clauses): New function. - (finish_omp_target): New function. - -2021-12-07 Marek Polacek - - PR c++/95009 - * typeck.c (is_bitfield_expr_with_lowered_type) : - Handle UNARY_PLUS_EXPR, NEGATE_EXPR, NON_LVALUE_EXPR, BIT_NOT_EXPR, - P*CREMENT_EXPR too. - -2021-12-04 Jakub Jelinek - - * cp-tree.h (is_byte_access_type_not_plain_char): Declare. - * tree.c (is_byte_access_type_not_plain_char): New function. - * constexpr.c (clear_uchar_or_std_byte_in_mask): New function. - (cxx_eval_bit_cast): Don't error about padding bits if target - type is unsigned char or std::byte, instead return no clearing - ctor. Use clear_uchar_or_std_byte_in_mask. - -2021-12-03 Jason Merrill - - * error.c (current_dump_scope): New variable. - (dump_scope): Check it. - (dump_function_decl): Set it. - -2021-12-03 Marek Polacek - - PR c++/103403 - * cp-gimplify.c (cp_fold): Don't recurse if maybe_undo_parenthesized_ref - doesn't change its argument. - * pt.c (do_auto_deduction): Don't strip REFERENCE_REF_P trees if they - are REF_PARENTHESIZED_P. Use stripped_init when checking for - id-expression. - * semantics.c (force_paren_expr): Set REF_PARENTHESIZED_P on - REFERENCE_REF_P trees too. - (maybe_undo_parenthesized_ref): Remove dead code. - -2021-12-02 Marek Polacek - - PR c++/94490 - * pt.c (expand_integer_pack): Call - instantiate_non_dependent_expr_sfinae. - -2021-12-02 Marek Polacek - - PR c++/103408 - * cxx-pretty-print.c (pp_cxx_parameter_mapping): Print "" - rather than crash on an unnamed template parameter. - -2021-12-01 Jason Merrill - - PR c++/103310 - * constexpr.c (cxx_eval_binary_expression): Use - fold_binary_initializer_loc if manifestly cxeval. - -2021-11-30 Jason Merrill - - * cp-gimplify.c (genericize_if_stmt): Always build a COND_EXPR. - -2021-11-30 Richard Biener - - * logic.cc (cnf_size_r): Remove unreachable and inconsistently - placed gcc_unreachable ()s. - * pt.c (iterative_hash_template_arg): Remove unreachable - gcc_unreachable and return. - -2021-11-30 Thomas Schwinge - - * semantics.c (finish_omp_clauses): Remove "gang reduction on an - orphan loop" checking. - -2021-11-30 Cesar Philippidis - Thomas Schwinge - - * semantics.c (finish_omp_clauses): Emit an error on orphan - OpenACC gang reductions. - -2021-11-30 Jakub Jelinek - - * cp-gimplify.c (cp_fold_r): Perform folding of - std::source_location::current() calls here... - (cp_fold): ... rather than here. - -2021-11-30 Richard Biener - - * parser.c (cp_parser_postfix_expression): Remove - unreachable code. - * pt.c (tsubst_expr): Remove unreachable breaks. - -2021-11-29 Eric Gallager - - PR other/103021 - * Make-lang.in: Use ETAGS variable in TAGS target. - -2021-11-29 Patrick Palka - - PR c++/100493 - * parser.c (cp_parser_lambda_introducer): In C++17, don't - diagnose a redundant 'this' capture alongside a by-copy - capture default unless -pedantic. Move the diagnostic into - -Wc++20-extensions and adjust wording accordingly. - -2021-11-26 Jakub Jelinek - - PR c++/102753 - * cp-tree.h (struct ptrmem_cst): Add locus member. - (PTRMEM_CST_LOCATION): Define. - * tree.c (make_ptrmem_cst): Set PTRMEM_CST_LOCATION to input_location. - (cp_expr_location): Return PTRMEM_CST_LOCATION for PTRMEM_CST. - * typeck.c (build_x_unary_op): Overwrite PTRMEM_CST_LOCATION for - PTRMEM_CST instead of calling maybe_wrap_with_location. - (cp_build_addr_expr_1): Don't diagnose taking address of - immediate functions here. Instead when taking their address make - sure the returned ADDR_EXPR has EXPR_LOCATION set. - (expand_ptrmemfunc_cst): Copy over PTRMEM_CST_LOCATION to ADDR_EXPR's - EXPR_LOCATION. - (convert_for_assignment): Use cp_expr_loc_or_input_loc instead of - EXPR_LOC_OR_LOC. - * pt.c (tsubst_copy): Use build1_loc instead of build1. Ensure - ADDR_EXPR of immediate function has EXPR_LOCATION set. - * cp-gimplify.c (cp_fold_r): Diagnose taking address of immediate - functions here. For consteval if don't walk THEN_CLAUSE. - (cp_genericize_r): Move evaluation of calls to - std::source_location::current from here to... - (cp_fold): ... here. Don't assert calls to immediate functions must - be source_location_current_p, instead only constant evaluate - calls to source_location_current_p. - -2021-11-25 Jakub Jelinek - - PR c++/101180 - * pt.c (apply_late_template_attributes): Return early if there are no - dependent attributes. - -2021-11-25 Jakub Jelinek - - PR c++/102611 - * cp-tree.h (build_op_subscript): Implement P2128R6 - - Multidimensional subscript operator. Declare. - (class releasing_vec): Add release method. - (grok_array_decl): Remove bool argument, add vec ** - and tsubst_flags_t arguments. - (build_min_non_dep_op_overload): Declare another overload. - * parser.c (cp_parser_parenthesized_expression_list_elt): New function. - (cp_parser_postfix_open_square_expression): Mention C++23 syntax in - function comment. For C++23 parse zero or more than one initializer - clauses in expression list, adjust grok_array_decl caller. - (cp_parser_parenthesized_expression_list): Use - cp_parser_parenthesized_expression_list_elt. - (cp_parser_builtin_offsetof): Adjust grok_array_decl caller. - * decl.c (grok_op_properties): For C++23 don't check number - of arguments of operator[]. - * decl2.c (grok_array_decl): Remove decltype_p argument, add - index_exp_list and complain arguments. If index_exp is NULL, - handle *index_exp_list as the subscript expression list. - * tree.c (build_min_non_dep_op_overload): New overload. - * call.c (add_operator_candidates, build_over_call): Adjust comments - for removal of build_new_op_1. - (build_op_subscript): New function. - * pt.c (tsubst_copy_and_build_call_args): New function. - (tsubst_copy_and_build) : If second - operand is magic CALL_EXPR with ovl_op_identifier (ARRAY_REF) - as CALL_EXPR_FN, tsubst CALL_EXPR arguments including expanding - pack expressions in it and call grok_array_decl instead of - build_x_array_ref. - : Use tsubst_copy_and_build_call_args. - * semantics.c (handle_omp_array_sections_1): Adjust grok_array_decl - caller. - -2021-11-24 Marek Polacek - - PR c++/103347 - * cp-tree.h (struct cp_declarator): Add a location_t member. - (maybe_warn_cpp0x): Add a location_t parameter with a default argument. - (loc_or_input_loc): New. - * decl.c (grokdeclarator): Use loc_or_input_loc. Pass init_loc down - to maybe_warn_cpp0x. - * error.c (maybe_warn_cpp0x): Add a location_t parameter. Use it. - * parser.c (make_declarator): Initialize init_loc. - (cp_parser_member_declaration): Set init_loc. - (cp_parser_condition): Likewise. - (cp_parser_init_declarator): Likewise. - (cp_parser_parameter_declaration): Likewise. - -2021-11-24 Jason Merrill - - * call.c - * decl.c - * name-lookup.c: - Use auto_cond_timevar instead of timevar_cond_start/stop. - Remove wrapper functions. - -2021-11-23 Martin Sebor - - PR c++/96507 - * typeck.c (warn_for_null_address): Handle reference members. - -2021-11-23 Marek Polacek - - PR c++/19808 - * init.c (emit_mem_initializers): Don't add is_really_empty_class - members into uninitialized. - -2021-11-23 Jakub Jelinek - - * semantics.c (clone_omp_udr): Don't initialize - id.transform_lang_insert_block. - * optimize.c (clone_body): Likewise. - -2021-11-22 Jason Merrill - - * typeck.c (build_x_unary_op): Set address location. - (convert_member_func_to_ptr): Handle location wrapper. - * pt.c (convert_nontype_argument): Likewise. - -2021-11-22 Jason Merrill - - * typeck.c (check_return_expr): Only strip location wrapper during - NRV handling. - -2021-11-22 Jakub Jelinek - - PR c++/101731 - * parser.c (cp_parser_late_parsing_oacc_routine): Set - parser->oacc_routine->fndecl_seen here, rather than ... - (cp_finalize_oacc_routine): ... here. Don't error if - parser->oacc_routine->fndecl_seen is set for FUNCTION_DECLs. - -2021-11-22 Jakub Jelinek - - PR c++/103349 - * constexpr.c (potential_constant_expression_1): Punt on OMP_MASKED. - -2021-11-19 Jakub Jelinek - - PR c++/101180 - * pt.c (apply_late_template_attributes): Temporarily override - current_optimize_pragma, optimization_current_node, - current_target_pragma and scope_chain->omp_declare_target_attribute, - so that cplus_decl_attributes doesn't add implicit attributes. - -2021-11-19 Martin Sebor - - PR c++/33925 - PR c/102867 - * typeck.c (warn_for_null_address): Suppress warnings for code - resulting from macro expansion. - -2021-11-19 Martin Liska - - Revert: - 2021-11-19 Martin Liska - - * parser.c (add_debug_begin_stmt): Use option directly. - -2021-11-19 Patrick Palka - - * tree.c (cp_walk_subtrees) : Don't explicitly - walk the operands. - -2021-11-19 Patrick Palka - - PR c++/94376 - * lambda.c (lambda_capture_field_type): Simplify by handling the - is_this case first. When capturing by-value a capture proxy, - consider the type of the corresponding field instead. - -2021-11-19 Richard Biener - - PR c++/103326 - * pt.c (tsubst_copy): Handle VECTOR_CST. - -2021-11-19 Jakub Jelinek - - PR c++/70796 - * cp-gimplify.c (cp_gimplify_arg): New function. - (cp_gimplify_expr): Use cp_gimplify_arg instead of gimplify_arg, - pass true as last argument to it if there are any following - arguments in strong evaluation order with side-effects. - -2021-11-19 Marek Polacek - - PR c++/19808 - PR c++/96121 - * init.c (perform_member_init): Remove a forward declaration. - Walk the initializer using find_uninit_fields_r. New parameter - to track uninitialized fields. If a member is initialized, - remove it from the hash set. - (perform_target_ctor): Return the initializer. - (struct find_uninit_data): New class. - (find_uninit_fields_r): New function. - (find_uninit_fields): New function. - (emit_mem_initializers): Keep and initialize a set holding fields - that are not initialized. When handling delegating constructors, - walk the constructor tree using find_uninit_fields_r. Also when - initializing base clases. Pass uninitialized down to - perform_member_init. - -2021-11-19 Patrick Palka - - PR c++/103198 - * pt.c (any_template_parm_r): Walk the TREE_TYPE of a dummy - object. - -2021-11-18 Marek Polacek - - PR c++/103049 - * semantics.c (finish_compound_literal): Accept C++23 auto{x}. - * typeck2.c (build_functional_cast_1): Accept C++23 auto(x). - -2021-11-18 Patrick Palka - - * pt.c (tsubst_copy_and_build) : Disable the - -fpermissive fallback for C++20 template-id ADL, but keep the - diagnostic. - -2021-11-18 Jan Hubicka - - * decl.c (finish_function): Update use of decl_replaceable_p. - -2021-11-18 Patrick Palka - - PR c++/99911 - * pt.c (tsubst_copy_and_build) : Don't diagnose - name lookup failure if the arguments to an unresolved template - name are still dependent. - -2021-11-18 Patrick Palka - - PR c++/102670 - * pt.c (tsubst_copy_and_build) : When looking - for an identifier callee in the koenig_p case, also look through - TEMPLATE_ID_EXPR. Use tsubst_copy to substitute through the - template arguments of the template-id. - -2021-11-18 Matthias Kretz - - * constexpr.c (cxx_eval_constant_expression): Handle PAREN_EXPR - via cxx_eval_constant_expression. - * cp-objcp-common.c (names_builtin_p): Handle - RID_BUILTIN_ASSOC_BARRIER. - * cp-tree.h: Adjust TREE_LANG_FLAG documentation to include - PAREN_EXPR in REF_PARENTHESIZED_P. - (REF_PARENTHESIZED_P): Add PAREN_EXPR. - * parser.c (cp_parser_postfix_expression): Handle - RID_BUILTIN_ASSOC_BARRIER. - * pt.c (tsubst_copy_and_build): If the PAREN_EXPR is not a - parenthesized initializer, build a new PAREN_EXPR. - * semantics.c (force_paren_expr): Simplify conditionals. Set - REF_PARENTHESIZED_P on PAREN_EXPR. - (maybe_undo_parenthesized_ref): Test PAREN_EXPR for - REF_PARENTHESIZED_P. - -2021-11-18 Martin Liska - - * parser.c (add_debug_begin_stmt): Use option directly. - -2021-11-16 Jason Merrill - - * ptree.c (cxx_print_xnode): Handle PTRMEM_CST. - -2021-11-15 Jason Merrill - - * cp-tree.h (struct lang_decl_fn): Add implicit_constexpr. - (decl_implicit_constexpr_p): New. - * class.c (type_maybe_constexpr_destructor): Use - TYPE_HAS_TRIVIAL_DESTRUCTOR and maybe_constexpr_fn. - (finalize_literal_type_property): Simplify. - * constexpr.c (is_valid_constexpr_fn): Check for dtor. - (maybe_save_constexpr_fundef): Try to set DECL_DECLARED_CONSTEXPR_P - on inlines. - (cxx_eval_call_expression): Use maybe_constexpr_fn. - (maybe_constexpr_fn): Handle flag_implicit_constexpr. - (var_in_maybe_constexpr_fn): Use maybe_constexpr_fn. - (potential_constant_expression_1): Likewise. - (decl_implicit_constexpr_p): New. - * decl.c (validate_constexpr_redeclaration): Allow change with - -fimplicit-constexpr. - (grok_special_member_properties): Use maybe_constexpr_fn. - * error.c (dump_function_decl): Don't print 'constexpr' - if it's implicit. - * Make-lang.in (check-c++-all): Update. - -2021-11-15 Jason Merrill - - * typeck2.c (split_nonconstant_init_1): Handle flexarrays better. - -2021-11-15 Jakub Jelinek - - * parser.c (OMP_TARGET_CLAUSE_MASK): Add - PRAGMA_OMP_CLAUSE_THREAD_LIMIT. - -2021-11-15 Jason Merrill - - * call.c (perform_implicit_conversion_flags): Use the location of - the argument. - * lambda.c (build_lambda_object): Set location on the TARGET_EXPR. - -2021-11-15 Jason Merrill - - * constexpr.c (maybe_save_constexpr_fundef): Also check whether the - body of a constructor is potentially constant. - -2021-11-15 Jason Merrill - - * semantics.c (is_this_parameter): Check DECL_HAS_VALUE_EXPR_P - instead of is_capture_proxy. - -2021-11-15 Jason Merrill - - PR c++/70690 - * init.c (build_vec_init): Check default_init_uninitialized_part in - C++20. - -2021-11-15 Jason Merrill - - * constexpr.c (maybe_constant_value): Don't evaluate - in an unevaluated operand unless manifestly const-evaluated. - (fold_non_dependent_expr_template): Likewise. - * decl.c (compute_array_index_type_loc): This context is - manifestly constant-evaluated. - -2021-11-15 Jason Merrill - - * constexpr.c (cxx_eval_thunk_call): Error instead of ICE - on vbase thunk to constexpr function. - -2021-11-11 Patrick Palka - - * parser.c (cp_parser_template_argument_list): Use auto_vec - instead of manual memory management. - -2021-11-11 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_num_teams): Parse optional - lower-bound and store it into OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR. - Use OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR instead of - OMP_CLAUSE_NUM_TEAMS_EXPR. - (cp_parser_omp_target): For OMP_CLAUSE_NUM_TEAMS evaluate before - combined target teams even lower-bound expression. - * semantics.c (finish_omp_clauses): Handle - OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR of OMP_CLAUSE_NUM_TEAMS clause. - * pt.c (tsubst_omp_clauses): Likewise. - (tsubst_expr): For OMP_CLAUSE_NUM_TEAMS evaluate before - combined target teams even lower-bound expression. - -2021-11-09 Marek Polacek - - * class.c (default_init_uninitialized_part): Use - next_initializable_field. - * method.c (walk_field_subobs): Skip unnamed bit-fields. - -2021-11-09 Jakub Jelinek - - PR c++/103114 - * parser.c (cp_parser_userdef_numeric_literal): Use fold_build2 - with COMPLEX_EXPR arg instead of build_complex, use build_zero_cst - instead of fold_convert from integer_zero_node. - -2021-11-09 Patrick Palka - - PR c++/98394 - PR c++/85846 - * parser.c (cp_parser_placeholder_type_specifier): Declare - static. Don't override tentative to false when tmpl is a - concept-id with empty argument list. Don't emit a "does not - constrain a type" error when tentative. - -2021-11-09 Patrick Palka - - PR c++/100652 - * pt.c (push_template_decl): Check for bare parameter packs in - the argument list of a variable template partial specialization. - -2021-11-09 Aldy Hernandez - - * ptree.c (cxx_print_xnode): Add more space to pfx array. - -2021-11-04 Jason Merrill - - * call.c (build_array_conv): Use range-for. - (build_complex_conv): Likewise. - * constexpr.c (clear_no_implicit_zero) - (reduced_constant_expression_p): Likewise. - * decl.c (cp_complete_array_type): Likewise. - * decl2.c (mark_vtable_entries): Likewise. - * pt.c (iterative_hash_template_arg): - (invalid_tparm_referent_p, unify) - (type_dependent_expression_p): Likewise. - * typeck.c (build_ptrmemfunc_access_expr): Likewise. - -2021-11-03 Joseph Myers - - PR c/103031 - * cvt.c (convert_init): New function. - -2021-11-02 Richard Sandiford - - * decl.c: Include langhooks-def.h. - (cxx_simulate_record_decl): New function. - * cp-objcp-common.h (cxx_simulate_record_decl): Declare. - (LANG_HOOKS_SIMULATE_RECORD_DECL): Override. - -2021-10-29 Jakub Jelinek - - PR c++/102820 - * semantics.c (maybe_zero_constructor_nelts): New function. - (finish_compound_literal): Implement DR2351 - void{}. - If type is cv void and compound_literal has no elements, return - void_node. If type is cv void and compound_literal might have no - elements after expansion, handle it like other dependent compound - literals. - -2021-10-28 Patrick Palka - - PR c++/102933 - * parser.c (cp_parser_simple_type_specifier): Adjust diagnostic - for using auto in parameter declaration. - * pt.c (extract_autos_r): Ignore CTAD placeholders. - (extract_autos): Use range-based for. - (do_auto_deduction): Use extract_autos only for the concepts TS - and not also for standard concepts. - (type_uses_auto): Likewise with for_each_template_parm. - (check_auto_in_tmpl_args): Just return false outside of the - concepts TS. Simplify. - -2021-10-28 Patrick Palka - - PR c++/102780 - * constexpr.c (potential_constant_expression_1) : - When tf_error isn't set, preemptively check potentiality of the - second operand before performing trial evaluation of the first - operand. - (potential_constant_expression_1): When tf_error is set, first check - potentiality quietly and return true if successful, otherwise - proceed noisily to give errors. - -2021-10-27 Jakub Jelinek - - PR c++/102854 - * semantics.c (handle_omp_for_class_iterator, - finish_omp_for): Adjust c_omp_check_loop_iv_exprs caller. - -2021-10-27 Jakub Jelinek - - PR c++/102753 - * constexpr.c (cxx_eval_outermost_constant_expr): Perform - find_immediate_fndecl discovery if is_consteval or - in_immediate_context () rather than if is_consteval, t != r - and not in immediate function's body. - -2021-10-27 Jakub Jelinek - - PR c++/102753 - * cp-tree.h (saved_scope): Document that consteval_if_p member - is also set while processing immediate invocation. - (in_immediate_context): Declare. - * call.c (in_immediate_context): New function. - (immediate_invocation_p): Use it. - (struct in_consteval_if_p_temp_override): New class. - (build_over_call): Temporarily set in_consteval_if_p for processing - immediate invocation arguments. - * typeck.c (cp_build_addr_expr_1): Diagnose taking address of - an immediate method. Use t instead of TREE_OPERAND (arg, 1). - Use in_immediate_context function. - * constexpr.c (find_immediate_fndecl): Handle PTRMEM_CST - which refers to immediate function decl. - -2021-10-26 Marek Polacek - - PR c++/102617 - * parser.c (cp_parser_for): Maybe call cp_parser_init_statement - twice. Warn about range-based for loops with initializer here. - (cp_parser_init_statement): Don't duplicate code. Allow - alias-declaration in init-statement. - -2021-10-22 Eric Gallager - - PR other/102663 - * Make-lang.in: Add dummy c++.install-dvi target. - -2021-10-20 Jason Merrill - - * parser.c (cp_parser_parse_and_diagnose_invalid_type_name): - Pass true for declarator_p. - (cp_parser_nested_name_specifier_opt): Only look through - TYPENAME_TYPE if check_dependency_p is false. - -2021-10-20 Jakub Jelinek - - PR c++/102642 - * name-lookup.c (push_local_extern_decl_alias): Don't call - set_decl_tls_model on error_mark_node. - * decl.c (make_rtl_for_nonlocal_decl): Don't call - set_user_assembler_name on error_mark_node. - * parser.c (cp_parser_oacc_declare): Ignore DECL_LOCAL_DECL_ALIAS - if it is error_mark_node. - (cp_parser_omp_declare_target): Likewise. - -2021-10-19 Jakub Jelinek - - PR c++/102786 - * constexpr.c (cxx_eval_constant_expression): Don't reject - INTEGER_CSTs with type POINTER_TYPE to METHOD_TYPE. - -2021-10-15 Jason Merrill - - PR c++/51851 - PR c++/101402 - PR c++/102033 - PR c++/102034 - PR c++/102039 - PR c++/102044 - * pt.c (determine_specialization): Remove redundant code. - (fn_type_unification): Check for mismatched length. - (type_unification_real): Ignore terminal void. - (get_bindings): Don't stop at void_list_node. - * class.c (resolve_address_of_overloaded_function): Likewise. - -2021-10-15 Jason Merrill - - * constexpr.c (cxx_bind_parameters_in_call): Replace - new_call parameter with fun. - (cxx_eval_call_expression): Call it before instantiation. - (cxx_eval_outermost_constant_expr): Only instantiate fns - when manifestly_const_eval. - * typeck2.c (check_narrowing): This context is manifestly - constant-evaluated. - -2021-10-14 Kwok Cheung Yeung - - * decl.c (omp_declare_variant_finalize_one): Change call from - c_omp_mark_declare_variant to omp_mark_declare_variant. - * parser.c (cp_finish_omp_declare_variant): Change call from - c_omp_check_context_selector to omp_check_context_selector. - -2021-10-09 Jakub Jelinek - - * parser.c (cp_parser_omp_structured_block): Remove disallow_omp_attrs - argument. - (cp_parser_omp_structured_block_sequence): New function. - (cp_parser_omp_scan_loop_body): Use it. - (cp_parser_omp_sections_scope): Likewise. - -2021-10-08 Martin Liska - - * constexpr.c (maybe_warn_about_constant_value): Use new macro - OPTION_SET_P. - * decl.c (redeclaration_error_message): Likewise. - (cxx_init_decl_processing): Likewise. - -2021-10-08 Jakub Jelinek - - PR c++/102640 - * parser.c (handle_omp_declare_target_clause): New function. - (cp_parser_omp_declare_target): Use it. - -2021-10-07 Patrick Palka - - PR c++/61355 - * pt.c (convert_template_argument): Perform array/function to - pointer conversion on the substituted type of an NTTP. - -2021-10-07 Patrick Palka - - PR c++/99904 - * pt.c (is_compatible_template_arg): Set processing_template_decl - around tsubst_constraint_info. - -2021-10-07 Jonathan Wakely - - PR c++/102482 - * init.c (maybe_warn_list_ctor): Do not warn for a reference to - a non-const std::initializer_list. - -2021-10-06 Jakub Jelinek - - PR c++/102612 - * parser.c (cp_parser_jump_statement): Implement C++23 P2242R3. - Allow goto expressions in constexpr function bodies for C++23. - Adjust error message for older standards to mention it. - * decl.c (start_decl): Allow static and thread_local declarations - in constexpr function bodies for C++23. Adjust error message for - older standards to mention it. - * constexpr.c (ensure_literal_type_for_constexpr_object): Allow - declarations of variables with non-literal type in constexpr function - bodies for C++23. Adjust error message for older standards to mention - it. - (cxx_eval_constant_expression) : Diagnose declarations - of initialization of static or thread_local vars. - (cxx_eval_constant_expression) : Diagnose goto - statements for C++23. - (potential_constant_expression_1) : Swap the - CP_DECL_THREAD_LOCAL_P and TREE_STATIC checks. - (potential_constant_expression_1) : Allow labels for - C++23. Adjust error message for older standards to mention it. - -2021-10-06 Jakub Jelinek - Jason Merrill - - PR c++/98712 - PR c++/102490 - * cp-tree.h (maybe_synthesize_method): Declare. - * method.c (genericize_spaceship): Use - LOOKUP_NORMAL | LOOKUP_NONVIRTUAL | LOOKUP_DEFAULTED instead of - LOOKUP_NORMAL for flags. - (comp_info): Remove defining member. Add complain, code, retcat. - (comp_info::comp_info): Adjust. - (do_one_comp): Split out from build_comparison_op. Use - LOOKUP_NORMAL | LOOKUP_NONVIRTUAL | LOOKUP_DEFAULTED instead of - LOOKUP_NORMAL for flags. - (build_comparison_op): Add defining argument. Adjust comp_info - construction. Use defining instead of info.defining. Assert that - if defining, ctype is a complete type. Walk base binfos. - (synthesize_method, maybe_explain_implicit_delete, - explain_implicit_non_constexpr): Adjust build_comparison_op callers. - (maybe_synthesize_method): New function. - * class.c (check_bases_and_members): Don't call defaulted_late_check - for sfk_comparison. - (finish_struct_1): Call it here instead after class has been - completed. - * pt.c (maybe_instantiate_noexcept): Call maybe_synthesize_method - instead of synthesize_method. - -2021-10-05 Jakub Jelinek - - PR c++/102548 - * tree.c (apply_identity_attributes): Fix handling of the - case where an attribute in the list doesn't affect type - identity but some attribute before it does. - -2021-10-05 Patrick Palka - - PR c++/102547 - * constexpr.c (potential_constant_expression_1): Handle - NONTYPE_ARGUMENT_PACK. - -2021-10-05 Patrick Palka - - PR c++/98930 - * pt.c (has_value_dependent_address): Return true for a static - local variable from a function template. - -2021-10-04 Marek Polacek - - PR c++/97573 - * typeck.c (cp_build_binary_op): Call do_warn_array_compare. - -2021-10-03 Iain Sandoe - - PR c++/101765 - * coroutines.cc (register_local_var_uses): Emit a sorry if - we encounter a VLA in the coroutine local variables. - -2021-10-03 Iain Sandoe - - PR c++/99710 - * coroutines.cc (await_statement_walker): Report an error if - an await expression is found in a handler body. - -2021-10-03 John Eivind Helset - - PR c++/100673 - * coroutines.cc (build_co_await): Guard against NULL - await_suspend types. - -2021-10-03 Iain Sandoe - - PR c++/101133 - * coroutines.cc (build_co_await): Mark co_await_expr trees - with TREE_SIDE_EFFECTS, also mark any containing expression. - (finish_co_await_expr): Mark type-dependent co_await_expr - trees with TREE_SIDE_EFFECTS. - -2021-10-03 Iain Sandoe - - PR c++/99575 - * coroutines.cc (build_co_await): Strip NOPs from - candidate awaiter expressions before testing to see - if they need a temporary. - -2021-10-01 Martin Sebor - - PR c/102103 - * typeck.c (warn_for_null_address): Enhance. - (cp_build_binary_op): Call it also for member pointers. - -2021-10-01 qingzhe huang - - PR c++/101783 - * tree.c (cp_build_qualified_type_real): Exclude typedef from - error. - -2021-10-01 Jakub Jelinek - Richard Biener - - PR sanitizer/102515 - * typeck.c (cp_build_binary_op): Call ubsan_instrument_division - for division even for SANITIZE_SI_OVERFLOW. - -2021-10-01 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_order): Set - OMP_CLAUSE_ORDER_REPRODUCIBLE for explicit reproducible: modifier. - -2021-10-01 Jakub Jelinek - - PR c++/102496 - * name-lookup.c (push_local_extern_decl_alias): Return early even for - tls vars with non-dependent type when processing_template_decl. For - CP_DECL_THREAD_LOCAL_P vars call set_decl_tls_model on alias. - -2021-09-30 Patrick Palka - - PR c++/102535 - * method.c (is_xible_helper): Don't exit early for multi-arg - ctors in C++20. - -2021-09-30 Patrick Palka - - * parser.c (cp_parser_trait_expr): Call nreverse on the reversed - list of trailing arguments. - -2021-09-30 Patrick Palka - - PR c++/95567 - * method.c (build_comparison_op): Skip DECL_VIRTUAL_P fields. - -2021-09-28 Patrick Palka - - PR c++/99909 - * pt.c (coerce_template_template_parms): Keep - processing_template_decl set around the call to unify as well. - -2021-09-28 Iain Sandoe - - PR c++/102454 - * coroutines.cc (analyze_fn_parms): Clean up synthetic names for - unnamed function params. - (morph_fn_to_coro): Do not try to set a guard variable for param - DTORs in the ramp, unless we have exceptions active. - -2021-09-27 Patrick Palka - - PR c++/102479 - * pt.c (rewrite_template_parm): Handle single-level tsubst_args. - Avoid a tree cycle when assigning the DECL_TEMPLATE_PARMS for a - rewritten ttp. - (alias_ctad_tweaks): Set current_template_parms accordingly. - -2021-09-23 Michel Morin - - * parser.c (cp_keyword_starts_decl_specifier_p): Do not - handle RID_ATTRIBUTE. - (cp_parser_constructor_declarator_p): Remove now-redundant - checks. - (cp_parser_lambda_declarator_opt): Likewise. - -2021-09-23 Michel Morin - - PR c++/77565 - * parser.c (cp_keyword_starts_decl_specifier_p): Handle more - decl-specifiers (typedef/inline/cv/explicit/virtual/friend). - -2021-09-23 Patrick Palka - - * ptree.c (cxx_print_decl): Dump the DECL_TEMPLATE_RESULT of - a TEMPLATE_DECL. Dump the DECL_TEMPLATE_INFO rather than just - printing its pointer value. - -2021-09-23 Jakub Jelinek - - PR c++/102413 - * parser.c (cp_parser_omp_directive_args): Diagnose if omp::directive - is not followed by a balanced token sequence starting with open paren. - -2021-09-22 Patrick Palka - - DR 2446 - PR c++/102412 - * constexpr.c (cxx_eval_constant_expression) - : Check value_dependent_expression_p - instead of processing_template_decl. - * pt.c (value_dependent_expression_p) : - Return true only if any_dependent_template_arguments_p. - (instantiation_dependent_r) : Remove this case. - : Likewise. - -2021-09-22 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_allocate): Parse allocate clause - modifiers. - * semantics.c (finish_omp_clauses) : Perform - semantic analysis of OMP_CLAUSE_ALLOCATE_ALIGN. - * pt.c (tsubst_omp_clauses) : Handle - also OMP_CLAUSE_ALLOCATE_ALIGN. - -2021-09-22 Barrett Adair - - * pt.c (find_parm_usage_r): New walk_tree callback to find func - parms. - (any_template_arguments_need_structural_equality_p): New special - case. - -2021-09-21 wangpc - - * decl.c (start_decl_1): Move verify_type_context to ... - (cp_finish_decl): ... to here. - -2021-09-18 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_order): Parse unconstrained - and reproducible modifiers. - (OMP_DISTRIBUTE_CLAUSE_MASK): Add order clause. - -2021-09-18 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_default): Handle private and - firstprivate arguments, adjust diagnostics on unknown argument. - * cp-gimplify.c (cxx_omp_finish_clause): Handle OMP_CLAUSE_PRIVATE. - -2021-09-18 Jason Merrill - - * cp-tree.h (dependentish_scope_p): Declare. - * pt.c (dependentish_scope_p): New. - * parser.c (cp_parser_lookup_name): Return a TYPENAME_TYPE - for lookup of a type in a dependent object. - (cp_parser_template_id): Handle TYPENAME_TYPE. - (cp_parser_template_name): If we're looking for a type, - a name followed by < names a template. - -2021-09-18 Jason Merrill - - * cp-tree.h: Fix typo in LANG_FLAG list. - -2021-09-17 Jakub Jelinek - - * cp-tree.h (finish_omp_atomic): Add r and weak arguments. - * parser.c (cp_parser_omp_atomic): Update function comment for - OpenMP 5.1 atomics, parse OpenMP 5.1 atomics and fail, compare and - weak clauses. - * semantics.c (finish_omp_atomic): Add r and weak arguments, handle - them, handle COND_EXPRs. - * pt.c (tsubst_expr): Adjust for COND_EXPR forms that - finish_omp_atomic can now produce. - -2021-09-16 Patrick Palka - - PR c++/98486 - * constraint.cc (get_normalized_constraints_from_decl): Always - look up constraints using the most general template. - * decl.c (grokdeclarator): Set constraints on a static data - member template. - * pt.c (determine_specialization): Check constraints on a - variable template. - -2021-09-16 Iain Sandoe - - * coroutines.cc (await_statement_walker): Code cleanups. - -2021-09-16 Jason Merrill - - * constexpr.c (cxx_eval_outermost_constant_expr): Use - protected_set_expr_location. - -2021-09-15 Patrick Palka - - PR c++/101904 - * call.c (build_user_type_conversion_1): Add tf_conv to complain. - (add_candidates): When in a SFINAE context, instead of adding a - candidate to bad_fns just mark it unviable. - -2021-09-15 Jason Merrill - - * cp-tree.h (parsing_function_declarator): Declare. - * name-lookup.c (set_decl_context_in_fn): Use it. - * parser.c (cp_parser_direct_declarator): Use it. - (parsing_function_declarator): New. - -2021-09-15 Jakub Jelinek - - PR c++/88578 - PR c++/102295 - * typeck2.c (split_nonconstant_init_1): Don't throw away empty - initializers of flexible array members if they have non-zero type - size. - -2021-09-15 Patrick Palka - - PR c++/102050 - * decl.c (grok_special_member_properties): Set - TYPE_HAS_COPY_CTOR, TYPE_HAS_DEFAULT_CONSTRUCTOR - and TYPE_HAS_LIST_CTOR independently from each other. - -2021-09-15 Jason Merrill - - * decl.c (cxx_init_decl_processing): Only warn about odd - interference sizes if they were specified with --param. - -2021-09-15 Jason Merrill - - PR c++/48396 - * cp-tree.h (enum cp_tree_index): Remove CPTI_TYPE_INFO_PTR_TYPE. - (type_info_ptr_type): Remove. - * rtti.c (init_rtti_processing): Don't predeclare std::type_info. - (typeid_ok_p): Check for null const_type_info_type_node. - (type_info_ptr_type, get_void_tinfo_ptr): New fns. - (get_tinfo_decl_dynamic, get_tinfo_ptr): Use them. - (ptr_initializer, ptm_initializer, get_pseudo_ti_init): Use them. - (get_tinfo_desc): Use const_ptr_type_node. - -2021-09-15 Jason Merrill - - * parser.c (cp_parser_template_name): Move object type. - (cp_parser_pre_parsed_nested_name_specifier): Likewise. - -2021-09-15 Jason Merrill - - * parser.c (cp_parser_unqualified_id): Only complain about ~A in - a declarator. - -2021-09-14 Iain Sandoe - - * coroutines.cc (struct param_info): Add copy_var. - (build_actor_fn): Use simplified param references. - (register_param_uses): Likewise. - (rewrite_param_uses): Likewise. - (analyze_fn_parms): New function. - (coro_rewrite_function_body): Add proxies for the fn - parameters to the outer bind scope of the rewritten code. - (morph_fn_to_coro): Use simplified version of param ref. - -2021-09-14 Iain Sandoe - - * coroutines.cc (coro_resume_fn_id, coro_destroy_fn_id, - coro_promise_id, coro_frame_needs_free_id, coro_resume_index_id, - coro_self_handle_id, coro_actor_continue_id, - coro_frame_i_a_r_c_id): New. - (coro_init_identifiers): Initialize new name identifiers. - (coro_promise_type_found_p): Use pre-built identifiers. - (struct await_xform_data): Remove unused fields. - (transform_await_expr): Delete code that is now unused. - (build_actor_fn): Simplify interface, use pre-built identifiers and - remove transforms that are no longer needed. - (build_destroy_fn): Use revised field names. - (register_local_var_uses): Use pre-built identifiers. - (coro_rewrite_function_body): Simplify interface, use pre-built - identifiers. Generate proxy vars in the outer bind expr scope for the - implementation state that we wish to expose. - (morph_fn_to_coro): Adjust comments for new variable names, use pre- - built identifiers. Remove unused code to generate frame entries for - the implementation state. Adjust call for build_actor_fn. - -2021-09-14 Patrick Palka - - PR c++/102163 - * constexpr.c (cxx_eval_call_expression): After evaluating a - subobject constructor call for an empty union member, produce a - side effect that makes sure the member gets activated. - -2021-09-14 Jakub Jelinek - - PR c++/102295 - * decl.c (layout_var_decl): For aggregates ending with a flexible - array member, add the size of the initializer for that member to - DECL_SIZE and DECL_SIZE_UNIT. - -2021-09-14 Jakub Jelinek - - PR c++/102305 - * method.c (is_xible_helper): Call complete_type on to. - -2021-09-14 Jason Merrill - - * decl.c (cxx_init_decl_processing): Don't warn if L1 cache line - size is smaller than maxalign. - -2021-09-13 Jason Merrill - - * constexpr.c (maybe_warn_about_constant_value): - Complain about std::hardware_destructive_interference_size. - (cxx_eval_constant_expression): Call it. - * decl.c (cxx_init_decl_processing): Check - --param *-interference-size values. - -2021-09-13 Patrick Palka - - PR c++/101764 - * cp-tree.h (PACK_EXPANSION_FORCE_EXTRA_ARGS_P): New accessor - macro. - * pt.c (has_extra_args_mechanism_p): New function. - (find_parameter_pack_data::found_extra_args_tree_p): New data - member. - (find_parameter_packs_r): Set ppd->found_extra_args_tree_p - appropriately. - (make_pack_expansion): Set PACK_EXPANSION_FORCE_EXTRA_ARGS_P if - ppd.found_extra_args_tree_p. - (use_pack_expansion_extra_args_p): Return true if there were - unsubstituted packs and PACK_EXPANSION_FORCE_EXTRA_ARGS_P. - (tsubst_pack_expansion): Pass the pack expansion to - use_pack_expansion_extra_args_p. - -2021-09-10 Jakub Jelinek - - * parser.c (cp_parser_omp_atomic): Allow acq_rel on atomic read/write - and acq_rel/acquire clauses on update. - * semantics.c (finish_omp_atomic): Adjust c_finish_omp_atomic caller. - -2021-09-08 Richard Biener - - PR c++/102228 - * cp-tree.h (ANON_AGGR_TYPE_FIELD): New define. - * decl.c (fixup_anonymous_aggr): Wipe RTTI info put in - place on invalid code. - * decl2.c (reset_type_linkage): Guard CLASSTYPE_TYPEINFO_VAR - access. - * module.cc (trees_in::read_class_def): Likewise. Reconstruct - ANON_AGGR_TYPE_FIELD. - * semantics.c (finish_member_declaration): Populate - ANON_AGGR_TYPE_FIELD for anon aggregate typed members. - * typeck.c (lookup_anon_field): Remove DFS search and return - ANON_AGGR_TYPE_FIELD directly. - -2021-09-07 Jakub Jelinek - - PR c++/100495 - * constexpr.c (maybe_save_constexpr_fundef): Save body even for - constexpr deleting dtors. - (cxx_eval_call_expression): Don't use DECL_CLONED_FUNCTION for - deleting dtors. - -2021-09-07 Marcel Vollweiler - - * parser.c (cp_parser_omp_flush): Parse 'seq_cst' clause on 'flush' - directive. - * semantics.c (finish_omp_flush): Handle MEMMODEL_SEQ_CST. - -2021-09-03 Iain Sandoe - - * coroutines.cc (register_local_var_uses): Do not mangle - frame entries for the outermost scope. Record the outer - scope as nesting depth 0. - -2021-09-03 Iain Sandoe - - * coroutines.cc (coro_build_artificial_var): New. - (build_actor_fn): Use var builder, rename vars to use - implementation namespace. - (coro_rewrite_function_body): Likewise. - (morph_fn_to_coro): Likewise. - -2021-09-03 Iain Sandoe - - * coroutines.cc (transform_local_var_uses): Record - frame offset expressions as DECL_VALUE_EXPRs instead of - rewriting them. - -2021-09-03 Patrick Palka - - PR c++/101904 - * call.c (build_this_conversion): New function, split out from - add_function_candidate. - (add_function_candidate): New parameter shortcut_bad_convs. - Document it. Use build_this_conversion. Stop at the first bad - argument conversion when shortcut_bad_convs is true. - (add_template_candidate_real): New parameter shortcut_bad_convs. - Use build_this_conversion to check the 'this' conversion before - attempting deduction. When the rejection reason code is - rr_bad_arg_conversion, pass -1 instead of 0 as the viable - parameter to add_candidate. Pass 'convs' to add_candidate. - (add_template_candidate): New parameter shortcut_bad_convs. - (add_template_conv_candidate): Pass false as shortcut_bad_convs - to add_template_candidate_real. - (add_candidates): Prefer to shortcut bad conversions during - overload resolution under the assumption that we'll eventually - see a strictly viable candidate. If this assumption turns out - to be false, re-process the non-strictly viable candidates - without shortcutting those bad conversions. - -2021-09-03 Jason Merrill - - * pt.c (limit_bad_template_recursion): Suppress -Wunused for decls - we decide not to instantiate. - -2021-09-03 Jakub Jelinek - - PR target/102024 - * class.c (build_base_field): Use SET_DECL_FIELD_ABI_IGNORED - instead of writing to DECL_FIELD_ABI_IGNORED. - (layout_class_type): Likewise. In the place where zero-width - bitfields used to be removed, use - SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD on those fields instead. - -2021-09-01 Iain Sandoe - - * call.c (build_over_call): Handle unavailable state in addition to - deprecation. - * class.c (type_build_ctor_call): Likewise. - (type_build_dtor_call): Likewise. - * cp-tree.h: Rename cp_warn_deprecated_use to - cp_handle_deprecated_or_unavailable. - * decl.c (duplicate_decls): Merge unavailability. - (grokdeclarator): Handle unavailability in addition to deprecation. - (type_is_unavailable): New. - (grokparms): Handle unavailability in addition to deprecation. - * decl.h (enum deprecated_states): Add - UNAVAILABLE_DEPRECATED_SUPPRESS. - * decl2.c (cplus_decl_attributes): Propagate unavailability to - templates. - (cp_warn_deprecated_use): Rename to ... - (cp_handle_deprecated_or_unavailable): ... this and amend to handle - the unavailable case. It remains a warning in the case of deprecation - but becomes an error in the case of unavailability. - (cp_warn_deprecated_use_scopes): Handle unavailability. - (mark_used): Likewise. - * parser.c (cp_parser_template_name): Likewise. - (cp_parser_template_argument): Likewise. - (cp_parser_parameter_declaration_list): Likewise. - * typeck.c (build_class_member_access_expr): Likewise. - (finish_class_member_access_expr): Likewise. - * typeck2.c (build_functional_cast_1): Likewise. - -2021-09-01 Iain Sandoe - - * coroutines.cc (build_actor_fn): Add begin/finish clauses - to the initial test in the actor function. - -2021-09-01 Iain Sandoe - - * coroutines.cc (await_statement_walker): Use build_stmt and - add_stmt instead of build1 and finish_expr_stmt. - -2021-08-31 Jason Merrill - - * coroutines.cc (flatten_await_stmt): Fix copyo. - * decl.c (reshape_init_class): Simplify. - * module.cc (module_state::read_language): Add null check. - * parser.c (build_range_temp): Avoid type_uses_auto. - (cp_parser_class_specifier_1): Add null check. - -2021-08-31 Patrick Palka - - PR c++/12672 - * call.c (rejection_reason::call_varargs_p): Rename this - previously unused member to ... - (rejection_reason::least_p): ... this. - (arity_rejection): Add least_p parameter. - (add_template_candidate_real): When there are explicit - template arguments, check that the arity of the call agrees with - the arity of the function before attempting deduction. - (print_arity_information): Add least_p parameter. - (print_z_candidate): Adjust call to print_arity_information. - -2021-08-31 Martin Sebor - - * parser.c (cp_parser_selection_statement): Use direct initialization - instead of copy. - -2021-08-31 Jason Merrill - - * constexpr.c (explain_invalid_constexpr_fn): Use iloc_sentinel. - -2021-08-31 Jason Merrill - - PR c++/92193 - * cp-tree.h (FNDECL_MANIFESTLY_CONST_EVALUATED): New. - * constexpr.c (cxx_eval_call_expression): Set it. - * pt.c (neglectable_inst_p): Check it. - -2021-08-31 Marcel Vollweiler - - * parser.c (cp_parser_omp_clause_device): Parse device-modifiers 'device_num' - and 'ancestor' in 'target device' clauses. - * semantics.c (finish_omp_clauses): Error handling. Constant device ids must - evaluate to '1' if 'ancestor' is used. - -2021-08-30 Jason Merrill - - PR c++/96286 - * cp-tree.h (struct lang_type): Add erroneous bit-field. - (CLASSTYPE_ERRONEOUS): New. - * pt.c (limit_bad_template_recursion): Check it. - (instantiate_class_template_1): Set it. - -2021-08-30 Jason Merrill - - * constexpr.c (cxx_eval_outermost_constant_expr): Copy - expr location to result. - -2021-08-30 Jason Merrill - - PR c++/101460 - * cp-tree.h (cxx_constant_value_sfinae): Declare. - * constexpr.c (cxx_constant_value_sfinae): New. - * pt.c (fold_targs_r, maybe_fold_fn_template_args): New. - (tsubst_copy_and_build) [CALL_EXPR]: Call - maybe_fold_fn_template_args. - -2021-08-30 Jason Merrill - - * parser.c (cp_parser_simple_requirement): Warn about missing - requires. - -2021-08-27 Jason Merrill - - * typeck2.c (build_x_arrow): Do set TREE_TYPE when operand is - a dependent pointer. - -2021-08-25 Andrew Pinski - - PR c++/66590 - * cp-objcp-common.c (cxx_block_may_fallthru): Handle - CLEANUP_STMT for the case which will be try/finally. - -2021-08-25 Jakub Jelinek - - PR c++/102019 - * init.c (build_value_init_noctor): Ignore unnamed zero-width - bitfields. - -2021-08-23 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_num_tasks, - cp_parser_omp_clause_grainsize): Parse the optional strict: modifier. - -2021-08-20 Jakub Jelinek - - * parser.c (cp_parser_handle_statement_omp_attributes): Determine if - PRAGMA_OMP_ERROR directive is C_OMP_DIR_STANDALONE. - (cp_parser_omp_error): New function. - (cp_parser_pragma): Handle PRAGMA_OMP_ERROR. - -2021-08-20 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_depend_sink): Reject spurious - comma at the end of list. Don't parse closing paren here... - (cp_parser_omp_clause_depend): ... but here instead. - -2021-08-19 Patrick Palka - - PR c++/101803 - * cp-tree.h (CONSTRUCTOR_IS_PAREN_INIT): Clarify comment. - -2021-08-19 Jakub Jelinek - - * parser.c (cp_parser_omp_requires): Don't call cp_lexer_nth_token_is - and optionally consume token if current token is CPP_EOF, - CPP_PRAGMA_EOL or CPP_CLOSE_PAREN. - -2021-08-19 Jakub Jelinek - - * parser.c (cp_parser_omp_nothing): Use cp_parser_require_pragma_eol - instead of cp_parser_skip_to_pragma_eol. - -2021-08-18 Patrick Palka - - PR c++/101344 - PR c++/101803 - * cp-tree.h (CONSTRUCTOR_BRACES_ELIDED_P): Define. - * decl.c (reshape_init_r): Set it. - * pt.c (collect_ctor_idx_types): Recurse into a sub-CONSTRUCTOR - iff CONSTRUCTOR_BRACES_ELIDED_P. - -2021-08-18 Patrick Palka - - PR c++/101883 - * pt.c (convert_template_argument): Pass LOOKUP_IMPLICIT to - do_auto_deduction. - -2021-08-18 Jakub Jelinek - - * parser.c (cp_parser_omp_nothing): New function. - (cp_parser_pragma): Handle PRAGMA_OMP_NOTHING. - -2021-08-18 Jakub Jelinek - - * parser.c (cp_parser_omp_ordered): Return true instead of - false after emitting errors that the directive is not allowed in - pragma_stmt context. - (cp_parser_omp_target_update): Likewise. - (cp_parser_omp_cancellation_point): Change return type from void to - bool, return false if the directive should be ignored in pragma_stmt - contexts. - (cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data): - Change return type from tree to bool, return false if the - directive should be ignored in pragma_stmt contexts. - (cp_parser_omp_target): Adjust callers of cp_parser_omp_target_*_data, - return their result directly. - (cp_parser_pragma): For PRAGMA_OMP_CANCELLATION_POINT return what - cp_parser_omp_cancellation_point returned. Return true instead of - false after emitting errors that the directive is not allowed in - pragma_stmt context. - -2021-08-17 Jakub Jelinek - - PR c++/101539 - * cp-tree.h (enum cp_trait_kind): Add CPTK_IS_LAYOUT_COMPATIBLE. - (enum cp_built_in_function): Add CP_BUILT_IN_IS_CORRESPONDING_MEMBER. - (fold_builtin_is_corresponding_member, next_common_initial_seqence, - layout_compatible_type_p): Declare. - * parser.c (cp_parser_primary_expression): Handle - RID_IS_LAYOUT_COMPATIBLE. - (cp_parser_trait_expr): Likewise. - * cp-objcp-common.c (names_builtin_p): Likewise. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_LAYOUT_COMPATIBLE. - * decl.c (cxx_init_decl_processing): Register - __builtin_is_corresponding_member builtin. - * constexpr.c (cxx_eval_builtin_function_call): Handle - CP_BUILT_IN_IS_CORRESPONDING_MEMBER builtin. - * semantics.c (is_corresponding_member_union, - is_corresponding_member_aggr, fold_builtin_is_corresponding_member): - New functions. - (trait_expr_value): Handle CPTK_IS_LAYOUT_COMPATIBLE. - (finish_trait_expr): Likewise. - * typeck.c (next_common_initial_seqence, layout_compatible_type_p): - New functions. - * cp-gimplify.c (cp_gimplify_expr): Fold - CP_BUILT_IN_IS_CORRESPONDING_MEMBER. - (cp_fold): Likewise. - * tree.c (builtin_valid_in_constant_expr_p): Handle - CP_BUILT_IN_IS_CORRESPONDING_MEMBER. - * cxx-pretty-print.c (pp_cxx_trait_expression): Handle - CPTK_IS_LAYOUT_COMPATIBLE. - * class.c (remove_zero_width_bit_fields): Remove. - (layout_class_type): Don't call it. - -2021-08-17 Jakub Jelinek - - * parser.c (OMP_SCOPE_CLAUSE_MASK): Define. - (cp_parser_omp_scope): New function. - (cp_parser_omp_construct, cp_parser_pragma): Handle PRAGMA_OMP_SCOPE. - * pt.c (tsubst_expr): Handle OMP_SCOPE. - -2021-08-12 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_name): Parse filter clause name. - (cp_parser_omp_clause_filter): New function. - (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FILTER. - (OMP_MASKED_CLAUSE_MASK): Define. - (cp_parser_omp_masked): New function. - (cp_parser_omp_parallel): Handle parallel masked. - (cp_parser_omp_construct, cp_parser_pragma): Handle PRAGMA_OMP_MASKED. - * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_FILTER. - * pt.c (tsubst_omp_clauses): Likewise. - (tsubst_expr): Handle OMP_MASKED. - -2021-08-12 Sergei Trofimovich - - PR c++/101219 - * pt.c (tsubst_copy_and_build): Use build_ptrmemfunc_access_expr - to construct ptrmemfunc expression instantiation. - -2021-08-12 Tobias Burnus - - * parser.c (cp_parser_omp_clause_proc_bind): Accept - 'primary' as alias for 'master'. - -2021-08-12 Jakub Jelinek - - * cp-tree.h (omp_declare_target_attr): New type. - (struct saved_scope): Change type of omp_declare_target_attribute - from int to vec * and move it. - * parser.c (cp_parser_omp_declare_target): Instead of - incrementing scope_chain->omp_declare_target_attribute, push - a struct containing parser->lexer->in_omp_attribute_pragma to - the vector. - (cp_parser_omp_end_declare_target): Instead of decrementing - scope_chain->omp_declare_target_attribute, pop a structure - from it. Diagnose mismatching declare target vs. - end declare target syntax. - * semantics.c (finish_translation_unit): Use vec_safe_length - and vec_safe_truncate on scope_chain->omp_declare_target_attributes. - * decl2.c (cplus_decl_attributes): Use vec_safe_length - on scope_chain->omp_declare_target_attributes. - -2021-08-12 Jakub Jelinek - - * parser.c (cp_parser_lambda_body): Add temp overrides - for parser->{omp_declare_simd,oacc_routine,omp_attrs_forbidden_p}. - (cp_parser_statement): Restore parser->omp_attrs_forbidden_p for - cp_parser_declaration_statement. - (cp_parser_default_argument): Add temp override for - parser->omp_attrs_forbidden_p. - (cp_parser_late_parsing_omp_declare_simd): Diagnose declare simd - or declare variant in attribute syntax on a declaration immediately - following an OpenMP construct in pragma syntax. - -2021-08-12 Jakub Jelinek - - PR c++/94162 - * method.c (cat_tag_for): Return cc_last for !CLASS_TYPE_P - or for classes not in std namespace. - -2021-08-12 Jakub Jelinek - - * name-lookup.c (finish_using_directive): Diagnose omp::directive - or omp::sequence attributes on using-directive. - -2021-08-12 Jakub Jelinek - - * parser.c (cp_parser_block_declaration): Call - cp_parser_using_directive for C++11 attributes followed by - using namespace tokens. - (cp_parser_using_directive): Parse C++11 attributes at the start - of the directive rather than at the end, only parse GNU attributes - at the end. - -2021-08-12 Patrick Palka - - PR c++/101663 - * constexpr.c (cxx_eval_store_expression): Handle the lval=true - case in the early exit code path for empty stores with mismatched - types. - -2021-08-11 Patrick Palka - - PR c++/101725 - DR 2082 - * cp-tree.h (unevaluated_p): Return true for REQUIRES_EXPR. - * decl.c (local_variable_p_walkfn): Don't walk into unevaluated - operands. - * parser.c (cp_parser_primary_expression) : Never - reject uses of local variables in unevaluated contexts. - * tree.c (cp_walk_subtrees) : Increment - cp_unevaluated_operand. Use cp_walk_tree directly instead of - WALK_SUBTREE to avoid the goto. Use REQUIRES_EXPR_REQS instead - of TREE_OPERAND directly. - -2021-08-11 Jakub Jelinek - - PR c++/101786 - * decl2.c (var_defined_without_dynamic_init): Return true for - DECL_DECLARED_CONSTINIT_P with complete type and trivial destructor. - -2021-08-11 Patrick Palka - - PR c++/79501 - * parser.c (maybe_adjust_declarator_for_dguide): New, split - out from ... - (cp_parser_init_declarator): ... here. - (cp_parser_member_declaration): Use it. - -2021-08-11 Patrick Palka - - PR c++/89062 - * parser.c (cp_parser_parameter_declaration_list): Don't call - grokdeclarator if cp_parser_error_occurred. - (cp_parser_parameter_declaration): Simulate an error if we see - the beginning of a CTAD form, i.e. if we see an opening brace - after the decl-specifier-seq and the type is a CTAD placeholder. - -2021-08-10 Jakub Jelinek - - * parser.c (cp_parser_member_declaration): Move odsd declaration - before cp_parser_using_declaration call to avoid errors with - GCC 4.8 to 6. - -2021-08-10 Jakub Jelinek - - * parser.h (struct cp_omp_declare_simd_data): Remove - in_omp_attribute_pragma and clauses members, add loc and attribs. - (struct cp_oacc_routine_data): Remove loc member, add clauses - member. - * parser.c (cp_finalize_omp_declare_simd): New function. - (cp_parser_handle_statement_omp_attributes): Mention in - function comment the function is used also for - attribute-declaration. - (cp_parser_handle_directive_omp_attributes): New function. - (cp_parser_statement): Don't call - cp_parser_handle_statement_omp_attributes if statement doesn't - have attribute-specifier-seq at the beginning at all or if - if those attributes don't appertain to the statement. - (cp_parser_simple_declaration): Call - cp_parser_handle_directive_omp_attributes and - cp_finalize_omp_declare_simd. - (cp_parser_explicit_instantiation): Likewise. - (cp_parser_init_declarator): Initialize prefix_attributes - only after parsing declarators. - (cp_parser_direct_declarator): Call - cp_parser_handle_directive_omp_attributes and - cp_finalize_omp_declare_simd. - (cp_parser_member_declaration): Likewise. - (cp_parser_single_declaration): Likewise. - (cp_parser_omp_declare_simd): Don't initialize - data.in_omp_attribute_pragma, instead initialize - data.attribs[0] and data.attribs[1]. - (cp_finish_omp_declare_variant): Remove - in_omp_attribute_pragma argument, instead use - parser->lexer->in_omp_attribute_pragma. - (cp_parser_late_parsing_omp_declare_simd): Adjust - cp_finish_omp_declare_variant caller. Handle attribute-syntax - declare simd/variant. - -2021-08-06 Tamar Christina - - * cp-objcp-common.h (cxx_simulate_enum_decl): Pass vec<> by pointer. - * decl.c (cxx_simulate_enum_decl): Likewise. - -2021-08-04 Jakub Jelinek - - PR c++/101759 - * parser.c (cp_parser_default_argument): Temporarily override - parser->omp_declare_simd and parser->oacc_routine to NULL. - -2021-08-02 Patrick Palka - - PR c++/100828 - * logic.cc (formula::formula): Use emplace_back instead of - push_back. - (formula::branch): Insert a copy of m_current directly after - m_current instead of at the end of the list. - (formula::erase): Define. - (decompose_formula): Remove. - (decompose_antecedents): Remove. - (decompose_consequents): Remove. - (derive_proofs): Remove. - (max_problem_size): Remove. - (diagnose_constraint_size): Remove. - (subsumes_constraints_nonnull): Rewrite directly in terms of - decompose_clause and derive_proof, interleaving decomposition - with implication checking. Remove limit on constraint complexity. - Use formula::erase to free the current clause before moving on to - the next one. - -2021-07-31 Jason Merrill - - PR c++/96636 - * decl.c (fixup_anonymous_aggr): Clear TYPE_NEEDS_CONSTRUCTING - after error. - -2021-07-31 Jason Merrill - - * ptree.c (cxx_print_type) [TYPE_PACK_EXPANSION]: Also print - PACK_EXPANSION_PATTERN. - -2021-07-31 Jakub Jelinek - - * parser.c (cp_parser_declaration): Handle OpenMP directives - in attribute-declaration. - -2021-07-30 Jakub Jelinek - - PR c++/101539 - * cp-tree.h (enum cp_trait_kind): Add - CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. - (enum cp_built_in_function): Add - CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS. - (fold_builtin_is_pointer_inverconvertible_with_class): Declare. - * parser.c (cp_parser_primary_expression): Handle - RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF. - (cp_parser_trait_expr): Likewise. - * cp-objcp-common.c (names_builtin_p): Likewise. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. - * decl.c (cxx_init_decl_processing): Register - __builtin_is_pointer_interconvertible_with_class builtin. - * constexpr.c (cxx_eval_builtin_function_call): Handle - CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS builtin. - * semantics.c (pointer_interconvertible_base_of_p, - first_nonstatic_data_member_p, - fold_builtin_is_pointer_inverconvertible_with_class): New functions. - (trait_expr_value): Handle CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. - (finish_trait_expr): Likewise. Formatting fix. - * cp-gimplify.c (cp_gimplify_expr): Fold - CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS. Call - fndecl_built_in_p just once. - (cp_fold): Likewise. - * tree.c (builtin_valid_in_constant_expr_p): Handle - CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS. Call - fndecl_built_in_p just once. - * cxx-pretty-print.c (pp_cxx_trait_expression): Handle - CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. - -2021-07-30 Jason Merrill - - * class.c (finish_struct_anon): Improve comment. - * decl.c (fixup_anonymous_aggr): Reject anonymous struct - with bases. - -2021-07-30 Jakub Jelinek - - * parser.c (cp_parser_statement): Rollback attributes not just - when std_attrs is non-NULL, but whenever - cp_parser_std_attribute_spec_seq parsed any tokens. - -2021-07-30 Jakub Jelinek - - PR c++/101582 - * parser.c (cp_parser_skip_std_attribute_spec_seq): Add a forward - declaration. - (cp_parser_declaration): Parse empty-declaration and - attribute-declaration. - (cp_parser_toplevel_declaration): Don't parse empty-declaration here. - -2021-07-28 Martin Sebor - - * init.c: Include new header. - -2021-07-27 Marek Polacek - - DR 1512 - PR c++/99701 - * cp-gimplify.c (cp_fold): Remove {LE,LT,GE,GT_EXPR} from - a switch. - * typeck.c (cp_build_binary_op): Reject ordered comparison - of two null pointers. - -2021-07-26 Jakub Jelinek - - * parser.h (struct cp_lexer): Add orphan_p member. - * parser.c (cp_parser_statement): Don't change in_omp_attribute_pragma - upon restart from CPP_PRAGMA handling. Fix up condition when a lexer - should be destroyed and adjust saved_tokens if it records tokens from - the to be destroyed lexer. - (cp_parser_omp_section_scan): New function. - (cp_parser_omp_scan_loop_body): Use it. If - parser->lexer->in_omp_attribute_pragma, allow optional comma - after scan. - (cp_parser_omp_sections_scope): Use cp_parser_omp_section_scan. - -2021-07-23 Jakub Jelinek - - * parser.h (struct cp_parser): Add omp_attrs_forbidden_p member. - * parser.c (cp_parser_handle_statement_omp_attributes): Diagnose - mixing of attribute and pragma syntax directives when seeing - omp::directive if parser->omp_attrs_forbidden_p or if attribute syntax - directives are followed by OpenMP pragma. - (cp_parser_statement): Clear parser->omp_attrs_forbidden_p after - the cp_parser_handle_statement_omp_attributes call. - (cp_parser_omp_structured_block): Add disallow_omp_attrs argument, - if true, set parser->omp_attrs_forbidden_p. - (cp_parser_omp_scan_loop_body, cp_parser_omp_sections_scope): Pass - false as disallow_omp_attrs to cp_parser_omp_structured_block. - (cp_parser_omp_parallel, cp_parser_omp_task): Set - parser->omp_attrs_forbidden_p. - -2021-07-21 Thomas Schwinge - Joseph Myers - Cesar Philippidis - - * parser.c (cp_parser_omp_clause_name): Handle 'nohost'. - (cp_parser_oacc_all_clauses): Handle 'PRAGMA_OACC_CLAUSE_NOHOST'. - (OACC_ROUTINE_CLAUSE_MASK): Add 'PRAGMA_OACC_CLAUSE_NOHOST'. - * pt.c (tsubst_omp_clauses): Handle 'OMP_CLAUSE_NOHOST'. - * semantics.c (finish_omp_clauses): Likewise. - -2021-07-21 Jakub Jelinek - - PR c++/101516 - * semantics.c (finish_omp_reduction_clause): Also call - complete_type_or_else and return true if it fails. - -2021-07-19 Iain Sandoe - - PR c++/95520 - * coroutines.cc (struct coroutine_info): Add fields for - actor and destroy function decls. - (to_ramp): New. - (coro_get_ramp_function): New. - (coro_get_actor_function): New. - (coro_get_destroy_function): New. - (act_des_fn): Set up mapping between ramp, actor and - destroy functions. - (morph_fn_to_coro): Adjust interface to the builder for - helper function decls. - * cp-tree.h (DECL_ACTOR_FN, DECL_DESTROY_FN, DECL_RAMP_FN, - JOIN_STR): New. - * mangle.c (write_encoding): Handle coroutine helpers. - (write_unqualified_name): Handle lambda coroutine helpers. - -2021-07-16 Patrick Palka - - PR c++/101233 - * pt.c (alias_ctad_tweaks): Clear cp_unevaluated_operand for - substituting DECL_ARGUMENTS. - -2021-07-16 Patrick Palka - - DR 960 - PR c++/99664 - * search.c (check_final_overrider): Compare TYPE_REF_IS_RVALUE - when the return types are references. - -2021-07-16 Marek Polacek - - * typeck2.c (check_narrowing): Don't suppress the pedantic error - in system headers. - -2021-07-15 Jakub Jelinek - - PR c++/101443 - * cp-gimplify.c (cp_fold): For comparisons with NULLPTR_TYPE - operands, fold them right away to true or false. - -2021-07-15 Jason Merrill - - PR c++/101095 - * cp-objcp-common.c (cp_common_init_ts): Mark types as types. - (cp_tree_size): Remove redundant entries. - -2021-07-14 Patrick Palka - - PR c++/88252 - * cp-tree.h (TEMPLATE_TYPE_PARM_FOR_CLASS): Remove. - * pt.c (push_template_decl): Remove TEMPLATE_TYPE_PARM_FOR_CLASS - handling. - (redeclare_class_template): Likewise. - (forwarding_reference_p): Define. - (maybe_adjust_types_for_deduction): Use it instead. Add 'tparms' - parameter. - (unify_one_argument): Pass tparms to - maybe_adjust_types_for_deduction. - (try_one_overload): Likewise. - (unify): Likewise. - (rewrite_template_parm): Remove TEMPLATE_TYPE_PARM_FOR_CLASS - handling. - -2021-07-14 Jason Merrill - - * class.c (struct find_final_overrider_data): Use auto_vec. - (find_final_overrider): Remove explicit release. - * coroutines.cc (process_conditional): Use auto_vec. - * cp-gimplify.c (struct cp_genericize_data): Use auto_vec. - (cp_genericize_tree): Remove explicit release. - * parser.c (cp_parser_objc_at_property_declaration): Use - auto_delete_vec. - * semantics.c (omp_reduction_lookup): Use auto_vec. - -2021-07-14 Marek Polacek - - PR c++/101371 - * constexpr.c (cxx_eval_array_reference): Create a new .object - and .ctor for the non-aggregate non-scalar case too when - value-initializing. - -2021-07-12 Patrick Palka - - PR c++/79501 - PR c++/100983 - * decl.c (grokfndecl): Don't require that deduction guides are - declared at namespace scope. Check that class-scope deduction - guides have the same access as the member class template. - (grokdeclarator): Pretend class-scope deduction guides are static. - * search.c (lookup_member): Don't use a BASELINK for (class-scope) - deduction guides. - -2021-07-10 Patrick Palka - - PR c++/82110 - * init.c (build_aggr_init): Return error_mark_node if - expand_aggr_init_1 returns false. - (expand_default_init): Change return type to bool. Return false - on error, true on success. - (expand_aggr_init_1): Likewise. - -2021-07-09 Jason Merrill - - PR c++/101098 - * decl.c (function_requirements_equivalent_p): Only compare - trailing requirements on a specialization. - -2021-07-09 Iain Sandoe - - * coroutines.cc (build_actor_fn): Move common code to - act_des_fn. - (build_destroy_fn): Likewise. - (act_des_fn): Build the void return here. Ensure that the - source location matches the original function. - -2021-07-09 Iain Sandoe - - * coroutines.cc - (coro_rewrite_function_body): Connect the replacement - function block to the block nest correctly. - -2021-07-09 Patrick Palka - - PR c++/101181 - * constraint.cc (tsubst_requires_expr): Pass complain/in_decl to - add_extra_args. - * cp-tree.h (add_extra_args): Add complain/in_decl parameters. - * pt.c (build_extra_args): Make a copy of args. - (add_extra_args): Add complain/in_decl parameters. Enable the - code for handling the case where the extra arguments are - dependent. - (tsubst_pack_expansion): Pass complain/in_decl to - add_extra_args. - (tsubst_template_args): Handle missing template arguments. - (tsubst_expr) : Pass complain/in_decl to - add_extra_args. - -2021-07-09 Patrick Palka - - PR c++/101247 - * pt.c (any_template_parm_r) : Just walk the - DECL_CONTEXT. - -2021-07-08 Martin Sebor - - PR bootstrap/101372 - * module.cc (identifier): Suppress warning. - (module_state::read_macro_maps): Remove warning suppression. - (module_state::install_macros): Ditto. - -2021-07-08 Marek Polacek - - PR c++/101087 - * cp-tree.h (unevaluated_p): New. - * except.c (check_noexcept_r): Use it. Don't walk into - unevaluated operands. - -2021-07-08 Martin Sebor - - PR bootstrap/101374 - * module.cc (module_state::read_macro_maps): Temporarily disable - -Warray-bounds. - (module_state::install_macros): Same. - -2021-07-06 Martin Sebor - - * error.c (cp_printer): Remove support for %G and %K. - -2021-07-02 Jakub Jelinek - - * parser.h (struct cp_lexer): Add in_omp_attribute_pragma member. - (struct cp_omp_declare_simd_data): Likewise. - * cp-tree.h (enum cp_tree_index): Add CPTI_OMP_IDENTIFIER. - (omp_identifier): Define. - * parser.c (cp_parser_skip_to_pragma_eol): Handle - in_omp_attribute_pragma CPP_PRAGMA_EOL followed by CPP_EOF. - (cp_parser_require_pragma_eol): Likewise. - (struct cp_omp_attribute_data): New type. - (cp_parser_handle_statement_omp_attributes): New function. - (cp_parser_statement): Handle OpenMP directives in statement's - attribute-specifier-seq. - (cp_parser_omp_directive_args, cp_parser_omp_sequence_args): New - functions. - (cp_parser_std_attribute): Handle omp::directive and omp::sequence - attributes. - (cp_parser_omp_all_clauses): If in_omp_attribute_pragma, allow - a comma also before the first clause. - (cp_parser_omp_allocate): Likewise. - (cp_parser_omp_atomic): Likewise. - (cp_parser_omp_depobj): Likewise. - (cp_parser_omp_flush): Likewise. - (cp_parser_omp_ordered): Likewise. - (cp_parser_omp_declare_simd): Save in_omp_attribute_pragma - into struct cp_omp_declare_simd_data. - (cp_finish_omp_declare_variant): Add in_omp_attribute_pragma - argument. If set, allow a comma also before match clause. - (cp_parser_late_parsing_omp_declare_simd): If in_omp_attribute_pragma, - allow a comma also before the first clause. Adjust - cp_finish_omp_declare_variant caller. - (cp_parser_omp_declare_target): If in_omp_attribute_pragma, allow - a comma also before the first clause. - (cp_parser_omp_declare_reduction_exprs): Likewise. - (cp_parser_omp_requires): Likewise. - * decl.c (initialize_predefined_identifiers): Initialize - omp_identifier. - * decl2.c (cplus_decl_attributes): Reject omp::directive and - omp::sequence attributes. - -2021-07-02 Jakub Jelinek - - PR c/101297 - * parser.c (cp_parser_omp_atomic): Consume comma only if it - appears before a CPP_NAME. - -2021-07-02 Patrick Palka - - PR c++/101247 - * pt.c (any_template_parm_r) : Rewrite to - use common_enclosing_class and to not depend on the TREE_TYPE - of outer levels pointing to the corresponding primary template. - -2021-07-01 Patrick Palka - - PR c++/101194 - * constexpr.c (cxx_eval_array_reference): When the element type - is an empty type and the corresponding element is omitted, just - return an empty CONSTRUCTOR instead of attempting value - initialization. - -2021-07-01 Patrick Palka - - PR c++/96204 - * pt.c (finish_template_variable): Pass the partially - instantiated template and its args to instantiate_template. - (instantiate_class_template_1): No need to call - push_nested_class and pop_nested_class around the call to - most_specialized_partial_spec. - (instantiate_template_1): Pass the partially instantiated - template to lookup_template_variable. - (most_specialized_partial_spec): Use push_access_scope_guard - to set the access scope appropriately. Use - deferring_access_check_sentinel to force access to get checked - immediately. - (instantiate_decl): Just pass the VAR_DECL to - most_specialized_partial_spec. - -2021-06-30 Patrick Palka - - * constraint.cc (get_normalized_constraints_from_decl): Use - push_access_scope_guard instead of push_nested_class_guard. - * cp-tree.h (struct push_nested_class_guard): Replace with ... - (struct push_access_scope_guard): ... this. - * pt.c (push_access_scope): When the argument corresponds to - a class type, push the class instead of its context. - (pop_access_scope): Adjust accordingly. - -2021-06-30 Marek Polacek - - PR c++/100975 - DR 2397 - * decl.c (create_array_type_for_decl): Allow array of auto. - -2021-06-29 Jason Merrill - - * pt.c (instantiate_decl): Only consider partial specializations of - actual variable templates. - -2021-06-26 Patrick Palka - - PR c++/96204 - * pt.c (instantiate_class_template_1): Enter the scope of the - type when calling most_specialized_partial_spec. - -2021-06-26 Jason Merrill - - PR c++/101040 - PR c++/97566 - * class.c (is_empty_field): Handle null argument. - * constexpr.c (cxx_eval_bare_aggregate): Discard initializer - for empty field. - -2021-06-26 Marek Polacek - - PR c++/100752 - * parser.c (cp_parser_declarator): Pass flags down to - cp_parser_declarator. Also pass static_p/member_p. - -2021-06-25 Martin Sebor - - * call.c (build_over_call): Replace direct uses of TREE_NO_WARNING - with warning_suppressed_p, suppress_warning, and copy_no_warning, or - nothing if not necessary. - (set_up_extended_ref_temp): Same. - * class.c (layout_class_type): Same. - * constraint.cc (constraint_satisfaction_value): Same. - * coroutines.cc (finish_co_await_expr): Same. - (finish_co_yield_expr): Same. - (finish_co_return_stmt): Same. - (build_actor_fn): Same. - (coro_rewrite_function_body): Same. - (morph_fn_to_coro): Same. - * cp-gimplify.c (genericize_eh_spec_block): Same. - (gimplify_expr_stmt): Same. - (cp_genericize_r): Same. - (cp_fold): Same. - * cp-ubsan.c (cp_ubsan_instrument_vptr): Same. - * cvt.c (cp_fold_convert): Same. - (convert_to_void): Same. - * decl.c (wrapup_namespace_globals): Same. - (grokdeclarator): Same. - (finish_function): Same. - (require_deduced_type): Same. - * decl2.c (no_linkage_error): Same. - (c_parse_final_cleanups): Same. - * except.c (expand_end_catch_block): Same. - * init.c (build_new_1): Same. - (build_new): Same. - (build_vec_delete_1): Same. - (build_vec_init): Same. - (build_delete): Same. - * method.c (defaultable_fn_check): Same. - * parser.c (cp_parser_fold_expression): Same. - (cp_parser_primary_expression): Same. - * pt.c (push_tinst_level_loc): Same. - (tsubst_copy): Same. - (tsubst_omp_udr): Same. - (tsubst_copy_and_build): Same. - * rtti.c (build_if_nonnull): Same. - * semantics.c (maybe_convert_cond): Same. - (finish_return_stmt): Same. - (finish_parenthesized_expr): Same. - (cp_check_omp_declare_reduction): Same. - * tree.c (build_cplus_array_type): Same. - * typeck.c (build_ptrmemfunc_access_expr): Same. - (cp_build_indirect_ref_1): Same. - (cp_build_function_call_vec): Same. - (warn_for_null_address): Same. - (cp_build_binary_op): Same. - (unary_complex_lvalue): Same. - (cp_build_modify_expr): Same. - (build_x_modify_expr): Same. - (convert_for_assignment): Same. - -2021-06-24 Patrick Palka - - PR c++/98832 - * pt.c (maybe_aggr_guide): Handle alias templates appropriately. - -2021-06-24 Patrick Palka - - PR c++/101182 - * constraint.cc (evaluate_requires_expr): Adjust function comment. - * cp-gimplify.c (cp_genericize_r) : Move to ... - (cp_fold) : ... here. - -2021-06-24 Jakub Jelinek - - * parser.c (cp_omp_split_clauses): Pass C_ORT_OMP_TARGET instead of - C_ORT_OMP for clauses on target construct. - (OMP_TARGET_CLAUSE_MASK): Add in_reduction clause. - (cp_parser_omp_target): For non-combined target add - map (always, tofrom:) clauses for OMP_CLAUSE_IN_REDUCTION. Pass - C_ORT_OMP_TARGET to finish_omp_clauses. - * semantics.c (handle_omp_array_sections_1): Adjust ort handling - for addition of C_ORT_OMP_TARGET and simplify, mapping clauses are - never present on C_ORT_*DECLARE_SIMD. - (handle_omp_array_sections): Likewise. - (finish_omp_clauses): Likewise. Handle OMP_CLAUSE_IN_REDUCTION - on C_ORT_OMP_TARGET, set OMP_CLAUSE_MAP_IN_REDUCTION on - corresponding map clauses. - * pt.c (tsubst_expr): Pass C_ORT_OMP_TARGET instead of C_ORT_OMP for - clauses on target construct. - -2021-06-23 Patrick Palka - - PR c++/101174 - * pt.c (push_access_scope): For artificial deduction guides, - set the access scope to that of the constructor. - (pop_access_scope): Likewise. - (build_deduction_guide): Don't set DECL_CONTEXT on the guide. - -2021-06-23 Patrick Palka - - PR c++/86439 - * call.c (print_error_for_call_failure): Constify 'args' parameter. - (perform_dguide_overload_resolution): Define. - * cp-tree.h: (perform_dguide_overload_resolution): Declare. - * pt.c (do_class_deduction): Use perform_dguide_overload_resolution - instead of build_new_function_call. Don't use tf_decltype or - set cp_unevaluated_operand. Remove unnecessary NULL_TREE tests. - -2021-06-21 Patrick Palka - - PR c++/67302 - * typeck.c (check_return_expr): Call maybe_undo_parenthesized_ref - sooner, before the NRVO handling. - -2021-06-21 Patrick Palka - - PR c++/80431 - * tree.c (bot_replace): Use convert_to_base to build the - conversion to the (morally) virtual base. - -2021-06-21 Jakub Jelinek - - PR inline-asm/100785 - * typeck.c (cxx_mark_addressable): Diagnose trying to make - bit-fields addressable. - -2021-06-17 Jason Merrill - - PR c++/101106 - * decl.c (duplicate_decls): Make 'deleted after first declaration' - pedwarn on by default. - -2021-06-17 Jason Merrill - - PR c++/101029 - * init.c (build_vec_init): Preserve the type of base. - -2021-06-16 Jason Merrill - - PR c++/101078 - PR c++/91706 - * pt.c (tsubst_baselink): Update binfos in non-dependent case. - -2021-06-15 Robin Dapp - - * decl.c (duplicate_decls): Likewise. - -2021-06-14 Tobias Burnus - - PR c/100913 - * parser.c (cp_parser_omp_clause_affinity): No need to set iterator - var in the error case. - -2021-06-13 Trevor Saunders - - * constexpr.c (cxx_eval_call_expression): Iterate over vec<> - with range based for. - (cxx_eval_store_expression): Likewise. - (cxx_eval_loop_expr): Likewise. - * decl.c (wrapup_namespace_globals): Likewise. - (cp_finish_decl): Likewise. - (cxx_simulate_enum_decl): Likewise. - * parser.c (cp_parser_postfix_expression): Likewise. - -2021-06-12 Jason Merrill - - PR c++/101029 - * init.c (build_vec_init): Shortcut [0] case. - -2021-06-12 Jason Merrill - - * pt.c (lookup_template_class_1): Shortcut current_class_type. - -2021-06-11 Patrick Palka - - DR 1227 - PR c++/96560 - * pt.c (tsubst_arg_types): Rearrange so that we substitute into - TYPE_ARG_TYPES in forward order while short circuiting - appropriately. Adjust formatting. - -2021-06-11 Jakub Jelinek - - PR c++/100974 - * cp-tree.h (struct saved_scope): Add consteval_if_p - member. Formatting fix for the discarded_stmt comment. - (in_consteval_if_p, IF_STMT_CONSTEVAL_P): Define. - * parser.c (cp_parser_lambda_expression): Temporarily disable - in_consteval_if_p when parsing lambda body. - (cp_parser_selection_statement): Parse consteval if. - * decl.c (struct named_label_entry): Add in_consteval_if member. - (level_for_consteval_if): New function. - (poplevel_named_label_1, check_previous_goto_1, check_goto): Handle - consteval if. - * constexpr.c (cxx_eval_builtin_function_call): Clarify in comment - why CP_BUILT_IN_IS_CONSTANT_EVALUATED needs to *non_constant_p - for !ctx->manifestly_const_eval. - (cxx_eval_conditional_expression): For IF_STMT_CONSTEVAL_P evaluate - condition as if it was __builtin_is_constant_evaluated call. - (potential_constant_expression_1): For IF_STMT_CONSTEVAL_P always - recurse on both branches. - * cp-gimplify.c (genericize_if_stmt): Genericize IF_STMT_CONSTEVAL_P - as the else branch. - * pt.c (tsubst_expr) : Copy IF_STMT_CONSTEVAL_P. - Temporarily set in_consteval_if_p when recursing on - IF_STMT_CONSTEVAL_P then branch. - (tsubst_lambda_expr): Temporarily disable - in_consteval_if_p when instantiating lambda body. - * call.c (immediate_invocation_p): Return false when - in_consteval_if_p. - -2021-06-11 Marek Polacek - - PR c++/100995 - * constexpr.c (maybe_constexpr_fn): New. - * cp-tree.h (maybe_constexpr_fn): Declare. - * semantics.c (find_std_constant_evaluated_r): New. - (maybe_warn_for_constant_evaluated): New. - (finish_if_stmt_cond): Call it. - -2021-06-10 Patrick Palka - - PR c++/67829 - * pt.c (unify) : When - the TEMPLATE_DECL of a BOUND_TEMPLATE_TEMPLATE_PARM argument is - a template template parameter, adjust to the - TEMPLATE_TEMPLATE_PARAMETER before falling through. - -2021-06-10 Patrick Palka - - PR c++/100946 - * constraint.cc (normalize_placeholder_type_constraints): When - normalizing a non-templated return-type-requirement, add a dummy - level to initial_parms. - -2021-06-08 Marek Polacek - - PR c++/100065 - * decl.c (grokdeclarator): Store a value-dependent - explicit-specifier even for deduction guides. - -2021-06-08 Jason Merrill - - * parser.c (cp_parser_string_literal): Adjust diagnostic. - -2021-06-08 Jason Merrill - - PR c++/100963 - * call.c (perfect_conversion_p): Check check_narrowing. - -2021-06-08 Jason Merrill - - PR c++/91706 - * name-lookup.c (get_class_binding): Keep a BASELINK. - (set_inherited_value_binding_p): Adjust. - * lambda.c (is_lambda_ignored_entity): Adjust. - * pt.c (lookup_template_function): Copy a BASELINK before - modifying it. - -2021-06-08 Jason Merrill - - PR c++/91706 - * semantics.c (baselink_for_fns): Fix BASELINK_BINFO. - -2021-06-08 Jason Merrill - - * module.cc (duplicate_hash::hash): Comment out. - (trees_in::tree_value): Adjust loop counter. - -2021-06-08 Jason Merrill - - PR c++/100102 - * init.c (build_offset_ref): Return the BASELINK for a static - member function. - -2021-06-07 Patrick Palka - - PR c++/100918 - * parser.c (cp_parser_lookup_name): Check access of the lookup - result before we potentially adjust an injected-class-name to - its TEMPLATE_DECL. - -2021-06-06 Jakub Jelinek - - PR c/100902 - * parser.c (cp_parser_omp_target): Call c_omp_adjust_map_clauses - even when target is combined with other constructs. - -2021-06-04 Patrick Palka - - PR c++/100893 - * pt.c (convert_template_argument): Strip top-level cv-quals - on the substituted type of a non-type template parameter. - -2021-06-04 Patrick Palka - - PR c++/100102 - * pt.c (tsubst_function_decl): Remove old code for reducing - args when it has excess levels. - -2021-06-04 Jakub Jelinek - - PR c++/100872 - * name-lookup.c (maybe_save_operator_binding): Add op_attr after all - ATTR_IS_DEPENDENT attributes in the DECL_ATTRIBUTES list rather than - to the start. - -2021-06-03 Patrick Palka - - PR c++/100592 - * decl.c (make_typename_type): After calling - lookup_template_class, adjust the result to its TYPE_NAME and - then consider the tf_keep_type_decl flag. - -2021-06-03 Patrick Palka - - PR c++/100862 - * pt.c (set_current_access_from_decl): Move to ... - * class.c (set_current_access_from_decl): ... here. - (handle_using_decl): Use it to propagate the access of the - using-enum decl to the copy of the imported enumerator. - * cp-tree.h (set_current_access_from_decl): Declare. - * decl.c (build_enumerator): Simplify using make_temp_override - and set_current_access_from_decl. - -2021-06-03 Jakub Jelinek - - PR c++/100859 - * semantics.c (handle_omp_array_sections_1): For - OMP_CLAUSE_{AFFINITY,DEPEND} handle FIELD_DECL base using - finish_non_static_data_member and allow this as base. - (finish_omp_clauses): Move OMP_CLAUSE_AFFINITY - after depend only cases. Let this be diagnosed by !lvalue_p - case for OMP_CLAUSE_{AFFINITY,DEPEND} and remove useless - assert. - * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_AFFINITY. - -2021-06-02 Jason Merrill - - PR c++/100838 - * call.c (convert_like_internal): Clear tf_no_cleanup when - recursing. - (build_user_type_conversion_1): Only add ck_rvalue if - LOOKUP_ONLYCONVERTING. - -2021-06-01 Patrick Palka - - PR c++/65816 - * init.c (expand_aggr_init_1): Check - type_has_non_user_provided_default_constructor instead of - type_has_user_provided_constructor. - -2021-06-01 Jason Merrill - - PR c++/91859 - * call.c (build_op_delete_call): Don't set CALL_FROM_NEW_OR_DELETE_P - for destroying delete. - * init.c (build_delete): Don't clobber before destroying delete. - -2021-06-01 Jason Merrill - - PR c++/94492 - * decl2.c (cp_warn_deprecated_use): Check warning_enabled_at. - -2021-05-31 Richard Biener - - PR c++/88601 - * cp-objcp-common.c (names_builtin_p): Handle - RID_BUILTIN_SHUFFLEVECTOR. - * cp-tree.h (build_x_shufflevector): Declare. - * parser.c (cp_parser_postfix_expression): Handle - RID_BUILTIN_SHUFFLEVECTOR. - * pt.c (tsubst_copy_and_build): Handle IFN_SHUFFLEVECTOR. - * typeck.c (build_x_shufflevector): Build either a lowered - VEC_PERM_EXPR or an unlowered shufflevector via a temporary - internal function IFN_SHUFFLEVECTOR. - -2021-05-28 Jason Merrill - - * constexpr.c (build_data_member_initialization): Use tsi_range. - (build_constexpr_constructor_member_initializers): Likewise. - (constexpr_fn_retval, cxx_eval_statement_list): Likewise. - (potential_constant_expression_1): Likewise. - * coroutines.cc (await_statement_expander): Likewise. - (await_statement_walker): Likewise. - * module.cc (trees_out::core_vals): Likewise. - * pt.c (tsubst_expr): Likewise. - * semantics.c (set_cleanup_locs): Likewise. - -2021-05-28 Jason Merrill - - PR c++/100797 - PR c++/95719 - * call.c (build_over_call): Adjust base_binfo in - resolves_to_fixed_type_p case. - -2021-05-28 Jakub Jelinek - - PR middle-end/99928 - * semantics.c (handle_omp_array_sections): Copy - OMP_CLAUSE_MAP_IMPLICIT. - (finish_omp_clauses): Move not just OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT - marked clauses last, but also OMP_CLAUSE_MAP_IMPLICIT. Add - map_firstprivate_head bitmap, set it for GOMP_MAP_FIRSTPRIVATE_POINTER - maps and silently remove OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT if it is - present too. For OMP_CLAUSE_MAP_IMPLICIT silently remove the clause - if present in map_head, map_field_head or map_firstprivate_head - bitmaps. - -2021-05-28 Tobias Burnus - - * parser.c (cp_parser_omp_clause_affinity): New. - (cp_parser_omp_clause_name, cp_parser_omp_var_list_no_open, - cp_parser_omp_all_clauses, OMP_TASK_CLAUSE_MASK): Handle affinity - clause. - * semantics.c (handle_omp_array_sections_1, handle_omp_array_sections, - finish_omp_clauses): Likewise. - -2021-05-27 Matthias Kretz - - PR c++/100716 - * error.c (dump_template_bindings): Include code to print - "[with" and ']', conditional on whether anything is printed at - all. This is tied to whether a semicolon is needed to separate - multiple template parameters. If the template argument repeats - the template parameter (T = T), then skip the parameter. - (dump_substitution): Moved code to print "[with" and ']' to - dump_template_bindings. - (dump_function_decl): Partial revert of PR50828, which masked - TFF_TEMPLATE_NAME for all of dump_function_decl. Now - TFF_TEMPLATE_NAME is masked for the scope of the function and - only carries through to dump_function_name. - (dump_function_name): Avoid calling dump_template_parms if - TFF_TEMPLATE_NAME is set. - -2021-05-27 Matthias Kretz - - PR c++/100763 - * error.c: Call dump_scope when printing a typedef. - -2021-05-27 Patrick Palka - - PR c++/99893 - * tree.c (cp_walk_subtrees) : New case. - -2021-05-27 Jason Merrill - - PR c++/86355 - * pt.c (use_pack_expansion_extra_args_p): Don't compare - args from the same argument pack. - -2021-05-27 Patrick Palka - - DR 1315 - PR c++/67593 - PR c++/96555 - * pt.c (process_partial_specialization): Don't error on a - non-simple non-type template argument that involves template - parameters. - (for_each_template_parm_r): Don't walk TRAIT_EXPR, PLUS_EXPR, - MULT_EXPR, or SCOPE_REF when include_nondeduced_p is false. - -2021-05-26 Patrick Palka - - PR c++/100502 - * typeck.c (finish_class_member_access_expr): Disable ahead - of time access checking during the member lookup. - -2021-05-26 Patrick Palka - - PR c++/100368 - * tree.c (build_target_expr_with_type): Don't call force_rvalue - on CALL_EXPR initializer. Simplify now that bot_manip is no - longer a caller. - (bot_manip): Use force_target_expr instead of - build_target_expr_with_type. - -2021-05-26 Patrick Palka - - PR c++/97420 - * cvt.c (noexcept_conv_p): Remove redundant checks and simplify. - (fnptr_conv_p): Don't call non_reference. Use INDIRECT_TYPE_P - instead of TYPE_PTR_P. - * pt.c (convert_nontype_argument_function): Look through - implicit INDIRECT_REFs before calling strip_fnptr_conv. - -2021-05-25 Jakub Jelinek - - PR c++/100666 - * call.c (convert_arg_to_ellipsis): For expressions with NULLPTR_TYPE - and side-effects, temporarily disable -Wunused-result warning when - building COMPOUND_EXPR. - -2021-05-21 Jakub Jelinek - - PR middle-end/99928 - * semantics.c (finish_omp_clauses): Move firstprivate clauses with - OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT to the end of the chain. Don't error - if a decl is mentioned both in map clause and in such firstprivate - clause unless OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET is also set. - -2021-05-20 Jason Merrill - - * call.c (reference_binding): Check for designator. - (implicit_conversion_1, build_special_member_call): Likewise. - * decl.c (reshape_init_r): Likewise. - * pt.c (do_class_deduction): Likewise. - * typeck2.c (digest_init_r): Likewise. - -2021-05-20 Jason Merrill - - PR c++/100489 - * decl.c (reshape_init_class): Handle designator for - member of anonymous aggregate here. - * typeck2.c (process_init_constructor_record): Not here. - -2021-05-20 Jonathan Wakely - - * call.c (maybe_warn_array_conv): Use new warning option. - * decl.c (mark_inline_variable, grokdeclarator): Likewise. - * error.c (maybe_warn_cpp0x): Likewise. - * parser.c (cp_parser_primary_expression) - (cp_parser_unqualified_id) - (cp_parser_pseudo_destructor_name) - (cp_parser_lambda_introducer) - (cp_parser_lambda_declarator_opt) - (cp_parser_selection_statement) - (cp_parser_init_statement) - (cp_parser_decomposition_declaration) - (cp_parser_function_specifier_opt) - (cp_parser_static_assert) - (cp_parser_namespace_definition) - (cp_parser_using_declaration) - (cp_parser_asm_definition) - (cp_parser_ctor_initializer_opt_and_function_body) - (cp_parser_initializer_list) - (cp_parser_type_parameter_key) - (cp_parser_member_declaration) - (cp_parser_try_block) - (cp_parser_std_attribute_spec): Likewise. - * pt.c (check_template_variable): Likewise. - -2021-05-20 Jason Merrill - - PR c++/100634 - * pt.c (invalid_nontype_parm_type_p): Return true for COMPLEX_TYPE. - -2021-05-20 Jason Merrill - - PR c++/100659 - * cp-tree.h (CONST_DECL_USING_P): Check for null TREE_TYPE. - -2021-05-19 Jason Merrill - - PR c++/100367 - PR c++/96299 - * method.c (genericize_spaceship): Use fold_build2 for scalar - operands. - -2021-05-19 Jason Merrill - - * pt.c (build_deduction_guide): Treat the implicit deduction guide - as a member of the class. - -2021-05-19 Marek Polacek - - PR c++/100596 - * cp-tree.h (any_non_type_attribute_p): Remove. - * decl.c (grokdeclarator): Turn an error into a warning and only - warn for standard attributes. - * decl2.c (any_non_type_attribute_p): Remove. - * parser.c (cp_parser_elaborated_type_specifier): Turn an error - into a warning and only warn for standard attributes. - (cp_parser_member_declaration): Likewise. - -2021-05-19 Martin Liska - - PR testsuite/100658 - * mangle.c (write_encoding): Fix typos. - -2021-05-19 Jakub Jelinek - - PR middle-end/99928 - * parser.c (cp_parser_omp_master): Set OMP_MASTER_COMBINED on - master when combined with taskloop. - (cp_parser_omp_parallel): Don't set OMP_PARALLEL_COMBINED on - parallel master when not combined with taskloop. - -2021-05-19 Jason Merrill - - PR c++/100261 - * rtti.c (get_tinfo_decl_direct): Check TYPE_TRANSPARENT_AGGR. - -2021-05-19 Jason Merrill - - PR c++/100372 - * tree.c (strip_typedefs): Only look at the pattern of a - TYPE_PACK_EXPANSION if it's a type. - -2021-05-18 Marek Polacek - - * class.c (classtype_has_non_deleted_copy_ctor): Remove. - * constraint.cc (contains_wildcard_p): Likewise. - (get_template_head_requirements): Likewise. - (check_constrained_friend): Likewise. - (subsumes_constraints): Likewise. - * cp-tree.h (classtype_has_non_deleted_copy_ctor): Likewise. - (push_void_library_fn): Likewise. - (get_pattern_parm): Likewise. - (get_template_parms_at_level): Likewise. - (lambda_return_type): Likewise. - (get_template_head_requirements): Likewise. - (check_constrained_friend): Likewise. - (subsumes_constraints): Likewise. - * decl.c (push_void_library_fn): Likewise. - * lambda.c (lambda_return_type): Likewise. - * pt.c (get_template_parms_at_level): Likewise. - (get_pattern_parm): Likewise. - -2021-05-18 Jason Merrill - - PR c++/100644 - * call.c (perfect_candidate_p): An implicitly deleted move - is not perfect. - -2021-05-18 Andreas Krebbel - - PR c++/100281 - * cvt.c (cp_convert_to_pointer): Use the size of the target - pointer type. - * tree.c (cp_build_reference_type): Call - cp_build_reference_type_for_mode with VOIDmode. - (cp_build_reference_type_for_mode): Rename from - cp_build_reference_type. Add MODE argument and invoke - build_reference_type_for_mode. - (strip_typedefs): Use build_pointer_type_for_mode and - cp_build_reference_type_for_mode for pointers and references. - -2021-05-17 Jonathan Wakely - - PR c++/100635 - * call.c (convert_like_internal): Print different diagnostic if - the lvalue reference is const. - -2021-05-14 Jason Merrill - - PR c++/95870 - * pt.c (enclosing_instantiation_of): Just compare - DECL_SOURCE_LOCATION. - (regenerate_decl_from_template): Copy DECL_SOURCE_LOCATION. - -2021-05-14 Marek Polacek - Jason Merrill - - PR c++/99032 - * cp-tree.h (any_non_type_attribute_p): Declare. - * decl.c (grokdeclarator): Diagnose when an attribute appertains to - a friend declaration that is not a definition. - * decl2.c (any_non_type_attribute_p): New. - * parser.c (cp_parser_decl_specifier_seq): Diagnose standard attributes - in the middle of decl-specifiers. - (cp_parser_elaborated_type_specifier): Diagnose when an attribute - appertains to a friend declaration that is not a definition. - (cp_parser_member_declaration): Likewise. - -2021-05-12 Marek Polacek - - * pt.c (tsubst_copy_and_build): Add warn_int_in_bool_context - sentinel. - -2021-05-12 Marcel Vollweiler - - * parser.c (cp_parser_omp_clause_map): Support map-type-modifier - 'close'. - -2021-05-11 Jason Merrill - - PR c++/100517 - * typeck.c (build_reinterpret_cast_1): Check intype on - cast to vector. - -2021-05-11 Patrick Palka - - PR c++/51577 - * name-lookup.c (maybe_save_operator_binding): Unconditionally - enable for all function templates, not just generic lambdas. - Handle compound-assignment operator expressions. - * typeck.c (build_x_compound_expr): Call maybe_save_operator_binding - in the type-dependent case. - (build_x_modify_expr): Likewise. Move declaration of 'op' closer - to its first use. - -2021-05-11 Patrick Palka - - PR c++/100138 - * constraint.cc (tsubst_constraint): Set up cp_unevaluated. - (satisfy_atom): Set up iloc_sentinel before calling - cxx_constant_value. - * pt.c (tsubst_pack_expansion): When returning a rebuilt pack - expansion, carry over PACK_EXPANSION_LOCAL_P and - PACK_EXPANSION_SIZEOF_P from the original pack expansion. - -2021-05-10 Richard Biener - - PR middle-end/100464 - PR c++/100468 - * call.c (set_up_extended_ref_temp): Mark the temporary - addressable if the TARGET_EXPR was. - -2021-05-10 Martin Liska - - * decl.c (duplicate_decls): Use startswith - function instead of strncmp. - (cxx_builtin_function): Likewise. - (omp_declare_variant_finalize_one): Likewise. - (grokfndecl): Likewise. - * error.c (dump_decl_name): Likewise. - * mangle.c (find_decomp_unqualified_name): Likewise. - (write_guarded_var_name): Likewise. - (decl_tls_wrapper_p): Likewise. - * parser.c (cp_parser_simple_type_specifier): Likewise. - (cp_parser_tx_qualifier_opt): Likewise. - * pt.c (template_parm_object_p): Likewise. - (dguide_name_p): Likewise. - -2021-05-10 Martin Liska - - PR c++/99616 - * decl.c (grokdeclarator): Remove redundant NULL check. - -2021-05-07 Jason Merrill - - * tree.c (rvalue): Assert expr is not a class lvalue. - -2021-05-07 Jason Merrill - - * cp-tree.h (build_stub_object): Declare. - * method.c (build_stub_object): No longer static. - * call.c (can_convert): Use it. - * tree.c (build_dummy_object): Adjust comment. - * typeck.c (cp_build_binary_op): Wrap SPACESHIP_EXPR in a - TARGET_EXPR. - -2021-05-07 Jason Merrill - - * coroutines.cc (build_co_await): Don't call 'rvalue'. - (flatten_await_stmt): Simplify initialization. - (morph_fn_to_coro): Change 'rvalue' to 'move'. Simplify. - -2021-05-04 Tobias Burnus - - * semantics.c (finish_omp_reduction_clause): Accept float + complex - for || and && reductions. - -2021-05-03 Patrick Palka - - PR c++/100362 - * parser.c (cp_parser_class_head): Reinstate calls to pushclass - and popclass when parsing the base-clause that were removed in - r11-6815. - -2021-05-03 Patrick Palka - - PR c++/68942 - PR c++/100344 - * pt.c (tsubst_copy_and_build) : Set tf_conv - only when the callee is a FUNCTION_DECL. - -2021-05-03 Marek Polacek - - PR c++/100055 - * decl.c (grokfndecl): Check current_template_parms. - -2021-05-03 Marek Polacek - - DR 1312 - * constexpr.c (cxx_eval_constant_expression): Don't check - integer_zerop. - -2021-05-01 Jason Merrill - - * cp-tree.h (class ovl_iterator): Allow copying. Add op==. - (class ovl_range, class lkp_range): New. - * call.c (build_op_call_1, add_candidates): Use them. - (build_op_delete_call, has_trivial_copy_assign_p): Likewise. - (has_trivial_copy_p): Likewise. - * class.c (handle_using_decl, get_basefndecls): Likewise. - (maybe_warn_about_overly_private_class): Likewise. - (warn_hidden, add_implicitly_declared_members): Likewise. - (check_methods, clone_constructors_and_destructors): Likewise. - (type_has_user_nondefault_constructor): Likewise. - -2021-04-29 Jason Merrill - - * constexpr.c (cxx_fold_indirect_ref_1): Only set *empty_base if we - don't find a field. - -2021-04-29 Jason Merrill - - PR c++/51344 - * decl2.c (grokfield): Call cplus_decl_attributes for friend. - (save_template_attributes): Use chainon. - * friend.c (do_friend): Remove attrlist parm. - * cp-tree.h (do_friend): Adjust. - * class.c (add_implicitly_declared_members): Adjust. - * decl.c (grokdeclarator): Adjust. - * pt.c (apply_late_template_attributes): Optimize. - -2021-04-29 Jason Merrill - - PR c++/97974 - * class.c (finish_struct_anon_r): Drop complain parm. - Remove non-field diagnostic. - (finish_struct_anon): Adjust. - * decl.c (fixup_anonymous_aggr): Move non-field diagnostic here. - -2021-04-29 Jason Merrill - - * cp-tree.h (cp_evaluated): Add reset parm to constructor. - * parser.c (cp_parser_constant_expression): Change - allow_non_constant_p to int. Use cp_evaluated. - (cp_parser_initializer_clause): Pass 2 to allow_non_constant_p. - * semantics.c (finish_id_expression_1): Don't mess with - cp_unevaluated_operand here. - -2021-04-29 Jason Merrill - - * cp-tree.h: Clarify comments. - * pt.c (get_template_parm_object): Add assert. - * semantics.c (finish_compound_literal): Clear TREE_HAS_CONSTRUCTOR. - * tree.c (zero_init_expr_p): Check TREE_HAS_CONSTRUCTOR. - * typeck2.c (store_init_value): Likewise. - -2021-04-29 Patrick Palka - - PR c++/68942 - * pt.c (tsubst_copy_and_build) : When KOENIG_P, - set tf_conv during the initial substitution into the function. - -2021-04-29 Jakub Jelinek - - PR c++/100319 - * semantics.c (finish_omp_clauses): Fix up check that variable - mentioned in detach clause doesn't appear in data-sharing clauses. - -2021-04-28 Jakub Jelinek - - * module.cc: Remove #error that triggers if DEV-PHASE is empty. - -2021-04-27 Jason Merrill - - PR c++/92145 - * class.c (classtype_has_depr_implicit_copy): Check DECL_CONTEXT - of operator=. - -2021-04-27 Patrick Palka - - PR c++/88580 - * pt.c (tsubst_initializer_list): Correctly handle the case - where an argument inside a base initializer pack expansion is - itself a pack expansion. - -2021-04-26 Patrick Palka - - PR c++/100209 - * constexpr.c (cxx_fold_indirect_ref): Try to canonicalize the - object/offset pair for a POINTER_PLUS_EXPR of a COMPONENT_REF - with a negative offset into one whose offset is nonnegative - before calling cxx_fold_indirect_ref_1. - -2021-04-24 Patrick Palka - - PR c++/89565 - PR c++/93383 - PR c++/95291 - PR c++/99200 - PR c++/99683 - * pt.c (do_class_deduction): Punt if the initializer is - type-dependent. - -2021-04-24 Patrick Palka - - PR c++/87709 - * parser.c (cp_parser_type_id_1): If we see a template - placeholder, first try simulating an error before issuing - a real error. - -2021-04-23 Patrick Palka - - PR c++/98767 - * cxx-pretty-print.c (pp_cxx_parameter_declaration_clause): - Adjust parameter list loop to iterate over 'types' instead of - 'args'. Output the trailing '...' for a variadic function. - Remove PARM_DECL support. - (pp_cxx_requires_expr): Pretty print the parameter list directly - instead of going through pp_cxx_parameter_declaration_clause. - -2021-04-23 Patrick Palka - - DR 2374 - * decl.c (is_direct_enum_init): Check the implicit - convertibility requirement added by CWG 2374. - -2021-04-23 Martin Liska - - * cp-tree.h (STATIC_ASSERT): Prefer static assert. - * lex.c (init_operators): Remove run-time check. - -2021-04-22 Marek Polacek - - PR c++/100161 - * pt.c (tsubst_copy_and_build) : Test op0 and - op1 separately for value- or type-dependence. - -2021-04-21 Marek Polacek - - PR c++/96380 - * parser.c (cp_parser_enum_specifier): Don't allow defining - types in enum-base. - -2021-04-21 Martin Liska - - Revert: - 2021-04-21 Martin Liska - - * error.c (dump_decl): Use flags in dump_generic_node call. - -2021-04-21 Martin Liska - - * error.c (dump_decl): Use flags in dump_generic_node call. - -2021-04-21 Martin Liska - - * error.c (dump_decl): Support anonymous labels. - -2021-04-20 Jason Merrill - - PR c++/100109 - * pt.c (find_parameter_packs_r): Look into enum initializers. - -2021-04-19 Marek Polacek - - PR c++/97536 - * decl.c (grokvardecl): Given an error when a concept is not defined - at namespace scope. - -2021-04-16 Jakub Jelinek - - PR c++/100111 - * constexpr.c (cxx_eval_store_expression): Don't add CONSTRUCTORs - for empty classes into *valp when types don't match even when *valp - is NULL. - -2021-04-16 Marek Polacek - - PR c++/99803 - * decl.c (make_typename_type): Give an error and return when - name is is_overloaded_fn. - * parser.c (cp_parser_class_name): Don't check is_overloaded_fn - before calling make_typename_type. - -2021-04-16 Patrick Palka - - PR c++/99700 - * constexpr.c (reduced_constant_expression_p): For array - CONSTRUCTORs, use a dedicated loop that additionally verifies - the CONSTRUCTOR spans the entire array. - -2021-04-16 Jakub Jelinek - - PR c++/99850 - * parser.c (cp_parser_constraint_requires_parens) : - If lambda_p, return pce_ok instead of pce_maybe_postfix. - -2021-04-16 Jakub Jelinek - - PR c++/99833 - * pt.c (extract_locals_r): When handling DECL_EXPR of a structured - binding, add to data.internal also all corresponding structured - binding decls. - -2021-04-16 Jason Merrill - - PR c++/100079 - * cp-tree.h (first_field): Declare. - * mangle.c (range_expr_nelts): New. - (write_expression): Improve class NTTP mangling. - * pt.c (get_template_parm_object): Clear TREE_HAS_CONSTRUCTOR. - * tree.c (zero_init_expr_p): Improve class NTTP handling. - * decl.c: Adjust comment. - -2021-04-15 Jason Merrill - - PR c++/80456 - * call.c (build_new_method_call_1): Check again for side-effects - with a volatile object. - -2021-04-15 Jason Merrill - - PR c++/100101 - PR c++/99583 - * pt.c (find_parameter_packs_r) [FUNCTION_TYPE]: Walk into - TYPE_RAISES_EXCEPTIONS here. - * tree.c (cp_walk_subtrees): Not here. - -2021-04-15 Jason Merrill - - PR c++/100091 - PR c++/99478 - * parser.c (cp_parser_default_type_template_argument): Set - parser->local_variables_forbidden_p. - -2021-04-15 Richard Sandiford - - PR c++/98852 - * typeck.c (merge_type_attributes_from): New function. - (cp_common_type): Use it for vector types. - -2021-04-14 Jason Merrill - - PR c++/100078 - PR c++/93085 - * pt.c (uses_outer_template_parms): Also look at default - template argument. - -2021-04-14 Jason Merrill - - PR c++/93314 - * semantics.c (finish_id_expression_1): Clear cp_unevaluated_operand - for a non-static data member in a constant-expression. - -2021-04-14 Patrick Palka - - PR c++/83476 - PR c++/99885 - * pt.c (deducible_expression): Look through implicit - INDIRECT_REFs as well. - -2021-04-14 Jason Merrill - - PR c++/99478 - * parser.c (cp_parser_lambda_expression): Reject lambda - in template parameter type. - -2021-04-14 Jason Merrill - - PR c++/90674 - * decl.c (duplicate_decls): Don't propagate - DECL_INITIALIZED_IN_CLASS_P to a specialization. - -2021-04-14 Jason Merrill - - PR c++/88742 - PR c++/49951 - PR c++/58123 - * semantics.c (set_cleanup_locs): New. - (do_poplevel): Call it. - * parser.c (cp_parser_compound_statement): Consume the } - before finish_compound_stmt. - -2021-04-13 Jason Merrill - - PR c++/100032 - * pt.c (get_underlying_template): Compare TYPE_QUALS. - -2021-04-13 Jason Merrill - - PR c++/100054 - PR c++/90479 - * init.c (get_nsdmi): Do more context adjustment for local classes. - -2021-04-13 Patrick Palka - - PR c++/99008 - * pt.c (do_class_deduction): Reject alias CTAD in C++17 mode - rather than issuing a pedwarn. - * typeck2.c (build_functional_cast_1): Handle CTAD uniformly - for consistent diagnostics. - -2021-04-13 Jason Merrill - - PR c++/91933 - * class.c (build_base_path): Shortcut simple non-pointer case. - -2021-04-13 Eric Botcazou - - * module.cc (ordinary_loc_of): Test LINEMAPS_MACRO_LOWEST_LOCATION - of the linemap. - (module_state::write_location): Likewise. - -2021-04-13 Patrick Palka - - PR c++/97134 - * pt.c (do_class_deduction): Look through EXPR_PACK_EXPANSION - when checking if the initializer is an equivalent class - placeholder template parameter. - -2021-04-13 Patrick Palka - - PR c++/99961 - PR c++/99994 - * constraint.cc (satisfy_normalized_constraints): Set - cp_unevaluated. - * parser.c (cp_parser_concept_definition): Likewise. - (cp_parser_requires_clause_opt): Likewise. - -2021-04-12 Jason Merrill - - PR c++/93085 - * pt.c (uses_outer_template_parms): Handle non-type and template - template parameters specifically. - -2021-04-11 Jason Merrill - - PR c++/97974 - * decl.c (fixup_anonymous_aggr): Prune all functions from - CLASSTYPE_MEMBER_VEC. - -2021-04-10 Jason Merrill - - PR c++/98800 - PR c++/97399 - * parser.c (cp_parser_direct_declarator): Don't - inject_this_parameter if static_p. - (cp_parser_omp_var_list_no_open): Parse 'this' even if - current_class_ptr isn't set for a better diagnostic. - -2021-04-10 Jason Merrill - - PR c++/99180 - PR c++/93295 - PR c++/93867 - PR c++/99118 - PR c++/96873 - * pt.c (alias_ctad_tweaks): Handle failure better. - -2021-04-10 Jason Merrill - - PR c++/100006 - * pt.c (find_parameter_packs_r) [TAG_DEFN]: Look into bases. - -2021-04-09 Patrick Palka - - * cp-tree.h (LAMBDA_EXPR_REGENERATED_FROM) - (LAMBDA_EXPR_REGENERATING_TARGS): Replace these with ... - (LAMBDA_EXPR_REGEN_INFO): ... this. - (tree_lambda_expr::regenerated_from) - (tree_lambda_expr::regenerating_targs): Replace these with ... - (tree_lambda_expr::regen_info): ... this. - * constraint.cc (satisfy_declaration_constraints): Adjust - accordingly. - * lambda.c (build_lambda_expr): Likewise. - * pt.c (regenerated_lambda_fn_p): Likewise. - (most_general_lambda): Likewise. - (tsubst_lambda_expr): Likewise. - -2021-04-09 Marek Polacek - - PR c++/99806 - * parser.c (cp_parser_member_declaration): Call - cp_parser_save_default_args even for function templates. Use - STRIP_TEMPLATE on the declaration we're passing. - -2021-04-08 Patrick Palka - - PR c++/99874 - * constraint.cc (get_normalized_constraints_from_decl): Handle - regenerated lambdas. - (satisfy_declaration_constraints): Likewise. Check for - dependent args later. - * cp-tree.h (LAMBDA_EXPR_INSTANTIATED): Replace with ... - (LAMBDA_EXPR_REGENERATED_FROM): ... this. - (LAMBDA_EXPR_REGENERATING_TARGS): New. - (tree_lambda_expr::regenerated_from): New data member. - (tree_lambda_expr::regenerating_targs): New data member. - (add_to_template_args): Declare. - (regenerated_lambda_fn_p): Likewise. - (most_general_lambda): Likewise. - * lambda.c (build_lambda_expr): Set LAMBDA_EXPR_REGENERATED_FROM - and LAMBDA_EXPR_REGENERATING_TARGS. - * pt.c (add_to_template_args): No longer static. - (tsubst_function_decl): Unconditionally propagate constraints on - the substituted function decl. - (instantiated_lambda_fn_p): Rename to ... - (regenerated_lambda_fn_p): ... this. Check - LAMBDA_EXPR_REGENERATED_FROM instead of - LAMBDA_EXPR_INSTANTIATED. - (most_general_lambda): Define. - (enclosing_instantiation_of): Adjust after renaming - instantiated_lambda_fn_p. - (tsubst_lambda_expr): Don't set LAMBDA_EXPR_INSTANTIATED. Set - LAMBDA_EXPR_REGENERATED_FROM and LAMBDA_EXPR_REGENERATING_TARGS. - Don't substitute or set constraints on the regenerated lambda. - -2021-04-08 Patrick Palka - - PR c++/97679 - * pt.c (build_deduction_guide): Document OUTER_ARGS. Substitute - them into the propagated constraints. - -2021-04-08 Jason Merrill - - PR c++/91849 - * call.c (convert_like_internal): Improve reference diagnostic. - -2021-04-08 Jakub Jelinek - - PR c++/99859 - * constexpr.c (addr_of_non_const_var): New function. - (cxx_bind_parameters_in_call): Set *non_constant_args to true - even if cp_walk_tree on arg with addr_of_non_const_var callback - returns true. - -2021-04-08 Jason Merrill - - PR c++/94529 - * pt.c (determine_specialization): Improve diagnostic. - -2021-04-08 Marek Polacek - - PR c++/99844 - * decl.c (build_explicit_specifier): Call - check_for_bare_parameter_packs. - * except.c (build_noexcept_spec): Likewise. - -2021-04-07 Jason Merrill - - PR c++/41723 - * parser.c (cp_parser_class_name): Check dependent_scope_p. - -2021-04-07 Jason Merrill - - PR c++/52625 - * pt.c (maybe_process_partial_specialization): Check - DECL_SELF_REFERENCE_P. - -2021-04-07 Jason Merrill - - PR c++/92918 - * name-lookup.c (push_class_level_binding_1): Do overload a new - function with a previous using-declaration. - -2021-04-06 Jason Merrill - - PR c++/96673 - * init.c (get_nsdmi): Don't defer access checking. - -2021-04-06 Jason Merrill - - PR c++/99901 - * decl.c (cp_finish_decl): mark_needed an implicitly inline - static data member with an out-of-class redeclaration. - -2021-04-06 Jason Merrill - - PR c++/91241 - * mangle.c (write_compact_number): Add sanity check. - (write_local_name): Use list_length for parm number. - -2021-04-06 Patrick Palka - - PR c++/99899 - * pt.c (do_auto_deduction): Don't exit early when deducing the - array type of a structured binding. Also handle adc_decomp_type - during constraint checking. - -2021-04-05 Jason Merrill - - PR c++/96311 - * typeck.c (check_return_expr): Call mark_exp_read in dependent - case. - -2021-04-05 Jason Merrill - - PR c++/98440 - * typeck.c (build_reinterpret_cast_1): Don't perform - temporary materialization. - -2021-04-05 Jason Merrill - - PR c++/95317 - * pt.c (lookup_template_class_1): Do tsubst_enum when - tsubsting a generic lambda. - -2021-04-05 Jason Merrill - - PR c++/95870 - * pt.c (enclosing_instantiation_of): Compare DECL_SOURCE_LOCATION if - there is no enclosing non-lambda function. - -2021-04-05 Nathan Sidwell - - PR c++/99380 - * module.cc (name_pending_imports): Drop 'atend' parm. Don't - query export when not needed. - (preprocess_module, preprocessed_module): Adjust. - -2021-04-05 Jason Merrill - - PR c++/99066 - * pt.c (mark_decl_instantiated): Set DECL_EXTERNAL. - -2021-04-05 Jason Merrill - - PR c++/99201 - * pt.c (class el_data): Add visited field. - (extract_local_specs): Pass it to cp_walk_tree. - (extract_locals_r): Walk into the body of a lambda. - -2021-04-05 Jason Merrill - - * ptree.c (cxx_print_decl): Check DECL_MODULE_IMPORT_P on - template result. - -2021-04-04 Jason Merrill - - PR c++/99643 - * typeck2.c (massage_init_elt): Don't strip TARGET_EXPR. - -2021-04-03 Marek Polacek - - PR c++/91416 - * parser.c: Create a GC root for attributes in a decl specifier. - (cp_parser_type_specifier): Push/pop ->attributes onto/from it. - -2021-04-03 Jason Merrill - - PR c++/91217 - * pt.c (tsubst_lambda_expr): Skip the body block from - DECL_SAVED_TREE. - -2021-04-03 Jason Merrill - - PR c++/90664 - * cvt.c (can_convert_qual): Check fnptr_conv_p. - -2021-04-03 Jason Merrill - - PR c++/97900 - * pt.c (regenerate_decl_from_template): tsubst_decl - the parms. - -2021-04-02 Patrick Palka - - PR c++/99869 - * parser.c (do_range_for_auto_deduction): Pass adc_variable_type - to do_auto_deduction. - -2021-04-02 Patrick Palka - - PR c++/99586 - * semantics.c (finish_compound_literal): Check - template_placeholder_p instead of type_uses_auto. - -2021-04-02 Jason Merrill - - PR c++/97938 - * cp-tree.h (PACK_EXPANSION_AUTO_P): New. - * lambda.c (add_capture): Set it. - * pt.c (tsubst_pack_expansion): Handle it. - -2021-04-02 Nathan Sidwell - - * cp-tree.h (lang_decl_base): Correct module flag comment. - * module.cc (trees_in::assert_definition): Break out - not_tmpl var. - (trees_out::lang_decl_bools): Do not write purview for header units. - -2021-04-01 Marek Polacek - - PR c++/99831 - * method.c (defaulted_late_check): ++ and -- function_depth around - the call to synthesize_method. - * pt.c: Remove the saved_trees global. - -2021-04-01 Jason Merrill - - PR c++/99583 - PR c++/99584 - * tree.c (cp_walk_subtrees) [FUNCTION_TYPE]: Walk into - TYPE_RAISES_EXCEPTIONS. - -2021-04-01 Iain Sandoe - - * mapper-client.cc (INCLUDE_MAP): New; require map to be - included from system.h. - * mapper-resolver.cc (INCLUDE_MAP): Likewise. - -2021-04-01 Jason Merrill - - PR c++/98481 - * mangle.c (write_expression): Adjust. - * class.c (find_abi_tags_r): Disable PR98481 fix for ABI v14. - (mark_abi_tags_r): Likewise. - -2021-04-01 Nathan Sidwell - - PR c++/99283 - * module.cc (trees_out::decl_node): Adjust importedness reference - assert. - (module_state::intercluster_seed): New. Seed both imports and - inter-cluster references. Broken out of ... - (module_state::write_cluster): ... here. Call it. - -2021-03-31 Jason Merrill - - PR c++/99445 - * tree.c (strip_typedefs): Handle TYPE_PACK_EXPANSION. - -2021-03-31 Patrick Palka - - PR c++/88115 - * mangle.c (write_expression): Adjust the mangling of - __alignof__. - -2021-03-31 Patrick Palka - - PR c++/99815 - * pt.c (placeholder_type_constraint_dependent_p): Expand - argument packs to separate the first non-pack argument - from the rest. - -2021-03-30 Nathan Sidwell - - PR c++/99283 - * module.cc (dumper::operator): Make less brittle. - (trees_out::core_bools): VAR_DECLs always have a context. - (trees_out::key_mergeable): Use same_type_p for asserting. - (trees_in::read_var_def): Propagate - DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. - -2021-03-30 Jakub Jelinek - - PR c++/99790 - * cp-gimplify.c (cp_gimplify_expr): Handle PTRMEM_CST. - -2021-03-26 Marek Polacek - - PR c++/98352 - * method.c (implicitly_declare_fn): Pass &raises to - synthesized_method_walk. - -2021-03-26 Nathan Sidwell - - PR c++/99283 - * cp-tree.h (DECL_MODULE_CHECK): Ban TEMPLATE_DECL. - (SET_TYPE_TEMPLATE_INFO): Restore Alias template setting. - * decl.c (duplicate_decls): Remove template_decl module flag - propagation. - * module.cc (merge_kind_name): Add alias tmpl spec as a thing. - (dumper::impl::nested_name): Adjust for template-decl module flag - change. - (trees_in::assert_definition): Likewise. - (trees_in::install_entity): Likewise. - (trees_out::decl_value): Likewise. Remove alias template - separation of template and type_decl. - (trees_in::decl_value): Likewise. - (trees_out::key_mergeable): Likewise, - (trees_in::key_mergeable): Likewise. - (trees_out::decl_node): Adjust for template-decl module flag - change. - (depset::hash::make_dependency): Likewise. - (get_originating_module, module_may_redeclare): Likewise. - (set_instantiating_module, set_defining_module): Likewise. - * name-lookup.c (name_lookup::search_adl): Likewise. - (do_pushdecl): Likewise. - * pt.c (build_template_decl): Likewise. - (lookup_template_class_1): Remove special alias_template handling - of DECL_TI_TEMPLATE. - (tsubst_template_decl): Likewise. - -2021-03-26 Jakub Jelinek - - PR c++/99705 - * tree.c (bot_manip): Remap artificial automatic temporaries mentioned - in DECL_EXPR or in BIND_EXPR_VARS. - -2021-03-25 Jakub Jelinek - - PR c++/99672 - * parser.c (cp_parser_postfix_expression): For calls, create - combined_loc and temporarily set input_location to it before - calling finish_call_expr. - -2021-03-25 Marek Polacek - - PR c++/94751 - * call.c (build_over_call): Maybe call mark_used in case - deduce_inheriting_ctor fails and return error_mark_node. - * cp-tree.h (deduce_inheriting_ctor): Adjust declaration. - * method.c (deduce_inheriting_ctor): Return bool if the deduction - fails. - (implicitly_declare_fn): If raises is error_mark_node, call - synthesized_method_walk with diag being true. - -2021-03-25 Jakub Jelinek - - PR c++/99745 - * decl2.c (grokbitfield): Diagnose bitfields containing bare parameter - packs and don't set DECL_BIT_FIELD_REPRESENTATIVE in that case. - -2021-03-25 Marek Polacek - - PR c++/99331 - * call.c (build_converted_constant_expr_internal): Don't emit - -Wconversion warnings. - -2021-03-25 Jakub Jelinek - - PR c++/99565 - * call.c (build_conditional_expr_1): Pass OEP_ADDRESS_OF_SAME_FIELD - to operand_equal_p. - * cvt.c (convert_to_void): Preserve location_t on COND_EXPR or - or COMPOUND_EXPR. - -2021-03-23 Nathan Sidwell - - PR c++/99283 - * name-lookup.c (check_module_override): Set global or partition - DUP on the binding vector. - -2021-03-23 Marek Polacek - - PR c++/99318 - * decl2.c (cp_warn_deprecated_use_scopes): Only call - cp_warn_deprecated_use when decl is a namespace, class, or enum. - -2021-03-23 Nathan Sidwell - - PR c++/99239 - * decl.c (duplicate_decls): Remove assert about maybe-imported - artificial decls. - -2021-03-23 Jakub Jelinek - - PR c++/99650 - * decl.c (cp_finish_decomp): Diagnose void initializers when - using tuple_element and get. - -2021-03-22 Nathan Sidwell - - PR c++/99480 - * module.cc (depset::hash::make_dependency): Propagate flags for - partial specialization. - (module_may_redeclare): Handle partial specialization. - -2021-03-22 Nathan Sidwell - - PR c++/99425 - * cp-tree.h (map_context_from, map_context_to): Delete. - (add_mergeable_specialization): Add is_alias parm. - * pt.c (add_mergeable_specialization): Add is_alias parm, add them. - * module.cc (map_context_from, map_context_to): Delete. - (trees_in::decl_value): Add specializations later, adjust call. - Drop useless alias lookup. Set duplicate fn parm context. - (check_mergeable_decl): Drop context mapping. - (trees_in::is_matching_decl): Likewise. - (trees_in::read_function_def): Drop parameter context adjustment - here. - -2021-03-22 Martin Liska - - PR c++/99687 - * module.cc (fini_modules): Call vec_free instead of delete. - -2021-03-20 Jakub Jelinek - - PR debug/99230 - * cp-gimplify.c (cp_genericize_r) : Remove - special code, instead call c_genericize_control_stmt. - -2021-03-19 Jakub Jelinek - - PR c++/99456 - * constexpr.c (cxx_eval_constant_expression): For CONVERT_EXPR from - INDIRECT_TYPE_P to ARITHMETIC_TYPE_P, when !ctx->manifestly_const_eval - don't diagnose it, set *non_constant_p nor return t. - -2021-03-19 Marek Polacek - - PR c++/99500 - * parser.c (cp_parser_requirement_parameter_list): Handle - error_mark_node. - -2021-03-18 Marek Polacek - - * pt.c (tsubst_copy_and_build) : Remove. - -2021-03-18 Marek Polacek - - * pt.c (tsubst_copy_and_build): Add assert. - -2021-03-18 Iain Sandoe - - PR objc++/49070 - * parser.c (cp_debug_parser): Add Objective-C++ message - state flag. - (cp_parser_nested_name_specifier_opt): Allow colon to - terminate an assignment-expression when parsing Objective- - C++ messages. - (cp_parser_objc_message_expression): Set and clear message - parsing state on entry and exit. - * parser.h (struct cp_parser): Add a context flag for - Objective-C++ message state. - -2021-03-18 Martin Liska - - PR c++/99617 - * coroutines.cc (struct var_nest_node): Init then_cl and else_cl - to NULL. - -2021-03-17 Marek Polacek - - PR c++/97973 - * call.c (conv_unsafe_in_template_p): New. - (convert_like): Use it. - -2021-03-17 Anthony Sharp - Jason Merrill - - * semantics.c (get_class_access_diagnostic_decl): New - function that examines special cases when a parent - class causes a private access failure. - (enforce_access): Slightly modified to call function - above. - -2021-03-16 Jason Merrill - - * tree.c (cp_tree_equal): Use real_identical. - -2021-03-16 Jakub Jelinek - - PR c++/99613 - * decl.c (expand_static_init): For thread guards, call __cxa_atexit - before calling __cxa_guard_release rather than after it. Formatting - fixes. - -2021-03-16 Martin Liska - Jason Merrill - - PR c++/99108 - * call.c (get_function_version_dispatcher): Handle - DECL_LOCAL_DECL_P. - * decl.c (maybe_version_functions): Likewise. - (maybe_mark_function_versioned): New. - * name-lookup.c (push_local_extern_decl_alias): No longer static. - * name-lookup.h (push_local_extern_decl_alias): Adjust. - -2021-03-16 Nathan Sidwell - - PR c++/99496 - * module.cc (trees_out::decl_value): Adjust typedef streaming, - indicate whether it is a dependent alias. - (trees_in::decl_value): Likewise. Set as dependent alias, if it - is one. - -2021-03-15 Iain Sandoe - - PR c++/99047 - * coroutines.cc (expand_one_await_expression): If the - await_ready() expression is not a boolean then convert it - as required. - -2021-03-15 Iain Sandoe - - PR c++/98704 - * coroutines.cc (build_actor_fn): Make destroy index 1 - correspond to the abnormal unhandled_exception() exit. - Substitute the proxy for the resume index. - (coro_rewrite_function_body): Arrange to reset the resume - index and make done = true for a rethrown exception from - unhandled_exception (). - (morph_fn_to_coro): Adjust calls to build_actor_fn and - coro_rewrite_function_body. - -2021-03-15 Iain Sandoe - - PR c++/98480 - * coroutines.cc (replace_continue): Rewrite continue into - 'goto label'. - (await_statement_walker): Handle await expressions in the - initializer, condition and iteration expressions of for - loops. - -2021-03-15 Iain Sandoe - - PR c++/96749 - * coroutines.cc (flatten_await_stmt): Allow for the case - where a target expression variable only has uses in the - second part of a compound expression. - (maybe_promote_temps): Avoid emiting empty statements. - -2021-03-15 Tobias Burnus - - PR c++/99509 - * decl.c (cp_finish_decl): For 'omp declare target implicit' vars, - ensure that the varpool node is marked as offloadable. - -2021-03-12 Nathan Sidwell - - PR c++/99238 - * module.cc (depset::hash::add_binding_entity): Assert not - visited. - (depset::add::add_specializations): Likewise. - * name-lookup.c (name_lookup::dedup): New. - (name_lookup::~name_lookup): Assert not deduping. - (name_lookup::restore_state): Likewise. - (name_lookup::add_overload): Replace outlined code with dedup - call. - (name_lookup::add_value): Likewise. - (name_lookup::search_namespace_only): Likewise. - (name_lookup::adl_namespace_fns): Likewise. - (name_lookup::adl_class_fns): Likewise. - (name_lookup::search_adl): Likewise. Add clearing dedup call. - (name_lookup::search_qualified): Likewise. - (name_lookup::search_unqualified): Likewise. - -2021-03-12 Jakub Jelinek - - PR c++/99507 - * call.c (build_over_call): For immediate evaluation of functions - that return references, undo convert_from_reference effects before - calling cxx_constant_value and call convert_from_reference - afterwards. - -2021-03-11 Nathan Sidwell - - PR c++/99248 - * name-lookup.c (lookup_elaborated_type_1): Access slot not bind - when there's a binding vector. - * ptree.c (cxx_print_xnode): Lazy flags are no longer a thing. - -2021-03-11 Nathan Sidwell - - PR c++/99528 - * module.cc (enum merge_kind): Delete MK_type_tmpl_spec, - MK_decl_tmpl_spec. - (trees_in::decl_value): Adjust add_mergeable_specialization call. - (trees_out::get_merge_kind): Adjust detecting a partial template - instantiation. - (trees_out::key_mergeable): Adjust handling same. - (trees_in::key_mergeabvle): Likewise. - -2021-03-10 Nathan Sidwell - - PR c++/99423 - * module.cc (post_load_processing): Assert not gcable. - (laxy_load_pendings): Extend no-gc region around - post_load_processing. - -2021-03-10 Nathan Sidwell - - PR c++/99508 - * decl.c (make_rtl_for_nonlocal_decl): Propagate local-extern's - assembler name to the ns alias. - -2021-03-09 Jakub Jelinek - - PR c++/99459 - * coroutines.cc (build_co_await): Look through NOP_EXPRs in - build_special_member_call return value to find the CALL_EXPR. - Simplify. - -2021-03-09 Nathan Sidwell - - PR c++/99472 - * parser.c (cp_parser_diagnose_invalid_type_name): Clarify - that C++20 does not yet imply modules. - -2021-03-08 Nathan Sidwell - - PR c++/99436 - * name-lookup.c (get_cxx_dialect_name): Add cxx23. - -2021-03-08 Nathan Sidwell - - * lex.c (module_token_filter::resume): Ignore module-decls inside - header-unit. - * parser.c (cp_parser_module_declaration): Reject in header-unit. - -2021-03-08 Nathan Sidwell - - PR c++/99285 - * cp-tree.h (match_mergeable_specialization) - (add_mergeable_specialization): Adjust parms. - * module.cc (trees_in::decl_value): Adjust - add_mergeable_specialization calls. - (trees_out::key_mergeable): Adjust match_mergeable_specialization - calls. - (specialization_add): Likewise. - * pt.c (match_mergeable_specialization): Do not insert. - (add_mergeable_specialization): Add to hash table here. - -2021-03-06 Patrick Palka - Jakub Jelinek - - PR c++/99287 - * constexpr.c (cxx_eval_increment_expression): Pass lval when - evaluating the MODIFY_EXPR, and update 'mod' with the result of - this evaluation. Check *non_constant_p afterwards. For prefix - ops, just return 'mod'. - -2021-03-06 Patrick Palka - Jakub Jelinek - - PR c++/96330 - * pt.c (tsubst_copy) : Rename local - variable 'fn' to 'tmpl'. Handle a variable template-id by - calling lookup_template_variable. - -2021-03-06 Patrick Palka - - PR c++/99365 - * pt.c (unify) : Pass targs as - outer_targs to do_auto_deduction. - (placeholder_type_constraint_dependent_p): Define. - (do_auto_deduction): When processing_template_decl != 0 - and context is adc_unify and we have constraints, pretend the - constraints are satisfied instead of punting. Otherwise don't - punt unless placeholder_type_constraint_dependent_p holds. - Add some clarifying sanity checks. Add a hack to add missing - outermost template levels to outer_args before checking - satisfaction. Don't substitute outer_targs into type if it's - already been done. - -2021-03-05 Marek Polacek - - PR c++/99374 - * call.c (standard_conversion): When converting pointers to - member, don't return NULL when the bases are equivalent but - incomplete. - -2021-03-05 Marek Polacek - - PR c++/99120 - * name-lookup.c (check_local_shadow): Check if the type of decl - is non-null before checking TYPE_PTR*. - -2021-03-05 Nathan Sidwell - - PR c++/99245 - * module.cc (module_state::write_cluster): Relax binding assert. - -2021-03-05 Nathan Sidwell - - PR c++/99377 - * pt.c (instantiate_decl): Call set_instantiating_module. - -2021-03-05 Iain Sandoe - - PR c++/98118 - * coroutines.cc (build_co_await): Use type_build_ctor_call() - to determine cases when a CTOR needs to be built. - (flatten_await_stmt): Likewise. - (morph_fn_to_coro): Likewise. - -2021-03-05 Iain Sandoe - - PR c++/95616 - * coroutines.cc (coro_diagnose_throwing_fn): New helper. - (coro_diagnose_throwing_final_aw_expr): New helper. - (build_co_await): Diagnose throwing final await expression - components. - (build_init_or_final_await): Diagnose a throwing promise - final_suspend() call. - -2021-03-05 Iain Sandoe - - PR c++/95615 - * coroutines.cc (struct param_info): Track parameter copies that need - a DTOR. - (coro_get_frame_dtor): New helper function factored from build_actor(). - (build_actor_fn): Use coro_get_frame_dtor(). - (morph_fn_to_coro): Track parameters that need DTORs on exception, - likewise the frame promise and the return object. On exception, run the - DTORs for these, destroy the frame and then rethrow the exception. - -2021-03-05 Nathan Sidwell - - PR c++/99389 - * pt.c (instantiate_class_template_1): Set instantiating module - here. - -2021-03-05 Tobias Burnus - - PR c/99137 - * parser.c (cp_parser_oacc_clause_async): Reject comma expressions. - -2021-03-04 Jakub Jelinek - - PR c++/88146 - PR c++/99362 - * cvt.c (convert_to_void): Revert 2019-10-17 changes. Clarify - comment. - -2021-03-04 Nathan Sidwell - - PR c++/99170 - * module.cc (class uintset): Delete. - (typedef attached_map_t): A hash map. - (attached_table): Use attached_map_t. Adjust uses ... - (trees_out::decl_value, trees_in::decl_value): ... here ... - (trees_out::key_mergeable): ... here ... - (trees_in::key_mergeable): ... here ... - (maybe_attach_decl): ... here ... - (direct_import): ... and here. - -2021-03-04 Nathan Sidwell - - PR c++/99170 - * cp-tree.h - * lex.c (cxx_dup_lang_specific_decl): Adjust for module_attached_p - rename. - * module.cc (class pending_key): New. - (default_hash_traits): New specialization. - (pending_map_t): New typedef. - (pending_table): Replace old table. - (trees_out::lang_decl_bools): Adjust. - (trees_in::lang_decl_bools): Adjust. - (trees_in::install_entity): Drop pending member and specialization - handling. - (find_pending_key): New. - (depset::hash::fiund_dependencies): Use it. - (pendset_lazy_load): Delete. - (module_state::write_cluster): Don't count pendings here. Bye - Duff's device-like thing. - (module_state::write_pendings): Reimplement. - (module_state::read_pendings): Reimplement. - (lazy_specializations_p): Delete. - (module_state::write): Adjust write_pendings call. - (lazy_load_pendings): New. - (lazy_load_specializations): Delete. - (lazy_load_members): Delete. - (init_modules): Adjust. - * name-lookup.c (maybe_lazily_declare): Call lazy_load_pendings - not lazy_load_members. - (note_pending_specializations): Delete. - (load_pending_specializations): Delete. - * name-lookup.h (BINDING_VECTR_PENDING_SPECIALIZATIONS_P): Delete. - (BINDING_VECTOR_PENDING_MEMBERS_P): Delete. - (BINDING_VECTR_PENDING_MEMBERS_P): Delete. - (note_pending_specializations): Delete. - (load_pending_specializations): Delete. - * pt.c (lookup_template_class_1): Call lazy_load_pendings not - lazy_load_specializations. - (instantiate_template_class_1): Likewise. - (instantiate_decl): Call lazy_load_pendings. - * typeck.c (complete_type): Likewise. - -2021-03-03 Nathan Sidwell - - PR c++/99170 - * module.cc (post_load_decls): New. - (lazy_snum, recursive_lazy): Move earlier. - (module_state::read_cluster): Push cloning onto post_load_decls. - (post_load_processing): New. Do the cloning here. - (module_state::read_inits): Call post_load_processing. - (module_state::read_language): Likewise. - (lazy_load_binding, lazy_load_specializations): Likewise - (lazy_load_members): Likewise - -2021-03-03 Nathan Sidwell - - PR c++/99170 - * module.cc (trees_out::decl_value): Stream specialization keys - after decl. - (trees_in::decl_value): Stream them back and insert after - completing the decl. - (trees_out::key_mergeable): Drop some streaming here ... - (trees_in::key_mergeable): ... and here. Don't insert into - specialization tables. - -2021-03-03 Patrick Palka - - * constraint.cc (struct sat_info): Document the different - meanings of noisy() and diagnose_unsatisfaction_p() during - satisfaction and requires-expression evaluation. - (tsubst_valid_expression_requirement): Take a sat_info instead - of a subst_info. Perform the substitution quietly first. Fold - in error-replaying code from diagnose_valid_expression. - (tsubst_simple_requirement): Take a sat_info instead of a - subst_info. - (tsubst_type_requirement_1): New. Fold in error-replaying code - from diagnose_valid_type. - (tsubst_type_requirement): Use the above. Take a sat_info - instead of a subst_info. - (tsubst_compound_requirement): Likewise. Fold in - error-replaying code from diagnose_compound_requirement. - (tsubst_nested_requirement): Take a sat_info instead of a - subst_info. Fold in error-replaying code from - diagnose_nested_requirement. - (tsubst_requirement): Take a sat_info instead of a subst_info. - (tsubst_requires_expr): Split into two versions, one that takes - a sat_info argument and another that takes a complain and - in_decl argument. Remove outdated documentation. Document the - effects of the sat_info argument. Don't short-circuit - processing of requirements when diagnosing unsatisfaction, - mirroring diagnose_requires_expr. - (satisfy_nondeclaration_constraint) : Remove - assert, and se the three-parameter version of tsubst_requires_expr. - (diagnose_trait_expr): Make static. Take a template argument - vector instead of a parameter mapping. - (diagnose_valid_expression): Remove. - (diagnose_valid_type): Remove. - (diagnose_simple_requirement): Remove. - (diagnose_compound_requirement): Remove. - (diagnose_type_requirement): Remove. - (diagnose_nested_requirement): Remove. - (diagnose_requirement): Remove. - (diagnose_requires_expr): Remove. - (diagnose_atomic_constraint): Take a sat_info instead of a - subst_info. Adjust call to diagnose_trait_expr. Call - tsubst_requires_expr instead of diagnose_requires_expr. - (diagnose_constraints): Remove special casing of REQUIRES_EXPR - and just always call constraint_satisfaction_value. - -2021-03-03 Patrick Palka - - * constexpr.c (cxx_eval_call_expression): Adjust call to - evaluate_concept_check. - (cxx_eval_constant_expression) : Use - evaluate_requires_expression instead of - satisfy_constraint_expression. - : Adjust call to evaluate_concept_check. - * constraint.cc (struct sat_info): Adjust comment about which - satisfaction entrypoints use noisy-unsat. - (normalize_template_requirements): Remove (and adjust callers - appropriately). - (normalize_nontemplate_requirements): Likewise. - (tsubst_nested_requirement): Use constraint_satisfaction_value - instead of satisfy_constraint_expression, which'll do the - noisy replaying of ill-formed quiet satisfaction for us. - (decl_satisfied_cache): Adjust comment. - (satisfy_constraint): Rename to ... - (satisfy_normalized_constraints): ... this. - (satisfy_associated_constraints): Remove (and make its - callers check for dependent arguments). - (satisfy_constraint_expression): Rename to ... - (satisfy_nondeclaration_constraints): ... this. Assert that - 'args' is empty when 't' is a concept-id. Removing handling - bare constraint-expressions, and handle REQUIRES_EXPRs - specially. Adjust comment accordingly. - (satisfy_declaration_constraints): Assert in the two-parameter - version that 't' is not a TEMPLATE_DECL. Adjust following - removal of normalize_(non)?template_requirements and - satisfy_asociated_constraints. - (constraint_satisfaction_value): Combine the two- and - three-parameter versions in the natural way. - (constraints_satisfied_p): Combine the one- and two-parameter - versions in the natural way. Improve documentation. - (evaluate_requires_expr): Define. - (evaluate_concept_check): Remove 'complain' parameter. Use - constraint_satisfaction_value instead of - satisfy_constraint_expression. - (diagnose_nested_requirement): Adjust following renaming of - satisfy_constraint_expression. - (diagnose_constraints): Handle REQUIRES_EXPR by going through - diagnose_requires_expr directly instead of treating it as a - constraint-expression. Improve documentation. - * cp-gimplify.c (cp_genericize_r) : Adjust call - to evaluate_concept_check. - : Use evaluate_requires_expr instead of - constraints_satisfied_p. - : Adjust call to evaluate_concept_check. - * cp-tree.h (evaluate_requires_expr): Declare. - (evaluate_concept_check): Remove tsubst_flag_t parameter. - (satisfy_constraint_expression): Remove declaration. - (constraints_satisfied_p): Remove one-parameter declaration. - Add a default argument to the two-parameter declaration. - * cvt.c (convert_to_void): Adjust call to - evaluate_concept_check. - -2021-03-03 Jakub Jelinek - - PR c++/82959 - * call.c (op_is_ordered): Handle TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR - and COMPOUND_EXPR. - -2021-03-03 Marek Polacek - - PR c++/97034 - PR c++/99009 - * pt.c (build_deduction_guide): Use INNERMOST_TEMPLATE_ARGS. - (maybe_aggr_guide): Use the original template type where needed. In - a class member template, partially instantiate the result of - collect_ctor_idx_types. - (do_class_deduction): Defer the deduction until the enclosing - scope is non-dependent. - -2021-03-03 Jason Merrill - - PR c++/95675 - * call.c (build_temp): Wrap a CALL_EXPR in a TARGET_EXPR - if it didn't get one before. - -2021-03-03 Nathan Sidwell - - PR c++/99344 - * module.cc (trees_out::decl_node): Small refactor. - (depset::hash::add_binding_entity): Return true on meeting an - import. Set namespace's import here. - (module_state:write_namespaces): Inform of purview too. - (module_state:read_namespaces): Adjust. - * name-lookup.c (implicitly_export_namespace): Delete. - (do_pushdecl): Don't call it. - (push_namespace): Likewise, set purview. - (add_imported_namespace): Reorder parms. - * name-lookup.h (add_imported_namespace): Alter param ordering. - -2021-03-02 Martin Sebor - - PR c++/99251 - * class.c (build_base_path): Call build_if_nonnull. - * cp-tree.h (build_if_nonnull): Declare. - * rtti.c (ifnonnull): Rename... - (build_if_nonnull): ...to this. Set no-warning bit on COND_EXPR. - (build_dynamic_cast_1): Adjust to name change. - -2021-03-02 Patrick Palka - - PR c++/96443 - PR c++/96960 - * constraint.cc (type_deducible_p): Don't substitute into the - constraints, and instead just pass 'args' to do_auto_deduction - as the outer template arguments. - (tsubst_parameter_mapping): Remove confused code for handling - placeholder type arguments. - (normalize_placeholder_type_constraint): Define. - (satisfy_constraint_expression): Use it to handle placeholder - 'auto' types. - * cp-tree.h (PLACEHOLDER_TYPE_CONSTRAINTS_INFO): Define. - (PLACEHOLDER_TYPE_CONSTRAINTS): Redefine in terms of the above. - * pt.c (tsubst) : Use - PLACEHOLDER_TYPE_CONSTRAINTS_INFO instead. - (make_constrained_placeholder_type): Set - PLACEHOLDER_TYPE_CONSTRAINTS_INFO instead. - (do_auto_deduction): Clarify comments about the outer_targs - parameter. Rework satisfaction of a placeholder type constraint - to pass in the complete set of template arguments directly to - constraints_satisfied_p. - (splice_late_return_type): Use PLACEHOLDER_TYPE_CONSTRAINTS_INFO - instead. Also rebuild the the constraint info on the new auto. - -2021-03-02 Patrick Palka - - * constraint.cc (build_parameter_mapping): Rely on the caller to - determine the in-scope template parameters. - (norm_info::norm_info): Delegate the tsubst_flags_t constructor - to the two-parameter constructor. In the two-parameter - constructor, fold in the definition of make_context, set - initial_parms appropriately, and don't set the now-removed - orig_decl member. - (norm_info::make_context): Remove, now that its only use is - inlined into the caller. - (norm_info::update_context): Adjust call to - build_parameter_mapping to pass in the relevant set of in-scope - template parameters. - (norm_info::ctx_parms): Define this member function. - (norm_info::context): Initialize to NULL_TREE. - (norm_info::orig_decl): Remove this data member. - (norm_info::initial_parms): Define this data member. - (normalize_atom): Adjust call to build_parameter_mapping to pass - in the relevant set of in-scope template parameters. Use - info.initial_parms instead of info.orig_decl. - (normalize_constraint_expression): Take a norm_info object - instead of a bool. Cache the result of normalization. - (tsubst_nested_requirement): Call satisfy_constraint_expression - instead of satisfy_constraint, so that we normalize on demand. - (satisfy_constraint_expression): Handle a NESTED_REQ argument. - Adjust call to normalize_constraint_expression. - (finish_nested_requirement): Set the TREE_TYPE of the NESTED_REQ - to current_template_parms. - (diagnose_nested_requirements): Go through - satisfy_constraint_expression, as with tsubst_nested_requirement. - -2021-03-02 Patrick Palka - - * constraint.cc (tsubst_parameter_mapping): Canonicalize the - arguments of a substituted TYPE_ARGUMENT_PACK even if we've - started with a TYPE_ARGUMENT_PACK. - (finish_requires_expr): Don't set DECL_CONTEXT and - CONSTRAINT_VAR_P on each of the introduced parameters here. - * parser.c (cp_parser_requirement_parameter_list): Instead set - these fields earlier, here. - * pt.c (do_auto_deduction): Canonicalize the result of - do_auto_deduction. Pass 'complain' to finish_decltype_type. - -2021-03-02 Patrick Palka - - * constraint.cc (tsubst_simple_requirement): Just return - boolean_true_node on success. - (tsubst_type_requirement): Likewise. - (tsubst_compound_requirement): Likewise. - (tsubst_nested_requirement): Likewise. - (tsubst_requirement_body): Remove. - (check_constaint_variables): Rename to ... - (check_constraint_variables): ... this. - (tsubst_constraint_variables): Adjust. - (tsubst_requires_expr): Fold tsubst_requirement_body into here. - -2021-03-01 Nathan Sidwell - - PR c++/99294 - * class.c (fixup_type_variants): Propagate mode, precision, - alignment & emptiness. - * module.cc (trees_out::type_node): Use TYPE_ALIGN_RAW. - (trees_in::tree_node): Rematerialize alignment here. - -2021-02-27 Jason Merrill - - PR c++/90333 - * parser.c (cp_parser_lambda_declarator_opt): Accept GNU attributes - between () and ->. - -2021-02-26 Jakub Jelinek - - * parser.c (cp_parser_lambda_declarator_opt): Implement - P1102R2 - Down with ()! Make ()s optional before lambda specifiers - for -std={c,gnu}++2b or with pedwarn in earlier versions. - -2021-02-26 Jakub Jelinek - - PR c++/95451 - * lambda.c (is_lambda_ignored_entity): Before checking for - LAMBDA_FUNCTION_P, use OVL_FIRST. Drop FUNCTION_DECL check. - -2021-02-26 Jason Merrill - - PR c++/98810 - * pt.c (tsubst_copy) [VIEW_CONVERT_EXPR]: Add const - to a class non-type template argument that needs it. - -2021-02-26 Patrick Palka - - PR c++/98990 - * pt.c (splice_late_return_type): Rebuild the entire return type - if we have to adjust the level of an auto within. - (type_uses_auto): Adjust call to find_type_usage. - * type-utils.h (find_type_usage): Revert r10-6571 change that - made this function return a pointer to the auto node. - -2021-02-25 Patrick Palka - - PR c++/99213 - PR c++/94521 - * error.c (dump_scope): Pass TFF_NO_TEMPLATE_BINDINGS instead of - TFF_NO_FUNCTION_ARGUMENTS when dumping a function scope. - -2021-02-25 Patrick Palka - - PR c++/99103 - * pt.c (is_spec_or_derived): Drop cv-qualifiers from 'etype'. - (maybe_aggr_guide): Fix order of arguments to is_spec_or_derived. - -2021-02-25 Marek Polacek - - DR 1312 - PR c++/99176 - * constexpr.c (is_std_construct_at): New overload. - (is_std_allocator_allocate): New overload. - (cxx_eval_call_expression): Use the new overloads. - (cxx_eval_constant_expression): Reject casting - from void * as per DR 1312. Don't check can_convert. - -2021-02-25 Iain Sandoe - - PR c++/97587 - * coroutines.cc (struct param_info): Track rvalue refs. - (morph_fn_to_coro): Track rvalue refs, and call the promise - CTOR with the frame copy of passed parms. - -2021-02-25 Iain Sandoe - - PR c++/95822 - * coroutines.cc (morph_fn_to_coro): Unconditionally remove any - set throwing_cleanup marker. - -2021-02-25 Nathan Sidwell - - PR c++/99166 - * module.cc (module_state::inform_cmi_p): Renamed field. - (module_state::do_import): Adjust. - (init_modules, finish_module_processing): Likewise. - (handle_module_option): Likewise. - -2021-02-25 Nathan Sidwell - - PR c++/98318 - * mapper-client.cc (module_client::open_module_client): Fix typo - of fd init. - -2021-02-24 Nathan Sidwell - - PR c++/98718 - * module.cc (ool): New indirection vector. - (loc_spans::maybe_propagate): Location is not optional. - (loc_spans::open): Likewise. Assert monotonically advancing. - (module_for_ordinary_loc): Use ool indirection vector. - (module_state::write_prepare_maps): Do not count empty macro - expansions. Elide empty spans. - (module_state::write_macro_maps): Skip empty expansions. - (ool_cmp): New qsort comparator. - (module_state::write): Create and destroy ool vector. - (name_pending_imports): Fix dump push/pop. - (preprocess_module): Likewise. Add more dumping. - (preprocessed_module): Likewise. - -2021-02-24 Iain Sandoe - - PR c++/96251 - * coroutines.cc (coro_common_keyword_context_valid_p): Suppress - error reporting when instantiating for a constexpr. - -2021-02-23 Nathan Sidwell - - PR c++/99208 - * decl.c (name_unnamed_type): Check DECL identity, not IDENTIFIER - identity. - -2021-02-23 Patrick Palka - - PR c++/95468 - * pt.c (tsubst_copy_and_build) : New case, copied - over from tsubst_copy. - -2021-02-23 Patrick Palka - - * pt.c (instantiation_dependent_expression_p): Check - processing_template_decl before calling - potential_constant_expression. - -2021-02-22 Nathan Sidwell - - PR c++/99174 - * module.cc (struct module_state): Add visited_p flag. - (name_pending_imports): Use it to avoid duplicate requests. - (preprocess_module): Don't read preprocessor state if we failed to - load a module's config. - -2021-02-22 Nathan Sidwell - - PR c++/99153 - * decl.c (duplicate_decls): Move DECL_MODULE_IMPORT_P propagation - to common-path. - * module.cc (set_defining_module): Add assert. - -2021-02-19 Nathan Sidwell - - PR c++/98741 - * module.cc (pending_imports): New. - (declare_module): Adjust test condition. - (name_pending_imports): New. - (preprocess_module): Reimplement using pending_imports. - (preprocessed_module): Move name-getting to name_pending_imports. - * name-lookup.c (append_imported_binding_slot): Assert module - ordering is increasing. - -2021-02-19 Nathan Sidwell - - * module.cc (note_cmis): New. - (struct module_state): Add inform_read_p bit. - (module_state::do_import): Inform of CMI location, if enabled. - (init_modules): Canonicalize note_cmis entries. - (handle_module_option): Handle -flang-info-module-read=FOO. - -2021-02-19 Jason Merrill - - PR c++/96926 - * call.c (perfect_conversion_p): Limit rvalueness - test to reference bindings. - -2021-02-19 Jason Merrill - - PR c++/96926 - * call.c (perfect_conversion_p): New. - (perfect_candidate_p): New. - (add_candidates): Ignore templates after a perfect non-template. - -2021-02-18 Nathan Sidwell - - PR c++/99023 - * module.cc (canonicalize_header_name): Use - cpp_probe_header_unit. - (maybe_translate_include): Fix note_includes comparison. - (init_modules): Fix note_includes string termination. - -2021-02-18 Jakub Jelinek - - PR c++/99132 - * cp-gimplify.c (cp_genericize_r) : Use - cp_get_callee_fndecl_nofold instead of cp_get_callee_fndecl to check - for immediate function calls. - -2021-02-17 Nathan Sidwell - - PR c++/99023 - * module.cc (struct macro_export): Add GTY markers. - (macro_exports): Likewise, us a va_gc Vector. - -2021-02-17 Jakub Jelinek - - PR sanitizer/99106 - * init.c (build_zero_init_1): For flexible array members just return - NULL_TREE instead of returning empty CONSTRUCTOR with non-complete - ARRAY_TYPE. - -2021-02-17 Nathan Sidwell - - PR c++/99116 - * name-lookup.c (do_pushdecl): Don't peek under template_parm - bindings here ... - (set_identifier_type_value_with_scope): ... or here. - (do_pushtag): Only set_identifier_type_value_with_scope at - non-class template parm scope, and use parent scope. - -2021-02-17 Nathan Sidwell - - PR c++/99071 - * name-lookup.c (maybe_record_mergeable_decl): Deref the correct - pointer. - -2021-02-17 Patrick Palka - - PR debug/96997 - PR c++/94034 - * tree.c (build_aggr_init_expr): Revert r10-7718 change. - -2021-02-12 Nathan Sidwell - - * module.cc (module_state::write_cluster): Check bindings for - imported using-decls. - -2021-02-12 Nathan Sidwell - - PR c++/99040 - * module.cc (trees_in::decl_value): Call add_module_namespace_decl - for new namespace-scope entities. - (module_state::read_cluster): Don't call add_module_decl here. - * name-lookup.h (add_module_decl): Rename to ... - (add_module_namespace_decl): ... this. - * name-lookup.c (newbinding_bookkeeping): Move into ... - (do_pushdecl): ... here. Its only remaining caller. - (add_module_decl): Rename to ... - (add_module_namespace_decl): ... here. Add checking-assert for - circularity. Don't call newbinding_bookkeeping, just extern_c - checking and incomplete var checking. - -2021-02-12 Nathan Sidwell - - PR c++/99039 - PR c++/99040 - * cp-tree.h (CPTI_GLOBAL_TYPE): Delete. - (global_type_node): Delete. - (IDENTIFIER_TYPE_VALUE): Delete. - (IDENTIFIER_HAS_TYPE_VALUE): Delete. - (get_type_value): Delete. - * name-lookup.h (identifier_type_value): Delete. - * name-lookup.c (check_module_override): Don't - SET_IDENTIFIER_TYPE_VALUE here. - (do_pushdecl): Nor here. - (identifier_type_value_1, identifier_type_value): Delete. - (set_identifier_type_value_with_scope): Only - SET_IDENTIFIER_TYPE_VALUE for local and class scopes. - (pushdecl_nanmespace_level): Remove shadow stack nadgering. - (do_pushtag): Use REAL_IDENTIFIER_TYPE_VALUE. - * call.c (check_dtor_name): Use lookup_name. - * decl.c (cxx_init_decl_processing): Drop global_type_node. - * decl2.c (cplus_decl_attributes): Don't SET_IDENTIFIER_TYPE_VALUE - here. - * init.c (get_type_value): Delete. - * pt.c (instantiate_class_template_1): Don't call pushtag or - SET_IDENTIFIER_TYPE_VALUE here. - (tsubst): Assert never an identifier. - (dependent_type_p): Drop global_type_node assert. - * typeck.c (error_args_num): Don't use IDENTIFIER_HAS_TYPE_VALUE - to determine ctorness. - -2021-02-12 Jakub Jelinek - - PR c++/97742 - * parser.c (cp_parser_requirement_seq): Stop iterating after reaching - CPP_EOF. - -2021-02-12 Jason Merrill - - PR c++/97246 - PR c++/94546 - * pt.c (extract_fnparm_pack): Check DECL_PACK_P here. - (register_parameter_specializations): Not here. - -2021-02-11 Marek Polacek - - PR c++/95888 - * pt.c (lookup_template_class_1): Pass tf_none to tsubst when looking - for the partial instantiation. - -2021-02-11 Jakub Jelinek - - PR c++/99033 - * init.c (build_zero_init_1): Handle zero initialiation of - flexible array members like initialization of [0] arrays. - Use integer_minus_onep instead of comparison to integer_minus_one_node - and integer_zerop instead of comparison against size_zero_node. - Formatting fixes. - -2021-02-11 Marek Polacek - - PR c++/99063 - * semantics.c (finish_do_stmt): Check for unexpanded parameter packs. - -2021-02-11 Patrick Palka - - PR c++/97582 - * name-lookup.c (op_unqualified_lookup): Handle an ambiguous - lookup result by discarding it if the first element is a - class-scope declaration, otherwise return it. - (push_operator_bindings): Handle an ambiguous lookup result by - doing push_local_binding on each element in the list. - -2021-02-11 Marek Polacek - - * parser.c (cp_parser_selection_statement): Use vec_free. - -2021-02-10 Jakub Jelinek - - PR c++/98988 - PR c++/99031 - * constexpr.c: Include cgraph.h. - (cxx_eval_call_expression): Call varpool_node::finalize_decl on - heap artificial vars. - (cxx_eval_outermost_constant_expr): Remove varpool nodes for - heap artificial vars. - -2021-02-10 Nathan Sidwell - - PR c++/99030 - * pt.c (tsubst_copy) [VAR_DECL]: For a DECL_LOCAL_DECL_P T is the - answer if there's no local specialization. - -2021-02-09 Nathan Sidwell - - PR c++/98944 - * module.cc (module_state::is_rooted): Rename to ... - (module_state::has_location): ... here. Adjust callers. - (module_state::read_partitions): Adjust validity check. - Don't overwrite a known location. - -2021-02-09 Jason Merrill - - PR c++/96905 - * pt.c (mark_decl_instantiated): Exit early if consteval. - -2021-02-09 Jason Merrill - - PR c++/98326 - PR c++/20408 - * cp-gimplify.c (simple_empty_class_p): Don't touch an invisiref - parm. - -2021-02-09 Jason Merrill - - PR c++/98994 - PR c++/97566 - * constexpr.c (cxx_eval_store_expression): Only skip empty fields in - RECORD_TYPE. - -2021-02-08 Nathan Sidwell - - * decl.c (start_cleanup_fn): Push function into - namespace. - -2021-02-08 Nathan Sidwell - - PR c++/98531 - * cp-tree.h (push_abi_namespace, pop_abi_namespace): Declare. - * decl.c (push_abi_namespace, pop_abi_namespace): Moved - from rtti.c, add default namespace arg. - (check_redeclaration_exception_specification): Allow a lazy - builtin's eh spec to differ from an lready-declared user - declaration. - (declare_global_var): Use push/pop_abi_namespace. - (get_atexit_node): Push the fndecl into a namespace. - * rtti.c (push_abi_namespace, pop_abi_namespace): Moved to - decl.c. - -2021-02-08 Marek Polacek - - * cp-tree.h (CLASSTYPE_TI_TEMPLATE): Fix typo. - -2021-02-05 Marek Polacek - - PR c++/98947 - * call.c (build_conditional_expr_1): Don't call mark_lvalue_use - on arg2/arg3. - * expr.c (mark_use) : Don't check read_p when - issuing the -Wvolatile warning. Only set TREE_THIS_VOLATILE if - a warning was emitted. - -2021-02-05 Marek Polacek - - PR c++/96462 - * name-lookup.c (lookup_using_decl): Hoist the destructor check. - -2021-02-05 Jakub Jelinek - - PR c++/97878 - * decl.c (check_array_initializer): For structured bindings, require - the array type to be complete. - -2021-02-04 Jason Merrill - - PR c++/98717 - * constraint.cc (build_concept_check_arguments): Remove assert. - (build_concept_check): Allow empty args. - -2021-02-04 Tom Greenslade (thomgree) - - PR c++/90926 - * call.c (can_convert_array): Extend to handle all valid aggregate - initializers of an array; including by string literals, not just by - brace-init-list. - (build_aggr_conv): Call can_convert_array more often, not just in - brace-init-list case. - * typeck2.c (array_string_literal_compatible_p): New function. - (digest_init_r): call array_string_literal_compatible_p - * cp-tree.h: (array_string_literal_compatible_p): Declare. - -2021-02-04 Jason Merrill - - PR c++/98802 - * pt.c (do_class_deduction): No aggregate guide if any_dguides_p. - -2021-02-04 Jason Merrill - - PR c++/95192 - * pt.c (tsubst_attribute): Handle error. - (apply_late_template_attributes): Return false on error. - (tsubst_function_decl): Check its return value. - (tsubst_decl): Likewise. - (push_template_decl): Assert current_template_parms. - (tsubst_template_decl): Set current_template_parms. - -2021-02-03 Marek Polacek - - PR c++/98951 - * call.c (struct z_candidate): Mark rewritten and reversed as const. - (struct NonPublicField): Mark operator() as const. - (struct NonTrivialField): Likewise. - -2021-02-03 Jason Merrill - - PR c++/98926 - PR c++/98570 - * pt.c (spec_hasher::equal): Set processing_template_decl. - * Make-lang.in (check-g++-strict-gc): Add --param - hash-table-verification-limit=10000. - -2021-02-03 Marek Polacek - - PR c++/98899 - * parser.c (cp_parser_class_specifier_1): Use any possible - DEFPARSE_INSTANTIATIONS to update DEFERRED_NOEXCEPT_PATTERN. - (cp_parser_save_noexcept): Initialize DEFPARSE_INSTANTIATIONS. - * pt.c (tsubst_exception_specification): Stash new_specs into - DEFPARSE_INSTANTIATIONS. - * tree.c (fixup_deferred_exception_variants): Use - UNPARSED_NOEXCEPT_SPEC_P. - -2021-02-02 Jason Merrill - - PR c++/98929 - PR c++/96199 - * error.c (dump_expr): Ignore dummy object. - * pt.c (tsubst_baselink): Handle dependent scope. - -2021-02-01 Patrick Palka - - PR c++/98295 - * constexpr.c (cxx_eval_array_reference): Also set - new_ctx.object when setting new_ctx.ctor. - -2021-02-01 Marek Polacek - - PR c++/98355 - * parser.c (cp_parser_has_attribute_expression): Use - uses_template_parms instead of type_dependent_expression_p. - -2021-02-01 Jason Merrill - - PR c++/98570 - * cp-tree.h: Declare it. - * pt.c (comparing_dependent_aliases): New flag. - (template_args_equal, spec_hasher::equal): Set it. - (dependent_alias_template_spec_p): Assert that we don't - get non-types other than error_mark_node. - (instantiate_alias_template): SET_TYPE_STRUCTURAL_EQUALITY - on complex alias specializations. Set TYPE_DEPENDENT_P here. - (tsubst_decl): Not here. - * module.cc (module_state::read_cluster): Set - comparing_dependent_aliases instead of - comparing_specializations. - * tree.c (cp_tree_equal): Remove comparing_specializations - module handling. - * typeck.c (structural_comptypes): Adjust. - (comptypes): Remove comparing_specializations handling. - -2021-01-29 Nathan Sidwell - - PR c++/98843 - * module.cc (module_state_config): Add num_entities field. - (module_state::read_entities): The entity_ary span is - already allocated. - (module_state::write_config): Write num_entities. - (module_state::read_config): Read num_entities. - (module_state::write): Set config's num_entities. - (module_state::read_initial): Allocate the entity ary - span here. - (module_state::read_language): Do not set entity_lwm - here. - -2021-01-29 Marek Polacek - - PR c++/96137 - * parser.c (cp_parser_class_name): If parser->scope is - error_mark_node, return it, otherwise continue. - -2021-01-28 Jakub Jelinek - - PR c++/98841 - * typeck.c (build_x_indirect_ref): For *this, return current_class_ref. - -2021-01-28 Jakub Jelinek - - PR c++/33661 - PR c++/98847 - * decl.c (cp_finish_decl): For register vars with asmspec in templates - call set_user_assembler_name and set DECL_HARD_REGISTER. - * pt.c (tsubst_expr): When instantiating DECL_HARD_REGISTER vars, - pass asmspec_tree to cp_finish_decl. - -2021-01-28 Nathan Sidwell - - PR c++/98770 - * module.cc (trees_out::decl_value): Swap is_typedef & TYPE_NAME - check order. - (trees_in::decl_value): Do typedef frobbing only when installing - a new typedef, adjust is_matching_decl call. Swap is_typedef - & TYPE_NAME check. - (trees_in::is_matching_decl): Add is_typedef parm. Adjust variable - names and deal with typedef checking. - -2021-01-27 Jason Merrill - - PR c++/97874 - * name-lookup.c (lookup_using_decl): Clean up handling - of dependency and inherited constructors. - (finish_nonmember_using_decl): Handle DECL_DEPENDENT_P. - * pt.c (tsubst_expr): Handle DECL_DEPENDENT_P. - -2021-01-26 Jason Merrill - - PR c++/97474 - * call.c (type_passed_as): Don't mark invisiref restrict. - -2021-01-26 Jason Merrill - - PR c++/97566 - PR c++/98463 - * class.c (layout_class_type): An empty field gets size 0. - (is_empty_field): New. - (check_bases): Check it. - * cp-tree.h (is_empty_field): Declare it. - * constexpr.c (cxx_eval_store_expression): Check it. - (cx_check_missing_mem_inits): Likewise. - * init.c (perform_member_init): Likewise. - * typeck2.c (process_init_constructor_record): Likewise. - -2021-01-25 Martin Sebor - - PR c++/98646 - * cvt.c (cp_fold_convert): Propagate TREE_NO_WARNING. - -2021-01-25 Jason Merrill - - PR c++/98463 - * constexpr.c (get_or_insert_ctor_field): Add check. - (cxx_eval_store_expression): Handle discontinuity of refs. - -2021-01-23 Anthony Sharp - - * call.c (complain_about_access): Altered function. - * cp-tree.h (complain_about_access): Changed parameters of function. - (get_parent_with_private_access): Declared new function. - * search.c (get_parent_with_private_access): Defined new function. - * semantics.c (enforce_access): Modified function. - * typeck.c (complain_about_unrecognized_member): Updated function - arguments in complain_about_access. - -2021-01-23 Patrick Palka - - PR c++/97399 - * cp-tree.h (shared_member_p): Adjust declaration. - * parser.c (cp_parser_init_declarator): If the storage class - specifier is sc_static, pass true for static_p to - cp_parser_declarator. - (cp_parser_direct_declarator): Don't do inject_this_parm when - the declarator is a friend. - * search.c (shared_member_p): Change return type to bool and - adjust function body accordingly. Return false for a dependent - USING_DECL instead of aborting. - * semantics.c (finish_qualified_id_expr): Rely on shared_member_p - even when type-dependent. - -2021-01-22 Marek Polacek - - PR c++/96623 - * parser.c (inject_parm_decls): Remove a redundant assignment. - (cp_parser_class_specifier_1): Clear current_class_{ptr,ref} - before calling inject_parm_decls. - -2021-01-22 Jason Merrill - - PR c++/98744 - * call.c (make_base_init_ok): Use DECL_HAS_VTT_PARM_P. - -2021-01-22 Jakub Jelinek - - PR sanitizer/95693 - * init.c (build_zero_init_1): Revert the 2018-03-06 change to - return build_zero_cst for reference types. - * typeck2.c (process_init_constructor_record): Instead call - build_zero_cst here during error recovery instead of build_zero_init. - -2021-01-22 Marek Polacek - - PR c++/98545 - * mangle.c (write_member_name): Emit abi_warn_or_compat_version_crosses - warnings regardless of abi_version_at_least. - (write_expression): When the expression is a dependent name - and an operator name, write "on" before writing its name. - -2021-01-22 Marek Polacek - - PR c++/97966 - * pt.c (instantiate_class_template_1): Instantiate members - marked with attribute used only after we're done instantiating - the class. - -2021-01-21 Patrick Palka - - PR c++/71879 - * semantics.c (finish_decltype_type): Set up a cp_unevaluated - sentinel at the start of the function. Remove a now-redundant - manual adjustment of cp_unevaluated_operand. - -2021-01-21 Nathan Sidwell - - PR c++/98624 - * module.cc (depset::hash::find_dependencies): Add - module arg. - (trees_out::core_vals): Check state before calling - write_location. - (sort_cluster, module_state::write): Adjust - find_dependencies call. - -2021-01-21 Jakub Jelinek - - PR c++/98672 - * constexpr.c (check_for_return_continue_data): Add break_stmt member. - (check_for_return_continue): Also look for BREAK_STMT. Handle - SWITCH_STMT by ignoring break_stmt from its body. - (potential_constant_expression_1) , - : If the condition isn't constant true, check if - the loop body can contain a return stmt. - : Adjust check_for_return_continue_data initializer. - : If recursion with tf_none is successful, - merge *jump_target from the branches - returns with highest priority, - breaks or continues lower. If then branch is potentially constant and - doesn't return, check the else branch if it could return, break or - continue. - -2021-01-21 Nathan Sidwell - - PR c++/98530 - * name-lookup.c (lookup_class_binding): Rearrange a stat-hack. - -2021-01-20 Nathan Sidwell - - * module.cc (bytes_in::i, bytes_in::wi): Avoid left shift of - signed type. - -2021-01-20 Patrick Palka - - PR c++/95434 - * pt.c (tsubst) : If tsubsting - CLASS_PLACEHOLDER_TEMPLATE yields a TEMPLATE_TEMPLATE_PARM, - adjust to its TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL. - -2021-01-20 Patrick Palka - - PR c++/82613 - * parser.c (cp_parser_class_head): Defer access checking when - parsing the base-clause until all bases are seen and attached - to the class type. - * pt.c (instantiate_class_template): Likewise when substituting - into dependent bases. - -2021-01-20 Jakub Jelinek - - PR c++/98742 - * semantics.c (finish_omp_clauses) : If - error_operand_p, remove clause without further checking. Check - for non-NULL TYPE_NAME. - -2021-01-19 Marek Polacek - - PR c++/98659 - * pt.c (maybe_instantiate_noexcept): Return false if FN is - error_mark_node. - -2021-01-19 Marek Polacek - - PR c++/98687 - * name-lookup.c (push_using_decl_bindings): New, broken out of... - (finish_nonmember_using_decl): ...here. - * name-lookup.h (push_using_decl_bindings): Update declaration. - * pt.c (tsubst_expr): Update the call to push_using_decl_bindings. - -2021-01-19 Patrick Palka - - PR c++/41437 - PR c++/58993 - * search.c (friend_accessible_p): If scope is a hidden friend - defined inside a dependent class, consider access from the - class. - * parser.c (cp_parser_late_parsing_for_member): Don't push a - dk_no_check access state. - -2021-01-19 Marek Polacek - - PR c++/98333 - * parser.c (cp_parser_class_specifier_1): Perform late-parsing - of NSDMIs before late-parsing of noexcept-specifiers. - -2021-01-19 Nathan Sidwell - - * module.cc (identifier): Merge overloads. - -2021-01-19 Nathan Sidwell - - PR c++/98624 - * module.cc (trees_out::write_location): Make static. - -2021-01-16 Kwok Cheung Yeung - - * parser.c (cp_parser_omp_clause_detach): New. - (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH. - (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH. - * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause. - * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause. - Prevent use of detach with mergeable and overriding the data sharing - mode of the event handle. - -2021-01-15 Nathan Sidwell - - PR c++/98538 - * tree.c (cp_build_qualified_type_real): Propagate an array's - dependentness to the copy, if known. - -2021-01-15 Jason Merrill - - PR c++/98642 - * call.c (unsafe_return_slot_p): Return int. - (init_by_return_slot_p): Split out from... - (unsafe_copy_elision_p): ...here. - (unsafe_copy_elision_p_opt): New name for old meaning. - (build_over_call): Adjust. - (make_safe_copy_elision): New. - * typeck2.c (split_nonconstant_init_1): Elide copy from safe - list-initialization. - * cp-tree.h: Adjust. - -2021-01-15 Jason Merrill - - * call.c (base_ctor_for, make_base_init_ok): New. - (build_over_call): Use make_base_init_ok. - -2021-01-15 Jason Merrill - - PR c++/63707 - * tree.c (build_vec_init_expr): Don't call build_vec_init_elt - if we got a CONSTRUCTOR. - -2021-01-15 Nathan Sidwell - - PR c++/98591 - * lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only. - -2021-01-14 Jason Merrill - - * typeck2.c (process_init_constructor_record): Use fldtype - variable consistently. - -2021-01-14 Nathan Sidwell - - PR c++/98372 - * tree.c (cp_tree_equal): Correct map_context logic. - -2021-01-13 Marek Polacek - - PR c++/98231 - * name-lookup.c (push_using_decl_bindings): New. - * name-lookup.h (push_using_decl_bindings): Declare. - * pt.c (tsubst_expr): Call push_using_decl_bindings. - -2021-01-13 Nathan Sidwell - - PR c++/98626 - * module.cc (module_add_import_initializers): Pass a - zero-element argument vector. - -2021-01-12 Patrick Palka - - PR c++/98611 - * tree.c (cp_walk_subtrees) : Visit - the template of a CTAD placeholder. - -2021-01-12 Marek Polacek - - PR c++/98620 - * typeck2.c (process_init_constructor_record): Don't emit - -Wmissing-field-initializers warnings in unevaluated contexts. - -2021-01-11 Jakub Jelinek - - PR c++/98481 - * class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1 - for types. - (mark_abi_tags_r): Likewise. - * decl2.c (min_vis_r): Likewise. - * tree.c (cp_walk_subtrees): If *walk_subtrees_p is 2, look through - typedefs. - -2021-01-08 Patrick Palka - - PR c++/98551 - * constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P - instead of AGGREGATE_TYPE_P before calling replace_result_decl. - -2021-01-08 Patrick Palka - - PR c++/98515 - * semantics.c (check_accessibility_of_qualified_id): Punt if - we're checking access of a scoped non-static member inside a - class template. - -2021-01-07 Jakub Jelinek - - PR c++/98329 - * pt.c (tsubst_copy) : Don't call - cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and set - its location. - (tsubst_copy_and_build): Handle BIT_CAST_EXPR. - -2021-01-07 Marek Polacek - - PR c++/98441 - * decl.c (grokdeclarator): Move the !funcdecl_p check inside the - !late_return_type block. - -2021-01-07 Jason Merrill - - * constexpr.c (cxx_bind_parameters_in_call): Add comment. - (cxx_eval_store_expression): Add comment. - -2021-01-07 Jason Merrill - - * call.c (has_next): Factor out from... - (next_conversion): ...here. - (strip_standard_conversion): And here. - (is_subseq): And here. - (build_conv): Check it. - (standard_conversion): Don't call build_conv - for ck_identity. - -2021-01-06 Martin Sebor - - PR c++/95768 - * error.c (dump_expr): Call c_pretty_printer::unary_expression. - -2021-01-05 Patrick Palka - - * pt.c (unify) : After walking into - the type of the NTTP, substitute into the type again. If the - type is still dependent, don't unify the NTTP. - -2021-01-05 Jakub Jelinek - - * Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add - $(CODYLIB) after $(BACKEND). - -2021-01-05 Jakub Jelinek - - PR c++/98469 - * constexpr.c (cxx_eval_constant_expression) : - Punt if lval is true. - * semantics.c (cp_build_bit_cast): Call get_target_expr_sfinae on - the result if it has a class type. - -2021-01-05 Marek Polacek - - PR c++/82099 - * pt.c (resolve_overloaded_unification): Call - maybe_instantiate_noexcept after instantiating the function - decl. - -2021-01-05 Nathan Sidwell - - * parser.c (cp_parser_module_declaration): Alter diagnostic - text to say where is permissable. - -2021-01-05 Rainer Orth - - PR c++/98316 - * Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS). - -2021-01-02 Jan Hubicka - - * cp-tree.h (cp_tree_c_finish_parsing): Declare. - * decl2.c (c_parse_final_cleanups): Call cp_tree_c_finish_parsing. - * tree.c (cp_tree_c_finish_parsing): New function. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index dd41a50..3a4f03c 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,1068 +1,5 @@ -2021-12-28 Martin Liska - - * gdc.texi: Use one more https. - -2021-12-28 Martin Liska - - * gdc.texi: Replace http:// with https. - -2021-12-20 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd ad8412530. - * expr.cc (ExprVisitor::visit (DeleteExp *)): Remove code generation - of _d_delstruct. - * runtime.def (DELSTRUCT): Remove. - -2021-12-15 Iain Buclaw - - * d-lang.cc (d_init_options): Set default -fextern-std= to C++17. - * dmd/MERGE: Merge upstream dmd 93108bb9e. - * gdc.texi (Runtime Options): Document the default for -fextern-std=. - -2021-12-10 Iain Buclaw - - PR d/103529 - * dmd/MERGE: Merge upstream dmd 3982604c5. - * Make-lang.in (D_FRONTEND_OBJS): Add d/root-optional.o. - * d-attribs.cc (build_attributes): Update for new front-end interface. - * d-codegen.cc (d_build_call): Likewise. - * d-compiler.cc (Compiler::paintAsType): Likewise. - * d-lang.cc (d_handle_option): Remove OPT_fpreview_intpromote, add - handling of OPT_frevert_intpromote. - * d-port.cc (Port::valcpy): Assert buffer is aligned. - * d-target.cc (Target::isVectorOpSupported): Update for new front-end - interface. - * decl.cc (layout_class_initializer): Likewise. - * expr.cc (lvalue_p): Likewise. - (binop_assignment): Likewise. - (ExprVisitor::visit): Likewise. - (ExprVisitor::visit (AssignExp *)): Remove generation of _d_arrayctor - and _d_arraysetctor library helpers. - (ExprVisitor::visit (VarExp *)): Support __traits(initSymbol). - * intrinsics.cc (expand_intrinsic_rotate): Update for new front-end - interface. - * lang.opt (fpreview=intpromote): Remove. - (frevert=intpromote): New. - * runtime.def (ARRAYCTOR): Remove. - (ARRAYSETCTOR): Remove. - * toir.cc (IRVisitor::visit): Update for new front-end interface. - * types.cc (layout_aggregate_members): Likewise. - * dmd/root/optional.d: New file. - * dmd/root/optional.h: New file. - -2021-12-10 Iain Buclaw - - * decl.cc (get_symbol_decl): Align methods to MINIMUM_METHOD_BOUNDARY. - -2021-12-09 Martin Liska - - * expr.cc: Call memcpy only when length != 0. - -2021-12-08 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 568496d5b. - * Make-lang.in (D_FRONTEND_OBJS): Add d/common-file.o, - d/common-outbuffer.o, d/common-string.o, d/file_manager.o, - d/importc.o. Remove d/root-outbuffer.o. - (d/common-%.o): New recipe. - * d-builtins.cc (build_frontend_type): Update for new front-end - interface. - (d_build_d_type_nodes): Set noreturn_type_node. - * d-codegen.cc (d_build_call): Don't call function if one of the - arguments is type 'noreturn'. - (build_vthis_function): Propagate TYPE_QUAL_VOLATILE from original - function type. - * d-frontend.cc (eval_builtin): Update signature. - (getTypeInfoType): Likewise. - (toObjFile): New function. - * d-gimplify.cc (d_gimplify_call_expr): Always evaluate arguments from - left to right. - * d-lang.cc (d_handle_option): Handle OPT_ftransition_in. - (d_parse_file): Don't generate D main if it is declared in user code. - * d-tree.h (CALL_EXPR_ARGS_ORDERED): Remove. - (enum d_tree_index): Add DTI_BOTTOM_TYPE. - (noreturn_type_node): New. - * decl.cc (apply_pragma_crt): Remove. - (DeclVisitor::visit): Update for new front-end interface. - (DeclVisitor::visit (PragmaDeclaration *)): Don't handle - crt_constructor and crt_destructor pragmas. - (DeclVisitor::visit (VarDeclaration *)): Don't generate declarations - of type 'noreturn'. - (DeclVisitor::visit (FuncDeclaration *)): Stop adding parameters when - 'noreturn' type has been encountered. - (get_symbol_decl): Set DECL_STATIC_CONSTRUCTOR and - DECL_STATIC_DESTRUCTOR on decl node if requested. - (aggregate_initializer_decl): Update for new front-end interface. - * expr.cc (ExprVisitor::visit (CallExp *)): Always use the 'this' - object as the result of calling any constructor function. - (ExprVisitor::visit): Update for new front-end interface. - * gdc.texi (Runtime Options): Document -fmain and -ftransition=in. - * lang.opt (ftransition=in): New option. - * modules.cc (get_internal_fn): Update for new front-end interface. - * types.cc (TypeVisitor::visit): Likewise. - (TypeVisitor::visit (TypeNoreturn *)): Return noreturn_type_node. - (TypeVisitor::visit (TypeFunction *)): Stop adding parameters when - 'notreturn' type has been encountered. Qualify function types that - return 'noreturn' as TYPE_QUAL_VOLATILE. - -2021-12-02 Iain Buclaw - - PR d/103520 - * d-frontend.h (gc_disable): Declare. - * d-lang.cc (d_init_options): Disable the D runtime garbage collector - after initializing. - -2021-12-02 Iain Buclaw - - * Make-lang.in (D_FRONTEND_OBJS): Prefix object files from the root - package with root-. - (d/root-%.o): New recipe. - -2021-12-01 Iain Buclaw - - * d-spec.cc (lang_specific_driver): Set SKIPOPT on -static-libstdc++ - and -static-libphobos only when target supports LD_STATIC_DYNAMIC. - Remove generate_option to re-add -static-libstdc++. - -2021-12-01 Iain Buclaw - - * gdc.texi (Runtime Options): Document -fcheckaction=, -fextern-std=, - -fpreview=, -frevert=. - (Code Generation): Document -fdump-c++-spec=, -fdump-c++-spec-verbose, - -fsave-mixins=. - (Warnings): Update list of supported -ftransitions=. - -2021-11-30 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd b8384668f. - * Make-lang.in (d-warn): Use strict warnings. - (DMD_WARN_CXXFLAGS): Remove. - (DMD_COMPILE): Remove. - (CHECKING_DFLAGS): Define. - (WARN_DFLAGS): Define. - (ALL_DFLAGS): Define. - (DCOMPILE.base): Define. - (DCOMPILE): Define. - (DPOSTCOMPILE): Define. - (DLINKER): Define. - (DLLINKER): Define. - (D_FRONTEND_OBJS): Add new dmd front-end objects. - (D_GENERATED_SRCS): Remove. - (D_GENERATED_OBJS): Remove. - (D_ALL_OBJS): Remove D_GENERATED_OBJS. - (d21$(exeext)): Build using DLLINKER and -static-libphobos. - (d.tags): Remove dmd/*.c and dmd/root/*.c. - (d.mostlyclean): Remove D_GENERATED_SRCS, d/idgen$(build_exeext), - d/impcnvgen$(build_exeext). - (D_INCLUDES): Include $(srcdir)/d/dmd/res. - (CFLAGS-d/id.o): Remove. - (CFLAGS-d/impcnvtab.o): Remove. - (d/%.o): Build using DCOMPILE and DPOSTCOMPILE. Update dependencies - from d/dmd/%.c to d/dmd/%.d. - (d/idgen$(build_exeext)): Remove. - (d/impcnvgen$(build_exeext)): Remove. - (d/id.c): Remove. - (d/id.h): Remove. - (d/impcnvtab.c): Remove. - (d/%.dmdgen.o): Remove. - (D_SYSTEM_H): Remove. - (d/idgen.dmdgen.o): Remove. - (d/impcnvgen.dmdgen.o): Remove. - * config-lang.in (boot_language): New variable. - * d-attribs.cc: Include dmd/expression.h. - * d-builtins.cc: Include d-frontend.h. - (build_frontend_type): Update for new front-end interface. - (d_eval_constant_expression): Likewise. - (d_build_builtins_module): Likewise. - (maybe_set_builtin_1): Likewise. - (d_build_d_type_nodes): Likewise. - * d-codegen.cc (d_decl_context): Likewise. - (declaration_reference_p): Likewise. - (declaration_type): Likewise. - (parameter_reference_p): Likewise. - (parameter_type): Likewise. - (get_array_length): Likewise. - (build_delegate_cst): Likewise. - (build_typeof_null_value): Likewise. - (identity_compare_p): Likewise. - (lower_struct_comparison): Likewise. - (build_filename_from_loc): Likewise. - (build_assert_call): Remove LIBCALL_SWITCH_ERROR. - (build_bounds_index_condition): Call LIBCALL_ARRAYBOUNDS_INDEXP on - bounds error. - (build_bounds_slice_condition): Call LIBCALL_ARRAYBOUNDS_SLICEP on - bounds error. - (array_bounds_check): Update for new front-end interface. - (checkaction_trap_p): Handle CHECKACTION_context. - (get_function_type): Update for new front-end interface. - (d_build_call): Likewise. - * d-compiler.cc: Remove include of dmd/scope.h. - (Compiler::genCmain): Remove. - (Compiler::paintAsType): Update for new front-end interface. - (Compiler::onParseModule): Likewise. - * d-convert.cc (convert_expr): Remove call to LIBCALL_ARRAYCAST. - (convert_for_rvalue): Update for new front-end interface. - (convert_for_assignment): Likewise. - (convert_for_condition): Likewise. - (d_array_convert): Likewise. - * d-diagnostic.cc (error): Remove. - (errorSupplemental): Remove. - (warning): Remove. - (warningSupplemental): Remove. - (deprecation): Remove. - (deprecationSupplemental): Remove. - (message): Remove. - (vtip): New. - * d-frontend.cc (global): Remove. - (Global::_init): Remove. - (Global::startGagging): Remove. - (Global::endGagging): Remove. - (Global::increaseErrorCount): Remove. - (Loc::Loc): Remove. - (Loc::toChars): Remove. - (Loc::equals): Remove. - (isBuiltin): Update for new front-end interface. - (eval_builtin): Likewise. - (getTypeInfoType): Likewise. - (inlineCopy): Remove. - * d-incpath.cc: Include d-frontend.h. - (add_globalpaths): Call d_gc_malloc to allocate Strings. - (add_filepaths): Likewise. - * d-lang.cc: Include dmd/id.h, dmd/root/file.h, d-frontend.h. Remove - include of dmd/mars.h, id.h. - (entrypoint_module): Remove. - (entrypoint_root_module): Remove. - (deps_write_string): Update for new front-end interface. - (deps_write): Likewise. - (d_init_options): Call rt_init. Remove setting global params that are - default initialized by the front-end. - (d_handle_option): Handle OPT_fcheckaction_, OPT_fdump_c___spec_, - OPT_fdump_c___spec_verbose, OPT_fextern_std_, OPT_fpreview, - OPT_revert, OPT_fsave_mixins_, and OPT_ftransition. - (d_post_options): Propagate dip1021 and dip1000 preview flags to - dip25, and flag_diagnostics_show_caret to printErrorContext. - (d_add_entrypoint_module): Remove. - (d_parse_file): Update for new front-end interface. - (d_type_promotes_to): Likewise. - (d_types_compatible_p): Likewise. - * d-longdouble.cc (CTFloat::zero): Remove. - (CTFloat::one): Remove. - (CTFloat::minusone): Remove. - (CTFloat::half): Remove. - * d-system.h (POSIX): Remove. - (realpath): Remove. - (isalpha): Remove. - (isalnum): Remove. - (isdigit): Remove. - (islower): Remove. - (isprint): Remove. - (isspace): Remove. - (isupper): Remove. - (isxdigit): Remove. - (tolower): Remove. - (_mkdir): Remove. - (INT32_MAX): Remove. - (INT32_MIN): Remove. - (INT64_MIN): Remove. - (UINT32_MAX): Remove. - (UINT64_MAX): Remove. - * d-target.cc: Include calls.h. - (target): Remove. - (define_float_constants): Remove initialization of snan. - (Target::_init): Update for new front-end interface. - (Target::isVectorTypeSupported): Likewise. - (Target::isVectorOpSupported): Remove cases for unordered operators. - (TargetCPP::typeMangle): Update for new front-end interface. - (TargetCPP::parameterType): Likewise. - (Target::systemLinkage): Likewise. - (Target::isReturnOnStack): Likewise. - (Target::isCalleeDestroyingArgs): Define. - (Target::preferPassByRef): Define. - * d-tree.h (d_add_entrypoint_module): Remove. - * decl.cc (gcc_attribute_p): Update for new front-end interface. - (apply_pragma_crt): Define. - (DeclVisitor::visit(PragmaDeclaration *)): Handle pragmas - crt_constructor and crt_destructor. - (DeclVisitor::visit(TemplateDeclaration *)): Update for new front-end - interface. - (DeclVisitor::visit): Likewise. - (DeclVisitor::finish_vtable): Likewise. - (get_symbol_decl): Error if template has more than one nesting - context. Update for new front-end interface. - (make_thunk): Update for new front-end interface. - (get_vtable_decl): Likewise. - * expr.cc (ExprVisitor::visit): Likewise. - (build_return_dtor): Likewise. - * imports.cc (ImportVisitor::visit): Likewise. - * intrinsics.cc: Include dmd/expression.h. Remove include of - dmd/mangle.h. - (maybe_set_intrinsic): Update for new front-end interface. - * intrinsics.def (INTRINSIC_ROL): Update intrinsic signature. - (INTRINSIC_ROR): Likewise. - (INTRINSIC_ROR_TIARG): Likewise. - (INTRINSIC_TOPREC): Likewise. - (INTRINSIC_TOPRECL): Likewise. - (INTRINSIC_TAN): Update intrinsic module and signature. - (INTRINSIC_ISNAN): Likewise. - (INTRINSIC_ISFINITE): Likewise. - (INTRINSIC_COPYSIGN): Define intrinsic. - (INTRINSIC_COPYSIGNI): Define intrinsic. - (INTRINSIC_EXP): Update intrinsic module. - (INTRINSIC_EXPM1): Likewise. - (INTRINSIC_EXP2): Likewise. - (INTRINSIC_LOG): Likewise. - (INTRINSIC_LOG2): Likewise. - (INTRINSIC_LOG10): Likewise. - (INTRINSIC_POW): Likewise. - (INTRINSIC_ROUND): Likewise. - (INTRINSIC_FLOORF): Likewise. - (INTRINSIC_FLOOR): Likewise. - (INTRINSIC_FLOORL): Likewise. - (INTRINSIC_CEILF): Likewise. - (INTRINSIC_CEIL): Likewise. - (INTRINSIC_CEILL): Likewise. - (INTRINSIC_TRUNC): Likewise. - (INTRINSIC_FMIN): Likewise. - (INTRINSIC_FMAX): Likewise. - (INTRINSIC_FMA): Likewise. - (INTRINSIC_VA_ARG): Update intrinsic signature. - (INTRINSIC_VASTART): Likewise. - * lang.opt (fcheck=): Add alternate aliases for contract switches. - (fcheckaction=): New option. - (check_action): New Enum and EnumValue entries. - (fdump-c++-spec-verbose): New option. - (fdump-c++-spec=): New option. - (fextern-std=): New option. - (extern_stdcpp): New Enum and EnumValue entries - (fpreview=): New options. - (frevert=): New options. - (fsave-mixins): New option. - (ftransition=): Update options. - * modules.cc (get_internal_fn): Replace Prot with Visibility. - (build_internal_fn): Likewise. - (build_dso_cdtor_fn): Likewise. - (build_module_tree): Remove check for __entrypoint module. - * runtime.def (P5): Define. - (ARRAYBOUNDS_SLICEP): Define. - (ARRAYBOUNDS_INDEXP): Define. - (NEWTHROW): Define. - (ADCMP2): Remove. - (ARRAYCAST): Remove. - (SWITCH_STRING): Remove. - (SWITCH_USTRING): Remove. - (SWITCH_DSTRING): Remove. - (SWITCH_ERROR): Remove. - * toir.cc (IRVisitor::visit): Update for new front-end interface. - (IRVisitor::check_previous_goto): Remove checks for case and default - statements. - (IRVisitor::visit(SwitchStatement *)): Remove handling of string - switch conditions. - * typeinfo.cc: Include d-frontend.h. - (get_typeinfo_kind): Update for new front-end interface. - (make_frontend_typeinfo): Likewise. - (TypeInfoVisitor::visit): Likewise. - (builtin_typeinfo_p): Likewise. - (get_typeinfo_decl): Likewise. - (build_typeinfo): Likewise. - * types.cc (valist_array_p): Likewise. - (make_array_type): Likewise. - (merge_aggregate_types): Likewise. - (TypeVisitor::visit(TypeBasic *)): Likewise. - (TypeVisitor::visit(TypeFunction *)): Likewise. - (TypeVisitor::visit(TypeStruct *)): Update comment. - * verstr.h: Removed. - * d-frontend.h: New file. - -2021-11-29 Eric Gallager - - PR other/103021 - * Make-lang.in: Use ETAGS variable in TAGS target. - -2021-11-28 Martin Liska - - * d-attribs.cc (parse_optimize_options): Fix thinko. - -2021-11-26 Martin Liska - - * d-attribs.cc (parse_optimize_options): Check index before - accessing cl_options. - -2021-11-18 Iain Buclaw - - * decl.cc (d_finish_decl): Use HOST_WIDE_INT for type size - temporaries. - -2021-10-22 Eric Gallager - - PR other/102663 - * Make-lang.in: Allow dvi-formatted documentation - to be installed. - -2021-10-08 Martin Liska - - * d-lang.cc (d_post_options): Use new macro - OPTION_SET_P. - -2021-10-05 Iain Sandoe - - * d-spec.cc (lang_specific_driver): Push the -static-libstdc++ - option back onto the command line for targets without support - for -Bstatic/dynamic. - -2021-10-04 Iain Buclaw - - PR d/102574 - * d-spec.cc (lang_specific_driver): Link libstdc++ statically if - -static-libstdc++ was given on command-line. - -2021-10-04 Iain Buclaw - - * d-attribs.cc (d_handle_optimize_attribute): Save target node before - calling parse_optimize_options in case it changes. - -2021-09-12 Iain Buclaw - - PR d/102185 - * d-builtins.cc (d_eval_constant_expression): Don't include - terminating null pointer in string expression conversion. - -2021-08-29 Iain Buclaw - - * d-codegen.cc: Include dmd/module.h. - (build_filename_from_loc): New function. - (d_assert_call): Rename to... - (build_assert_call): ...this. - (build_array_bounds_call): Call arrayboundsp variant of the array - bounds failure callback. - (build_bounds_condition): Rename to... - (build_bounds_index_condition): ...this. Update signature. - (build_bounds_slice_condition): New function. - (checkaction_trap_p): New function. - (d_assert_call): Call assertp variant of assert failure callback. - * d-tree.h (class IndexExp): Declare. - (class SliceExp): Declare. - (build_bounds_condition): Remove. - (build_assert_call): Declare. - (build_bounds_index_condition): Declare. - (build_bounds_slice_condition): Declare. - (checkaction_trap_p): Declare. - (d_assert_call): Remove. - * expr.cc (ExprVisitor::visit(IndexExp *)): Call - build_bounds_index_condition. - (ExprVisitor::visit(SliceExp *)): Call build_bounds_slice_condition. - (ExprVisitor::visit(AssertExp *)): Update setting of libcall. - * runtime.cc (enum d_libcall_type): Add LCT_IMMUTABLE_CHARPTR. - (get_libcall_type): Handle LCT_IMMUTABLE_CHARPTR. - * runtime.def (ASSERT): Rename to... - (ASSERTP): ...this. Update signature. - (UNITTEST): Rename to... - (UNITTESTP): ...this. Update signature. - (ARRAY_BOUNDS): Rename to... - (ARRAYBOUNDSP): ...this. Updates signature. - * toir.cc (IRVisitor::visit(SwitchErrorStatement *)): Update call. - -2021-08-29 Iain Buclaw - - * typeinfo.cc (class TypeInfoVisitor::layout_base): Update comment. - -2021-08-29 Iain Buclaw - - * typeinfo.cc (TypeInfoVisitor::visit(TypeInfoClassDeclaration *)): - Use int to store type flags. - (TypeInfoVisitor::visit(TypeInfoStructDeclaration *)): Likewise. - -2021-08-29 Iain Buclaw - - * types.cc (TypeVisitor::visit(TypeEnum*)): Get wchar_t type from - build_frontend_type. - -2021-08-29 Iain Buclaw - - * d-convert.cc (convert_for_rvalue): Convert switch statement into if - condition. - -2021-08-29 Iain Buclaw - - * d-builtins.cc (d_init_versions): Use POINTER_SIZE for testing - whether to predefine D_LP64. - -2021-08-29 Iain Buclaw - - PR d/102094 - * d-codegen.cc (build_frame_type): Set TYPE_CXX_ODR_P. - -2021-08-25 Lewis Hyatt - - PR other/93067 - * d-lang.cc (d_input_charset_callback): New function. - (d_init): Call new function - diagnostic_initialize_input_context(). - -2021-07-30 Iain Buclaw - - * expr.cc (binary_op): Remove dead code. - -2021-07-30 Iain Buclaw - - * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): - Always layout initializer for the m_RTInfo field. - -2021-07-30 Iain Buclaw - - * expr.cc (ExprVisitor::visit (AssertExp *)): Don't generate - PREDICT_EXPR. - -2021-07-30 Iain Buclaw - - * expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment - for generating static array assignment with literal. - -2021-07-30 Iain Buclaw - - * decl.cc (enum_initializer_decl): Only handle named enums. - -2021-07-30 Iain Buclaw - - * decl.cc (make_thunk): Set COMDAT and visibility of thunks only if - they are public. - -2021-07-30 Iain Buclaw - - * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't use sinit - for declaration directly. - (DeclVisitor::visit (ClassDeclaration *)): Likewise. - (aggregate_initializer_decl): Likewise. Set sinit after creating. - -2021-07-30 Iain Buclaw - - * d-builtins.cc (build_frontend_type): Use Identifier::idPool to - generate anonymous field name. - -2021-07-30 Iain Buclaw - - * types.cc (layout_aggregate_type): Call hasMonitor. - * typeinfo.cc (TypeInfoVisitor::layout_base): Likewise. - (layout_cpp_typeinfo): Likewise. Don't emit vtable unless - have_typeinfo_p. - -2021-07-30 Iain Buclaw - - * d-lang.cc (deps_add_target): Insert null terminator in buffer. - (deps_write): Likewise. - (d_parse_file): Likewise. - -2021-07-30 Iain Buclaw - - * d-builtins.cc (build_frontend_type): Restore builtin_converted_decls - length on conversion failure. - -2021-07-30 Iain Buclaw - - * d-codegen.cc (d_nested_class): Rename to ... - (get_outer_function): ... this. Handle all aggregate declarations. - (d_nested_struct): Remove. - (find_this_tree): Use get_outer_function. - (get_framedecl): Likewise. - -2021-07-29 Iain Buclaw - - PR d/101672 - * typeinfo.cc (make_frontend_typeinfo): Generate Object class if it - doesn't exist. - (check_typeinfo_type): Don't warn if there's no location. - -2021-07-29 Iain Buclaw - - PR d/101664 - * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as - result for C++ constructor calls. - -2021-07-29 Iain Buclaw - - PR d/96435 - * d-convert.cc (convert_for_rvalue): New function. - * d-tree.h (convert_for_rvalue): Declare. - * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue. - (build_return_dtor): Likewise. - -2021-07-29 Iain Buclaw - - PR d/101657 - * d-lang.cc (d_parse_file): Remove generated D header files on error. - -2021-07-29 Iain Buclaw - - PR d/101656 - * d-diagnostic.cc (escape_d_format): Don't escape quoted format - strings. - -2021-07-28 Iain Buclaw - - PR d/101640 - * expr.cc (binary_op): Use build2 instead of fold_build2. - -2021-07-28 Iain Buclaw - - PR d/101490 - * dmd/MERGE: Merge upstream dmd 27e388b4c. - * d-codegen.cc (build_array_index): Handle void arrays same as byte. - * d-convert.cc (convert_expr): Handle converting to zero-sized arrays. - -2021-07-28 Iain Buclaw - - PR d/101441 - * dmd/MERGE: Merge upstream dmd f8c1ca928. - -2021-07-28 Iain Buclaw - - PR d/101127 - * d-builtins.cc (d_builtin_function_ext_scope): New function. - * d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define. - * d-tree.h (d_builtin_function_ext_scope): Declare. - -2021-07-28 Iain Buclaw - - PR d/101619 - * dmd/MERGE: Merge upstream dmd 1d8386a63. - -2021-07-03 Iain Buclaw - - PR d/101273 - * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returns that - use a temporary, and replace with return value. - -2021-07-02 Iain Buclaw - - PR d/101282 - * d-codegen.cc (build_assign): Force target_expr on RHS for non-POD - assignment expressions. - -2021-06-11 Iain Buclaw - - PR d/100999 - * dmd/MERGE: Merge upstream dmd 7a3808254. - -2021-06-10 Iain Buclaw - - PR d/100967 - * d-frontend.cc (getTypeInfoType): Move TypeInfo checks to - check_typeinfo_type and call new function. - * d-tree.h (check_typeinfo_type): Declare. - * typeinfo.cc: Include dmd/scope.h. - (create_frontend_tinfo_types): Generate front-end types even if Object - is missing. - (build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call - new function. - (check_typeinfo_type): New function. - -2021-06-09 Iain Buclaw - - PR d/100964 - * dmd/MERGE: Merge upstream dmd 4a4e46a6f. - -2021-06-09 Iain Buclaw - - PR d/100935 - * dmd/MERGE: Merge upstream dmd f3fdeb578. - -2021-06-04 Iain Buclaw - - PR d/100882 - * d-codegen.cc (build_assign): Construct initializations inside - TARGET_EXPR_INITIAL. - (compound_expr): Remove intermediate expressions that have no - side-effects. - (return_expr): Construct returns inside TARGET_EXPR_INITIAL. - * expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment - to TARGET_EXPR_SLOT. - -2021-05-18 Iain Buclaw - - * d-incpath.cc (prefixed_path): Use filename_ncmp instead of strncmp. - -2021-05-18 Iain Buclaw - - * types.cc (TypeVisitor::visit (TypeEnum *)): Use startswith function - instead of strncmp. - -2021-05-18 Iain Buclaw - - * dmd/dinterpret.c (evaluateIfBuiltin): Revert last change. - * dmd/dmangle.c: Likewise. - * dmd/hdrgen.c: Likewise. - * dmd/identifier.c (Identifier::toHChars2): Likewise. - -2021-05-10 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd b7d146c4c. - -2021-05-10 Martin Liska - - * d-builtins.cc (do_build_builtin_fn): Use startswith - function instead of strncmp. - * dmd/dinterpret.c (evaluateIfBuiltin): Likewise. - * dmd/dmangle.c: Likewise. - * dmd/hdrgen.c: Likewise. - * dmd/identifier.c (Identifier::toHChars2): Likewise. - -2021-04-19 Iain Buclaw - - PR d/98457 - * d-diagnostic.cc (expand_d_format): Handle escaped backticks. - (escape_d_format): New funtion. - (verror): Call escape_d_format on prefixing strings. - (vdeprecation): Likewise. - -2021-04-17 Iain Buclaw - - PR d/99914 - * d-target.def (d_templates_always_comdat): New hook. - * d-tree.h (mark_needed): Remove prototype. - * decl.cc: Include d-target.h. - (mark_needed): Rename to... - (d_mark_needed): ...this. Make static. - (set_linkage_for_decl): Put variables in comdat if - d_templates_always_comdat. - -2021-04-17 Iain Buclaw - - * d-target.cc (d_handle_target_object_format): New function. - (d_language_target_info): Add d_handle_target_object_format as handler - for objectFormat key. - (Target::getTargetInfo): Continue if handler returned NULL_TREE. - -2021-04-14 Iain Buclaw - - * d-target.cc (Target::_init): Call new targetdm hook to register OS - specific target info keys. - * d-target.def (d_register_os_target_info): New hook. - -2021-04-14 Iain Buclaw - - * d-builtins.cc (d_add_builtin_version): Remove all setting of - target-specific global.params. - * typeinfo.cc (create_typeinfo): Don't add argType fields to - TypeInfo_Struct. - -2021-04-14 Iain Buclaw - - PR d/99914 - * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't set - DECL_INSTANTIATED on static initializer declarations. - (DeclVisitor::visit (ClassDeclaration *)): Likewise. - (DeclVisitor::visit (EnumDeclaration *)): Likewise. - (d_finish_decl): Move call to set_linkage_for_decl to... - (declare_extern_var): ...here. - -2021-04-14 Iain Buclaw - - * d-target.cc (Target::_init): Call new targetdm hook to register CPU - specific target info keys. - * d-target.def (d_register_cpu_target_info): New hook. - -2021-04-14 Iain Buclaw - - * d-target.cc (Target::systemLinkage): Return LINKwindows if - d_has_stdcall_convention applies to LINKsystem. - * d-target.def (d_has_stdcall_convention): New hook. - * types.cc (TypeVisitor::visit (TypeFunction *)): Insert "stdcall" - function attribute if d_has_stdcall_convention applies to LINKwindows. - -2021-04-10 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 0450061c8. - -2021-04-08 Iain Buclaw - - * d-attribs.cc: Include fold-const.h and opts.h. - (attr_noreturn_exclusions): Add alloc_size. - (attr_const_pure_exclusions): Likewise. - (attr_inline_exclusions): Add target_clones. - (attr_noinline_exclusions): Rename forceinline to always_inline. - (attr_target_exclusions): New array. - (attr_target_clones_exclusions): New array. - (attr_alloc_exclusions): New array. - (attr_cold_hot_exclusions): New array. - (d_langhook_common_attribute_table): Add new D attribute handlers. - (build_attributes): Update to look for gcc.attributes. Issue warning - if not given a struct literal. Handle void initialized arguments. - (handle_always_inline_attribute): Remove function. - (d_handle_noinline_attribute): Don't extract TYPE_LANG_FRONTEND. - (d_handle_forceinline_attribute): Rename to... - (d_handle_always_inline_attribute): ...this. Remove special handling. - (d_handle_flatten_attribute): Don't extract TYPE_LANG_FRONTEND. - (d_handle_target_attribute): Likewise. Warn about empty arguments. - (d_handle_target_clones_attribute): New function. - (optimize_args): New static variable. - (parse_optimize_options): New function. - (d_handle_optimize_attribute): New function. - (d_handle_noclone_attribute): Don't extract TYPE_LANG_FRONTEND. - (d_handle_alias_attribute): Remove function. - (d_handle_noicf_attribute): New function. - (d_handle_noipa_attribute): New function. - (d_handle_section_attribute): Call the handle_generic_attribute target - hook after performing target independent processing. - (d_handle_symver_attribute): New function. - (d_handle_noplt_attribute): New function. - (positional_argument): New function. - (d_handle_alloc_size_attribute): New function. - (d_handle_cold_attribute): New function. - (d_handle_restrict_attribute): New function. - (d_handle_used_attribute): New function. - * decl.cc (gcc_attribute_p): Update to look for gcc.attributes. - (get_symbol_decl): Update decl source location of old prototypes to - the new declaration being merged. - * types.cc (layout_aggregate_members): Apply user defined attributes - on fields. - -2021-04-06 Iain Buclaw - - PR d/99917 - * dmd/MERGE: Merge upstream dmd d16195406. - -2021-04-06 Iain Buclaw - - * d-codegen.cc (build_frame_type): Use Array::find to get index of - element. - -2021-04-06 Iain Buclaw - - * d-diagnostic.cc (vwarning): Increment gaggedWarnings if warning - message was suppressed. - (vdeprecation): Likewise for deprecation messages. - -2021-04-06 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 5cc71ff83. - -2021-04-05 Iain Buclaw - - PR d/99914 - * d-lang.cc (d_init): Disable flag_weak_templates if no support for - weak or one-only symbols. - * d-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro. - (DECL_INSTANTIATED): New macro. - (d_comdat_linkage): Remove declaration. - (d_linkonce_linkage): Remove declaration. - (set_linkage_for_decl): New declaration. - * decl.cc (DeclVisitor::visit (StructDeclaration *)): Replace call to - d_linkonce_linkage with setting DECL_INSTANTIATED. - (DeclVisitor::visit (ClassDeclaration *)): Likewise. - (DeclVisitor::visit (EnumDeclaration *)): Likewise. - (DeclVisitor::visit (InterfaceDeclaration *)): Remove call to - d_linkonce_linkage. - (get_symbol_decl): Call set_linkage_for_decl instead of - d_linkonce_linkage. - (d_finish_decl): Call set_linkage_for_decl. - (d_comdat_linkage): Made function static. Only set DECL_COMDAT for - DECL_INSTANTIATED decls. - (d_linkonce_linkage): Remove function. - (d_weak_linkage): New function. - (set_linkage_for_decl): New function. - * gdc.texi (Runtime Options): Rename -fno-weak to -fno-weak-templates, - update documentation of option. - * lang.opt (fweak): Rename option to ... - (fweak-templates): ... this. Update help string. - * modules.cc (get_internal_fn): Add Prot parameter. Set generated - function flag. - (build_internal_fn): Update call to get_internal_fn. - (build_dso_cdtor_fn): Likewise. - (register_moduleinfo): Call d_finish_decl on dso_slot_node and - dso_initialized_node. - * typeinfo.cc (TypeInfoVisitor::internal_reference): Call - set_linkage_for_decl instead of d_comdat_linkage. - (TypeInfoDeclVisitor::visit (TypeInfoDeclaration *)): Remove calls to - d_linkonce_linkage and d_comdat_linkage. - (get_cpp_typeinfo_decl): Likewise. - -2021-04-03 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 3b808e838. - * Make-lang.in (D_FRONTEND_OBJS): Add d/chkformat.o. - * d-codegen.cc (build_struct_literal): Handle special enums. - * d-convert.cc (convert_expr): Handle noreturn type. - (convert_for_condition): Likewise. - * d-target.cc (Target::_init): Set type for wchar_t. - (TargetCPP::derivedClassOffset): New method. - (Target::libraryObjectMonitors): New method. - * decl.cc (get_symbol_decl): Set TREE_THIS_VOLATILE for functions of - type noreturn. - * toir.cc (IRVisitor::visit (ReturnStatement *)): Handle returning - noreturn types. - * types.cc (TypeVisitor::visit (TypeNoreturn *)): New method. - (TypeVisitor::visit (TypeEnum *)): Handle special enums. - -2021-03-28 Iain Buclaw - - * d-builtins.cc (d_init_versions): Predefine D_PIE if flag_pie is set. - -2021-03-28 Iain Buclaw - - * d-lang.cc (d_enum_underlying_base_type): New function. - (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Set as - d_enum_underlying_base_type. - -2021-03-28 Iain Buclaw - - * Make-lang.in (DMDGEN_COMPILE): Remove. - (d/%.dmdgen.o): Use COMPILER_FOR_BUILD and BUILD_COMPILERFLAGS to - build all D generator programs. - (D_SYSTEM_H): New macro. - (d/idgen.dmdgen.o): Add dependencies to build. - (d/impcnvgen.dmdgen.o): Likewise. - * d-system.h: Include bconfig.h if GENERATOR_FILE is defined. - -2021-03-28 Iain Buclaw - - * config-lang.in (gtfiles): Remove modules.cc. - * modules.cc (struct module_info): Remove GTY marker. - (static_ctor_list): Remove variable. - (static_dtor_list): Remove variable. - (register_moduleinfo): Directly set DECL_STATIC_CONSTRUCTOR on - dso_ctor, and DECL_STATIC_DESTRUCTOR on dso_dtor. - (d_finish_compilation): Remove static ctor/dtor handling. - -2021-03-06 Iain Buclaw - - * d-lang.cc (d_init_options_struct): Don't set default - flag_complex_method. - -2021-03-03 Iain Buclaw - - PR d/99337 - * dmd/MERGE: Merge upstream dmd a3c9bf422. - -2021-02-13 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 7132b3537. - * Make-lang.in (D_FRONTEND_OBJS): Add d/dsymbolsem.o, d/semantic2.o, - d/semantic3.o, and d/templateparamsem.o. - * d-compiler.cc (Compiler::genCmain): Update calls to semantic - entrypoint functions. - * d-lang.cc (d_parse_file): Likewise. - * typeinfo.cc (make_frontend_typeinfo): Likewise. - -2021-02-05 Iain Buclaw - - * d-tree.h (DEF_D_INTRINSIC): Don't insert INTRINSIC_ into the - intrinsic code name. - * intrinsics.cc (DEF_D_INTRINSIC): Don't insert INTRISIC_ and - BUILT_IN_ into the intrinsic and built-in code names. - * intrinsics.def: Explicitly use full intrinsic and built-in - codes in all definitions. - -2021-02-04 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 46133f761. - * d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc. - (maybe_set_builtin_1): Likewise. - * d-frontend.cc (eval_builtin): Adjust condition for early return. - * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc. - (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16. - * intrinsics.def (INTRINSIC_BT): Update signature. - (INTRINSIC_BT64): Likewise. - (INTRINSIC_BSWAP16): New intrinsic. - (INTRINSIC_VLOAD8): Update module. - (INTRINSIC_VLOAD16): Likewise. - (INTRINSIC_VLOAD32): Likewise. - (INTRINSIC_VLOAD64): Likewise. - (INTRINSIC_VSTORE8): Likewise. - (INTRINSIC_VSTORE16): Likewise. - (INTRINSIC_VSTORE32): Likewise. - (INTRINSIC_VSTORE64): Likewise. - (INTRINSIC_ADDS): Update signature. - (INTRINSIC_ADDSL): Likewise. - (INTRINSIC_ADDU): Likewise. - (INTRINSIC_ADDUL): Likewise. - (INTRINSIC_SUBS): Likewise. - (INTRINSIC_SUBSL): Likewise. - (INTRINSIC_SUBU): Likewise. - (INTRINSIC_SUBUL): Likewise. - (INTRINSIC_MULS): Likewise. - (INTRINSIC_MULSL): Likewise. - (INTRINSIC_MULU): Likewise. - (INTRINSIC_MULUI): Likewise. - (INTRINSIC_MULUL): Likewise. - (INTRINSIC_NEGS): Likewise. - (INTRINSIC_NEGSL): Likewise. - -2021-02-02 Iain Buclaw - - PR d/98921 - * dmd/MERGE: Merge upstream dmd 5e2a81d9c. - -2021-01-30 Iain Buclaw - - * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoDeclaration *)): Don't - layout m_arg1 and m_arg2 fields. - -2021-01-26 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 609c3ce2d. - * d-compiler.cc (Compiler::loadModule): Rename to ... - (Compiler::onParseModule): ... this. - (Compiler::onImport): New function. - * d-lang.cc (d_parse_file): Remove call to Compiler::loadModule. - -2021-01-21 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 3a7ebef73. - -2021-01-11 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 2d3d13748. - * d-lang.cc (d_handle_option): Remove OPT_ftransition_checkimports and - OPT_ftransition_import. - * gdc.texi (Warnings): Remove documentation for -ftransition=import - and -ftransition=checkimports. - * lang.opt (ftransition=checkimports): Remove. - (ftransition=import): Remove. - -2021-01-09 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd cb1106ad5. - -2021-01-09 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 9bba772fa. - -2021-01-09 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd e598f69c0. - -2021-01-07 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 9038e64c5. - * d-builtins.cc (build_frontend_type): Update call to - Parameter::create. - -2021-01-05 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd a5c86f5b9. - * d-builtins.cc (d_eval_constant_expression): Handle ADDR_EXPR trees - created by build_string_literal. - * d-frontend.cc (retStyle): Remove function. - * d-target.cc (d_language_target_info): New variable. - (d_target_info_table): Likewise. - (Target::_init): Initialize d_target_info_table. - (Target::isReturnOnStack): New function. - (d_add_target_info_handlers): Likewise. - (d_handle_target_cpp_std): Likewise. - (d_handle_target_cpp_runtime_library): Likewise. - (Target::getTargetInfo): Likewise. - * d-target.h (struct d_target_info_spec): New type. - (d_add_target_info_handlers): Declare. - -2021-01-01 Jakub Jelinek - - * gdc.texi: Bump @copyrights-d year. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index c982afb..3a4f03c 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,2563 +1,5 @@ -2021-12-29 Harald Anlauf - - PR fortran/102332 - * expr.c (gfc_get_variable_expr): Avoid NULL pointer dereferences - during handling of errors with invalid uses of CLASS variables. - * match.c (select_type_set_tmp): Likewise. - * primary.c (gfc_match_varspec): Likewise. - * resolve.c (resolve_variable): Likewise. - (resolve_select_type): Likewise. - -2021-12-28 Francois-Xavier Coudert - - PR fortran/103828 - * trans-decl.c (generate_local_decl): Do not call - gfc_conv_scalar_char_value(), but check the type tree. - * trans-expr.c (gfc_conv_scalar_char_value): Rename to - conv_scalar_char_value, do not alter type tree. - (gfc_conv_procedure_call): Adjust call to renamed - conv_scalar_char_value() function. - * trans-types.c (gfc_sym_type): Take care of - CHARACTER(C_CHAR), VALUE arguments. - * trans.h (gfc_conv_scalar_char_value): Remove prototype. - -2021-12-28 Martin Liska - - * gfortran.texi: Replace http:// with https. - * intrinsic.texi: Likewise. - -2021-12-22 Harald Anlauf - - PR fortran/103778 - * check.c (is_c_interoperable): A BOZ literal constant is not - interoperable. - -2021-12-22 Harald Anlauf - - PR fortran/103776 - * match.c (match_case_selector): Reject expressions in CASE - selector which are not scalar. - -2021-12-18 Harald Anlauf - - PR fortran/103412 - * check.c (gfc_check_sizeof): Reject BOZ type argument. - -2021-12-14 Harald Anlauf - - PR fortran/103717 - * frontend-passes.c (doloop_code): Prevent NULL pointer - dereference when checking for passing a do-loop variable to a - contained procedure with an interface mismatch. - -2021-12-14 Harald Anlauf - - PR fortran/103718 - PR fortran/103719 - * frontend-passes.c (doloop_contained_procedure_code): Add several - checks to prevent NULL pointer dereferences on valid and invalid - code called within do-loops. - -2021-12-14 Manfred Schwarb - - PR fortran/91497 - * simplify.c (simplify_min_max): Disable conversion warnings for - MIN1 and MAX1. - -2021-12-13 Tobias Burnus - - PR fortran/103576 - * openmp.c (is_scalar_intrinsic_expr): Fix condition. - (resolve_omp_atomic): Fix/update checks, accept compare. - * trans-openmp.c (gfc_trans_omp_atomic): Handle compare. - -2021-12-11 Harald Anlauf - - PR fortran/103606 - * resolve.c (resolve_fl_procedure): Do not access CLASS components - before class container has been built. - -2021-12-10 Harald Anlauf - - PR fortran/103418 - * check.c (variable_check): Replace previous check of procedure - dummy arguments with INTENT(IN) attribute when passed to intrinsic - procedures by gfc_check_vardef_context. - * expr.c (gfc_check_vardef_context): Correct check of INTENT(IN) - dummy arguments for the case of sub-components of a CLASS pointer. - -2021-12-08 Harald Anlauf - - PR fortran/103609 - * symbol.c (gfc_sym_get_dummy_args): Catch NULL pointer - dereference. - -2021-12-08 Harald Anlauf - - PR fortran/103610 - * array.c (spec_dimen_size): Fix simplification of SHAPE: - dimensions must be non-negative. - -2021-12-08 Chung-Lin Tang - - * trans-openmp.c (gfc_trans_omp_array_section): Do not generate - GOMP_MAP_ALWAYS_POINTER map for main array maps of ARRAY_TYPE type. - -2021-12-07 Harald Anlauf - - PR fortran/103607 - * frontend-passes.c (do_subscript): Ensure that array bounds are - of type INTEGER before performing checks on array subscripts. - -2021-12-07 Harald Anlauf - - PR fortran/103588 - * array.c (gfc_ref_dimen_size): Do not generate internal error on - failed simplification of stride expression; just return failure. - -2021-12-07 Harald Anlauf - - PR fortran/103591 - * match.c (match_case_selector): Check type of upper bound in case - range. - -2021-12-04 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle - weak/compare/fail clause. - * gfortran.h (gfc_omp_clauses): Add weak, compare, fail. - * openmp.c (enum omp_mask1, gfc_match_omp_clauses, - OMP_ATOMIC_CLAUSES): Update for new clauses. - (gfc_match_omp_atomic): Update for 5.1 atomic changes. - (is_conversion): Support widening in one go. - (is_scalar_intrinsic_expr): New. - (resolve_omp_atomic): Update for 5.1 atomic changes. - * parse.c (parse_omp_oacc_atomic): Update for compare. - * resolve.c (gfc_resolve_blocks): Update asserts. - * trans-openmp.c (gfc_trans_omp_atomic): Handle new clauses. - -2021-12-03 Harald Anlauf - Steven G. Kargl - - PR fortran/103505 - * array.c (match_array_element_spec): Try to simplify array - element specifications to improve early checking. - * expr.c (gfc_try_simplify_expr): New. Try simplification of an - expression via gfc_simplify_expr. When an error occurs, roll - back. - * gfortran.h (gfc_try_simplify_expr): Declare it. - -2021-12-03 Tobias Burnus - - * trans-stmt.c (gfc_trans_allocate): Set e3_has_nodescriptor to true - only for non-named arrays. - -2021-12-02 Chung-Lin Tang - - PR fortran/90030 - * trans-openmp.c (gfc_omp_finish_clause): Remove fold_convert to pointer - to char_type_node, add gcc_assert of POINTER_TYPE_P. - (gfc_trans_omp_array_section): Likewise. - (gfc_trans_omp_clauses): Likewise. - -2021-11-30 Harald Anlauf - - PR fortran/102787 - * array.c (expand_constructor): When encountering a constant array - expression or array section within a constructor, simplify it to - enable better expansion. - -2021-11-30 Harald Anlauf - - PR fortran/103473 - * simplify.c (simplify_minmaxloc_nodim): Avoid NULL pointer - dereference when shape is not set. - -2021-11-30 Harald Anlauf - Steven G. Kargl - - PR fortran/101565 - * check.c (gfc_check_image_index): Verify that SUB argument to - IMAGE_INDEX is of type integer. - -2021-11-30 Richard Biener - - * frontend-passes.c (gfc_expr_walker): Add comment to - indicate tail recursion. - -2021-11-30 Richard Biener - - * target-memory.c (gfc_element_size): Remove unreachable return. - -2021-11-30 Thomas Schwinge - - * openmp.c (resolve_oacc_loop_blocks): Remove "gang reduction on - an orphan loop" checking. - (oacc_is_parallel, oacc_is_kernels, oacc_is_serial) - (oacc_is_compute_construct): Remove. - -2021-11-30 Frederik Harwath - Thomas Schwinge - - * openmp.c (oacc_is_parallel_or_serial): Evolve into... - (oacc_is_compute_construct): ... this function. - (resolve_oacc_loop_blocks): Use "oacc_is_compute_construct" - instead of "oacc_is_parallel_or_serial" for checking that a - loop is not orphaned. - -2021-11-30 Kwok Cheung Yeung - Thomas Schwinge - - * openmp.c (oacc_is_serial, oacc_is_parallel_or_serial): New. - (resolve_oacc_loop_blocks): Use oacc_is_parallel_or_serial instead of - oacc_is_parallel. - -2021-11-30 Cesar Philippidis - Thomas Schwinge - - * openmp.c (oacc_is_parallel, oacc_is_kernels): New 'static' - functions. - (resolve_oacc_loop_blocks): Emit an error on orphan OpenACC gang - reductions. - -2021-11-30 Richard Biener - - * decl.c (gfc_insert_parameter_exprs): Only return after - resetting type_param_spec_list. - -2021-11-30 Richard Biener - - * frontend-passes.c (gfc_expr_walker): Remove unreachable - break. - * scanner.c (skip_fixed_comments): Remove unreachable - gcc_unreachable. - * trans-expr.c (gfc_expr_is_variable): Refactor to make - control flow more obvious. - -2021-11-29 Eric Gallager - - PR other/103021 - * Make-lang.in: Use ETAGS variable in TAGS target. - -2021-11-26 Harald Anlauf - - PR fortran/103411 - * check.c (gfc_check_reshape): Improve check of size of source - array for the RESHAPE intrinsic against the given shape when pad - is not given, and shape is a parameter. Try other simplifications - of shape. - -2021-11-23 Harald Anlauf - - PR fortran/103392 - * simplify.c (simplify_bound): Do not try to simplify - LBOUND/UBOUND for arrays with POINTER or ALLOCATABLE attribute. - -2021-11-23 Harald Anlauf - - PR fortran/87711 - PR fortran/87851 - * trans-array.c (arg_evaluated_for_scalarization): Add LEN_TRIM to - list of intrinsics for which an optional KIND argument needs to be - removed before scalarization. - -2021-11-21 Jakub Jelinek - - PR debug/103315 - * trans-types.c (gfc_get_array_descr_info): Use DW_OP_deref_size 1 - instead of DW_OP_deref for DW_AT_rank. - -2021-11-21 Harald Anlauf - Steven G. Kargl - - PR fortran/99061 - * trans-intrinsic.c (gfc_lookup_intrinsic): Helper function for - looking up gfortran builtin intrinsics. - (gfc_conv_intrinsic_atrigd): Use it. - (gfc_conv_intrinsic_cotan): Likewise. - (gfc_conv_intrinsic_cotand): Likewise. - (gfc_conv_intrinsic_atan2d): Likewise. - -2021-11-18 Harald Anlauf - Steven G. Kargl - - PR fortran/101329 - * check.c (is_c_interoperable): Reject NULL() as it is not - interoperable. - -2021-11-16 Harald Anlauf - - PR fortran/103286 - * resolve.c (resolve_select): Choose appropriate range limit to - avoid NULL pointer dereference when generating error message. - -2021-11-16 Mikael Morin - - * interface.c (gfc_dummy_arg_get_name): New function. - * gfortran.h (gfc_dummy_arg_get_name): Declare it. - * trans-array.c (arg_evaluated_for_scalarization): Pass a dummy - argument wrapper as argument instead of an actual argument - and an index number. Check it’s non-NULL. Use its name - to identify it. - (gfc_walk_elemental_function_args): Update call to - arg_evaluated for scalarization. Remove argument counting. - -2021-11-16 Mikael Morin - - * gfortran.h (gfc_actual_arglist::missing_arg_type): Remove. - * interface.c (gfc_compare_actual_formal): Remove - missing_arg_type initialization. - * intrinsic.c (sort_actual): Ditto. - * trans-expr.c (gfc_conv_procedure_call): Use associated_dummy - and gfc_dummy_arg_get_typespec to get the dummy argument type. - -2021-11-16 Mikael Morin - - * interface.c (gfc_dummy_arg_get_typespec, - gfc_dummy_arg_is_optional): New functions. - * gfortran.h (gfc_dummy_arg_get_typespec, - gfc_dummy_arg_is_optional): Declare them. - * trans.h (gfc_ss_info::dummy_arg): Use the wrapper type - as declaration type. - * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference): - use gfc_dummy_arg_get_typespec function to get the type. - (gfc_walk_elemental_function_args): Remove proc_ifc argument. - Get info about the dummy arg using the associated_dummy field. - * trans-array.h (gfc_walk_elemental_function_args): Update declaration. - * trans-intrinsic.c (gfc_walk_intrinsic_function): - Update call to gfc_walk_elemental_function_args. - * trans-stmt.c (gfc_trans_call): Ditto. - (get_proc_ifc_for_call): Remove. - -2021-11-16 Mikael Morin - - * gfortran.h (gfc_dummy_arg_kind, gfc_dummy_arg): New. - (gfc_actual_arglist): New field associated_dummy. - (gfc_intrinsic_arg): Remove field actual. - * interface.c (get_nonintrinsic_dummy_arg): New. - (gfc_compare_actual): Initialize associated_dummy. - * intrinsic.c (get_intrinsic_dummy_arg): New. - (sort_actual):  Add argument vectors. - Use loops with indices on argument vectors. - Initialize associated_dummy. - -2021-11-16 Mikael Morin - - * intrinsic.c (sort_actual): initialise variable and use it earlier. - -2021-11-15 Tobias Burnus - - * openmp.c (OMP_TARGET_CLAUSES): Add thread_limit. - * trans-openmp.c (gfc_split_omp_clauses): Add thread_limit also to - teams. - -2021-11-12 Tobias Burnus - - * parse.c (decode_omp_directive): Fix permitting 'nowait' for some - combined directives, add missing 'omp end ... loop'. - (gfc_ascii_statement): Fix ST_OMP_END_TEAMS_LOOP result. - * openmp.c (resolve_omp_clauses): Add missing combined loop constructs - case values to the 'if(directive-name: ...)' check. - * trans-openmp.c (gfc_split_omp_clauses): Put nowait on target if - first leaf construct accepting it. - -2021-11-12 Martin Jambor - - * trans-types.c (gfc_get_array_descr_info): Use build_debug_expr_decl - instead of building DEBUG_EXPR_DECL manually. - -2021-11-12 Mikael Morin - - PR fortran/97896 - * intrinsic.c (add_sym_4ind): Remove. - (add_functions): Use add_sym4 instead of add_sym4ind. - Don’t special case the index intrinsic. - * iresolve.c (gfc_resolve_index_func): Use the individual arguments - directly instead of the full argument list. - * intrinsic.h (gfc_resolve_index_func): Update the declaration - accordingly. - * trans-decl.c (gfc_get_extern_function_decl): Don’t modify the - list of arguments in the case of the index intrinsic. - * trans-array.h (gfc_get_intrinsic_for_expr, - gfc_get_proc_ifc_for_expr): New. - * trans-array.c (gfc_get_intrinsic_for_expr, - arg_evaluated_for_scalarization): New. - (gfc_walk_elemental_function_args): Add intrinsic procedure - as argument. Count arguments. Check arg_evaluated_for_scalarization. - * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call. - * trans-stmt.c (get_intrinsic_for_code): New. - (gfc_trans_call): Update call. - -2021-11-12 Jakub Jelinek - - * types.def (BT_FN_VOID_UINT_UINT): Remove. - (BT_FN_BOOL_UINT_UINT_UINT_BOOL): New. - -2021-11-11 Tobias Burnus - - * gfortran.h (struct gfc_omp_clauses): Rename num_teams to - num_teams_upper, add num_teams_upper. - * dump-parse-tree.c (show_omp_clauses): Update to handle - lower-bound num_teams clause. - * frontend-passes.c (gfc_code_walker): Likewise - * openmp.c (gfc_free_omp_clauses, gfc_match_omp_clauses, - resolve_omp_clauses): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses, - gfc_trans_omp_target): Likewise. - -2021-11-11 Jakub Jelinek - - * trans-openmp.c (gfc_trans_omp_clauses): Use - OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR instead of OMP_CLAUSE_NUM_TEAMS_EXPR. - -2021-11-10 Harald Anlauf - - PR fortran/103137 - PR fortran/103138 - * check.c (gfc_check_shape): Avoid NULL pointer dereference on - missing ref. - * simplify.c (gfc_simplify_cshift): Avoid NULL pointer dereference - when shape not set. - (gfc_simplify_transpose): Likewise. - -2021-11-09 Bernhard Reutner-Fischer - - PR fortran/68800 - * class.c (generate_finalization_wrapper): Do not leak - finalization wrappers if they will not be used. - * expr.c (gfc_free_actual_arglist): Formatting fix. - * gfortran.h (gfc_free_symbol): Pass argument by reference. - (gfc_release_symbol): Likewise. - (gfc_free_namespace): Likewise. - * symbol.c (gfc_release_symbol): Adjust acordingly. - (free_components): Set procedure pointer components - of derived types to NULL after freeing. - (free_tb_tree): Likewise. - (gfc_free_symbol): Set sym to NULL after freeing. - (gfc_free_namespace): Set namespace to NULL after freeing. - -2021-11-09 Martin Liska - - * symbol.c (gfc_get_ultimate_derived_super_type): Remove. - -2021-11-09 Aldy Hernandez - - * misc.c (gfc_dummy_typename): Make sure ts->kind is - non-negative. - -2021-11-07 Thomas Koenig - - * intrinsic.c (add_subroutines): Change keyword "operator" - to the correct one, "operation". - * check.c (gfc_check_co_reduce): Change OPERATOR to - OPERATION in error messages. - * intrinsic.texi: Change OPERATOR to OPERATION in - documentation. - -2021-11-07 Sandra Loosemore - - * interface.c (gfc_compare_actual_formal): Continue checking - all arguments after encountering an error. - * intrinsic.c (do_ts29113_check): Likewise. - * resolve.c (resolve_operator): Continue resolving on op2 error. - -2021-11-06 Harald Anlauf - - PR fortran/102715 - * decl.c (add_init_expr_to_sym): Reject rank mismatch between - array and its initializer. - -2021-11-05 Harald Anlauf - - PR fortran/102817 - * expr.c (simplify_parameter_variable): Copy shape of referenced - subobject when simplifying. - -2021-11-05 Harald Anlauf - - PR fortran/69419 - * match.c (gfc_match_common): Check array spec of a symbol in a - COMMON object list and reject it if it is a coarray. - -2021-11-05 Bernhard Reutner-Fischer - - PR fortran/100972 - * decl.c (gfc_match_implicit_none): Fix typo in warning. - * resolve.c (resolve_unknown_f): Reject external procedures - without explicit EXTERNAL attribute whe IMPLICIT none (external) - is in effect. - -2021-11-05 Bernhard Reutner-Fischer - - * decl.c (gfc_insert_kind_parameter_exprs): Make static. - * expr.c (gfc_build_init_expr): Make static - (gfc_build_default_init_expr): Move below its static helper. - * gfortran.h (gfc_insert_kind_parameter_exprs, gfc_add_saved_common, - gfc_add_common, gfc_use_derived_tree, gfc_free_charlen, - gfc_get_ultimate_derived_super_type, - gfc_resolve_oacc_parallel_loop_blocks, gfc_build_init_expr, - gfc_iso_c_sub_interface): Delete. - * symbol.c (gfc_new_charlen, gfc_get_derived_super_type): Make - static. - -2021-11-05 Sandra Loosemore - - PR fortran/35276 - * gfortran.texi (Mixed-Language Programming): Talk about C++, - and how to link. - -2021-11-04 Sandra Loosemore - - * gfortran.texi (Projects): Add bullet for helping with - incomplete standards compliance. - (Proposed Extensions): Delete section. - -2021-11-04 Sandra Loosemore - - * intrinsic.texi (Introduction to Intrinsics): Genericize - references to standard versions. - * invoke.texi (-fall-intrinsics): Likewise. - (-fmax-identifier-length=): Likewise. - -2021-11-04 Sandra Loosemore - - * gfortran.texi (Interoperability with C): Copy-editing. Add - more index entries. - (Intrinsic Types): Likewise. - (Derived Types and struct): Likewise. - (Interoperable Global Variables): Likewise. - (Interoperable Subroutines and Functions): Likewise. - (Working with C Pointers): Likewise. - (Further Interoperability of Fortran with C): Likewise. Rewrite - to reflect that this is now fully supported by gfortran. - -2021-11-04 Sandra Loosemore - - * gfortran.texi (About GNU Fortran): Consolidate material - formerly in other sections. Copy-editing. - (Preprocessing and conditional compilation): Delete, moving - most material to invoke.texi. - (GNU Fortran and G77): Delete. - (Project Status): Delete. - (Standards): Update. - (Fortran 95 status): Mention conditional compilation here. - (Fortran 2003 status): Rewrite to mention the 1 missing feature - instead of all the ones implemented. - (Fortran 2008 status): Similarly for the 2 missing features. - (Fortran 2018 status): Rewrite to reflect completion of TS29113 - feature support. - * invoke.texi (Preprocessing Options): Move material formerly - in introductory chapter here. - -2021-11-04 Sandra Loosemore - - * gfortran.texi (Standards): Move discussion of specific - standard versions here.... - (Fortran standards status): ...from here, and delete this node. - -2021-10-31 Bernhard Reutner-Fischer - - * symbol.c (gfc_get_typebound_proc): Revert memcpy. - -2021-10-31 Bernhard Reutner-Fischer - - * resolve.c (resolve_fl_procedure): Initialize - allocatable_or_pointer. - -2021-10-30 Manfred Schwarb - - * intrinsic.texi: Remove entries for SHORT and LONG intrinsics. - -2021-10-30 Manfred Schwarb - - * check.c (gfc_check_intconv): Change error message. - -2021-10-30 Manfred Schwarb - - * intrinsic.texi (REAL): Fix entries in Specific names table. - -2021-10-30 Manfred Schwarb - - * intrinsic.texi: Adjust @columnfractions commands to improve - appearance for narrow 80 character terminals. - -2021-10-30 Bernhard Reutner-Fischer - - * parse.c (clean_up_modules): Free gsym. - -2021-10-30 Harald Anlauf - - * gfortran.texi (bug reports): credit Gerhard Steinmetz for - numerous bug reports. - -2021-10-30 Steve Kargl - - PR fortran/99853 - * resolve.c (resolve_select): Generate regular gfc_error on - invalid conversions instead of an gfc_internal_error. - -2021-10-29 Bernhard Reutner-Fischer - - * symbol.c (free_tb_tree): Free type-bound procedure struct. - (gfc_get_typebound_proc): Use explicit memcpy for clarity. - -2021-10-27 Bernhard Reutner-Fischer - - * intrinsic.h (gfc_check_sum, gfc_resolve_atan2d, gfc_resolve_kill, - gfc_resolve_kill_sub): Delete declaration. - -2021-10-27 Bernhard Reutner-Fischer - - * trans-types.h (gfc_convert_function_code): Delete. - -2021-10-27 Bernhard Reutner-Fischer - - * trans-stmt.h (gfc_trans_deallocate_array): Delete. - -2021-10-27 Bernhard Reutner-Fischer - - * trans-array.c (gfc_trans_scalarized_loop_end): Make static. - * trans-array.h (gfc_trans_scalarized_loop_end, - gfc_conv_tmp_ref, gfc_conv_array_transpose): Delete declaration. - -2021-10-27 Bernhard Reutner-Fischer - - * constructor.c (gfc_constructor_get_base): Make static. - (gfc_constructor_expr_foreach, gfc_constructor_swap): Delete. - * constructor.h (gfc_constructor_get_base): Remove declaration. - (gfc_constructor_expr_foreach, gfc_constructor_swap): Delete. - -2021-10-27 Bernhard Reutner-Fischer - - * decl.c (gfc_match_old_kind_spec, set_com_block_bind_c, - set_verify_bind_c_sym, set_verify_bind_c_com_block, - get_bind_c_idents, gfc_match_suffix, gfc_get_type_attr_spec, - check_extended_derived_type): Make static. - (gfc_match_gcc_unroll): Add comment. - * match.c (gfc_match_small_int_expr): Delete definition. - * match.h (gfc_match_small_int_expr): Delete declaration. - (gfc_match_name_C, gfc_match_old_kind_spec, set_com_block_bind_c, - set_verify_bind_c_sym, set_verify_bind_c_com_block, - get_bind_c_idents, gfc_match_suffix, - gfc_get_type_attr_spec): Delete declaration. - -2021-10-27 Bernhard Reutner-Fischer - - * expr.c (is_non_empty_structure_constructor): Make static. - * gfortran.h (gfc_check_any_c_kind): Delete. - * match.c (gfc_match_label): Make static. - * match.h (gfc_match_label): Delete declaration. - * scanner.c (file_changes_cur, file_changes_count, - file_changes_allocated): Make static. - * trans-expr.c (gfc_get_character_len): Make static. - (gfc_class_len_or_zero_get): Make static. - (VTAB_GET_FIELD_GEN): Undefine. - (gfc_get_class_array_ref): Make static. - (gfc_finish_interface_mapping): Make static. - * trans-types.c (gfc_check_any_c_kind): Delete. - (pfunc_type_node, dtype_type_node, gfc_get_ppc_type): Make static. - * trans-types.h (gfc_get_ppc_type): Delete declaration. - * trans.c (gfc_msg_wrong_return): Delete. - * trans.h (gfc_class_len_or_zero_get, gfc_class_vtab_extends_get, - gfc_vptr_extends_get, gfc_get_class_array_ref, gfc_get_character_len, - gfc_finish_interface_mapping, gfc_msg_wrong_return, - gfc_get_function_decl): Delete declaration. - -2021-10-27 Tobias Burnus - - * trans-stmt.c (gfc_trans_select_rank_cases): Fix condition - for allocatables/pointers. - -2021-10-26 Harald Anlauf - - PR fortran/102956 - * symbol.c (gfc_check_conflict): Add conflict check for PDT KIND - and LEN type parameters. - -2021-10-26 Harald Anlauf - - PR fortran/102917 - * decl.c (match_attr_spec): Remove invalid integer kind checks on - KIND and LEN attributes of PDTs. - -2021-10-26 Harald Anlauf - - PR fortran/102816 - * resolve.c (resolve_structure_cons): Reject invalid array spec of - a DT component referenced in a structure constructor. - -2021-10-26 Tobias Burnus - - PR fortran/102885 - * trans-decl.c (gfc_conv_cfi_to_gfc): Properly handle nonconstant - character lenghts. - -2021-10-25 Andrew MacLeod - - * trans-decl.c (gfc_conv_cfi_to_gfc): Initialize rank to NULL_TREE. - -2021-10-22 Eric Gallager - - PR other/102663 - * Make-lang.in: Allow dvi-formatted documentation - to be installed. - -2021-10-22 Tobias Burnus - - PR fortran/92621 - * trans-expr.c (gfc_trans_assignment_1): Add STRIP_NOPS. - -2021-10-21 Chung-Lin Tang - - * decl.c (gfc_match_end): Add COMP_OMP_STRICTLY_STRUCTURED_BLOCK case - together with COMP_BLOCK. - * parse.c (parse_omp_structured_block): Change return type to - 'gfc_statement', add handling for strictly-structured block case, adjust - recursive calls to parse_omp_structured_block. - (parse_executable): Adjust calls to parse_omp_structured_block. - * parse.h (enum gfc_compile_state): Add - COMP_OMP_STRICTLY_STRUCTURED_BLOCK. - * trans-openmp.c (gfc_trans_omp_workshare): Add EXEC_BLOCK case - handling. - -2021-10-21 Sandra Loosemore - - PR fortran/94070 - * expr.c (gfc_simplify_expr): Handle GFC_ISYM_SHAPE along with - GFC_ISYM_LBOUND and GFC_ISYM_UBOUND. - * trans-array.c (gfc_conv_ss_startstride): Likewise. - (set_loop_bounds): Likewise. - * trans-intrinsic.c (gfc_trans_intrinsic_bound): Extend to - handle SHAPE. Correct logic for zero-size special cases and - detecting assumed-rank arrays associated with an assumed-size - argument. - (gfc_conv_intrinsic_shape): Deleted. - (gfc_conv_intrinsic_function): Handle GFC_ISYM_SHAPE like - GFC_ISYM_LBOUND and GFC_ISYM_UBOUND. - (gfc_add_intrinsic_ss_code): Likewise. - (gfc_walk_intrinsic_bound): Likewise. - -2021-10-20 Chung-Lin Tang - - * openmp.c (gfc_match_omp_clause_reduction): Add 'openmp_target' default - false parameter. Add 'always,tofrom' map for OMP_LIST_IN_REDUCTION case. - (gfc_match_omp_clauses): Add 'openmp_target' default false parameter, - adjust call to gfc_match_omp_clause_reduction. - (match_omp): Adjust call to gfc_match_omp_clauses - * trans-openmp.c (gfc_trans_omp_taskgroup): Add call to - gfc_match_omp_clause, create and return block. - -2021-10-19 Tobias Burnus - - * trans-types.c (create_fn_spec): For allocatable/pointer - character(len=:), use 'w' not 'R' as fn spec for the length dummy - argument. - -2021-10-19 Tobias Burnus - - PR fortran/92482 - * trans-expr.c (gfc_conv_procedure_call): Use TREE_OPERAND not - build_fold_indirect_ref_loc to undo an ADDR_EXPR. - -2021-10-18 Tobias Burnus - - PR fortran/102086 - PR fortran/92189 - PR fortran/92621 - PR fortran/101308 - PR fortran/101309 - PR fortran/101635 - PR fortran/92482 - * decl.c (gfc_verify_c_interop_param): Remove 'sorry' for - scalar allocatable/pointer and len=*. - * expr.c (is_CFI_desc): Return true for for those. - * gfortran.h (CFI_type_kind_shift, CFI_type_mask, - CFI_type_from_type_kind, CFI_VERSION, CFI_MAX_RANK, - CFI_attribute_pointer, CFI_attribute_allocatable, - CFI_attribute_other, CFI_type_Integer, CFI_type_Logical, - CFI_type_Real, CFI_type_Complex, CFI_type_Character, - CFI_type_ucs4_char, CFI_type_struct, CFI_type_cptr, - CFI_type_cfunptr, CFI_type_other): New #define. - * trans-array.c (CFI_FIELD_BASE_ADDR, CFI_FIELD_ELEM_LEN, - CFI_FIELD_VERSION, CFI_FIELD_RANK, CFI_FIELD_ATTRIBUTE, - CFI_FIELD_TYPE, CFI_FIELD_DIM, CFI_DIM_FIELD_LOWER_BOUND, - CFI_DIM_FIELD_EXTENT, CFI_DIM_FIELD_SM, - gfc_get_cfi_descriptor_field, gfc_get_cfi_desc_base_addr, - gfc_get_cfi_desc_elem_len, gfc_get_cfi_desc_version, - gfc_get_cfi_desc_rank, gfc_get_cfi_desc_type, - gfc_get_cfi_desc_attribute, gfc_get_cfi_dim_item, - gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm): - New define/functions to access the CFI array descriptor. - (gfc_conv_descriptor_type): New function for the GFC descriptor. - (gfc_get_array_span): Handle expr of CFI descriptors and - assumed-type descriptors. - (gfc_trans_array_bounds): Remove 'static'. - (gfc_conv_expr_descriptor): For assumed type, use the dtype of - the actual argument. - (structure_alloc_comps): Remove ' ' inside tabs. - * trans-array.h (gfc_trans_array_bounds, gfc_conv_descriptor_type, - gfc_get_cfi_desc_base_addr, gfc_get_cfi_desc_elem_len, - gfc_get_cfi_desc_version, gfc_get_cfi_desc_rank, - gfc_get_cfi_desc_type, gfc_get_cfi_desc_attribute, - gfc_get_cfi_dim_lbound, gfc_get_cfi_dim_extent, gfc_get_cfi_dim_sm): - New prototypes. - * trans-decl.c (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi): - Remove global vars. - (gfc_build_builtin_function_decls): Remove their initialization. - (gfc_get_symbol_decl, create_function_arglist, - gfc_trans_deferred_vars): Update for CFI. - (convert_CFI_desc): Remove and replace by ... - (gfc_conv_cfi_to_gfc): ... this function - (gfc_generate_function_code): Call it; create local GFC var for CFI. - * trans-expr.c (gfc_maybe_dereference_var): Handle CFI. - (gfc_conv_subref_array_arg): Handle the if-noncontigous-only copy in - when the result should be a descriptor. - (gfc_conv_gfc_desc_to_cfi_desc): Completely rewritten. - (gfc_conv_procedure_call): CFI fixes. - * trans-openmp.c (gfc_omp_is_optional_argument, - gfc_omp_check_optional_argument): Handle optional - CFI. - * trans-stmt.c (gfc_trans_select_rank_cases): Cleanup, avoid invalid - code for allocatable/pointer dummies, which cannot be assumed size. - * trans-types.c (gfc_cfi_descriptor_base): New global var. - (gfc_get_dtype_rank_type): Skip rank init for rank < 0. - (gfc_sym_type): Handle CFI dummies. - (gfc_get_function_type): Update call. - (gfc_get_cfi_dim_type, gfc_get_cfi_type): New. - * trans-types.h (gfc_sym_type): Update prototype. - (gfc_get_cfi_type): New prototype. - * trans.c (gfc_trans_runtime_check): Make conditions more consistent - to avoid ' AND_THEN ' in conditions. - * trans.h (gfor_fndecl_cfi_to_gfc, gfor_fndecl_gfc_to_cfi): Remove - global-var declaration. - -2021-10-18 Tobias Burnus - - PR fortran/102745 - * intrinsic.c (gfc_convert_type_warn): Fix checks by checking CLASS - and do typcheck in correct order for type extension. - * misc.c (gfc_typename): Print proper not internal CLASS type name. - -2021-10-15 Harald Anlauf - Tobias Burnus - - PR fortran/102685 - * decl.c (match_clist_expr): Set rank/shape of clist initializer - to match LHS. - * resolve.c (resolve_structure_cons): In a structure constructor, - compare shapes of array components against declared shape. - -2021-10-14 Harald Anlauf - - PR fortran/102717 - * simplify.c (gfc_simplify_reshape): Replace assert by error - message for negative elements in SHAPE array. - -2021-10-14 Harald Anlauf - - PR fortran/102716 - * check.c (gfc_check_shape): Reorder checks so that invalid KIND - arguments can be detected. - -2021-10-14 Kwok Cheung Yeung - - * gfortran.h (enum gfc_statement): Add ST_OMP_DECLARE_VARIANT. - (enum gfc_omp_trait_property_kind): New. - (struct gfc_omp_trait_property): New. - (gfc_get_omp_trait_property): New macro. - (struct gfc_omp_selector): New. - (gfc_get_omp_selector): New macro. - (struct gfc_omp_set_selector): New. - (gfc_get_omp_set_selector): New macro. - (struct gfc_omp_declare_variant): New. - (gfc_get_omp_declare_variant): New macro. - (struct gfc_namespace): Add omp_declare_variant field. - (gfc_free_omp_declare_variant_list): New prototype. - * match.h (gfc_match_omp_declare_variant): New prototype. - * openmp.c (gfc_free_omp_trait_property_list): New. - (gfc_free_omp_selector_list): New. - (gfc_free_omp_set_selector_list): New. - (gfc_free_omp_declare_variant_list): New. - (gfc_match_omp_clauses): Add extra optional argument. Handle end of - clauses for context selectors. - (omp_construct_selectors, omp_device_selectors, - omp_implementation_selectors, omp_user_selectors): New. - (gfc_match_omp_context_selector): New. - (gfc_match_omp_context_selector_specification): New. - (gfc_match_omp_declare_variant): New. - * parse.c: Include tree-core.h and omp-general.h. - (decode_omp_directive): Handle 'declare variant'. - (case_omp_decl): Include ST_OMP_DECLARE_VARIANT. - (gfc_ascii_statement): Handle ST_OMP_DECLARE_VARIANT. - (gfc_parse_file): Initialize omp_requires_mask. - * symbol.c (gfc_free_namespace): Call - gfc_free_omp_declare_variant_list. - * trans-decl.c (gfc_get_extern_function_decl): Call - gfc_trans_omp_declare_variant. - (gfc_create_function_decl): Call gfc_trans_omp_declare_variant. - * trans-openmp.c (gfc_trans_omp_declare_variant): New. - * trans-stmt.h (gfc_trans_omp_declare_variant): New prototype. - -2021-10-13 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle ancestor modifier, - avoid ICE for GFC_OMP_ATOMIC_SWAP. - * gfortran.h (gfc_omp_clauses): Change 'anecestor' into a bitfield. - -2021-10-12 Tobias Burnus - - PR fortran/102541 - * check.c (gfc_check_present): Handle optional CLASS. - * interface.c (gfc_compare_actual_formal): Likewise. - * trans-array.c (gfc_trans_g77_array): Likewise. - * trans-decl.c (gfc_build_dummy_array_decl): Likewise. - * trans-types.c (gfc_sym_type): Likewise. - * primary.c (gfc_variable_attr): Fixes for dummy and - pointer when 'class%_data' is passed. - * trans-expr.c (set_dtype_for_unallocated, gfc_conv_procedure_call): - For assumed-rank dummy, fix setting rank for dealloc/notassoc actual - and setting ubound to -1 for assumed-size actuals. - -2021-10-10 Harald Anlauf - - PR fortran/99348 - PR fortran/102521 - * decl.c (add_init_expr_to_sym): Extend initialization of - parameter arrays from scalars to handle derived types. - -2021-10-09 Harald Anlauf - - PR fortran/65454 - * module.c (read_module): Handle old and new-style relational - operators when used in USE module, ONLY: OPERATOR(op). - -2021-10-08 Sandra Loosemore - - PR fortran/54753 - * interface.c (gfc_compare_actual_formal): Add diagnostic - for F2018:C839. Refactor shared code and fix bugs with class - array info lookup, and extend similar diagnostic from PR94110 - to also cover class types. - -2021-10-08 Martin Liska - - * options.c (gfc_post_options): Use new macro - OPTION_SET_P. - -2021-10-06 Tobias Burnus - - * resolve.c (resolve_values): Only show - deprecated warning if attr.referenced. - -2021-10-04 Tobias Burnus - - PR fortran/54753 - * resolve.c (can_generate_init, resolve_fl_variable_derived, - resolve_symbol): Only do initialization with intent(out) if not - inside of an interface block. - -2021-10-01 Martin Sebor - - PR c/102103 - * array.c: Remove an unnecessary test. - * trans-array.c: Same. - -2021-10-01 Jakub Jelinek - - * gfortran.h (gfc_omp_clauses): Add order_reproducible bitfield. - * dump-parse-tree.c (show_omp_clauses): Print REPRODUCIBLE: for it. - * openmp.c (gfc_match_omp_clauses): Set order_reproducible for - explicit reproducible: modifier. - * trans-openmp.c (gfc_trans_omp_clauses): Set - OMP_CLAUSE_ORDER_REPRODUCIBLE for order_reproducible. - (gfc_split_omp_clauses): Also copy order_reproducible. - -2021-09-30 Harald Anlauf - - PR fortran/102458 - * simplify.c (simplify_size): Resolve expressions used in array - specifications so that SIZE can be simplified. - -2021-09-30 Harald Anlauf - - * expr.c: The correct reference to Fortran standard is: F2018:10.1.12. - -2021-09-30 Tobias Burnus - - PR fortran/71703 - PR fortran/84007 - * trans-intrinsic.c (gfc_conv_same_type_as): Fix handling - of UNLIMITED_POLY. - * trans.h (gfc_vtpr_hash_get): Renamed prototype to ... - (gfc_vptr_hash_get): ... this to match function name. - -2021-09-29 Harald Anlauf - - PR fortran/102520 - * array.c (expand_constructor): Do not dereference NULL pointer. - -2021-09-27 Tobias Burnus - - PR fortran/94070 - * trans-array.c (gfc_tree_array_size): New function to - find size inline (whole array or one dimension). - (array_parameter_size): Use it, take stmt_block as arg. - (gfc_conv_array_parameter): Update call. - * trans-array.h (gfc_tree_array_size): Add prototype. - * trans-decl.c (gfor_fndecl_size0, gfor_fndecl_size1): Remove - these global vars. - (gfc_build_intrinsic_function_decls): Remove their initialization. - * trans-expr.c (gfc_conv_procedure_call): Update - bounds of pointer/allocatable actual args to nonallocatable/nonpointer - dummies to be one based. - * trans-intrinsic.c (gfc_conv_intrinsic_shape): Fix case for - assumed rank with allocatable/pointer dummy. - (gfc_conv_intrinsic_size): Update to use inline function. - * trans.h (gfor_fndecl_size0, gfor_fndecl_size1): Remove var decl. - -2021-09-26 Tobias Burnus - - PR fortran/101334 - * trans-intrinsic.c (gfc_conv_associated): Support assumed-rank - 'pointer' with scalar/array 'target' argument. - -2021-09-24 Harald Anlauf - - PR fortran/102458 - * expr.c (is_non_constant_intrinsic): Check for intrinsics - excluded in constant expressions (F2018:10.1.2). - (gfc_is_constant_expr): Use that check. - -2021-09-24 Sandra Loosemore - - PR fortran/101333 - * interface.c (compare_parameter): Enforce F2018 C711. - -2021-09-24 Tobias Burnus - - PR fortran/55534 - * scanner.c (load_file): Return void, call (gfc_)fatal_error for - all errors. - (include_line, include_stmt, gfc_new_file): Remove exit call - for failed load_file run. - -2021-09-23 Sandra Loosemore - - PR fortran/101320 - * decl.c (gfc_verify_c_interop_param): Handle F2018 C1557, - aka TS29113 C516. - -2021-09-23 Harald Anlauf - Tobias Burnus - - PR fortran/93834 - * trans-intrinsic.c (gfc_conv_allocated): Cleanup. Handle - coindexed scalar coarrays. - -2021-09-23 Sandra Loosemore - - PR fortran/101319 - * interface.c (gfc_compare_actual_formal): Extend existing - assumed-type diagnostic to also check for argument with type - parameters. - -2021-09-23 Sandra Loosemore - - PR fortran/101334 - * check.c (gfc_check_associated): Allow an assumed-rank - array for the pointer argument. - * interface.c (compare_parameter): Also give rank mismatch - error on assumed-rank array. - -2021-09-23 Sandra Loosemore - - * trans-stmt.c (trans_associate_var): Check that result of - GFC_DECL_SAVED_DESCRIPTOR is not null before using it. - -2021-09-22 Tobias Burnus - - PR fortran/55534 - * cpp.c (gfc_cpp_register_include_paths, gfc_cpp_post_options): - Add new bool verbose_missing_dir_warn argument. - * cpp.h (gfc_cpp_post_options): Update prototype. - * f95-lang.c (gfc_init): Remove duplicated file-not found diag. - * gfortran.h (gfc_check_include_dirs): Takes bool - verbose_missing_dir_warn arg. - (gfc_new_file): Returns now void. - * options.c (gfc_post_options): Update to warn for -I and -J, - only, by default but for all when user requested. - * scanner.c (gfc_do_check_include_dir): - (gfc_do_check_include_dirs, gfc_check_include_dirs): Take bool - verbose warn arg and update to avoid printing the same message - twice or never. - (load_file): Fix indent. - (gfc_new_file): Return void and exit when load_file failed - as all other load_file users do. - -2021-09-22 Tobias Burnus - - * trans-expr.c (gfc_simple_for_loop): New. - * trans.h (gfc_simple_for_loop): New prototype. - -2021-09-21 Tobias Burnus - - PR fortran/55534 - * cpp.c: Define GCC_C_COMMON_C for #include "options.h" to make - cpp_reason_option_codes available. - (gfc_cpp_register_include_paths): Make static, set pfile's - warn_missing_include_dirs and move before caller. - (gfc_cpp_init_cb): New, cb code moved from ... - (gfc_cpp_init_0): ... here. - (gfc_cpp_post_options): Call gfc_cpp_init_cb. - (cb_cpp_diagnostic_cpp_option): New. As implemented in c-family - to match CppReason flags to -W... names. - (cb_cpp_diagnostic): Use it to replace single special case. - * cpp.h (gfc_cpp_register_include_paths): Remove as now static. - * gfortran.h (gfc_check_include_dirs): New prototype. - (gfc_add_include_path): Add new bool arg. - * options.c (gfc_init_options): Don't set -Wmissing-include-dirs. - (gfc_post_options): Set it here after commandline processing. Call - gfc_add_include_path with defer_warn=false. - (gfc_handle_option): Call it with defer_warn=true. - * scanner.c (gfc_do_check_include_dir, gfc_do_check_include_dirs, - gfc_check_include_dirs): New. Diagnostic moved from ... - (add_path_to_list): ... here, which came before cmdline processing. - Take additional bool defer_warn argument. - (gfc_add_include_path): Take additional defer_warn arg. - * scanner.h (struct gfc_directorylist): Reorder for alignment issues, - add new 'bool warn'. - -2021-09-20 Tobias Burnus - - * gfortran.h (gfc_omp_clauses): Add order_unconstrained. - * dump-parse-tree.c (show_omp_clauses): Dump it. - * openmp.c (gfc_match_omp_clauses): Match unconstrained/reproducible - modifiers to ordered(concurrent). - (OMP_DISTRIBUTE_CLAUSES): Accept ordered clause. - (resolve_omp_clauses): Reject ordered + order on same directive. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): Pass - on unconstrained modifier of ordered(concurrent). - -2021-09-17 Harald Anlauf - - PR fortran/102366 - * trans-decl.c (gfc_finish_var_decl): Disable the warning message - for variables moved from stack to static storange if they are - declared in the main, but allow the move to happen. - -2021-09-17 Sandra Loosemore - - * intrinsic.texi (ISO_C_BINDING): Change C_FLOAT128 to correspond - to _Float128 rather than __float128. - * iso-c-binding.def (c_float128): Update comments. - * trans-intrinsic.c (gfc_builtin_decl_for_float_kind): Likewise. - (build_round_expr): Likewise. - (gfc_build_intrinsic_lib_fndcecls): Likewise. - * trans-types.h (gfc_real16_is_float128): Likewise. - -2021-09-16 Harald Anlauf - - PR fortran/102287 - * trans-expr.c (gfc_conv_procedure_call): Wrap deallocation of - allocatable components of optional allocatable derived type - procedure arguments with INTENT(OUT) into a presence check. - -2021-09-14 Harald Anlauf - - PR fortran/102311 - * resolve.c (resolve_entries): Attempt to recover cleanly after - rejecting mismatched function entries. - -2021-09-14 Tobias Burnus - - PR fortran/102313 - * parse.c (gfc_ascii_statement): Add missing ST_OMP_END_SCOPE. - -2021-09-13 Harald Anlauf - - PR fortran/82314 - * decl.c (add_init_expr_to_sym): For proper initialization of - array-valued named constants the array bounds need to be - simplified before adding the initializer. - -2021-09-13 Harald Anlauf - - PR fortran/85130 - * expr.c (find_substring_ref): Handle given substring start and - end indices as signed integers, not unsigned. - -2021-09-09 Harald Anlauf - - PR fortran/98490 - * trans-expr.c (gfc_conv_substring): Do not generate substring - bounds check for implied do loop index variable before it actually - becomes defined. - -2021-09-08 liuhongt - - * options.c (gfc_post_options): Issue an error for - -fexcess-precision=16. - -2021-09-07 Harald Anlauf - - PR fortran/101327 - * expr.c (find_array_element): When bounds cannot be determined as - constant, return error instead of aborting. - -2021-09-07 Marcel Vollweiler - - * openmp.c (gfc_match_omp_flush): Parse 'seq_cst' clause on 'flush' - directive. - * trans-openmp.c (gfc_trans_omp_flush): Handle OMP_MEMORDER_SEQ_CST. - -2021-09-03 Tobias Burnus - - * decl.c (gfc_verify_c_interop_param): Reject pointer with - CONTIGUOUS attributes as dummy arg. Reject character len > 1 - when passed as byte stream. - -2021-09-01 Harald Anlauf - - PR fortran/56985 - * resolve.c (resolve_common_vars): Fix grammar and improve wording - of error message rejecting an unlimited polymorphic in COMMON. - -2021-08-31 Harald Anlauf - - PR fortran/100950 - * simplify.c (substring_has_constant_len): Minimize checks for - substring expressions being allowed. - -2021-08-31 Marcel Vollweiler - - * gfortran.h: Add variable for 'ancestor' in struct gfc_omp_clauses. - * openmp.c (gfc_match_omp_clauses): Parse device-modifiers 'device_num' - and 'ancestor' in 'target device' clauses. - * trans-openmp.c (gfc_trans_omp_clauses): Set OMP_CLAUSE_DEVICE_ANCESTOR. - -2021-08-30 Harald Anlauf - - PR fortran/102113 - * match.c (gfc_match_goto): Allow for whitespace in parsing list - of labels. - -2021-08-30 Harald Anlauf - - PR fortran/101349 - * resolve.c (resolve_allocate_expr): An unlimited polymorphic - argument to ALLOCATE must be ALLOCATABLE or a POINTER. Fix the - corresponding check. - -2021-08-28 Harald Anlauf - - PR fortran/87737 - * resolve.c (resolve_entries): For functions of type CHARACTER - tighten the checks for matching characteristics. - -2021-08-25 Lewis Hyatt - - PR other/93067 - * cpp.c (gfc_cpp_post_options): Call new function - diagnostic_initialize_input_context(). - -2021-08-24 Harald Anlauf - - PR fortran/98411 - * trans-decl.c (gfc_finish_var_decl): Adjust check to handle - implicit SAVE as well as variables in the main program. Improve - warning message text. - -2021-08-23 Tobias Burnus - - * openmp.c (gfc_match_dupl_check, gfc_match_dupl_memorder, - gfc_match_dupl_atomic): New. - (gfc_match_omp_clauses): Use them; remove duplicate - 'release'/'relaxed' clause matching; improve error dignostic - for 'default'. - -2021-08-23 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle 'strict' modifier - on grainsize/num_tasks - * gfortran.h (gfc_omp_clauses): Add grainsize_strict - and num_tasks_strict. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): - Handle 'strict' modifier on grainsize/num_tasks. - * openmp.c (gfc_match_omp_clauses): Likewise. - -2021-08-20 Tobias Burnus - - * error.c - (error_uinteger): Take 'long long unsigned' instead - of 'long unsigned' as argumpent. - (error_integer): Take 'long long' instead of 'long'. - (error_hwuint, error_hwint): New. - (error_print): Update to handle 'll' and 'w' - length modifiers. - * simplify.c (substring_has_constant_len): Use '%wd' - in gfc_error. - -2021-08-20 Harald Anlauf - - PR fortran/100950 - * simplify.c (substring_has_constant_len): Fix format string of - gfc_error, pass HOST_WIDE_INT bounds values via char buffer. - -2021-08-20 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle 'at', 'severity' - and 'message' clauses. - (show_omp_node, show_code_node): Handle EXEC_OMP_ERROR. - * gfortran.h (gfc_statement): Add ST_OMP_ERROR. - (gfc_omp_severity_type, gfc_omp_at_type): New. - (gfc_omp_clauses): Add 'at', 'severity' and 'message' clause; - use more bitfields + ENUM_BITFIELD. - (gfc_exec_op): Add EXEC_OMP_ERROR. - * match.h (gfc_match_omp_error): New. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_(AT,SEVERITY,MESSAGE). - (gfc_match_omp_clauses): Handle new clauses. - (OMP_ERROR_CLAUSES, gfc_match_omp_error): New. - (resolve_omp_clauses): Resolve new clauses. - (omp_code_to_statement, gfc_resolve_omp_directive): Handle - EXEC_OMP_ERROR. - * parse.c (decode_omp_directive, next_statement, - gfc_ascii_statement): Handle 'omp error'. - * resolve.c (gfc_resolve_blocks): Likewise. - * st.c (gfc_free_statement): Likewise. - * trans-openmp.c (gfc_trans_omp_error): Likewise. - (gfc_trans_omp_directive): Likewise. - * trans.c (trans_code): Likewise. - -2021-08-20 Jakub Jelinek - - * types.def (BT_FN_VOID_CONST_PTR_SIZE): New DEF_FUNCTION_TYPE_2. - * f95-lang.c (ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST): Define. - -2021-08-19 Harald Anlauf - - PR fortran/100950 - * simplify.c (substring_has_constant_len): New. - (gfc_simplify_len): Handle case of substrings with constant - bounds. - -2021-08-18 Tobias Burnus - - * match.h (gfc_match_omp_nothing): New. - * openmp.c (gfc_match_omp_nothing): New. - * parse.c (decode_omp_directive): Match 'nothing' directive. - -2021-08-17 Tobias Burnus - - * dump-parse-tree.c (show_omp_node, show_code_node): Handle - EXEC_OMP_SCOPE. - * gfortran.h (enum gfc_statement): Add ST_OMP_(END_)SCOPE. - (enum gfc_exec_op): Add EXEC_OMP_SCOPE. - * match.h (gfc_match_omp_scope): New. - * openmp.c (OMP_SCOPE_CLAUSES): Define - (gfc_match_omp_scope): New. - (gfc_match_omp_cancellation_point, gfc_match_omp_end_nowait): - Improve error diagnostic. - (omp_code_to_statement): Handle ST_OMP_SCOPE. - (gfc_resolve_omp_directive): Handle EXEC_OMP_SCOPE. - * parse.c (decode_omp_directive, next_statement, - gfc_ascii_statement, parse_omp_structured_block, - parse_executable): Handle OpenMP's scope construct. - * resolve.c (gfc_resolve_blocks): Likewise - * st.c (gfc_free_statement): Likewise - * trans-openmp.c (gfc_trans_omp_scope): New. - (gfc_trans_omp_directive): Call it. - * trans.c (trans_code): handle EXEC_OMP_SCOPE. - -2021-08-16 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle 'filter' clause. - (show_omp_node, show_code_node): Handle (combined) omp masked construct. - * frontend-passes.c (gfc_code_walker): Likewise. - * gfortran.h (enum gfc_statement): Add ST_OMP_*_MASKED*. - (enum gfc_exec_op): Add EXEC_OMP_*_MASKED*. - * match.h (gfc_match_omp_masked, gfc_match_omp_masked_taskloop, - gfc_match_omp_masked_taskloop_simd, gfc_match_omp_parallel_masked, - gfc_match_omp_parallel_masked_taskloop, - gfc_match_omp_parallel_masked_taskloop_simd): New prototypes. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_FILTER. - (gfc_match_omp_clauses): Match it. - (OMP_MASKED_CLAUSES, gfc_match_omp_parallel_masked, - gfc_match_omp_parallel_masked_taskloop, - gfc_match_omp_parallel_masked_taskloop_simd, - gfc_match_omp_masked, gfc_match_omp_masked_taskloop, - gfc_match_omp_masked_taskloop_simd): New. - (resolve_omp_clauses): Resolve filter clause. - (gfc_resolve_omp_parallel_blocks, resolve_omp_do, - omp_code_to_statement, gfc_resolve_omp_directive): Handle - omp masked constructs. - * parse.c (decode_omp_directive, case_exec_markers, - gfc_ascii_statement, parse_omp_do, parse_omp_structured_block, - parse_executable): Likewise. - * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise. - * st.c (gfc_free_statement): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses): Handle filter clause. - (GFC_OMP_SPLIT_MASKED, GFC_OMP_MASK_MASKED): New enum values. - (gfc_trans_omp_masked): New. - (gfc_split_omp_clauses): Handle combined masked directives. - (gfc_trans_omp_master_taskloop): Rename to ... - (gfc_trans_omp_master_masked_taskloop): ... this; handle also - combined masked directives. - (gfc_trans_omp_parallel_master): Rename to ... - (gfc_trans_omp_parallel_master_masked): ... this; handle - combined masked directives. - (gfc_trans_omp_directive): Handle EXEC_OMP_*_MASKED*. - * trans.c (trans_code): Likewise. - -2021-08-15 Harald Anlauf - - PR fortran/99351 - * match.c (sync_statement): Replace %v code by %e in gfc_match to - allow for function references as STAT and ERRMSG arguments. - * resolve.c (resolve_sync): Adjust checks of STAT= and ERRMSG= to - being definable arguments. Function references with a data - pointer result are accepted. - * trans-stmt.c (gfc_trans_sync): Adjust assertion. - -2021-08-12 Tobias Burnus - - * gfortran.h (gfc_omp_proc_bind_kind): Add OMP_PROC_BIND_PRIMARY. - * dump-parse-tree.c (show_omp_clauses): Add TODO comment to - change 'master' to 'primary' in proc_bind for OpenMP 5.1. - * intrinsic.texi (OMP_LIB): Mention OpenMP 5.1; add - omp_proc_bind_primary. - * openmp.c (gfc_match_omp_clauses): Accept - 'primary' as alias for 'master'. - * trans-openmp.c (gfc_trans_omp_clauses): Handle - OMP_PROC_BIND_PRIMARY. - -2021-08-11 Sandra Loosemore - - * iso-c-binding.def (c_float128, c_float128_complex): Check - float128_type_node instead of gfc_float128_type_node. - * trans-types.c (gfc_init_kinds, gfc_build_real_type): - Update comments re supported 128-bit floating-point types. - -2021-08-11 Richard Biener - - * trans-common.c (create_common): Set TREE_THIS_VOLATILE on the - COMPONENT_REF if the field is volatile. - -2021-08-07 Harald Anlauf - - PR fortran/68568 - * primary.c (gfc_expr_attr): Variable attribute can only be - inquired when symtree is non-NULL. - -2021-07-28 Harald Anlauf - - PR fortran/101564 - * expr.c (gfc_check_vardef_context): Add check for KIND and LEN - parameter inquiries. - * match.c (gfc_match): Fix comment for %v code. - (gfc_match_allocate, gfc_match_deallocate): Replace use of %v code - by %e in gfc_match to allow for function references as STAT and - ERRMSG arguments. - * resolve.c (resolve_allocate_deallocate): Avoid NULL pointer - dereferences and shortcut for bad STAT and ERRMSG argument to - (DE)ALLOCATE. Remove bogus parts of checks for STAT and ERRMSG. - -2021-07-26 José Rui Faustino de Sousa - Tobias Burnus - - PR fortran/93308 - PR fortran/93963 - PR fortran/94327 - PR fortran/94331 - PR fortran/97046 - * trans-decl.c (convert_CFI_desc): Only copy out the descriptor - if necessary. - * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Updated attribute - handling which reflect a previous intermediate version of the - standard. Only copy out the descriptor if necessary. - -2021-07-23 Harald Anlauf - - PR fortran/101536 - * check.c (array_check): Adjust check for the case of CLASS - arrays. - -2021-07-21 Thomas Schwinge - Joseph Myers - Cesar Philippidis - - * dump-parse-tree.c (show_attr): Update. - * gfortran.h (symbol_attribute): Add 'oacc_routine_nohost' member. - (gfc_omp_clauses): Add 'nohost' member. - * module.c (ab_attribute): Add 'AB_OACC_ROUTINE_NOHOST'. - (attr_bits, mio_symbol_attribute): Update. - * openmp.c (omp_mask2): Add 'OMP_CLAUSE_NOHOST'. - (gfc_match_omp_clauses): Handle 'OMP_CLAUSE_NOHOST'. - (OACC_ROUTINE_CLAUSES): Add 'OMP_CLAUSE_NOHOST'. - (gfc_match_oacc_routine): Update. - * trans-decl.c (add_attributes_to_decl): Update. - * trans-openmp.c (gfc_trans_omp_clauses): Likewise. - -2021-07-21 Harald Anlauf - - PR fortran/101514 - * target-memory.c (gfc_interpret_derived): Size of array component - of derived type can only be computed here for explicit shape. - * trans-types.c (gfc_get_nodesc_array_type): Do not dereference - NULL pointers. - -2021-07-21 Tobias Burnus - - * decl.c (gfc_verify_c_interop_param): Update for F2008 + F2018 - changes; reject unsupported bits with 'Error: Sorry,'. - * trans-expr.c (gfc_conv_procedure_call): Fix condition to - For using CFI descriptor with characters. - -2021-07-18 Harald Anlauf - - PR fortran/101084 - * io.c (resolve_tag_format): Extend FORMAT check to unknown type. - -2021-07-14 Harald Anlauf - - PR fortran/100949 - * trans-expr.c (gfc_trans_class_init_assign): Call - gfc_conv_expr_present only for dummy variables. - -2021-07-06 Thomas Koenig - - PR fortran/100227 - * frontend-passes.c (traverse_io_block): Adjust test for - when a variable is eligible for the transformation to - array slice. - -2021-06-28 Martin Sebor - - * trans-array.c (trans_array_constructor): Replace direct uses - of TREE_NO_WARNING with warning_suppressed_p, and suppress_warning. - * trans-decl.c (gfc_build_qualified_array): Same. - (gfc_build_dummy_array_decl): Same. - (generate_local_decl): Same. - (gfc_generate_function_code): Same. - * trans-openmp.c (gfc_omp_clause_default_ctor): Same. - (gfc_omp_clause_copy_ctor): Same. - * trans-types.c (get_dtype_type_node): Same. - (gfc_get_desc_dim_type): Same. - (gfc_get_array_descriptor_base): Same. - (gfc_get_caf_vector_type): Same. - (gfc_get_caf_reference_type): Same. - * trans.c (gfc_create_var_np): Same. - -2021-06-23 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Fix enum type used - for dumping gfc_omp_defaultmap_category. - -2021-06-23 Andre Vehreschild - - PR fortran/100337 - * trans-intrinsic.c (conv_co_collective): Check stat for null ptr - before dereferrencing. - -2021-06-18 Harald Anlauf - - PR fortran/100283 - PR fortran/101123 - * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Unconditionally - convert result of min/max to result type. - -2021-06-16 Harald Anlauf - - PR fortran/95501 - PR fortran/95502 - * expr.c (gfc_check_pointer_assign): Avoid NULL pointer - dereference. - * match.c (gfc_match_pointer_assignment): Likewise. - * parse.c (gfc_check_do_variable): Avoid comparison with NULL - symtree. - -2021-06-16 Harald Anlauf - - Revert: - 2021-06-16 Harald Anlauf - - PR fortran/95501 - PR fortran/95502 - * expr.c (gfc_check_pointer_assign): Avoid NULL pointer - dereference. - * match.c (gfc_match_pointer_assignment): Likewise. - * parse.c (gfc_check_do_variable): Avoid comparison with NULL - symtree. - -2021-06-16 Harald Anlauf - - PR fortran/95501 - PR fortran/95502 - * expr.c (gfc_check_pointer_assign): Avoid NULL pointer - dereference. - * match.c (gfc_match_pointer_assignment): Likewise. - * parse.c (gfc_check_do_variable): Avoid comparison with NULL - symtree. - -2021-06-15 Tobias Burnus - - PR fortran/92568 - * dump-parse-tree.c (show_omp_clauses): Update for defaultmap. - * f95-lang.c (LANG_HOOKS_OMP_ALLOCATABLE_P, - LANG_HOOKS_OMP_SCALAR_TARGET_P): New. - * gfortran.h (enum gfc_omp_defaultmap, - enum gfc_omp_defaultmap_category): New. - * openmp.c (gfc_match_omp_clauses): Update defaultmap matching. - * trans-decl.c (gfc_finish_decl_attrs): Set GFC_DECL_SCALAR_TARGET. - * trans-openmp.c (gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New. - (gfc_omp_scalar_p): Take 'ptr_alloc_ok' argument. - (gfc_trans_omp_clauses, gfc_split_omp_clauses): Update for - defaultmap changes. - * trans.h (gfc_omp_scalar_p): Update prototype. - (gfc_omp_allocatable_p, gfc_omp_scalar_target_p): New. - (struct lang_decl): Add scalar_target. - (GFC_DECL_SCALAR_TARGET, GFC_DECL_GET_SCALAR_TARGET): New. - -2021-06-14 Tobias Burnus - - * resolve.c (resolve_variable): Remove *XCNEW used to - nullify nullified memory. - -2021-06-09 Martin Liska - - * intrinsic.texi: Add missing @headitem to tables with a header. - -2021-06-09 Jakub Jelinek - - PR fortran/100965 - * trans-openmp.c (gfc_omp_finish_clause): Gimplify OMP_CLAUSE_SIZE. - -2021-06-08 Tobias Burnus - - PR middle-end/99928 - * trans-openmp.c (gfc_add_clause_implicitly): New. - (gfc_split_omp_clauses): Use it. - (gfc_free_split_omp_clauses): New. - (gfc_trans_omp_do_simd, gfc_trans_omp_parallel_do, - gfc_trans_omp_parallel_do_simd, gfc_trans_omp_distribute, - gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_taskloop, - gfc_trans_omp_master_taskloop, gfc_trans_omp_parallel_master): Use it. - -2021-06-08 Martin Liska - - * intrinsic.texi: Fix typo. - * trans-expr.c (gfc_trans_pointer_assignment): Likewise. - -2021-06-05 José Rui Faustino de Sousa - - PR fortran/100120 - PR fortran/100816 - PR fortran/100818 - PR fortran/100819 - PR fortran/100821 - * trans-array.c (gfc_get_array_span): rework the way character - array "span" was calculated. - (gfc_conv_expr_descriptor): improve handling of character sections - and unlimited polymorphic objects. - * trans-expr.c (gfc_get_character_len): new function to calculate - character string length. - (gfc_get_character_len_in_bytes): new function to calculate - character string length in bytes. - (gfc_conv_scalar_to_descriptor): add call to set the "span". - (gfc_trans_pointer_assignment): set "_len" and antecipate the - initialization of the deferred character length hidden argument. - * trans-intrinsic.c (gfc_conv_associated): set "force_no_tmp" to - avoid the creation of a temporary. - * trans-types.c (gfc_get_dtype_rank_type): rework type detection - so that unlimited polymorphic objects get proper type infomation, - also important for bind(c). - (gfc_get_dtype): add argument to pass the rank if necessary. - (gfc_get_array_type_bounds): cosmetic change to have character - arrays called character instead of unknown. - * trans-types.h (gfc_get_dtype): modify prototype. - * trans.c (get_array_span): rework the way character array "span" - was calculated. - * trans.h (gfc_get_character_len): new prototype. - (gfc_get_character_len_in_bytes): new prototype. - Add "unlimited_polymorphic" flag to "gfc_se" type to signal when - expression carries an unlimited polymorphic object. - -2021-06-04 Harald Anlauf - - PR fortran/99839 - * frontend-passes.c (inline_matmul_assign): Do not inline matmul - if the assignment to the resulting array if it is not of canonical - type (real/integer/complex/logical). - -2021-06-04 Tobias Burnus - - * dump-parse-tree.c (show_code_node): Handle - EXEC_OMP_(TARGET_)(,PARALLEL_,TEAMS_)LOOP. - -2021-06-04 Tobias Burnus - - * scanner.c (skip_fixed_omp_sentinel): Set openacc_flag if - this is not an (OpenMP) continuation line. - (skip_fixed_oacc_sentinel): Likewise for openmp_flag and OpenACC. - (gfc_next_char_literal): gfc_error_now to force error for mixed OMP/ACC - continuation once per location and return '\n'. - -2021-06-04 Tobias Burnus - - PR middle-end/99928 - * openmp.c (gfc_match_omp_clauses): Fix typo in error message. - -2021-06-04 Tobias Burnus - - PR middle-end/99928 - * dump-parse-tree.c (show_omp_clauses): Handle bind clause. - (show_omp_node): Handle loop directive. - * frontend-passes.c (gfc_code_walker): Likewise. - * gfortran.h (enum gfc_statement): Add - ST_OMP_(END_)(TARGET_)(|PARALLEL_|TEAMS_)LOOP. - (enum gfc_omp_bind_type): New. - (gfc_omp_clauses): Use it. - (enum gfc_exec_op): Add EXEC_OMP_(TARGET_)(|PARALLEL_|TEAMS_)LOOP. - * match.h (gfc_match_omp_loop, gfc_match_omp_parallel_loop, - gfc_match_omp_target_parallel_loop, gfc_match_omp_target_teams_loop, - gfc_match_omp_teams_loop): New. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_BIND. - (gfc_match_omp_clauses): Handle it. - (OMP_LOOP_CLAUSES, gfc_match_omp_loop, gfc_match_omp_teams_loop, - gfc_match_omp_target_teams_loop, gfc_match_omp_parallel_loop, - gfc_match_omp_target_parallel_loop): New. - (resolve_omp_clauses, resolve_omp_do, omp_code_to_statement, - gfc_resolve_omp_directive): Handle omp loop. - * parse.c (decode_omp_directive case_exec_markers, gfc_ascii_statement, - parse_omp_do, parse_executable): Likewise. - (parse_omp_structured_block): Remove ST_ which use parse_omp_do. - * resolve.c (gfc_resolve_blocks): Add omp loop. - * st.c (gfc_free_statement): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses): Handle bind clause. - (gfc_trans_omp_do, gfc_trans_omp_parallel_do, gfc_trans_omp_distribute, - gfc_trans_omp_teams, gfc_trans_omp_target, gfc_trans_omp_directive): - Handle loop directive. - (gfc_split_omp_clauses): Likewise; fix firstprivate/lastprivate - and (in_)reduction for taskloop. - * trans.c (trans_code): Handle omp loop directive. - -2021-06-01 Tobias Burnus - - PR middle-end/99928 - * dump-parse-tree.c (show_omp_node, show_code_node): Handle - (parallel) master taskloop (simd). - * frontend-passes.c (gfc_code_walker): Set in_omp_workshare - to false for parallel master taskloop (simd). - * gfortran.h (enum gfc_statement): - Add ST_OMP_(END_)(PARALLEL_)MASTER_TASKLOOP(_SIMD). - (enum gfc_exec_op): EXEC_OMP_(PARALLEL_)MASTER_TASKLOOP(_SIMD). - * match.h (gfc_match_omp_master_taskloop, - gfc_match_omp_master_taskloop_simd, - gfc_match_omp_parallel_master_taskloop, - gfc_match_omp_parallel_master_taskloop_simd): New prototype. - * openmp.c (gfc_match_omp_parallel_master_taskloop, - gfc_match_omp_parallel_master_taskloop_simd, - gfc_match_omp_master_taskloop, - gfc_match_omp_master_taskloop_simd): New. - (gfc_match_omp_taskloop_simd): Permit 'reduction' clause. - (resolve_omp_clauses): Handle new combined directives; remove - inscan-reduction check to reduce multiple errors; add - task-reduction error for 'taskloop simd'. - (gfc_resolve_omp_parallel_blocks, - resolve_omp_do, omp_code_to_statement, - gfc_resolve_omp_directive): Handle new combined constructs. - * parse.c (decode_omp_directive, next_statement, - gfc_ascii_statement, parse_omp_do, parse_omp_structured_block, - parse_executable): Likewise. - * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise. - * st.c (gfc_free_statement): Likewise. - * trans.c (trans_code): Likewise. - * trans-openmp.c (gfc_split_omp_clauses, - gfc_trans_omp_directive): Likewise. - (gfc_trans_omp_parallel_master): Move after gfc_trans_omp_master_taskloop; - handle parallel master taskloop (simd) as well. - (gfc_trans_omp_taskloop): Take gfc_exec_op as arg. - (gfc_trans_omp_master_taskloop): New. - -2021-05-30 Gerald Pfeifer - - * gfortran.texi (BOZ literal constants): Fix typo. - -2021-05-28 Tobias Burnus - - * dump-parse-tree.c (show_iterator): New. - (show_omp_namelist): Handle iterators. - (show_omp_clauses): Handle affinity. - * gfortran.h (gfc_free_omp_namelist): New union with 'udr' and new 'ns'. - * match.c (gfc_free_omp_namelist): Add are to choose union element. - * openmp.c (gfc_free_omp_clauses, gfc_match_omp_detach, - gfc_match_omp_clause_reduction, gfc_match_omp_flush): Update - call to gfc_free_omp_namelist. - (gfc_match_omp_variable_list): Likewise; permit preceeding whitespace. - (enum omp_mask1): Add OMP_CLAUSE_AFFINITY. - (gfc_match_iterator): New. - (gfc_match_omp_clauses): Use it; update call to gfc_free_omp_namelist. - (OMP_TASK_CLAUSES): Add OMP_CLAUSE_AFFINITY. - (gfc_match_omp_taskwait): Match depend clause. - (resolve_omp_clauses): Handle affinity; update for udr/union change. - (gfc_resolve_omp_directive): Resolve clauses of taskwait. - * st.c (gfc_free_statement): Update gfc_free_omp_namelist call. - * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Likewise - (handle_iterator): New. - (gfc_trans_omp_clauses): Handle iterators for depend/affinity clause. - (gfc_trans_omp_taskwait): Handle depend clause. - (gfc_trans_omp_directive): Update call. - -2021-05-27 Harald Anlauf - - PR fortran/100602 - * trans-intrinsic.c (gfc_conv_intrinsic_size): Use CLASS data - attributes for CLASS arrays for generation of runtime error. - -2021-05-27 Harald Anlauf - - PR fortran/100656 - * trans-array.c (gfc_conv_ss_startstride): Do not call check for - presence of a dummy argument when a symbol actually refers to a - non-dummy. - -2021-05-25 Tobias Burnus - Johannes Nendwich - - * intrinsic.texi (GERROR, GETARGS, GETLOG, NORM2, PARITY, RANDOM_INIT, - RANDOM_NUMBER): Fix typos and copy'n'paste errors. - -2021-05-24 Tobias Burnus - - PR fortran/86470 - * trans-expr.c (gfc_copy_class_to_class): Add unshare_expr. - * trans-openmp.c (gfc_is_polymorphic_nonptr, - gfc_is_unlimited_polymorphic_nonptr): New. - (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor): Handle - polymorphic scalars. - -2021-05-23 Harald Anlauf - - PR fortran/100551 - * trans-expr.c (gfc_conv_procedure_call): Adjust check for - implicit conversion of actual argument to an unlimited polymorphic - procedure argument. - -2021-05-23 Tobias Burnus - - * intrinsic.texi (ATOMIC_ADD, ATOMIC_FETCH_ADD): Use the - proper variable name in the description. - -2021-05-22 Andre Vehreschild - Steve Kargl - - PR fortran/98301 - * trans-decl.c (gfc_build_builtin_function_decls): Move decl. - * trans-intrinsic.c (conv_intrinsic_random_init): Use bool for - lib-call of caf_random_init instead of logical (4-byte). - * trans.h: Add tree var for random_init. - -2021-05-20 Marcel Vollweiler - - * openmp.c (gfc_match_omp_clauses): Support map-type-modifier 'close'. - -2021-05-18 Tobias Burnus - - PR fortran/100642 - * openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ. - -2021-05-17 Harald Anlauf - - PR fortran/98411 - * trans-decl.c (gfc_finish_var_decl): Add check for explicit SAVE - attribute. - -2021-05-17 Tobias Burnus - - PR fortran/100633 - * resolve.c (gfc_resolve_code): Reject nonintrinsic assignments in - OMP WORKSHARE. - -2021-05-14 Tobias Burnus - - * dump-parse-tree.c (show_omp_node, show_code_node): Handle - EXEC_OMP_PARALLEL_MASTER. - * frontend-passes.c (gfc_code_walker): Likewise. - * gfortran.h (enum gfc_statement): Add ST_OMP_PARALLEL_MASTER and - ST_OMP_END_PARALLEL_MASTER. - (enum gfc_exec_op): Add EXEC_OMP_PARALLEL_MASTER.. - * match.h (gfc_match_omp_parallel_master): Handle it. - * openmp.c (gfc_match_omp_parallel_master, resolve_omp_clauses, - omp_code_to_statement, gfc_resolve_omp_directive): Likewise. - * parse.c (decode_omp_directive, case_exec_markers, - gfc_ascii_statement, parse_omp_structured_block, - parse_executable): Likewise. - * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise. - * st.c (gfc_free_statement): Likewise. - * trans-openmp.c (gfc_trans_omp_parallel_master, - gfc_trans_omp_workshare, gfc_trans_omp_directive): Likewise. - * trans.c (trans_code): Likewise. - -2021-05-14 Tobias Burnus - - * resolve.c (resolve_symbol): Handle implicit SAVE of main-program - for vars in 'omp threadprivate' and 'omp declare target'. - -2021-05-10 Martin Liska - - * decl.c (variable_decl): Use startswith - function instead of strncmp. - (gfc_match_end): Likewise. - * gfortran.h (gfc_str_startswith): Likewise. - * module.c (load_omp_udrs): Likewise. - (read_module): Likewise. - * options.c (gfc_handle_runtime_check_option): Likewise. - * primary.c (match_arg_list_function): Likewise. - * trans-decl.c (gfc_get_symbol_decl): Likewise. - * trans-expr.c (gfc_conv_procedure_call): Likewise. - * trans-intrinsic.c (gfc_conv_ieee_arithmetic_function): Likewise. - -2021-05-06 Paul Thomas - - PR fortran/46991 - PR fortran/99819 - * class.c (gfc_build_class_symbol): Remove the error that - disables assumed size class arrays. Class array types that are - not deferred shape or assumed rank are given a unique name and - placed in the procedure namespace. - * trans-array.c (gfc_trans_g77_array): Obtain the data pointer - for class arrays. - (gfc_trans_dummy_array_bias): Suppress the runtime error for - extent violations in explicit shape class arrays because it - always fails. - * trans-expr.c (gfc_conv_procedure_call): Handle assumed size - class actual arguments passed to non-descriptor formal args by - using the data pointer, stored as the symbol's backend decl. - -2021-05-05 Harald Anlauf - - PR fortran/100274 - * interface.c (gfc_compare_actual_formal): Continue checks after - emitting warning for argument length mismatch. - * trans-expr.c (gfc_conv_procedure_call): Check for NULL pointer - dereference. - -2021-05-04 Tobias Burnus - - PR testsuite/100397 - * trans-openmp.c (gfc_trans_omp_depobj): Fix pasto in enum values. - -2021-04-28 Tobias Burnus - - * openmp.c (gfc_match_omp_variable_list): Gobble whitespace before - checking whether a '%' or parenthesis-open follows as next character. - -2021-04-28 José Rui Faustino de Sousa - - PR fortran/82376 - * trans-expr.c (gfc_conv_procedure_call): Evaluate function result - and then pass a pointer. - -2021-04-26 Thomas Schwinge - Nathan Sidwell - Tom de Vries - Julian Brown - Kwok Cheung Yeung - - * lang.opt (Wopenacc-parallelism): New. - -2021-04-24 Harald Anlauf - - PR fortran/100154 - * check.c (variable_check): Allow function reference having a data - pointer result. - (arg_strlen_is_zero): New function. - (gfc_check_fgetputc_sub): Add static check of character and status - arguments. - (gfc_check_fgetput_sub): Likewise. - * intrinsic.c (add_subroutines): Fix argument name for the - character argument to intrinsic subroutines fget[c], fput[c]. - -2021-04-24 Harald Anlauf - - PR fortran/100218 - * expr.c (gfc_check_vardef_context): Extend check to allow pointer - from a function reference. - -2021-04-22 Martin Liska - - PR testsuite/100159 - PR testsuite/100192 - * frontend-passes.c (optimize_expr): Fix typos and missing comments. - -2021-04-22 Michael Meissner - - PR fortran/96983 - * trans-intrinsic.c (build_round_expr): If int type is larger than - long long, do the round and convert to the integer type. Do not - try to find a floating point type the exact size of the integer - type. - -2021-04-21 Tobias Burnus - - * dump-parse-tree.c (show_omp_namelist): Handle depobj + mutexinoutset - in the depend clause. - (show_omp_clauses, show_omp_node, show_code_node): Handle depobj. - * gfortran.h (enum gfc_statement): Add ST_OMP_DEPOBJ. - (enum gfc_omp_depend_op): Add OMP_DEPEND_UNSET, - OMP_DEPEND_MUTEXINOUTSET and OMP_DEPEND_DEPOBJ. - (gfc_omp_clauses): Add destroy, depobj_update and depobj. - (enum gfc_exec_op): Add EXEC_OMP_DEPOBJ - * match.h (gfc_match_omp_depobj): Match 'omp depobj'. - * openmp.c (gfc_match_omp_clauses): Add depobj + mutexinoutset - to depend clause. - (gfc_match_omp_depobj, resolve_omp_clauses, gfc_resolve_omp_directive): - Handle 'omp depobj'. - * parse.c (decode_omp_directive, next_statement, gfc_ascii_statement): - Likewise. - * resolve.c (gfc_resolve_code): Likewise. - * st.c (gfc_free_statement): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses): Handle depobj + mutexinoutset - in the depend clause. - (gfc_trans_omp_depobj, gfc_trans_omp_directive): Handle EXEC_OMP_DEPOBJ. - * trans.c (trans_code): Likewise. - -2021-04-20 Paul Thomas - - PR fortran/100110 - * trans-decl.c (gfc_get_symbol_decl): Replace test for host - association with a check that the current and symbol namespaces - are the same. - -2021-04-19 Thomas Schwinge - - * lang.opt (fopenacc-kernels=): Remove. - -2021-04-16 José Rui Faustino de Sousa - - PR fortran/100094 - * trans-array.c (gfc_trans_deferred_array): Add code to initialize - pointers and allocatables with correct TKR parameters. - -2021-04-16 José Rui Faustino de Sousa - - PR fortran/100018 - * resolve.c: Add association check before de-referencing pointer. - -2021-04-16 Harald Anlauf - Paul Thomas - - PR fortran/63797 - * module.c (write_symtree): Do not write interface of intrinsic - procedure to module file for F2003 and newer. - -2021-04-15 Paul Thomas - - PR fortran/99307 - * symbol.c: Remove trailing white space. - * trans-array.c (gfc_trans_create_temp_array): Create a class - temporary for class expressions and assign the new descriptor - to the data field. - (build_class_array_ref): If the class expr can be extracted, - then use that for 'decl'. Class function results are reliably - handled this way. Call gfc_find_and_cut_at_last_class_ref to - eliminate largely redundant code. Remove dead code and recast - the rest of the code to extract 'decl' for remaining cases. - Call gfc_build_spanned_array_ref. - (gfc_alloc_allocatable_for_assignment): Use class descriptor - element length for 'elemsize1'. Eliminate repeat set of dtype - for class expressions. - * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Include - additional code from build_class_array_ref, and use optional - gfc_typespec pointer argument. - (gfc_trans_scalar_assign): Make use of pre and post blocks for - all class expressions. - * trans.c (get_array_span): For unlimited polymorphic exprs - multiply the span by the value of the _len field. - (gfc_build_spanned_array_ref): New function. - (gfc_build_array_ref): Call gfc_build_spanned_array_ref and - eliminate repeated code. - * trans.h: Add arg to gfc_find_and_cut_at_last_class_ref and - add prototype for gfc_build_spanned_array_ref. - -2021-04-14 Martin Liska - - * intrinsic.texi: The table has first column empty and it makes - trouble when processing makeinfo --xml output. - -2021-04-09 Tobias Burnus - - PR fortran/99817 - * trans-types.c (gfc_get_function_type): Also generate hidden - coarray argument for character arguments. - -2021-04-03 Paul Thomas - - PR fortran/99818 - * interface.c (compare_parameter): The codimension attribute is - applied to the _data field of class formal arguments. - -2021-04-01 Harald Anlauf - - PR fortran/99840 - * simplify.c (gfc_simplify_transpose): Properly initialize - resulting shape. - -2021-03-28 Paul Thomas - - PR fortran/99602 - * trans-expr.c (gfc_conv_procedure_call): Use the _data attrs - for class expressions and detect proc pointer evaluations by - the non-null actual argument list. - -2021-03-27 Steve Kargl - - * misc.c (gfc_typename): Fix off-by-one in buffer sizes. - -2021-03-26 Tobias Burnus - - PR fortran/99651 - * intrinsic.c (gfc_intrinsic_func_interface): Set - attr.proc = PROC_INTRINSIC if FL_PROCEDURE. - -2021-03-24 Tobias Burnus - - PR fortran/99369 - * resolve.c (resolve_operator): Make 'msg' buffer larger - and use snprintf. - -2021-03-23 Tobias Burnus - - PR fortran/93660 - * trans-decl.c (build_function_decl): Add comment; - increment hidden_typelist for caf_token/caf_offset. - * trans-types.c (gfc_get_function_type): Add comment; - add missing caf_token/caf_offset args. - -2021-03-22 Tobias Burnus - - PR fortran/99688 - * match.c (select_type_set_tmp, gfc_match_select_type, - gfc_match_select_rank): Fix 'name' buffersize to avoid out of bounds. - * resolve.c (resolve_select_type): Likewise. - -2021-03-19 Thomas Koenig - - * frontend-passes.c (inline_limit_check): Add rank_a - argument. If a is rank 1, set the second dimension to 1. - (inline_matmul_assign): Pass rank_a argument to inline_limit_check. - (call_external_blas): Likewise. - -2021-03-15 Thomas Koenig - - PR fortran/99345 - * frontend-passes.c (doloop_contained_procedure_code): - Properly handle EXEC_IOLENGTH. - -2021-03-15 Paul Thomas - - PR fortran/99545 - * trans-stmt.c (gfc_trans_allocate): Mark the initialization - assignment by setting init_flag. - -2021-03-14 Harald Anlauf - Paul Thomas - - * trans-expr.c (gfc_conv_procedure_call): Fix runtime checks for - CLASS arguments. - * trans-intrinsic.c (gfc_conv_intrinsic_size): Likewise. - -2021-03-13 Paul Thomas - - PR fortran/99125 - * trans-array.c (gfc_conv_expr_descriptor): For deferred length - length components use the ss_info string length instead of - gfc_get_expr_charlen. Make sure that the deferred string length - is a variable before assigning to it. Otherwise use the expr. - * trans-expr.c (gfc_conv_string_length): Make sure that the - deferred string length is a variable before assigning to it. - -2021-03-12 Tobias Burnus - - PR fortran/99514 - * resolve.c (resolve_symbol): Accept vars which are in DATA - and hence (either) implicit SAVE (or in common). - -2021-03-10 Harald Anlauf - - PR fortran/99205 - * data.c (gfc_assign_data_value): Reject non-constant character - length for lvalue. - * trans-array.c (gfc_conv_array_initializer): Restrict loop to - elements which are defined to avoid NULL pointer dereference. - -2021-03-10 Tobias Burnus - - * intrinsic.texi (MIN): Correct 'maximum' to 'minimum'. - -2021-03-10 Eric Botcazou - - PR fortran/96983 - * trans-intrinsic.c (build_round_expr): Do not implicitly assume - that __float128 is the 128-bit floating-point type. - -2021-03-08 Harald Anlauf - - PR fortran/49278 - * data.c (gfc_assign_data_value): Reject variable with PARAMETER - attribute in DATA statement. - -2021-03-05 Tobias Burnus - - PR fortran/99355 - PR fortran/57871 - * invoke.texi (-freal{4,8}-real-*): Extend description. - * primary.c (match_real_constant): Also promote real literals - with '_kind' number. - -2021-03-04 Tobias Burnus - - PR fortran/99355 - * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Avoid - redoing kind conversions. - * primary.c (match_real_constant): Likewise. - -2021-02-28 Jakub Jelinek - - PR fortran/99303 - * openmp.c (gfc_omp_requires_add_clause): Fix up diagnostic message - wordings. - (resolve_omp_clauses): Likewise. - -2021-02-28 Jakub Jelinek - - PR fortran/99300 - * frontend-passes.c (doloop_code): Replace double space in diagnostics - with a single space. - -2021-02-24 Paul Thomas - - PR fortran/98342 - * trans-expr.c (gfc_conv_derived_to_class): Add optional arg. - 'derived_array' to hold the fixed, parmse expr in the case of - assumed rank formal arguments. Deal with optional arguments. - (gfc_conv_procedure_call): Null 'derived' array for each actual - argument. Add its address to the call to gfc_conv_derived_to_ - class. Access the 'data' field of scalar descriptors before - deallocating allocatable components. Also strip NOPs before the - calls to gfc_deallocate_alloc_comp. Use 'derived' array as the - input to gfc_deallocate_alloc_comp if it is available. - * trans.h : Include the optional argument 'derived_array' to - the prototype of gfc_conv_derived_to_class. The default value - is NULL_TREE. - -2021-02-23 Paul Thomas - - PR fortran/99124 - * resolve.c (resolve_fl_procedure): Include class results in - the test for F2018, C15100. - * trans-array.c (get_class_info_from_ss): Do not use the saved - descriptor to obtain the class expression for variables. Use - gfc_get_class_from_expr instead. - -2021-02-23 Harald Anlauf - - PR fortran/99206 - * simplify.c (gfc_simplify_reshape): Set string length for - character arguments. - -2021-02-22 Tobias Burnus - - PR fortran/99171 - * trans-openmp.c (gfc_omp_is_optional_argument): Regard optional - dummy procs as nonoptional as no special treatment is needed. - -2021-02-21 Harald Anlauf - - * trans-expr.c (gfc_conv_procedure_call): Do not add clobber to - allocatable intent(out) argument. - -2021-02-19 Jerry DeLisle - - PR fortran/98686 - * match.c (gfc_match_namelist): If BT_UNKNOWN, check for - IMPLICIT NONE and and issue an error, otherwise set the type - to its IMPLICIT type so that any subsequent use of objects will - will confirm their types. - -2021-02-19 Harald Anlauf - - * symbol.c (gfc_add_flavor): Reverse order of conditions. - -2021-02-19 Tobias Burnus - - PR fortran/99010 - * dependency.c (gfc_dep_resolver): Fix coarray handling. - -2021-02-19 Tobias Burnus - - PR fortran/99146 - * interface.c: - -2021-02-19 Tobias Burnus - - PR fortran/99027 - * simplify.c (simplify_bound_dim): Honor DIMEN_ELEMENT - when using dim=. - -2021-02-17 Julian Brown - - * openmp.c (resolve_omp_clauses): Disallow selecting components - of arrays of derived type. - -2021-02-17 Julian Brown - - * trans-openmp.c (gfc_trans_omp_clauses): Handle element selection - for arrays of derived types. - -2021-02-16 Tobias Burnus - - * expr.c (gfc_is_simplify_contiguous): Handle REF_INQUIRY, i.e. - %im and %re which are EXPR_VARIABLE. - * openmp.c (resolve_omp_clauses): Diagnose %re/%im explicitly. - -2021-02-16 Tobias Burnus - - PR fortran/99111 - * io.c (resolve_tag_format): Reject BT_DERIVED/CLASS/VOID - as (array-valued) FORMAT tag. - -2021-02-12 Tobias Burnus - - PR fortran/99043 - * trans-expr.c (gfc_conv_procedure_call): Don't reset - rank of assumed-rank array. - -2021-02-11 Paul Thomas - - PR fortran/98897 - * match.c (gfc_match_call): Include associate names as possible - entities with typebound subroutines. The target needs to be - resolved for the type. - -2021-02-11 Paul Thomas - - PR fortran/99060 - * primary.c (gfc_match_varspec): Test for non-null 'previous' - before using its name in the error message. - -2021-02-11 Tobias Burnus - - * intrinsic.texi (FINDLOC): Add 'MASK' to argument table. - (MAXLOC, MAXVAL, MINLOC, MINVAL): For 'MASK', remove 'an - array' as scalars are also permitted. - -2021-02-10 Julian Brown - - PR fortran/98979 - * openmp.c (resolve_omp_clauses): Omit OpenACC update in - contiguity check and stride-specified error. - -2021-02-04 Julian Brown - - * openmp.c (resolve_omp_clauses): Omit OpenACC update in - contiguity check and stride-specified error. - -2021-02-04 Julian Brown - - * trans-openmp.c (gfc_trans_omp_clauses): Use class_pointer attribute - for BT_CLASS. - -2021-02-04 Julian Brown - - * trans-openmp.c (gfc_trans_omp_clauses): Fix dereferencing for - BT_DERIVED members. - -2021-02-04 Tobias Burnus - - * openmp.c (resolve_omp_clauses): Explicitly diagnose - substrings as not permitted. - -2021-02-03 Jeff Law - - * intrinsic.texi (ANINT): Fix typo. - -2021-02-03 Tobias Burnus - - PR fortran/98913 - * dependency.c (gfc_dep_resolver): Treat local access - to coarrays like any array access in dependency analysis. - -2021-01-28 Harald Anlauf - - PR fortran/86470 - * trans.c (gfc_call_malloc): Allocate area of size 1 if passed - size is NULL (as documented). - -2021-01-27 Paul Thomas - - PR fortran/93924 - PR fortran/93925 - * trans-expr.c (gfc_conv_procedure_call): Suppress the call to - gfc_conv_intrinsic_to_class for unlimited polymorphic procedure - pointers. - (gfc_trans_assignment_1): Similarly suppress class assignment - for class valued procedure pointers. - -2021-01-27 Paul Thomas - - PR fortran/98472 - * trans-array.c (gfc_conv_expr_descriptor): Include elemental - procedure pointers in the assert under the comment 'elemental - function' and eliminate the second, spurious assert. - -2021-01-25 Harald Anlauf - - PR fortran/70070 - * data.c (create_character_initializer): Check substring indices - against bounds. - (gfc_assign_data_value): Catch error returned from - create_character_initializer. - -2021-01-25 Tobias Burnus - - * intrinsic.texi (CO_BROADCAST, CO_MIN, CO_REDUCE, CO_SUM): Fix typos. - -2021-01-25 Steve Kargl - - PR fortran/98517 - * resolve.c (resolve_charlen): Check that length expression is - present before testing for scalar/integer.. - -2021-01-22 Paul Thomas - - PR fortran/98565 - * trans-intrinsic.c (gfc_conv_associated): Do not add a _data - component for scalar class function targets. Instead, fix the - function result and access the _data from that. - -2021-01-21 Jorge D'Elia - - * intrinsic.texi (CO_MAX): Fix typo. - -2021-01-21 Paul Thomas - - PR fortran/96320 - * decl.c (gfc_match_modproc): It is not an error to find a - module procedure declaration within a contains block. - * expr.c (gfc_check_vardef_context): Pure procedure result is - assignable. Change 'own_scope' accordingly. - * resolve.c (resolve_typebound_procedure): A procedure that - has the module procedure attribute is almost certainly a - module procedure, whatever its interface. - -2021-01-19 Tobias Burnus - - PR fortran/98476 - * openmp.c (resolve_omp_clauses): Change use_device_ptr - to use_device_addr for unless type(c_ptr); check all - list item for is_device_ptr. - -2021-01-16 Kwok Cheung Yeung - - * dump-parse-tree.c (show_omp_clauses): Handle detach clause. - * frontend-passes.c (gfc_code_walker): Walk detach expression. - * gfortran.h (struct gfc_omp_clauses): Add detach field. - (gfc_c_intptr_kind): New. - * openmp.c (gfc_free_omp_clauses): Free detach clause. - (gfc_match_omp_detach): New. - (enum omp_mask1): Add OMP_CLAUSE_DETACH. - (enum omp_mask2): Remove OMP_CLAUSE_DETACH. - (gfc_match_omp_clauses): Handle OMP_CLAUSE_DETACH for OpenMP. - (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DETACH. - (resolve_omp_clauses): Prevent use of detach with mergeable and - overriding the data sharing mode of the event handle. - * trans-openmp.c (gfc_trans_omp_clauses): Handle detach clause. - * trans-types.c (gfc_c_intptr_kind): New. - (gfc_init_kinds): Initialize gfc_c_intptr_kind. - * types.def - (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename - to... - (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR): - ...this. Add extra argument. - -2021-01-14 Harald Anlauf - - * gfortran.h (gfc_resolve_substring): Add prototype. - * primary.c (match_string_constant): Simplify substrings with - constant starting and ending points. - * resolve.c: Rename resolve_substring to gfc_resolve_substring. - (gfc_resolve_ref): Use renamed function gfc_resolve_substring. - -2021-01-14 Harald Anlauf - - PR fortran/98661 - * resolve.c (resolve_component): Derived type components with - ALLOCATABLE or POINTER attribute shall have a deferred shape. - -2021-01-14 Harald Anlauf - - Revert: - 2021-01-14 Harald Anlauf - - PR fortran/98661 - * resolve.c (resolve_component): Derived type components with - ALLOCATABLE or POINTER attribute shall have a deferred shape. - -2021-01-14 Harald Anlauf - - PR fortran/98661 - * resolve.c (resolve_component): Derived type components with - ALLOCATABLE or POINTER attribute shall have a deferred shape. - -2021-01-08 Paul Thomas - - PR fortran/93794 - * trans-expr.c (gfc_conv_component_ref): Remove the condition - that deferred character length components only be allocatable. - -2021-01-08 Paul Thomas - - PR fortran/98458 - * simplify.c (is_constant_array_expr): If an array constructor - expression has elements other than constants or structures, try - fixing the expression with gfc_reduce_init_expr. Also, if shape - is NULL, obtain the array size and set it. - -2021-01-07 Paul Thomas - - PR fortran/93701 - * resolve.c (find_array_spec): Put static prototype for - resolve_assoc_var before this function and call for associate - variables. - -2021-01-06 Harald Anlauf - - * resolve.c (resolve_component): Add check for valid CLASS - reference before trying to access CLASS data. - -2021-01-04 Martin Liska - - * ChangeLog-2018: Remove duplicate ChangeLog entries. - -2021-01-01 Harald Anlauf - - * class.c (gfc_find_vtab): Add check on attribute is_class. - -2021-01-01 Jakub Jelinek - - * gfortranspec.c (lang_specific_driver): Update copyright notice - dates. - * gfc-internals.texi: Bump @copying's copyright year. - * gfortran.texi: Ditto. - * intrinsic.texi: Ditto. - * invoke.texi: Ditto. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 945cc044..4379558 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -47,20649 +47,8 @@ PR objc/103639 * objc.dg/pr103639.m: New test. -2021-12-31 Francois-Xavier Coudert - - PR fortran/89639 - * gfortran.dg/ieee/ieee_9.f90: Adjust test for targets without - REAL128. - -2021-12-31 Uroš Bizjak - - * lib/target-supports.exp (check_vect_slp_store_usage): - Handle TEST_V2QI_2. - (check_effective_target_vect_slp_v2qi_store_unalign): New procedure. - * c-c++-common/Wstringop-overflow-2.c: XFAIL specific tests for - vect_slp_v2qi_store_unalign targets. - * g++.dg/warn/Wstringop-overflow-3.C: Ditto. - * gcc.dg/Wstringop-overflow-28.c: Ditto. - * gcc.dg/Wstringop-overflow-68.c: Ditto. - * gcc.dg/Wstringop-overflow-75.c: Ditto. - * gcc.dg/Wstringop-overflow-76.c: Ditto. - -2021-12-30 Jakub Jelinek - - PR rtl-optimization/103756 - * g++.dg/opt/pr103756.C: New test. - -2021-12-30 Jakub Jelinek - - PR preprocessor/89971 - * c-c++-common/cpp/va-opt-9.c: New test. - -2021-12-30 Jakub Jelinek - - PR debug/103808 - * gcc.dg/pr103808.c: New test. - -2021-12-30 Jakub Jelinek - - PR c++/103012 - PR c++/103012 - * g++.dg/cpp/pr103012.C: New test. - * g++.target/i386/pr103012.C: New test. - -2021-12-30 Jakub Jelinek - - PR rtl-optimization/103860 - * gcc.dg/pr103860.c: New test. - -2021-12-30 Xionghu Luo - - * gcc.dg/loop-invariant-2.c: New. - -2021-12-29 Jakub Jelinek - - PR debug/103742 - * g++.dg/opt/pr103742.C: New test. - -2021-12-29 Francois-Xavier Coudert - - PR testsuite/47334 - PR testsuite/103823 - * lib/prune.exp: Prune some warnings related to LTO and - visibility. - -2021-12-29 Harald Anlauf - - PR fortran/102332 - * gfortran.dg/pr102332.f90: New test. - -2021-12-29 Xionghu Luo - - PR tree-optimization/103793 - * gcc.dg/pr103793.c: New test. - -2021-12-28 Francois-Xavier Coudert - - PR fortran/103828 - * gfortran.dg/c_char_tests_3.f90: New file. - * gfortran.dg/c_char_tests_3_c.c: New file. - * gfortran.dg/c_char_tests_4.f90: New file. - * gfortran.dg/c_char_tests_5.f90: New file. - -2021-12-28 Jason Merrill - - PR c++/99968 - * g++.dg/ext/is_enum2.C: New test. - -2021-12-28 Jakub Jelinek - - PR middle-end/103813 - * gcc.c-torture/compile/pr103813.c: New test. - -2021-12-28 Jakub Jelinek - - PR rtl-optimization/103837 - * gcc.dg/pr103837.c: New test. - -2021-12-28 Jakub Jelinek - - PR debug/103838 - * gcc.dg/pr103838.c: New test. - -2021-12-28 Jakub Jelinek - - PR target/103842 - * g++.dg/opt/pr103842.C: New test. - -2021-12-28 Haochen Jiang - - * gcc.target/i386/amx-check.h (check_float_tile_register): - New check function for float to prevent precision loss. - * gcc.target/i386/amxbf16-dpbf16ps-2.c: Correct the type convert - and byte offset. Use the new check function. - -2021-12-27 Patrick Palka - - PR c++/101239 - * g++.dg/template/sfinae32a.C: New test. - -2021-12-27 Patrick Palka - - PR c++/103700 - * g++.dg/template/sfinae32.C: New test. - -2021-12-27 H.J. Lu - - * gcc.target/i386/pr103762-1a.c: New test. - * gcc.target/i386/pr103762-1b.c: Likewise. - * gcc.target/i386/pr103762-1c.c: Likewise. - -2021-12-27 Uroš Bizjak - - PR target/95046 - * gfortran.dg/extract_recip_1.f: Adjust testcase. - -2021-12-27 LiaoShihua - - * gcc.target/riscv/pr103302.c: skip if -march=rv32* - -2021-12-26 H.J. Lu - - PR target/103785 - * gcc.target/i386/pr103785.c: New test. - -2021-12-26 Francois-Xavier Coudert - - PR libfortran/98076 - * gfortran.dg/pr98076.f90: New test. - -2021-12-24 Uroš Bizjak - - PR target/95046 - PR target/103797 - * gcc.target/i386/pr95046-1.c (test_div): Add. - (dg-options): Add -mno-recip. - -2021-12-24 Iain Sandoe - - * gcc.dg/darwin-aligned-globals.c: New test. - * gcc.dg/darwin-comm-1.c: New test. - * gcc.dg/attr-aligned.c: Amend for new alignment values on - Darwin. - * gcc.target/i386/pr89261.c: Likewise. - -2021-12-23 H.J. Lu - - * gcc.target/i386/smuldi3_highpart.c: Replace long with long long. - -2021-12-23 Roger Sayle - Uroš Bizjak - - PR target/103773 - * gcc.target/i386/pr103773-2.c: New test case. - * gcc.target/i386/pr103773.c: New test case. - -2021-12-23 konglin1 - - * gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: New test. - * gcc.target/i386/avx512bf16-vcvtpbh2ps-1.c: Ditto. - * gcc.target/i386/avx512bf16vl-cvtness2sbh-1.c: Ditto. - * gcc.target/i386/avx512bf16vl-vcvtpbh2ps-1.c: Ditto. - -2021-12-23 liuhongt - - * gcc.target/i386/avx512bw-pr103750-1.c: New test. - * gcc.target/i386/avx512bw-pr103750-2.c: New test. - * gcc.target/i386/avx512f-pr103750-1.c: New test. - * gcc.target/i386/avx512f-pr103750-2.c: New test. - * gcc.target/i386/avx512fp16-pr103750-1.c: New test. - * gcc.target/i386/avx512fp16-pr103750-2.c: New test. - -2021-12-22 Harald Anlauf - - PR fortran/103778 - * gfortran.dg/illegal_boz_arg_3.f90: New test. - -2021-12-22 Harald Anlauf - - PR fortran/103776 - * gfortran.dg/select_10.f90: New test. - -2021-12-22 Murray Steele - - * gcc.target/arm/mve/mve.exp: Add new subdirectories. - * gcc.target/arm/mve/general-c/type_redef_1.c: New test. - * gcc.target/arm/mve/general/double_pragmas_1.c: New test. - * gcc.target/arm/mve/general/nomve_1.c: New test. - -2021-12-21 Jiang Haochen - - * gcc.target/i386/bmi-1.c: Add test for new intrinsic. - * gcc.target/i386/bmi-2.c: Ditto. - * gcc.target/i386/bmi-3.c: Ditto. - -2021-12-21 Xionghu Luo - - * gcc.dg/tree-ssa/recip-3.c: Adjust. - * gcc.dg/tree-ssa/ssa-lim-19.c: New test. - * gcc.dg/tree-ssa/ssa-lim-20.c: New test. - * gcc.dg/tree-ssa/ssa-lim-21.c: New test. - * gcc.dg/tree-ssa/ssa-lim-22.c: New test. - * gcc.dg/tree-ssa/ssa-lim-23.c: New test. - -2021-12-21 Xionghu Luo - - PR middle-end/103270 - * gcc.dg/pr103270.c: New test. - -2021-12-20 Patrick Palka - - * g++.dg/lookup/memfn1.C: New test. - * g++.dg/template/non-dependent16b.C: New test. - -2021-12-20 Olivier Hainque - - * gcc.dg/vect/vect-simd-20.c: Fix size of p[] - to accommodate the number of strides performed - by foo() for s == 78. - -2021-12-20 Roger Sayle - Uroš Bizjak - - * gcc.target/i386/smuldi3_highpart.c: New test case. - -2021-12-20 Patrick Palka - - * g++.dg/cpp0x/error2.C: Make the call to foo type-dependent in - order to avoid latent pretty-printing issue for FUNCTION_DECL - inside MODOP_EXPR. - * g++.dg/cpp0x/fntmp-equiv1.C: Make the calls to d, d2 and d3 - within the function signatures dependent. - * g++.dg/template/non-dependent16.C: New test. - * g++.dg/template/non-dependent16a.C: New test. - * g++.dg/template/non-dependent17.C: New test. - -2021-12-20 Jan Hubicka - - PR ipa/103669 - * g++.dg/torture/pr103669.C: New test. - -2021-12-20 liuhongt - - * gcc.target/i386/pr98468.c: New test. - -2021-12-19 Andrew Pinski - - * gcc.dg/uninit-pr89230-1.c: Change the dg-bogus messages - around and xfail both of them. - -2021-12-19 Patrick Palka - - PR c++/94376 - * g++.dg/cpp0x/lambda/lambda-nested9a.C: New test. - -2021-12-19 Patrick Palka - - PR c++/103714 - * g++.dg/cpp2a/concepts-uneval5.C: New test. - -2021-12-19 Francois-Xavier Coudert - - * gcc.dg/pr100509.c: Needs alias. - * gcc.dg/pragma-diag-10.c: Needs alias. - -2021-12-18 Harald Anlauf - - PR fortran/103412 - * gfortran.dg/illegal_boz_arg_2.f90: New test. - -2021-12-18 Roger Sayle - Uroš Bizjak - - PR target/103611 - * gcc.target/i386/pr103611-2.c: New test case. - -2021-12-18 Roger Sayle - - PR target/32803 - * gcc.target/i386/pr32803.c: New test case. - -2021-12-18 François-Xavier Coudert - - * gcc.dg/darwin-minversion-link.c: Test darwin21. - * obj-c++.dg/cxx-ivars-3.mm: Homogeneize darwin versions. - * obj-c++.dg/objc-gc-3.mm: Homogeneize darwin versions. - * objc.dg/objc-gc-4.m: Homogeneize darwin versions. - -2021-12-17 Marek Polacek - - PR c/103649 - * c-c++-common/Wno-attributes-6.c: New test. - -2021-12-17 David Edelsohn - - * gcc.target/powerpc/fold-vec-insert-float-p9.c - -2021-12-17 Olivier Hainque - - * gcc.target/powerpc/pr97142.c: Add -mdejagnu-cpu=power7 - to the dg-options. - -2021-12-17 Marek Polacek - - PR c++/103749 - * g++.dg/template/redecl4.C: Adjust dg-error. - * g++.dg/diagnostic/redeclaration-2.C: New test. - -2021-12-17 Segher Boessenkool - - PR target/103624 - * gcc.target/powerpc/darn-0.c: Remove target clause. - * gcc.target/powerpc/darn-1.c: Remove target clause. Remove lp64 - requirement. Change return type to long. - * gcc.target/powerpc/darn-2.c: Ditto. - * gcc.target/powerpc/darn-3.c: Remove target clause. - -2021-12-17 Iain Sandoe - - PR c++/100127 - * g++.dg/coroutines/pr100127.C: New test. - -2021-12-17 Iain Sandoe - - PR c++/100772 - * g++.dg/coroutines/pr100772-a.C: New test. - * g++.dg/coroutines/pr100772-b.C: New test. - -2021-12-17 Iain Sandoe - - PR c++/96517 - * g++.dg/coroutines/pr96517.C: New test. - -2021-12-17 David Edelsohn - - * gcc.target/powerpc/pragma-optimize.c: Require ifunc support. - -2021-12-17 Richard Sandiford - - PR tree-optimization/103744 - * gcc.dg/vect/pr103744-1.c: New test. - * gcc.dg/vect/pr103744-2.c: Likewise. - -2021-12-17 Tamar Christina - - PR tree-optimization/103741 - * gcc.target/aarch64/pr103741.c: New test. - -2021-12-17 Haochen Jiang - - PR target/100738 - * g++.target/i386/avx512vl-pr100738-1.C: New test. - -2021-12-17 Siddhesh Poyarekar - - * g++.dg/ext/builtin-dynamic-object-size1.C: New test. - * g++.dg/ext/builtin-dynamic-object-size2.C: Likewise. - * gcc.dg/builtin-dynamic-alloc-size.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-1.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-10.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-11.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-12.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-13.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-14.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-15.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-16.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-17.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-18.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-19.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-2.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-3.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-4.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-5.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-6.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-7.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-8.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-9.c: Likewise. - * gcc.dg/builtin-object-size-16.c: Adjust to allow inclusion - from builtin-dynamic-object-size-16.c. - * gcc.dg/builtin-object-size-17.c: Likewise. - -2021-12-17 Siddhesh Poyarekar - - * gcc.dg/builtin-object-size-1.c (test9): New test. - (main): Call it. - * gcc.dg/builtin-object-size-2.c (test8): New test. - (main): Call it. - * gcc.dg/builtin-object-size-3.c (test9): New test. - (main): Call it. - * gcc.dg/builtin-object-size-4.c (test8): New test. - (main): Call it. - * gcc.dg/builtin-object-size-5.c (test5, test6, test7): New - tests. - -2021-12-17 Jason Merrill - - PR c++/103681 - * g++.dg/abi/macro0.C: Update value. - * g++.dg/abi/no_unique_address6.C: New test. - * g++.dg/abi/nsdmi-aggr1.C: New test. - * g++.dg/abi/nsdmi-aggr1a.C: New test. - -2021-12-16 Sandra Loosemore - - * gcc.dg/20021029-1.c: Build with -G0 for nios2. - -2021-12-16 Marek Polacek - - PR c++/99980 - * g++.dg/cpp0x/noexcept71.C: New test. - -2021-12-16 Martin Sebor - - PR c++/103703 - * g++.dg/warn/Wmismatched-tags-9.C: New test. - -2021-12-16 Martin Sebor - - PR testsuite/103751 - * gcc.dg/Warray-bounds-48.c: Fix member alignment. - -2021-12-16 Patrick Palka - - PR c++/51577 - PR c++/83035 - PR c++/100465 - * g++.dg/lookup/operator-3.C: Split out operator overload - declarations into ... - * g++.dg/lookup/operator-3-ops.h: ... here. - * g++.dg/lookup/operator-3a.C: New test. - * g++.dg/lookup/operator-4.C: New test. - * g++.dg/lookup/operator-4a.C: New test. - * g++.dg/lookup/operator-5.C: New test. - * g++.dg/lookup/operator-5a.C: New test. - * g++.dg/lookup/operator-6.C: New test. - * g++.dg/lookup/operator-7.C: New test. - * g++.dg/lookup/operator-8.C: New test. - -2021-12-16 Uroš Bizjak - - PR target/103571 - * gcc.target/i386/pr102812.c (dg-final): Do not scan for movdqa. - -2021-12-16 Martin Liska - - PR c++/103696 - * g++.target/i386/pr103696.C: New test. - -2021-12-16 Francois-Xavier Coudert - - * gfortran.dg/iostat_5.f90: New file. - -2021-12-16 Francois-Xavier Coudert - - * gfortran.dg/date_and_time_1.f90: New file. - -2021-12-15 Marek Polacek - - PR c++/102229 - * g++.dg/cpp1y/decltype-auto5.C: New test. - -2021-12-15 Thomas Schwinge - - * lib/fortran-torture.exp (fortran-torture-compile) - (fortran-torture-execute): Be more informative for ICEs. - * lib/gcc-defs.exp (${tool}_check_compile): Likewise. - * lib/gcc-dg.exp (gcc-dg-test-1): Likewise. - * lib/go-torture.exp (go-torture-compile, go-torture-execute): - Likewise. - -2021-12-15 Martin Sebor - - PR tree-optimization/78969 - * gcc.dg/tree-ssa/builtin-snprintf-warn-6.c: New test. - -2021-12-15 Roger Sayle - - * gcc.target/nvptx/float16-2.c: New test case. - * gcc.target/nvptx/tanh-1.c: New test case. - -2021-12-15 Richard Sandiford - Tamar Christina - - PR target/103094 - * gcc.target/aarch64/pr103094.c: New test. - -2021-12-15 Tamar Christina - - PR rtl-optimization/103350 - * gcc.target/aarch64/pr103350-1.c: New test. - * gcc.target/aarch64/pr103350-2.c: New test. - -2021-12-15 Jakub Jelinek - - PR c++/103408 - * g++.dg/cpp23/auto-fncast11.C: Fix expected diagnostic wording. - -2021-12-15 Jakub Jelinek - - PR c++/103704 - * g++.dg/gomp/pr103704.C: New test. - -2021-12-15 Haochen Jiang - - PR target/101796 - * gcc.target/i386/pr101796-1.c: New test. - -2021-12-15 Michael Meissner - - * gcc.target/powerpc/vec-splat-constant-df.c: New test. - * gcc.target/powerpc/vec-splat-constant-sf.c: New test. - -2021-12-15 Michael Meissner - - * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Update insn - regex for power10. - * gcc.target/powerpc/vec-splat-constant-v2df.c: New test. - * gcc.target/powerpc/vec-splat-constant-v2di.c: New test. - -2021-12-15 Michael Meissner - - * gcc.target/powerpc/vec-splat-constant-v16qi.c: New test. - * gcc.target/powerpc/vec-splat-constant-v4sf.c: New test. - * gcc.target/powerpc/vec-splat-constant-v4si.c: New test. - * gcc.target/powerpc/vec-splat-constant-v8hi.c: New test. - * gcc.target/powerpc/vec-splati-runnable.c: Update insn count. - -2021-12-15 Michael Meissner - - * gcc.target/powerpc/float128-constant.c: New test. - -2021-12-15 Alexandre Oliva - - PR target/100518 - * gcc.target/aarch64/pr100518.c: New. - -2021-12-15 Alexandre Oliva - - PR middle-end/100843 - * gcc.dg/pr100843.c: New. - -2021-12-14 liuhongt - - * gcc.c-torture/compile/pr103682.c: New test. - -2021-12-14 Peter Bergner - - PR target/103548 - * gcc.target/powerpc/mma-builtin-10-pair.c: New test. - * gcc.target/powerpc/mma-builtin-10-quad.c: New test. - -2021-12-14 Harald Anlauf - - PR fortran/103717 - * gfortran.dg/do_check_19.f90: New test. - -2021-12-14 Harald Anlauf - - PR fortran/103718 - PR fortran/103719 - * gfortran.dg/do_check_18.f90: New test. - -2021-12-14 Petter Tomner - - * jit.dg/all-non-failing-tests.h: Added two tests - * jit.dg/test-error-ctor-array-wrong-obj.c: New - * jit.dg/test-error-ctor-struct-too-big.c: New - * jit.dg/test-error-ctor-struct-wrong-field-obj.c: New - * jit.dg/test-error-ctor-struct-wrong-type.c: New - * jit.dg/test-error-ctor-struct-wrong-type2.c - * jit.dg/test-error-ctor-union-wrong-field-name.c: New - * jit.dg/test-error-global-already-init.c: New - * jit.dg/test-error-global-common-section.c: New - * jit.dg/test-error-global-init-too-small-array.c: New - * jit.dg/test-error-global-lvalue-init.c: New - * jit.dg/test-error-global-nonconst-init.c: New - * jit.dg/test-global-init-rvalue.c: New - * jit.dg/test-local-init-rvalue.c: New - -2021-12-14 Harald Anlauf - - PR libfortran/103634 - * gfortran.dg/intrinsic_pack_6.f90: New test. - -2021-12-14 Jan Hubicka - - * gcc.dg/analyzer/data-model-1.c: Disable ipa-modref. - * gcc.dg/uninit-38.c: Likewise. - * gcc.dg/uninit-pr98578.c: Liewise. - -2021-12-14 Manfred Schwarb - - PR fortran/91497 - * gfortran.dg/pr91497.f90: Adjust test to use - dg-require-effective-target directive. - * gfortran.dg/pr91497_2.f90: New test to cover all targets. - Cover MAX1 and MIN1 intrinsics. - -2021-12-14 Vladimir N. Makarov - - PR target/99531 - * gcc.target/i386/pr99531.c: Do not scan for ia32. - -2021-12-14 Przemyslaw Wirkus - - * gcc.target/aarch64/acle/ls64_asm.c: New test. - * gcc.target/aarch64/acle/ls64_ld64b.c: New test. - * gcc.target/aarch64/acle/ls64_ld64b-2.c: New test. - * gcc.target/aarch64/acle/ls64_ld64b-3.c: New test. - * gcc.target/aarch64/acle/ls64_st64b.c: New test. - * gcc.target/aarch64/acle/ls64_ld_st_o0.c: New test. - * gcc.target/aarch64/acle/ls64_st64b-2.c: New test. - * gcc.target/aarch64/acle/ls64_st64bv.c: New test. - * gcc.target/aarch64/acle/ls64_st64bv-2.c: New test. - * gcc.target/aarch64/acle/ls64_st64bv-3.c: New test. - * gcc.target/aarch64/acle/ls64_st64bv0.c: New test. - * gcc.target/aarch64/acle/ls64_st64bv0-2.c: New test. - * gcc.target/aarch64/acle/ls64_st64bv0-3.c: New test. - * gcc.target/aarch64/pragma_cpp_predefs_2.c: Add checks - for __ARM_FEATURE_LS64. - -2021-12-14 Martin Liska - - * gcc.target/i386/avx2-psraq-1.c: Use ARRAY_SIZE. - * gcc.target/i386/m128-check.h: Move it to the top-level - context. - * gcc.target/i386/sse2-psraq-1.c: Use ARRAY_SIZE. - * gcc.target/i386/sse4_2-check.h: Include the header with - ARRAY_SIZE definition. - -2021-12-14 Patrick Palka - - PR c++/103408 - * g++.dg/concepts/diagnostic18.C: Expect a "constraints on a - non-templated function" error. - * g++.dg/cpp23/auto-fncast11.C: New test. - -2021-12-14 Jakub Jelinek - - PR c/103587 - * gcc.dg/pr103587.c: New test. - -2021-12-14 Thomas Schwinge - - PR fortran/103576 - PR testsuite/103697 - * gfortran.dg/goacc/privatization-1-compute-loop.f90: Adjust. - * gfortran.dg/goacc/privatization-1-compute.f90: Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: - Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise. - -2021-12-13 Vladimir N. Makarov - - PR target/99531 - * gcc.target/i386/pr99531.c: New test. - -2021-12-13 Roger Sayle - - * gcc.target/i386/pr103611-1.c: New test case. - -2021-12-13 Kyrylo Tkachov - - * gcc.target/aarch64/mops_3.c: New test. - -2021-12-13 Kyrylo Tkachov - - * gcc.target/aarch64/mops_2.c: New test. - -2021-12-13 Kyrylo Tkachov - - * gcc.target/aarch64/mops_1.c: New test. - -2021-12-13 Tobias Burnus - - * gfortran.dg/gomp/atomic-25.f90: Remove sorry, fix + add checks. - * gfortran.dg/gomp/atomic-26.f90: Likewise. - * gfortran.dg/gomp/atomic-21.f90: New test. - -2021-12-13 Jan Hubicka - - PR ipa/103513 - * gcc.c-torture/compile/pr103513.c: New test. - -2021-12-13 Kewen Lin - - PR target/103515 - * gcc.target/powerpc/pr103515.c: New test. - -2021-12-12 Antoni Boucher - - PR target/100688 - * jit.dg/all-non-failing-tests.h: Mention new test - link-section-assembler. - * jit.dg/test-link-section-assembler.c: New test. - * jit.dg/jit.exp: New helper function to test that the - assembly contains a pattern. - -2021-12-12 Roger Sayle - - * gcc.target/nvptx/float16-1.c: New test case. - -2021-12-12 Antoni Boucher - - PR target/95415 - * jit.dg/all-non-failing-tests.h: Add test-tls.c. - * jit.dg/test-tls.c: New test. - -2021-12-11 Antoni Boucher - - PR target/96066 - PR target/96067 - * jit.dg/all-non-failing-tests.h: Add test-builtin-types.c. - * jit.dg/test-builtin-types.c - * jit.dg/test-error-bad-assignment.c - * jit.dg/test-fuzzer.c: Add fuzzing for type qualifiers. - -2021-12-11 Harald Anlauf - - PR fortran/103606 - * gfortran.dg/pr103606.f90: New test. - -2021-12-11 Jason Merrill - - PR c++/103534 - * g++.dg/warn/Wstringop-overflow-8.C: New test. - -2021-12-10 David Malcolm - - PR jit/103562 - * jit.dg/all-non-failing-tests.h: Add comment about... - * jit.dg/test-pr103562.c: New test. - -2021-12-10 Marek Polacek - - * g++.dg/cpp23/auto-fncast10.C: New test. - -2021-12-10 Harald Anlauf - - PR fortran/103418 - * gfortran.dg/move_alloc_8.f90: Adjust error messages. - * gfortran.dg/pointer_intent_9.f90: New test. - -2021-12-10 Roger Sayle - - PR ipa/103601 - * gcc.dg/ipa/pr103601.c: New test case. - -2021-12-10 Joel Hutton - - * gcc.target/aarch64/pr103523.c: New test. - -2021-12-09 Martin Sebor - - PR tree-optimization/103215 - * gcc.dg/Wstringop-overflow-58.c: Adjust and xfail expected warnings. - * gcc.dg/Wstringop-overflow-59.c: Same. - * gcc.dg/warn-strnlen-no-nul.c: Same. - * gcc.dg/Warray-bounds-91.c: New test. - * gcc.dg/Warray-bounds-92.c: New test. - * gcc.dg/Wstringop-overflow-85.c: New test. - * gcc.dg/Wstringop-overflow-87.c: New test. - -2021-12-09 Martin Sebor - - PR middle-end/101751 - * gcc.dg/Wstringop-overflow-86.c: New test. - -2021-12-09 Martin Sebor - - PR middle-end/103143 - * gcc.dg/Wstringop-overflow-83.c: New test. - -2021-12-09 Marek Polacek - - PR c++/103401 - * g++.dg/cpp1y/lambda-generic-85713-2.C: Add dg-error. - * g++.dg/cpp1y/pr60054.C: Adjust dg-error. - * g++.dg/cpp1y/pr60332.C: Likewise. - * g++.dg/cpp2a/concepts-pr84979-2.C: Likewise. - * g++.dg/cpp2a/concepts-pr84979-3.C: Likewise. - * g++.dg/cpp2a/concepts-pr84979.C: Likewise. - * g++.dg/cpp23/auto-fncast7.C: New test. - * g++.dg/cpp23/auto-fncast8.C: New test. - * g++.dg/cpp23/auto-fncast9.C: New test. - -2021-12-09 Alexandre Oliva - - PR target/103097 - * gcc.target/i386/pr103097.c: New. - -2021-12-09 Alexandre Oliva - - PR target/103302 - * gcc.target/riscv/pr103302.c: New. - -2021-12-09 Alexandre Oliva - - PR tree-optimization/103024 - PR middle-end/103530 - * g++.dg/pr103024.C: New. - * g++.dg/pr103530.C: New. - -2021-12-08 Harald Anlauf - - PR fortran/103609 - * gfortran.dg/pr103609.f90: New test. - -2021-12-08 Dimitar Dimitrov - - * gcc.target/pru/pru_irq_map.c: New test. - -2021-12-08 Harald Anlauf - - PR fortran/103610 - * gfortran.dg/shape_11.f90: New test. - -2021-12-08 Martin Liska - - * gcc.dg/loop-unswitch-1.c: Adjust test-case based on - dump_printf_loc. - * gcc.dg/loop-unswitch-2.c: Likewise. - * gcc.dg/loop-unswitch-3.c: Likewise. - * gcc.dg/loop-unswitch-4.c: Likewise. - * gcc.dg/loop-unswitch-5.c: Likewise. - -2021-12-08 Hans-Peter Nilsson - - * gcc.dg/sibcall-1.c, gcc.dg/sibcall-10.c, - gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c, - gcc.dg/sibcall-4.c, gcc.dg/sibcall-9.c: Replace - attribute "noinline" with "noipa". - -2021-12-08 Chung-Lin Tang - - * c-c++-common/goacc/deep-copy-arrayofstruct.c: Adjust testcase. - * c-c++-common/gomp/target-enter-data-1.c: New testcase. - * c-c++-common/gomp/target-implicit-map-2.c: New testcase. - -2021-12-08 Roger Sayle - - * gcc.target/nvptx/exttrunc-2.c: New test case. - * gcc.target/nvptx/exttrunc-3.c: New test case. - * gcc.target/nvptx/exttrunc-4.c: New test case. - * gcc.target/nvptx/exttrunc-5.c: New test case. - * gcc.target/nvptx/exttrunc-6.c: New test case. - -2021-12-08 Roger Sayle - - * gcc.target/nvptx/exttrunc-1.c: New test case. - -2021-12-08 Chung-Lin Tang - - PR middle-end/92120 - * gcc.dg/gomp/target-3.c: New testcase. - * g++.dg/gomp/target-3.C: New testcase. - * g++.dg/gomp/target-lambda-1.C: New testcase. - * g++.dg/gomp/target-lambda-2.C: New testcase. - * g++.dg/gomp/target-this-1.C: New testcase. - * g++.dg/gomp/target-this-2.C: New testcase. - * g++.dg/gomp/target-this-3.C: New testcase. - * g++.dg/gomp/target-this-4.C: New testcase. - * g++.dg/gomp/target-this-5.C: New testcase. - * g++.dg/gomp/this-2.C: Adjust testcase. - -2021-12-08 Haochen Jiang - - PR target/100738 - * g++.target/i386/pr100738-1.C: New test. - -2021-12-08 Alexandre Oliva - - PR middle-end/103149 - * gcc.target/aarch64/pr103149.c: New. - -2021-12-07 Harald Anlauf - - PR fortran/103607 - * gfortran.dg/pr103607.f90: New test. - -2021-12-07 Marek Polacek - - * g++.dg/cpp0x/decltype-bitfield1.C: Change a type to unsigned - long long. Only run on longlong64 targets. - -2021-12-07 Peter Bergner - - PR testsuite/103556 - PR testsuite/103586 - * lib/target-supports.exp (check_effective_target_rop_ok): Remove '\n'. - -2021-12-07 Harald Anlauf - - PR fortran/103588 - * gfortran.dg/pr103588.f90: New test. - -2021-12-07 Harald Anlauf - - PR fortran/103591 - * gfortran.dg/select_9.f90: New test. - -2021-12-07 Marek Polacek - - PR c++/95009 - * g++.dg/cpp0x/decltype-bitfield1.C: New test. - * g++.dg/cpp0x/decltype-bitfield2.C: New test. - -2021-12-07 H.J. Lu - - PR target/103594 - * gcc.dg/pr103594.c: New test. - -2021-12-07 Richard Biener - - PR tree-optimization/103596 - * gcc.dg/torture/pr103596.c: New testcase. - -2021-12-07 YunQiang Su - - * gcc.target/mips/mips.exp: add unaligned-access - * gcc.target/mips/unaligned-2.c: New test. - * gcc.target/mips/unaligned-3.c: New test. - -2021-12-07 Eugene Rozenfeld - - * gcc.dg/tree-prof/init-array.c: New test for unrolling inner loops. - -2021-12-06 Richard Biener - - PR tree-optimization/103581 - * gcc.dg/vect/pr103581.c: New testcase. - -2021-12-06 Richard Biener - - PR tree-optimization/103544 - * gcc.dg/vect/pr103544.c: New testcase. - -2021-12-06 Tamar Christina - - PR rtl-optimization/103404 - * gcc.target/i386/pr103404.c: New test. - -2021-12-06 Hongtao Liu - Uroš Bizjak - - * gcc.target/i386/pr95740.c: New test. - -2021-12-04 Marek Polacek - - PR c++/93614 - * g++.dg/template/lookup18.C: New test. - -2021-12-04 Tobias Burnus - - * gfortran.dg/gomp/atomic-2.f90: Move now supported code to ... - * gfortran.dg/gomp/atomic.f90: here. - * gfortran.dg/gomp/atomic-10.f90: New test. - * gfortran.dg/gomp/atomic-12.f90: New test. - * gfortran.dg/gomp/atomic-15.f90: New test. - * gfortran.dg/gomp/atomic-16.f90: New test. - * gfortran.dg/gomp/atomic-17.f90: New test. - * gfortran.dg/gomp/atomic-18.f90: New test. - * gfortran.dg/gomp/atomic-19.f90: New test. - * gfortran.dg/gomp/atomic-20.f90: New test. - * gfortran.dg/gomp/atomic-22.f90: New test. - * gfortran.dg/gomp/atomic-24.f90: New test. - * gfortran.dg/gomp/atomic-25.f90: New test. - * gfortran.dg/gomp/atomic-26.f90: New test. - -2021-12-04 Jakub Jelinek - - * g++.dg/cpp2a/bit-cast11.C: New test. - * g++.dg/cpp2a/bit-cast12.C: New test. - * g++.dg/cpp2a/bit-cast13.C: New test. - * g++.dg/cpp2a/bit-cast14.C: New test. - -2021-12-04 Jakub Jelinek - - PR preprocessor/102432 - * c-c++-common/gomp/pr102432.c: New test. - * c-c++-common/goacc/pr102432.c: New test. - -2021-12-04 Alexandre Oliva - - PR rtl-optimization/103028 - * gcc.dg/pr103028.c: New. - -2021-12-04 David Edelsohn - - * gcc.target/powerpc/vec_reve_1.c: Require VSX. - -2021-12-03 Jason Merrill - - * g++.dg/diagnostic/scope1.C: New test. - -2021-12-03 Martin Liska - - PR target/101324 - * gcc.target/powerpc/pr101324.c: New test. - -2021-12-03 Peter Bergner - - * lib/target-supports.exp (check_effective_target_rop_ok): New function. - * gcc.target/powerpc/rop-1.c: Use it. - * gcc.target/powerpc/rop-2.c: Likewise. - * gcc.target/powerpc/rop-3.c: Likewise. - * gcc.target/powerpc/rop-4.c: Likewise. - * gcc.target/powerpc/rop-5.c: Likewise. - -2021-12-03 Harald Anlauf - Steven G. Kargl - - PR fortran/103505 - * gfortran.dg/pr103505.f90: New test. - -2021-12-03 Marek Polacek - - PR c++/103403 - * g++.dg/cpp1y/decltype-auto2.C: New test. - * g++.dg/cpp1y/decltype-auto3.C: New test. - * g++.dg/cpp1y/decltype-auto4.C: New test. - * g++.dg/cpp1z/decomp-decltype1.C: New test. - -2021-12-03 H.J. Lu - - PR target/103269 - * gcc.target/i386/pieces-memcpy-17.c: New test. - * gcc.target/i386/pieces-memcpy-18.c: Likewise. - * gcc.target/i386/pieces-memcpy-19.c: Likewise. - * gcc.target/i386/pieces-memcpy-20.c: Likewise. - * gcc.target/i386/pieces-memcpy-21.c: Likewise. - * gcc.target/i386/pieces-memset-45.c: Likewise. - * gcc.target/i386/pieces-memset-46.c: Likewise. - * gcc.target/i386/pieces-memset-47.c: Likewise. - * gcc.target/i386/pieces-memset-48.c: Likewise. - * gcc.target/i386/pieces-memset-49.c: Likewise. - -2021-12-03 H.J. Lu - - PR target/83782 - * gcc.target/i386/pr83782-1.c: Also scan leal x32. - * gcc.target/i386/pr83782-2.c: Likewise. - -2021-12-03 Tamar Christina - - * gcc.target/aarch64/sve/pred-combine-and.c: New test. - -2021-12-03 H.J. Lu - - PR target/51469 - PR target/83782 - * gcc.target/i386/pr83782-1.c: New test. - * gcc.target/i386/pr83782-2.c: Likewise. - -2021-12-03 Jakub Jelinek - - PR tree-optimization/103456 - * gcc.dg/ubsan/pr103456.c: Add -ffat-lto-objects to dg-options. - -2021-12-03 Tobias Burnus - - * gfortran.dg/allocate_with_source_26.f90: Adjust testcase. - * gfortran.dg/allocate_with_mold_4.f90: New testcase. - -2021-12-03 Thomas Schwinge - - PR testsuite/102735 - * lib/gcc-dg.exp (process-message): Make sure that we get unique - test names. - -2021-12-03 Andrew Pinski - - PR c++/71792 - * g++.dg/torture/pr71792.C: New test. - -2021-12-02 David Malcolm - - PR analyzer/103526 - * gcc.dg/analyzer/pr103526.c: New test. - -2021-12-02 Bill Schmidt - - * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust expected error - message. - * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. - * gcc.target/powerpc/byte-in-set-2.c: Likewise. - * gcc.target/powerpc/cmpb-2.c: Likewise. - * gcc.target/powerpc/cmpb-3.c: Likewise. - * gcc.target/powerpc/cmpb32-2.c: Likewise. - * gcc.target/powerpc/crypto-builtin-2.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Remove invalid - test and adjust xxpermdi count. - * gcc.target/powerpc/fold-vec-splat-longlong.c: Remove invalid - tests and adjust instruction counts. - * gcc.target/powerpc/fold-vec-splat-misc-invalid.c: Adjust expected - error messages. - * gcc.target/powerpc/int_128bit-runnable.c: Adjust instruction counts. - * gcc.target/powerpc/pr80315-1.c: Adjust expected error message. - * gcc.target/powerpc/pr80315-2.c: Likewise. - * gcc.target/powerpc/pr80315-3.c: Likewise. - * gcc.target/powerpc/pr80315-4.c: Likewise. - * gcc.target/powerpc/pr88100.c: Likewise. - * gcc.target/powerpc/pragma_misc9.c: Likewise. - * gcc.target/powerpc/pragma_power8.c: Undef _RS6000_VECDEFINES_H. - * gcc.target/powerpc/pragma_power9.c: Likewise. - * gcc.target/powerpc/test_fpscr_drn_builtin_error.c: Adjust expected - error messages. - * gcc.target/powerpc/test_fpscr_rn_builtin_error.c: Likewise. - * gcc.target/powerpc/vec-gnb-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise. - -2021-12-02 Tamar Christina - - * gcc.target/aarch64/advsimd-intrinsics/shrn-1.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/shrn-2.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/shrn-3.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/shrn-4.c: New test. - -2021-12-02 Tamar Christina - - PR testsuite/103479 - * gcc.dg/bic-bitmask-18.c: Update regexpr to expect = 0;. - -2021-12-02 Marek Polacek - - PR c++/94490 - * g++.dg/ext/integer-pack5.C: New test. - -2021-12-02 Marek Polacek - - PR c++/103408 - * g++.dg/cpp23/concepts-err1.C: New test. - -2021-12-02 Chung-Lin Tang - - PR fortran/90030 - * gfortran.dg/goacc/finalize-1.f: Adjust scan test. - * gfortran.dg/gomp/affinity-clause-1.f90: Likewise. - * gfortran.dg/gomp/affinity-clause-5.f90: Likewise. - * gfortran.dg/gomp/defaultmap-4.f90: Likewise. - * gfortran.dg/gomp/defaultmap-5.f90: Likewise. - * gfortran.dg/gomp/defaultmap-6.f90: Likewise. - * gfortran.dg/gomp/map-3.f90: Likewise. - * gfortran.dg/gomp/pr78260-2.f90: Likewise. - * gfortran.dg/gomp/pr78260-3.f90: Likewise. - -2021-12-01 David Malcolm - - PR analyzer/102471 - * gcc.dg/analyzer/leak-3.c: New test. - -2021-12-01 Uroš Bizjak - - PR target/102881 - * gcc.target/i386/pr102811-1.c: New test. - * gcc.target/i386/avx512fp16-1c.c (dg-final): Update - scan-assembler-times scan strings for ia32 targets. - * gcc.target/i386/pr102327-1.c (dg-final): Ditto. - * gcc.target/i386/pr102811.c: Rename from ... - * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: ... this. - -2021-12-01 Roger Sayle - Richard Biener - - * gcc.dg/fold-condneg-1.c: New test case. - * gcc.dg/fold-condneg-2.c: New test case. - * gcc.dg/fold-condnot-1.c: New test case. - * gcc.dg/pr101145-1.c: New test case. - * gcc.dg/pr101145-2.c: New test case. - -2021-12-01 Peter Bergner - - PR middle-end/103127 - * gcc.target/powerpc/pr103127.c: New test. - -2021-12-01 Jason Merrill - - PR c++/103310 - * g++.dg/cpp0x/constexpr-fp-except1.C: New test. - * g++.dg/cpp1z/constexpr-if36.C: New test. - * gcc.dg/tree-ssa/nonzero-1.c: Now well-formed. - * gcc.dg/tree-ssa/nonzero-1a.c: New test. - -2021-12-01 Richard Sandiford - - PR tree-optimization/103517 - * gcc.dg/vect/pr103517.c: New test. - -2021-12-01 Alex Coplan - - * gcc.target/aarch64/aapcs64/macro-def.h (PTR): Fix typo in - comment. - -2021-12-01 Jakub Jelinek - - PR c++/100977 - * g++.dg/cpp/ucnid-1.C: Adjust expected diagnostics. - * g++.dg/cpp/ucnid-1-utf8.C: Likewise. - -2021-12-01 Jakub Jelinek - - PR rtl-optimization/102356 - * gcc.dg/pr102356.c: New test. - -2021-12-01 Jakub Jelinek - - PR preprocessor/103415 - * c-c++-common/cpp/va-opt-8.c: New test. - * c-c++-common/Wimplicit-fallthrough-38.c: New test. - -2021-12-01 Tamar Christina - - * gcc.dg/bic-bitmask-10.c: Moved to gcc.dg/vect/vect-bic-bitmask-10.c. - * gcc.dg/bic-bitmask-11.c: Moved to gcc.dg/vect/vect-bic-bitmask-11.c. - * gcc.dg/bic-bitmask-12.c: Moved to gcc.dg/vect/vect-bic-bitmask-12.c. - * gcc.dg/bic-bitmask-3.c: Moved to gcc.dg/vect/vect-bic-bitmask-3.c. - * gcc.dg/bic-bitmask-23.c: Moved to gcc.dg/vect/vect-bic-bitmask-23.c. - * gcc.dg/bic-bitmask-2.c: Moved to gcc.dg/vect/vect-bic-bitmask-2.c. - * gcc.dg/bic-bitmask-4.c: Moved to gcc.dg/vect/vect-bic-bitmask-4.c. - * gcc.dg/bic-bitmask-5.c: Moved to gcc.dg/vect/vect-bic-bitmask-5.c. - * gcc.dg/bic-bitmask-6.c: Moved to gcc.dg/vect/vect-bic-bitmask-6.c. - * gcc.dg/bic-bitmask-8.c: Moved to gcc.dg/vect/vect-bic-bitmask-8.c. - * gcc.dg/bic-bitmask-9.c: Moved to gcc.dg/vect/vect-bic-bitmask-9.c. - * gcc.dg/vect/vect-bic-bitmask-10.c: New file. - * gcc.dg/vect/vect-bic-bitmask-11.c: New file. - * gcc.dg/vect/vect-bic-bitmask-12.c: New file. - * gcc.dg/vect/vect-bic-bitmask-2.c: New file. - * gcc.dg/vect/vect-bic-bitmask-23.c: New file. - * gcc.dg/vect/vect-bic-bitmask-3.c: New file. - * gcc.dg/vect/vect-bic-bitmask-4.c: New file. - * gcc.dg/vect/vect-bic-bitmask-5.c: New file. - * gcc.dg/vect/vect-bic-bitmask-6.c: New file. - * gcc.dg/vect/vect-bic-bitmask-8.c: New file. - * gcc.dg/vect/vect-bic-bitmask-9.c: New file. - -2021-12-01 Siddhesh Poyarekar - Martin Liška - - PR tree-optimization/103456 - * gcc.dg/ubsan/pr103456.c: New test. - -2021-11-30 liuhongt - - * gcc.target/i386/pr103463.c: New test. - * gcc.target/i386/pr103463-2.c: New test. - -2021-11-30 David Malcolm - - PR analyzer/94579 - * gcc.dg/analyzer/pr94579.c: New test. - -2021-11-30 David Malcolm - - PR analyzer/99269 - * gcc.dg/analyzer/pr99269.c: New test. - -2021-11-30 David Malcolm - - PR analyzer/100524 - * gcc.dg/analyzer/pragma-2.c: New test. - -2021-11-30 Harald Anlauf - - * gfortran.dg/array_constructor_54.f90: New test. - -2021-11-30 Harald Anlauf - - PR fortran/103473 - * gfortran.dg/minmaxloc_15.f90: New test. - -2021-11-30 Harald Anlauf - Steven G. Kargl - - PR fortran/101565 - * gfortran.dg/coarray_49.f90: New test. - -2021-11-30 Richard Sandiford - - PR tree-optimization/103494 - * gcc.dg/vect/pr103494.c: New test. - * g++.dg/vect/pr103494.cc: Likewise. - -2021-11-30 Iain Buclaw - - * gdc.dg/Wcastresult2.d: Update test. - * gdc.dg/asm1.d: Likewise. - * gdc.dg/asm2.d: Likewise. - * gdc.dg/asm3.d: Likewise. - * gdc.dg/gdc282.d: Likewise. - * gdc.dg/imports/gdc170.d: Likewise. - * gdc.dg/intrinsics.d: Likewise. - * gdc.dg/pr101672.d: Likewise. - * gdc.dg/pr90650a.d: Likewise. - * gdc.dg/pr90650b.d: Likewise. - * gdc.dg/pr94777a.d: Likewise. - * gdc.dg/pr95250.d: Likewise. - * gdc.dg/pr96869.d: Likewise. - * gdc.dg/pr98277.d: Likewise. - * gdc.dg/pr98457.d: Likewise. - * gdc.dg/simd1.d: Likewise. - * gdc.dg/simd2a.d: Likewise. - * gdc.dg/simd2b.d: Likewise. - * gdc.dg/simd2c.d: Likewise. - * gdc.dg/simd2d.d: Likewise. - * gdc.dg/simd2e.d: Likewise. - * gdc.dg/simd2f.d: Likewise. - * gdc.dg/simd2g.d: Likewise. - * gdc.dg/simd2h.d: Likewise. - * gdc.dg/simd2i.d: Likewise. - * gdc.dg/simd2j.d: Likewise. - * gdc.dg/simd7951.d: Likewise. - * gdc.dg/torture/gdc309.d: Likewise. - * gdc.dg/torture/pr94424.d: Likewise. - * gdc.dg/torture/pr94777b.d: Likewise. - * lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options. - (gdc-convert-test): Handle CXXFLAGS, EXTRA_OBJC_SOURCES, and ARG_SETS - test directives. - (gdc-do-test): Only import modules in the test run directory. - * gdc.dg/pr94777c.d: New test. - * gdc.dg/pr96156b.d: New test. - * gdc.dg/pr96157c.d: New test. - * gdc.dg/simd_ctfe.d: New test. - * gdc.dg/torture/simd17344.d: New test. - * gdc.dg/torture/simd20052.d: New test. - * gdc.dg/torture/simd6.d: New test. - * gdc.dg/torture/simd7.d: New test. - -2021-11-30 Andrew MacLeod - - * gcc.dg/pr103440.c: New. - -2021-11-30 Richard Biener - - PR tree-optimization/103489 - * gcc.dg/torture/pr103489.c: New testcase. - -2021-11-30 Martin Liska - - PR tree-optimization/103278 - * gcc.dg/tree-ssa/if-to-switch-5.c: Make the test acceptable by - targets with no jump-tables. - -2021-11-30 Thomas Schwinge - - * c-c++-common/goacc/nested-reductions-1-routine.c: Adjust. - * c-c++-common/goacc/nested-reductions-2-routine.c: Adjust. - * c-c++-common/goacc/orphan-reductions-2.c: Adjust. - * gfortran.dg/goacc/nested-reductions-1-routine.f90: Adjust. - * gfortran.dg/goacc/nested-reductions-2-routine.f90: Adjust. - * gfortran.dg/goacc/orphan-reductions-1.f90: Adjust. - * gfortran.dg/goacc/orphan-reductions-2.f90: Adjust. - -2021-11-30 Thomas Schwinge - - * gfortran.dg/goacc/orphan-reductions-1.f90: Adjust. - -2021-11-30 Frederik Harwath - Thomas Schwinge - - * gfortran.dg/goacc/orphan-reductions-3.f90: New test - verifying that the "gang reduction on an orphan loop" error message - is not emitted for non-orphaned loops. - * c-c++-common/goacc/orphan-reductions-3.c: Likewise for C and C++. - -2021-11-30 Cesar Philippidis - Thomas Schwinge - - * c-c++-common/goacc/nested-reductions-1-routine.c: Adjust. - * c-c++-common/goacc/nested-reductions-2-routine.c: Likewise. - * gcc.dg/goacc/loop-processing-1.c: Likewise. - * gfortran.dg/goacc/nested-reductions-1-routine.f90: Likewise. - * gfortran.dg/goacc/nested-reductions-2-routine.f90: Likewise. - * c-c++-common/goacc/orphan-reductions-1.c: New test. - * c-c++-common/goacc/orphan-reductions-2.c: New test. - * gfortran.dg/goacc/orphan-reductions-1.f90: New test. - * gfortran.dg/goacc/orphan-reductions-2.f90: New test. - -2021-11-30 Kwok Cheung Yeung - Thomas Schwinge - - * c-c++-common/goacc/routine-4.c (seq, vector, worker, gang): - Remove loop reductions. - * c-c++-common/goacc/routine-4-extern.c (seq, vector, worker, gang): - Likewise. - -2021-11-30 Roger Sayle - - PR testsuite/103477 - * gcc.dg/tree-ssa/pr103345.c: Correct xor test for big-endian. - -2021-11-30 Aldy Hernandez - - PR tree-optimization/103451 - * gcc.dg/pr103451.c: New test. - -2021-11-30 Richard Sandiford - - * gcc.dg/vect/vect-gather-3.c: New test. - * gcc.dg/vect/vect-gather-4.c: Likewise. - * gcc.target/aarch64/sve/mask_gather_load_8.c: Likewise. - -2021-11-30 Richard Sandiford - - * gcc.dg/vect/pr99102.c: Add -fno-vect-cost-model. - Revert: - 2020-09-09 Richard Biener [rguenther@suse.de] - * gcc.target/i386/pr87007-4.c: Adjust. - * gcc.target/i386/pr87007-5.c: Likewise. - -2021-11-30 Richard Sandiford - - * lib/target-supports.exp - (check_effective_target_vect_gather_load_ifn): New target test. - * gcc.dg/vect/vect-gather-1.c: New test. - * gcc.dg/vect/vect-gather-2.c: Likewise. - * gcc.target/aarch64/sve/gather_load_11.c: Likewise. - -2021-11-30 Richard Sandiford - - * gcc.target/aarch64/sve/cost_model_13.c: New test. - -2021-11-30 Richard Sandiford - - * gfortran.dg/vect/vect-8.f90: Bump number of vectorized loops - to 25 for SVE. - * gcc.target/aarch64/sve/gather_load_10.c: New test. - -2021-11-30 Richard Sandiford - - * gcc.dg/add-mul-overflow-1.c: New test. - -2021-11-30 Richard Sandiford - - * gcc.dg/ubsan/commutative-1.c: New test. - -2021-11-30 Richard Sandiford - - * gcc.target/aarch64/sve/complex_mul_1.c: New test. - -2021-11-30 Richard Sandiford - - * gcc.dg/fmax-fmin-1.c: New test. - -2021-11-30 Richard Sandiford - - * gcc.dg/vect/vect-fmax-1.c: New test. - * gcc.dg/vect/vect-fmax-2.c: Likewise. - * gcc.dg/vect/vect-fmax-3.c: Likewise. - * gcc.dg/vect/vect-fmin-1.c: New test. - * gcc.dg/vect/vect-fmin-2.c: Likewise. - * gcc.dg/vect/vect-fmin-3.c: Likewise. - * gcc.target/aarch64/fmaxnm_1.c: Likewise. - * gcc.target/aarch64/fmaxnm_2.c: Likewise. - * gcc.target/aarch64/fminnm_1.c: Likewise. - * gcc.target/aarch64/fminnm_2.c: Likewise. - * gcc.target/aarch64/sve/fmaxnm_2.c: Likewise. - * gcc.target/aarch64/sve/fmaxnm_3.c: Likewise. - * gcc.target/aarch64/sve/fminnm_2.c: Likewise. - * gcc.target/aarch64/sve/fminnm_3.c: Likewise. - -2021-11-30 Jakub Jelinek - - PR c++/100977 - * c-c++-common/cpp/ucnid-2011-1-utf8.c: Expect errors in C++. - * c-c++-common/cpp/ucnid-2011-1.c: Likewise. - * g++.dg/cpp/ucnid-4-utf8.C: Add missing space to dg-options. - * g++.dg/cpp23/normalize3.C: Enable for c++11 rather than just c++23. - * g++.dg/cpp23/normalize4.C: Likewise. - * g++.dg/cpp23/normalize5.C: Likewise. - * g++.dg/cpp23/normalize7.C: Expect errors rather than just warnings - for c++11 and up rather than just c++23. - * g++.dg/cpp23/ucnid-2-utf8.C: Expect errors even for c++11 .. c++20. - -2021-11-30 Roger Sayle - Uroš Bizjak - - PR target/100711 - * gcc.target/i386/pr100711-1.c: New test case. - * gcc.target/i386/pr100711-2.c: New test case. - -2021-11-30 Richard Biener - - PR middle-end/103485 - * gcc.dg/pr103485.c: New testcase. - -2021-11-30 Kewen Lin - - PR target/102347 - * gcc.target/powerpc/pr102347.c: New test. - -2021-11-29 David Malcolm - - PR analyzer/103217 - * gcc.dg/analyzer/pr103217-2.c: New test. - * gcc.dg/analyzer/pr103217-3.c: New test. - * gcc.dg/analyzer/pr103217-4.c: New test. - * gcc.dg/analyzer/pr103217-5.c: New test. - -2021-11-29 Martin Sebor - - PR testsuite/103469 - * c-c++-common/attr-retain-5.c: Prune out valid warning. - * c-c++-common/attr-retain-6.c: Same. - * c-c++-common/attr-retain-9.c: Same. - -2021-11-29 Patrick Palka - - PR c++/100493 - * g++.dg/cpp1z/lambda-this1.C: Adjust expected diagnostics. - * g++.dg/cpp1z/lambda-this8.C: New test. - * g++.dg/cpp2a/lambda-this3.C: Compile with -pedantic in C++17 - to continue to diagnose redundant 'this' captures. - -2021-11-29 Roger Sayle - - * gcc.target/i386/sse2-v1ti-rotate.c: New test case. - -2021-11-29 liuhongt - - * gcc.target/i386/pr102811-2.c: New test. - * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: Add new - scan-assembler-times. - -2021-11-29 Richard Biener - - PR tree-optimization/103458 - * gcc.dg/torture/pr103458.c: New testcase. - -2021-11-29 Kewen Lin - - * gcc.target/powerpc/vect-gather-1.c: New test. - -2021-11-27 Jakub Jelinek - - PR middle-end/103431 - * gcc.dg/pr103431.c: New test. - -2021-11-27 Roger Sayle - - * gcc.dg/tree-ssa/ivopts-8.c: Fix new test case for -m32. - * gcc.dg/tree-ssa/ivopts-9.c: Likewise. - -2021-11-26 Harald Anlauf - - PR fortran/103411 - * gfortran.dg/pr68153.f90: Adjust test to improved check. - * gfortran.dg/reshape_7.f90: Likewise. - * gfortran.dg/reshape_9.f90: New test. - -2021-11-26 Roger Sayle - - * gcc.dg/wrapped-binop-simplify.c: Update expected test result. - * gcc.dg/tree-ssa/ivopts-5.c: New test case. - * gcc.dg/tree-ssa/ivopts-6.c: New test case. - * gcc.dg/tree-ssa/ivopts-7.c: New test case. - * gcc.dg/tree-ssa/ivopts-8.c: New test case. - * gcc.dg/tree-ssa/ivopts-9.c: New test case. - -2021-11-26 Jan Hubicka - - * gcc.dg/ipa/inline-9.c: Update template.c - -2021-11-26 Jakub Jelinek - - PR c++/102753 - * g++.dg/cpp2a/consteval20.C: Add some extra tests. - * g++.dg/cpp2a/consteval23.C: Likewise. - * g++.dg/cpp2a/consteval25.C: New test. - * g++.dg/cpp2a/srcloc20.C: New test. - -2021-11-26 konglin1 - - PR target/102811 - * gcc.target/i386/pr90773-21.c: Allow pextrw instead of movw. - * gcc.target/i386/pr90773-23.c: Ditto. - * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: New test. - -2021-11-25 Jan Hubicka - - * gcc.dg/ipa/inline10.c: New test. - -2021-11-25 Roger Sayle - - PR middle-end/103406 - * gcc.dg/pr103406.c: New test case. - -2021-11-25 Martin Jambor - - PR ipa/103227 - * gcc.dg/ipa/pr103227-1.c: New test. - * gcc.dg/ipa/pr103227-3.c: Likewise. - * gcc.dg/ipa/pr103227-2.c: Likewise. - * gfortran.dg/pr53787.f90: Disable IPA-SRA. - -2021-11-25 Andrew MacLeod - - PR tree-optimization/102648 - * gcc.dg/pr102648.c: New. - -2021-11-25 Andrew MacLeod - - PR tree-optimization/103359 - * gcc.dg/pr103359.c: New. - -2021-11-25 Jakub Jelinek - - PR tree-optimization/103417 - * gcc.c-torture/execute/pr103417.c: New test. - -2021-11-25 Jakub Jelinek - - PR tree-optimization/103376 - * gcc.dg/optimize-bswapsi-7.c: New test. - -2021-11-25 Jakub Jelinek - - PR c++/102611 - * g++.dg/cpp2a/comma1.C: Expect different diagnostics for C++23. - * g++.dg/cpp2a/comma3.C: Likewise. - * g++.dg/cpp2a/comma4.C: Expect diagnostics for C++23. - * g++.dg/cpp2a/comma5.C: Expect different diagnostics for C++23. - * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_multidimensional_subscript - predefined macro. - * g++.dg/cpp23/subscript1.C: New test. - * g++.dg/cpp23/subscript2.C: New test. - * g++.dg/cpp23/subscript3.C: New test. - * g++.dg/cpp23/subscript4.C: New test. - * g++.dg/cpp23/subscript5.C: New test. - * g++.dg/cpp23/subscript6.C: New test. - -2021-11-25 H.J. Lu - - * gcc.target/i386/pr103194-5.c: Include . - Replace long with int64_t. - -2021-11-24 Jan Hubicka - - * gcc.c-torture/execute/pr103405.c: New test. - -2021-11-24 Richard Biener - Jan Hubicka - - PR tree-optimization/103168 - * g++.dg/tree-ssa/pr103168.C: New testcase. - -2021-11-24 Thomas Schwinge - - PR middle-end/103244 - * c-c++-common/goacc/combined-reduction.c: Revert/expect previous - OpenACC behavior. - * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise. - * c-c++-common/goacc/mdc-1.c: Likewise. - * g++.dg/goacc/firstprivate-mappings-1.C: Likewise. - -2021-11-24 Jakub Jelinek - - PR middle-end/103365 - * c-c++-common/Wno-attributes-1.c: Require effective target - c || c++11 and drop dg-additional-options. - * c-c++-common/Wno-attributes-2.c: Likewise. - * c-c++-common/Wno-attributes-4.c: New test. - * c-c++-common/Wno-attributes-5.c: New test. - -2021-11-24 Jakub Jelinek - - PR tree-optimization/103376 - * gcc.c-torture/execute/pr103376.c: New test. - -2021-11-24 Tamar Christina - - * gcc.dg/bic-bitmask-10.c: New test. - * gcc.dg/bic-bitmask-11.c: New test. - * gcc.dg/bic-bitmask-12.c: New test. - * gcc.dg/bic-bitmask-13.c: New test. - * gcc.dg/bic-bitmask-14.c: New test. - * gcc.dg/bic-bitmask-15.c: New test. - * gcc.dg/bic-bitmask-16.c: New test. - * gcc.dg/bic-bitmask-17.c: New test. - * gcc.dg/bic-bitmask-18.c: New test. - * gcc.dg/bic-bitmask-19.c: New test. - * gcc.dg/bic-bitmask-2.c: New test. - * gcc.dg/bic-bitmask-20.c: New test. - * gcc.dg/bic-bitmask-21.c: New test. - * gcc.dg/bic-bitmask-22.c: New test. - * gcc.dg/bic-bitmask-23.c: New test. - * gcc.dg/bic-bitmask-3.c: New test. - * gcc.dg/bic-bitmask-4.c: New test. - * gcc.dg/bic-bitmask-5.c: New test. - * gcc.dg/bic-bitmask-6.c: New test. - * gcc.dg/bic-bitmask-7.c: New test. - * gcc.dg/bic-bitmask-8.c: New test. - * gcc.dg/bic-bitmask-9.c: New test. - * gcc.dg/bic-bitmask.h: New test. - * gcc.target/aarch64/bic-bitmask-1.c: New test. - -2021-11-24 Marek Polacek - - PR c++/103347 - * g++.dg/cpp0x/nsdmi-warn1.C: New test. - * g++.dg/cpp0x/nsdmi-warn1.h: New file. - -2021-11-24 Hongtao Liu - H.J. Lu - - * gcc.target/i386/pr103194-2.c: New test. - * gcc.target/i386/pr103194-3.c: New test. - * gcc.target/i386/pr103194-4.c: New test. - * gcc.target/i386/pr103194-5.c: New test. - * gcc.target/i386/pr103194.c: New test. - -2021-11-23 Martin Sebor - - PR c++/96507 - * g++.dg/warn/Waddress-8.C: New test. - -2021-11-23 Martin Sebor - - PR middle-end/88232 - * c-c++-common/attr-used-5.c: Suppress valid warning. - * c-c++-common/attr-used-6.c: Same. - * c-c++-common/attr-used-9.c: Same. - * g++.dg/warn/Winfinite-recursion-2.C: New test. - * g++.dg/warn/Winfinite-recursion-3.C: New test. - * g++.dg/warn/Winfinite-recursion.C: New test. - * gcc.dg/Winfinite-recursion-2.c: New test. - * gcc.dg/Winfinite-recursion.c: New test. - -2021-11-23 Harald Anlauf - - PR fortran/103392 - * gfortran.dg/bound_simplification_7.f90: New test. - -2021-11-23 Marek Polacek - - PR c++/19808 - * g++.dg/warn/Wuninitialized-28.C: Make a class nonempty. - * g++.dg/warn/Wuninitialized-29.C: Likewise. - * g++.dg/warn/Wuninitialized-31.C: New test. - -2021-11-23 Marek Polacek - - * g++.dg/warn/Waddress-5.C: Make sf static. - -2021-11-23 Bill Schmidt - - * gcc.target/powerpc/test_mffsl.c: Change effective target to - a run-time check. Fix a typo in a debug print statement. - -2021-11-23 Harald Anlauf - - PR fortran/87711 - PR fortran/87851 - * gfortran.dg/len_trim.f90: New test. - -2021-11-23 Richard Biener - - PR tree-optimization/103361 - * g++.dg/torture/pr103361.C: New testcase. - -2021-11-23 Jan Hubicka - - * gcc.dg/tree-ssa/modref-dse-4.c: Update template. - * gcc.dg/tree-ssa/modref-dse-5.c: Update template. - -2021-11-23 Andrew Pinski - - PR tree-optimization/102216 - * g++.dg/tree-ssa/pr102216-1.C: New test. - * g++.dg/tree-ssa/pr102216-2.C: New test. - -2021-11-23 Jakub Jelinek - - PR middle-end/102431 - * c-c++-common/gomp/pr102431.c: New test. - * g++.dg/gomp/pr102431.C: New test. - * gfortran.dg/gomp/pr102431.f90: New test. - -2021-11-23 Haochen Gui - - PR target/100868 - * gcc.target/powerpc/vec_reve_1.c: New test. - * gcc.target/powerpc/vec_reve_2.c: Likewise. - -2021-11-23 Navid Rahimi - - PR tree-optimization/102232 - * gcc.dg/tree-ssa/pr102232.c: Testcase for this optimization. - -2021-11-23 Navid Rahimi - - PR tree-optimization/96779 - * gcc.dg/tree-ssa/pr96779.c: Testcase for this optimization. - * gcc.dg/tree-ssa/pr96779-disabled.c: Testcase for this optimization - when -fwrapv passed. - -2021-11-22 Jason Merrill - - * g++.dg/template/crash106.C: Adjust. - * g++.dg/diagnostic/ptrtomem3.C: New test. - -2021-11-22 Jason Merrill - - * g++.dg/cpp0x/pr65327.C: Adjust location. - * g++.dg/cpp23/constexpr-nonlit4.C: Likewise. - * g++.dg/cpp23/constexpr-nonlit5.C: Likewise. - * g++.dg/cpp2a/constexpr-init1.C: Likewise. - -2021-11-22 Jakub Jelinek - Tobias Burnus - - PR preprocessor/103165 - * c-c++-common/gomp/pragma-3.c: New test. - * c-c++-common/gomp/pragma-4.c: New test. - * c-c++-common/gomp/pragma-5.c: New test. - -2021-11-22 Roger Sayle - - PR tree-optimization/98953 - PR tree-optimization/103345 - * gcc.dg/tree-ssa/pr98953.c: New test case. - * gcc.dg/tree-ssa/pr103345.c: New test case. - -2021-11-22 Jakub Jelinek - - PR c++/101731 - * c-c++-common/goacc/routine-6.c: New test. - -2021-11-22 Richard Biener - - PR tree-optimization/103351 - * g++.dg/torture/pr103351.C: New testcase. - -2021-11-22 Jakub Jelinek - - PR c++/103349 - * g++.dg/gomp/masked-1.C: New test. - -2021-11-22 liuhongt - - * gcc.target/i386/pr103275.c: New test. - -2021-11-21 Jakub Jelinek - - PR c++/101180 - * gcc.target/i386/pr101180.c: New test. - -2021-11-21 Harald Anlauf - Steven G. Kargl - - PR fortran/99061 - * gfortran.dg/dec_math_5.f90: New test. - -2021-11-21 Jan Hubicka - - PR ipa/103227 - * gcc.dg/tree-ssa/modref-15.c: New test. - -2021-11-21 Jan Hubicka - - PR ipa/103264 - * gcc.dg/tree-prof/merge_block.c: Add -fno-ipa-modref - -2021-11-21 Roger Sayle - Robin Dapp - - PR target/102117 - * gcc.target/s390/mul-wide.c: New test case. - * gcc.target/s390/umul-wide.c: New test case. - -2021-11-20 Jan Hubicka - - PR ipa/103052 - * gcc.c-torture/execute/pr103052.c: New test. - -2021-11-20 Andrew Pinski - - PR tree-optimization/103220 - * gcc.dg/tree-ssa/pr103220-1.c: New test. - * gcc.dg/tree-ssa/pr103220-2.c: New test. - * gcc.dg/pr25530.c: Update test to check for - 4294967294 in the case -2 is not matched. - -2021-11-20 Alexandre Oliva - - PR tree-optimization/102988 - * g++.dg/pr102988.C: New. - -2021-11-20 Antoni Boucher - - PR target/96889 - * jit.dg/all-non-failing-tests.h: Add test-reflection.c. - * jit.dg/test-reflection.c: New test. - -2021-11-19 Jakub Jelinek - - PR c++/101180 - * g++.target/i386/pr101180.C: New test. - -2021-11-19 David Malcolm - - PR analyzer/103217 - * gcc.dg/analyzer/explode-1.c: Update for improvement to location - of leak warning. - * gcc.dg/analyzer/pr103217.c: New test. - * gcc.dg/analyzer/pr94858-1.c: Add -Wno-analyzer-too-complex. - -2021-11-19 Marek Polacek - - * g++.dg/cpp0x/lambda/lambda-nested9.C: Adjust dg-error. - -2021-11-19 Iain Sandoe - - * gcc.dg/torture/fp-int-convert-timode-3.c: Remove XFAIL. - * gcc.dg/torture/fp-int-convert-timode-4.c: Likewise. - -2021-11-19 Jan Hubicka - - * gcc.dg/tree-ssa/modref-dse-6.c: New test. - -2021-11-19 Martin Sebor - - PR c++/33925 - PR c/102867 - * g++.dg/warn/Walways-true-2.C: Adjust to avoid a valid warning. - * c-c++-common/Waddress-5.c: New test. - * c-c++-common/Waddress-6.c: New test. - * g++.dg/warn/Waddress-7.C: New test. - * gcc.dg/Walways-true-2.c: Adjust to avoid a valid warning. - * gcc.dg/weak/weak-3.c: Expect a warning. - -2021-11-19 Andrew MacLeod - - * gcc.dg/pr103254.c: New. - -2021-11-19 Stefan Schulze Frielinghaus - - * gcc.target/s390/20211119.c: New test. - -2021-11-19 Tamar Christina - - PR tree-optimization/103311 - PR target/103330 - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Fix it. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise. - * lib/target-supports.exp - (check_effective_target_vect_complex_add_double): Add Adv. SIMD. - -2021-11-19 Giuliano Belinassi - - * gcc.dg/devnull-dump.c: New. - -2021-11-19 Patrick Palka - - PR c++/94376 - * g++.dg/cpp0x/lambda/lambda-nested9.C: New test. - -2021-11-19 Andrew Pinski - - PR tree-optimization/103314 - * gcc.c-torture/compile/pr103314-1.c: New test. - -2021-11-19 Richard Biener - - PR c++/103326 - * g++.dg/pr103326.C: New testcase. - -2021-11-19 Jakub Jelinek - - PR c++/70796 - * g++.dg/cpp1z/eval-order11.C: New test. - -2021-11-19 Richard Biener - - PR middle-end/103248 - * gcc.dg/pr103248.c: New testcase. - -2021-11-19 Richard Biener - - PR tree-optimization/102436 - * gcc.dg/torture/20211118-1.c: New testcase. - * gcc.dg/tree-ssa/ssa-lim-18.c: Likewise. - -2021-11-19 Andrew Pinski - - PR tree-optimization/103317 - * gcc.c-torture/compile/pr103317-1.c: New test. - -2021-11-19 Andrew Pinski - - PR tree-optimization/103257 - * gcc.dg/tree-ssa/vrp116.c: Check optimized instead of vrp1. - * gcc.dg/tree-ssa/pr103257-1.c: New test. - -2021-11-19 Marek Polacek - - PR c++/19808 - PR c++/96121 - * g++.dg/warn/Wuninitialized-14.C: New test. - * g++.dg/warn/Wuninitialized-15.C: New test. - * g++.dg/warn/Wuninitialized-16.C: New test. - * g++.dg/warn/Wuninitialized-17.C: New test. - * g++.dg/warn/Wuninitialized-18.C: New test. - * g++.dg/warn/Wuninitialized-19.C: New test. - * g++.dg/warn/Wuninitialized-20.C: New test. - * g++.dg/warn/Wuninitialized-21.C: New test. - * g++.dg/warn/Wuninitialized-22.C: New test. - * g++.dg/warn/Wuninitialized-23.C: New test. - * g++.dg/warn/Wuninitialized-24.C: New test. - * g++.dg/warn/Wuninitialized-25.C: New test. - * g++.dg/warn/Wuninitialized-26.C: New test. - * g++.dg/warn/Wuninitialized-27.C: New test. - * g++.dg/warn/Wuninitialized-28.C: New test. - * g++.dg/warn/Wuninitialized-29.C: New test. - * g++.dg/warn/Wuninitialized-30.C: New test. - -2021-11-19 liuhongt - - * gcc.target/i386/pr102543.c: New test. - -2021-11-19 Patrick Palka - - PR c++/103198 - * g++.dg/cpp2a/concepts-this1.C: New test. - -2021-11-18 Marek Polacek - - PR c++/103049 - * g++.dg/cpp0x/auto25.C: Adjust dg-error. - * g++.dg/cpp0x/auto9.C: Likewise. - * g++.dg/cpp2a/concepts-pr84979-2.C: Likewise. - * g++.dg/cpp2a/concepts-pr84979-3.C: Likewise. - * g++.dg/cpp23/auto-fncast1.C: New test. - * g++.dg/cpp23/auto-fncast2.C: New test. - * g++.dg/cpp23/auto-fncast3.C: New test. - * g++.dg/cpp23/auto-fncast4.C: New test. - * g++.dg/cpp23/auto-fncast5.C: New test. - * g++.dg/cpp23/auto-fncast6.C: New test. - -2021-11-18 Harald Anlauf - Steven G. Kargl - - PR fortran/101329 - * gfortran.dg/pr101329.f90: New test. - -2021-11-18 Patrick Palka - - * g++.dg/cpp2a/fn-template25.C: New test. - -2021-11-18 Jan Hubicka - - * gcc.dg/lto/semantic-interposition-1_0.c: New test. - * gcc.dg/lto/semantic-interposition-1_1.c: New test. - -2021-11-18 Jan Hubicka - - PR ipa/103266 - * g++.dg/torture/pr103266.C: New test. - -2021-11-18 Tamar Christina - - PR tree-optimization/103311 - * gcc.target/aarch64/pr103311.c: New test. - -2021-11-18 H.J. Lu - - PR target/102952 - * gcc.target/i386/indirect-thunk-cs-prefix-1.c: New test. - * gcc.target/i386/indirect-thunk-cs-prefix-2.c: Likewise. - -2021-11-18 Jeff Law - - * gcc.target/mips/octeon-bbit-1.c (f3): Add noipa attribute. - -2021-11-18 Patrick Palka - - PR c++/99911 - * g++.dg/cpp2a/fn-template24.C: New test. - -2021-11-18 Patrick Palka - - PR c++/102670 - * g++.dg/cpp2a/concepts-recursive-sat1.C: Adjust to use ADL - proper. - * g++.dg/cpp2a/fn-template23.C: New test. - -2021-11-18 Tamar Christina - - PR tree-optimization/103253 - * gcc.dg/vect/pr103253.c: New test. - -2021-11-18 Matthias Kretz - - * c-c++-common/builtin-assoc-barrier-1.c: New test. - -2021-11-18 Richard Biener - - PR testsuite/103278 - * gcc.dg/tree-ssa/if-to-switch-3.c: Supply - --param case-values-threshold=4. - -2021-11-18 Richard Biener - - PR tree-optimization/103277 - * gcc.dg/pr103277.c: New testcase. - -2021-11-18 Hongyu Wang - - * gcc.target/i386/pr103069-2.c: Adjust. - -2021-11-18 konglin1 - - * gcc.target/i386/avx512fp16-vfcmulcph-1a.c: Add new test for alias. - * gcc.target/i386/avx512fp16-vfcmulcsh-1a.c: Likewise. - * gcc.target/i386/avx512fp16-vfmulcph-1a.c: Likewise. - * gcc.target/i386/avx512fp16-vfmulcsh-1a.c: Likewise. - * gcc.target/i386/avx512fp16vl-vfcmulcph-1a.c: Likewise. - * gcc.target/i386/avx512fp16vl-vfmulcph-1a.c: Likewise. - -2021-11-17 Andrew Pinski - - PR tree-optimization/103228 - PR tree-optimization/55177 - * gcc.dg/tree-ssa/pr103228-1.c: New test. - * gcc.dg/tree-ssa/pr55177-1.c: New test. - -2021-11-17 David Malcolm - - PR preprocessor/103026 - * c-c++-common/Wbidi-chars-ranges.c: New test. - -2021-11-17 Martin Sebor - - PR tree-optimization/102759 - * gcc.dg/Warray-parameter-10.c: New test. - * gcc.dg/Wstringop-overflow-82.c: New test. - -2021-11-17 H.J. Lu - - PR target/102952 - * gcc.target/i386/harden-sls-1.c: New test. - * gcc.target/i386/harden-sls-2.c: Likewise. - * gcc.target/i386/harden-sls-3.c: Likewise. - * gcc.target/i386/harden-sls-4.c: Likewise. - * gcc.target/i386/harden-sls-5.c: Likewise. - -2021-11-17 Martin Sebor - - PR c/101702 - * gcc.dg/Warray-parameter-11.c: New test. - -2021-11-17 Jeff Law - - * gcc.target/mips/frame-header-1.c (bar): Add noipa attribute. - * gcc.target/mips/frame-header-2.c (bar): Likewise. - -2021-11-17 Jakub Jelinek - - PR preprocessor/103130 - * c-c++-common/cpp/dir-only-9.c: New test. - -2021-11-17 Martin Uecker - - PR c/91038 - PR c/29970 - * gcc.dg/vla-stexp-3.c: New test. - * gcc.dg/vla-stexp-4.c: New test. - * gcc.dg/vla-stexp-5.c: New test. - * gcc.dg/vla-stexp-6.c: New test. - * gcc.dg/vla-stexp-7.c: New test. - * gcc.dg/vla-stexp-8.c: New test. - * gcc.dg/vla-stexp-9.c: New test. - -2021-11-17 Jakub Jelinek - - PR tree-optimization/103255 - * gcc.c-torture/execute/pr103255.c: New test. - -2021-11-17 Richard Sandiford - - * gcc.target/aarch64/sve/cond_fmaxnm_5.c: New test. - * gcc.target/aarch64/sve/cond_fmaxnm_5_run.c: Likewise. - * gcc.target/aarch64/sve/cond_fmaxnm_6.c: Likewise. - * gcc.target/aarch64/sve/cond_fmaxnm_6_run.c: Likewise. - * gcc.target/aarch64/sve/cond_fmaxnm_7.c: Likewise. - * gcc.target/aarch64/sve/cond_fmaxnm_7_run.c: Likewise. - * gcc.target/aarch64/sve/cond_fmaxnm_8.c: Likewise. - * gcc.target/aarch64/sve/cond_fmaxnm_8_run.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_5.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_5_run.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_6.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_6_run.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_7.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_7_run.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_8.c: Likewise. - * gcc.target/aarch64/sve/cond_fminnm_8_run.c: Likewise. - -2021-11-17 Andrew Pinski - - PR tree-optimization/103288 - * gcc.c-torture/compile/pr103288-1.c: New test. - -2021-11-17 Marek Polacek - - PR preprocessor/103026 - * c-c++-common/Wbidi-chars-1.c: New test. - * c-c++-common/Wbidi-chars-2.c: New test. - * c-c++-common/Wbidi-chars-3.c: New test. - * c-c++-common/Wbidi-chars-4.c: New test. - * c-c++-common/Wbidi-chars-5.c: New test. - * c-c++-common/Wbidi-chars-6.c: New test. - * c-c++-common/Wbidi-chars-7.c: New test. - * c-c++-common/Wbidi-chars-8.c: New test. - * c-c++-common/Wbidi-chars-9.c: New test. - * c-c++-common/Wbidi-chars-10.c: New test. - * c-c++-common/Wbidi-chars-11.c: New test. - * c-c++-common/Wbidi-chars-12.c: New test. - * c-c++-common/Wbidi-chars-13.c: New test. - * c-c++-common/Wbidi-chars-14.c: New test. - * c-c++-common/Wbidi-chars-15.c: New test. - * c-c++-common/Wbidi-chars-16.c: New test. - * c-c++-common/Wbidi-chars-17.c: New test. - -2021-11-17 David Malcolm - - PR analyzer/102695 - * gcc.dg/analyzer/pr102695.c: New test. - * gcc.dg/analyzer/strchr-1.c: New test. - -2021-11-17 David Malcolm - - PR analyzer/102779 - * gcc.dg/analyzer/capacity-1.c: Add dg-require-effective-target - alloca. Use __builtin_alloca rather than alloca. - * gcc.dg/analyzer/capacity-3.c: Likewise. - -2021-11-16 Jan Hubicka - - * gcc.dg/tree-ssa/modref-dse-4.c: New test. - -2021-11-16 Harald Anlauf - - PR fortran/103286 - * gfortran.dg/pr103286.f90: New test. - -2021-11-16 Peter Bergner - - PR target/102976 - * gcc.target/powerpc/pr102976.c: New test. - -2021-11-16 Martin Sebor - - PR tree-optimization/102960 - * gcc.dg/Wstringop-overflow-84.c: New test. - -2021-11-16 Tamar Christina - - * gcc.target/aarch64/shrn-combine-10.c: Use shrn. - -2021-11-16 Tamar Christina - - * gcc.dg/signbit-2.c: CHeck vect or scalar. - -2021-11-16 David Malcolm - - PR analyzer/102662 - * g++.dg/analyzer/pr102662.C: New test. - -2021-11-16 Andrew Pinski - - PR tree-optimization/103218 - * gcc.dg/tree-ssa/pr103218-1.c: New test. - -2021-11-16 Claudiu Zissulescu - - * gcc.target/arc/tmac-4.c: New test. - -2021-11-16 Richard Biener - - PR tree-optimization/102880 - * gcc.dg/tree-ssa/pr102880.c: New testcase. - * gcc.dg/tree-ssa/pr69270-3.c: Robustify. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Change the number of - expected threadings. - -2021-11-16 Richard Biener - - PR tree-optimization/102880 - * gcc.dg/tree-ssa/phi-opt-26.c: New testcase. - -2021-11-16 Claudiu Zissulescu - - * gcc.target/arc/add_n-combine.c: Update test patterns. - * gcc.target/arc/builtin_eh.c: Update test for linux platforms. - * gcc.target/arc/mul64-1.c: Disable this test while running on - linux. - * gcc.target/arc/tls-gd.c: Update matching patterns. - * gcc.target/arc/tls-ie.c: Likewise. - * gcc.target/arc/tls-ld.c: Likewise. - * gcc.target/arc/uncached-8.c: Likewise. - -2021-11-16 Martin Jambor - - * gcc.dg/ipa/ipa-sra-ret-nonull.c: New test. - -2021-11-16 Jakub Jelinek - - PR tree-optimization/103208 - * c-c++-common/gomp/loop-11.c: New test. - -2021-11-16 Jakub Jelinek - - PR tree-optimization/102009 - * gcc.dg/pr102009.c: New test. - -2021-11-16 Jan Hubicka - - * gcc.dg/tree-ssa/modref-dse-5.c: New test. - -2021-11-16 Andrew Pinski - - PR tree-optimization/103245 - * gcc.dg/tree-ssa/pr103245-1.c: New test. - -2021-11-16 H.J. Lu - - PR middle-end/103268 - * gcc.dg/pr103268-1.c: New test. - * gcc.dg/pr103268-2.c: Likewise. - -2021-11-15 Jason Merrill - - * lib/g++-dg.exp: Handle "impcx". - * lib/target-supports.exp - (check_effective_target_implicit_constexpr): New. - * g++.dg/abi/abi-tag16.C: - * g++.dg/abi/abi-tag18a.C: - * g++.dg/abi/guard4.C: - * g++.dg/abi/lambda-defarg1.C: - * g++.dg/abi/mangle26.C: - * g++.dg/cpp0x/constexpr-diag3.C: - * g++.dg/cpp0x/constexpr-ex1.C: - * g++.dg/cpp0x/constexpr-ice5.C: - * g++.dg/cpp0x/constexpr-incomplete2.C: - * g++.dg/cpp0x/constexpr-memfn1.C: - * g++.dg/cpp0x/constexpr-neg3.C: - * g++.dg/cpp0x/constexpr-specialization.C: - * g++.dg/cpp0x/inh-ctor19.C: - * g++.dg/cpp0x/inh-ctor30.C: - * g++.dg/cpp0x/lambda/lambda-mangle3.C: - * g++.dg/cpp0x/lambda/lambda-mangle5.C: - * g++.dg/cpp1y/auto-fn12.C: - * g++.dg/cpp1y/constexpr-loop5.C: - * g++.dg/cpp1z/constexpr-lambda7.C: - * g++.dg/cpp2a/constexpr-dtor3.C: - * g++.dg/cpp2a/constexpr-new13.C: - * g++.dg/cpp2a/constinit11.C: - * g++.dg/cpp2a/constinit12.C: - * g++.dg/cpp2a/constinit14.C: - * g++.dg/cpp2a/constinit15.C: - * g++.dg/cpp2a/spaceship-constexpr1.C: - * g++.dg/cpp2a/spaceship-eq3.C: - * g++.dg/cpp2a/udlit-class-nttp-neg2.C: - * g++.dg/debug/dwarf2/auto1.C: - * g++.dg/debug/dwarf2/cdtor-1.C: - * g++.dg/debug/dwarf2/lambda1.C: - * g++.dg/debug/dwarf2/pr54508.C: - * g++.dg/debug/dwarf2/pubnames-2.C: - * g++.dg/debug/dwarf2/pubnames-3.C: - * g++.dg/ext/is_literal_type3.C: - * g++.dg/ext/visibility/template7.C: - * g++.dg/gcov/gcov-12.C: - * g++.dg/gcov/gcov-2.C: - * g++.dg/ipa/devirt-35.C: - * g++.dg/ipa/devirt-36.C: - * g++.dg/ipa/devirt-37.C: - * g++.dg/ipa/devirt-44.C: - * g++.dg/ipa/imm-devirt-1.C: - * g++.dg/lookup/builtin5.C: - * g++.dg/lto/inline-crossmodule-1_0.C: - * g++.dg/modules/enum-1_a.C: - * g++.dg/modules/fn-inline-1_c.C: - * g++.dg/modules/pmf-1_b.C: - * g++.dg/modules/used-1_c.C: - * g++.dg/tls/thread_local11.C: - * g++.dg/tls/thread_local11a.C: - * g++.dg/tm/pr46653.C: - * g++.dg/ubsan/pr70035.C: - * g++.old-deja/g++.other/delete6.C: - * g++.dg/modules/pmf-1_a.H: - Adjust for implicit constexpr. - -2021-11-15 Jason Merrill - - * g++.dg/ext/flexary37.C: Remove expected error. - -2021-11-15 Siddhesh Poyarekar - - * gcc.dg/fold-stringops-2.c: Define size_t. - (safe1): Adjust. - (safe4): New test. - * gcc.dg/fold-stringops-3.c: New test. - -2021-11-15 Siddhesh Poyarekar - - * gcc.dg/Wobjsize-1.c: Make warning change line agnostic. - * gcc.dg/fold-stringops-2.c: New test. - -2021-11-15 Siddhesh Poyarekar - - * gcc.dg/fold-stringops-1.c: New test. - -2021-11-15 H.J. Lu - - PR middle-end/103184 - * gcc.dg/pr103184-1.c: New test. - * gcc.dg/pr103184-2.c: Likewise. - -2021-11-15 Iain Sandoe - - * gcc.dg/vect/tsvc/tsvc.h: Use malloc for Darwin 9 and - earlier. - -2021-11-15 Aldy Hernandez - - * gcc.dg/pr103207.c: New test. - -2021-11-15 Jakub Jelinek - - PR debug/100469 - * g++.dg/opt/pr100469.C: New test. - -2021-11-15 H.J. Lu - - PR target/103205 - * gcc.target/i386/pr103205-2.c: New test. - -2021-11-15 Aldy Hernandez - - * g++.dg/tree-ssa/pr31146-2.C: Add -fno-thread-jumps. - -2021-11-15 Richard Biener - - PR tree-optimization/103237 - * gcc.dg/torture/pr103237.c: New testcase. - -2021-11-15 Hongyu Wang - - PR target/103069 - * gcc.target/i386/pr103069-1.c: New test. - * gcc.target/i386/pr103069-2.c: Ditto. - -2021-11-15 Richard Biener - - PR tree-optimization/103219 - * gcc.dg/torture/pr103219.c: New testcase. - -2021-11-15 Rainer Orth - - * gcc.target/i386/pr101346.c: Require dfp support. - -2021-11-15 Jakub Jelinek - - PR target/103205 - * gcc.target/i386/pr103205.c: New test. - -2021-11-15 Jason Merrill - - * g++.dg/cpp0x/lambda/lambda-switch.C: Adjust expected location. - -2021-11-15 Jason Merrill - - * g++.dg/cpp1y/constexpr-89285-2.C: Expect error. - * g++.dg/cpp1y/constexpr-89285.C: Adjust error. - -2021-11-15 Jason Merrill - - PR c++/70690 - * g++.dg/init/array41a.C: New test. - -2021-11-15 Jason Merrill - - * g++.dg/cpp2a/constexpr-virtual20.C: New test. - -2021-11-15 Hans-Peter Nilsson - - * gcc.dg/uninit-pred-9_b.c: Correct last adjustment, for CRIS. - -2021-11-15 Andrew Pinski - - * gcc.dg/tree-ssa/pr100278.c: Move to ... - * gcc.c-torture/compile/pr100278.c: Here. - Remove dg-do and dg-options. - * gcc.dg/tree-ssa/pr101189.c: Move to ... - * gcc.c-torture/compile/pr101189.c: Here. - Remove dg-do and dg-options. - * gcc.dg/tree-ssa/pr100453.c: Move to ... - * gcc.c-torture/execute/pr100453.c: Here. - Remove dg-do and dg-options. - * gcc.dg/tree-ssa/pr101335.c: Move to ... - * gcc.c-torture/execute/pr101335.c: Here - Remove dg-do and dg-options. - -2021-11-14 Maciej W. Rozycki - - * gcc.target/vax/setmem.c: New test. - -2021-11-14 Jan Hubicka - - * gcc.dg/tree-ssa/modref-dse-3.c: New test. - -2021-11-14 Aldy Hernandez - - * gcc.dg/pr103229.c: Removed. - -2021-11-14 Aldy Hernandez - - * gcc.dg/pr103229.c: New test. - -2021-11-14 Martin Liska - - * c-c++-common/tsan/free_race.c: Remove unnecessary -ldl. - * c-c++-common/tsan/free_race2.c: Likewise. - -2021-11-14 Jan Hubicka - - * c-c++-common/asan/null-deref-1.c: Update template. - * c-c++-common/tsan/free_race.c: Update template. - * c-c++-common/tsan/free_race2.c: Update template. - * gcc.dg/ipa/ipa-sra-4.c: Update template. - -2021-11-13 Jan Hubicka - - * g++.dg/cpp1z/inh-ctor23.C: Fix template - * g++.dg/ipa/ipa-icf-4.C: Fix template - * gcc.dg/tree-ssa/modref-dse-1.c: New test. - * gcc.dg/tree-ssa/modref-dse-2.c: New test. - -2021-11-13 David Malcolm - - * gcc.dg/analyzer/pr93382.c: Tweak expected wording. - * gcc.dg/analyzer/taint-alloc-1.c: New test. - * gcc.dg/analyzer/taint-alloc-2.c: New test. - * gcc.dg/analyzer/taint-divisor-1.c: New test. - * gcc.dg/analyzer/taint-1.c: Rename to... - * gcc.dg/analyzer/taint-read-index-1.c: ...this. Tweak expected - wording. Mark some events as xfail. - * gcc.dg/analyzer/taint-read-offset-1.c: New test. - * gcc.dg/analyzer/taint-size-1.c: New test. - * gcc.dg/analyzer/taint-write-index-1.c: New test. - * gcc.dg/analyzer/taint-write-offset-1.c: New test. - -2021-11-13 Aldy Hernandez - - * gcc.dg/pr103222.c: New test. - -2021-11-12 Jan Hubicka - - PR tree-optimization/103209 - * gcc.dg/tree-ssa/pta-callused.c: Update template. - * gcc.c-torture/execute/pr103209.c: New test. - -2021-11-12 Richard Sandiford - - * gcc.target/aarch64/stp_1.c: New test. - -2021-11-12 Tobias Burnus - - * gfortran.dg/gomp/unexpected-end.f90: Update dg-error. - * gfortran.dg/gomp/clauses-1.f90: New test. - * gfortran.dg/gomp/nowait-2.f90: New test. - * gfortran.dg/gomp/nowait-3.f90: New test. - -2021-11-12 Martin Liska - - PR testsuite/103051 - * gcc.dg/vect/tsvc/vect-tsvc-s112.c: Skip test for old Power - CPUs. - -2021-11-12 Chung-Lin Tang - - * c-c++-common/gomp/target-implicit-map-1.c: New test. - * c-c++-common/goacc/combined-reduction.c: Adjust scan test pattern. - * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise. - * c-c++-common/goacc/mdc-1.c: Likewise. - * g++.dg/goacc/firstprivate-mappings-1.C: Likewise. - -2021-11-12 Mikael Morin - - PR fortran/97896 - * gfortran.dg/index_5.f90: New. - -2021-11-12 Richard Biener - - PR tree-optimization/103204 - * gcc.dg/torture/pr103204.c: New testcase. - -2021-11-11 Bill Schmidt - - * gcc.target/powerpc/test_mffsl.c: Require Power9. - -2021-11-11 Jan Hubicka - - * gfortran.dg/inline_matmul_17.f90: Fix template - -2021-11-11 Jan Hubicka - - * c-c++-common/tm/inline-asm.c: Disable pure-const. - * g++.dg/ipa/modref-1.C: Update template. - * gcc.dg/tree-ssa/modref-11.c: Disable pure-const. - * gcc.dg/tree-ssa/modref-14.c: New test. - * gcc.dg/tree-ssa/modref-8.c: Do not optimize sibling calls. - * gfortran.dg/do_subscript_3.f90: Add -O0. - -2021-11-11 Tobias Burnus - - * gfortran.dg/gomp/num-teams-1.f90: New file. - * gfortran.dg/gomp/num-teams-2.f90: New file. - -2021-11-11 Sandra Loosemore - - * g++.dg/warn/Wmismatched-new-delete-5.C: Add - -fdelete-null-pointer-checks. - * gcc.dg/attr-returns-nonnull.c: Likewise. - * gcc.dg/debug/btf/btf-datasec-1.c: Add -G0 option for nios2. - * gcc.dg/ifcvt-4.c: Skip on nios2. - * gcc.dg/struct-by-value-1.c: Add -G0 option for nios2. - -2021-11-11 Richard Biener - - PR tree-optimization/103188 - * gcc.dg/torture/pr103188.c: New testcase. - -2021-11-11 Richard Biener - - PR middle-end/103181 - * gcc.dg/torture/pr103181.c: New testcase. - -2021-11-11 Jakub Jelinek - - PR debug/101378 - * g++.dg/debug/dwarf2/pr101378.C: New test. - -2021-11-11 Prathamesh Kulkarni - - PR target/102376 - * gcc.target/aarch64/pr102376.c: New test. - -2021-11-11 Jakub Jelinek - - * c-c++-common/gomp/clauses-1.c (bar): Supply lower-bound expression - to half of the num_teams clauses. - * c-c++-common/gomp/num-teams-1.c: New test. - * c-c++-common/gomp/num-teams-2.c: New test. - * g++.dg/gomp/attrs-1.C (bar): Supply lower-bound expression - to half of the num_teams clauses. - * g++.dg/gomp/attrs-2.C (bar): Likewise. - * g++.dg/gomp/num-teams-1.C: New test. - * g++.dg/gomp/num-teams-2.C: New test. - -2021-11-11 liuhongt - - * gcc.target/i386/pr103151.c: New test. - -2021-11-10 Aldy Hernandez - - * gcc.dg/tree-ssa/pr102906.c: New test. - -2021-11-10 Andrew Pinski - - PR target/103170 - * gcc.c-torture/compile/vector-dup-1.c: New test. - -2021-11-10 H.J. Lu - - PR tree-optimization/102892 - * gcc.dg/pr102892-1.c: New file. - * gcc.dg/pr102892-2.c: Likewise. - -2021-11-10 Martin Sebor - - PR testsuite/103161 - * gcc.dg/tree-ssa/builtin-sprintf-warn-16.c: Avoid relying on - argument evaluation order. Cast width and precision to signed - to avoid undefined behavior. - -2021-11-10 qing zhao - - * gcc.target/i386/auto-init-6.c: _Complex long double is initialized - to zero now with -ftrivial-auto-var-init=pattern. - -2021-11-10 Tamar Christina - - * gcc.target/aarch64/sve/pred-not-gen-1.c: Update testcase. - * gcc.target/aarch64/sve/pred-not-gen-2.c: Update testcase. - * gcc.target/aarch64/sve/pred-not-gen-3.c: Update testcase. - * gcc.target/aarch64/sve/pred-not-gen-4.c: Update testcase. - -2021-11-10 Tamar Christina - - * gcc.target/aarch64/shrn-combine-8.c: Update. - * gcc.target/aarch64/shrn-combine-9.c: Update. - -2021-11-10 Jan Hubicka - - * gcc.dg/tree-ssa/modref-13.c: Fix typo. - -2021-11-10 Marek Polacek - - PR c++/101940 - * c-c++-common/Wno-attributes-1.c: New test. - * c-c++-common/Wno-attributes-2.c: New test. - * c-c++-common/Wno-attributes-3.c: New test. - -2021-11-10 Jan Hubicka - - * g++.dg/ipa/modref-1.C: Update template. - * gcc.dg/ipa/modref-3.c: Update template. - * gcc.dg/lto/modref-3_0.c: Update template. - * gcc.dg/lto/modref-4_0.c: Update template. - * gcc.dg/tree-ssa/modref-10.c: Update template. - * gcc.dg/tree-ssa/modref-11.c: Update template. - * gcc.dg/tree-ssa/modref-5.c: Update template. - * gcc.dg/tree-ssa/modref-6.c: Update template. - * gcc.dg/tree-ssa/modref-13.c: New test. - -2021-11-10 Tamar Christina - - PR testsuite/103042 - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Use - vect_long_long instead of vect_long. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: - Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: - Likewise. - -2021-11-10 Tamar Christina - - * gcc.dg/signbit-2.c: Turn off masks. - * gcc.dg/signbit-5.c: Likewise. - -2021-11-10 Richard Biener - - PR testsuite/102690 - * g++.dg/warn/Warray-bounds-16.C: XFAIL diagnostic part - and optimization. - -2021-11-10 Andre Vieira - - * gcc.target/aarch64/simd/lowering_tbaa.c: New test. - -2021-11-10 Andre Vieira - - * gcc.target/aarch64/fmla_intrinsic_1.c: Fix big-endian testism. - * gcc.target/aarch64/fmls_intrinsic_1.c: Likewise. - * gcc.target/aarch64/fmul_intrinsic_1.c: Likewise. - -2021-11-10 H.J. Lu - Hongtao Liu - - PR middle-end/102566 - * g++.target/i386/pr102566-1.C: New test. - * g++.target/i386/pr102566-2.C: Likewise. - * g++.target/i386/pr102566-3.C: Likewise. - * g++.target/i386/pr102566-4.C: Likewise. - * g++.target/i386/pr102566-5a.C: Likewise. - * g++.target/i386/pr102566-5b.C: Likewise. - * g++.target/i386/pr102566-6a.C: Likewise. - * g++.target/i386/pr102566-6b.C: Likewise. - * gcc.target/i386/pr102566-1a.c: Likewise. - * gcc.target/i386/pr102566-1b.c: Likewise. - * gcc.target/i386/pr102566-2.c: Likewise. - * gcc.target/i386/pr102566-3a.c: Likewise. - * gcc.target/i386/pr102566-3b.c: Likewise. - * gcc.target/i386/pr102566-4.c: Likewise. - * gcc.target/i386/pr102566-5.c: Likewise. - * gcc.target/i386/pr102566-6.c: Likewise. - * gcc.target/i386/pr102566-7.c: Likewise. - * gcc.target/i386/pr102566-8a.c: Likewise. - * gcc.target/i386/pr102566-8b.c: Likewise. - * gcc.target/i386/pr102566-9a.c: Likewise. - * gcc.target/i386/pr102566-9b.c: Likewise. - * gcc.target/i386/pr102566-10a.c: Likewise. - * gcc.target/i386/pr102566-10b.c: Likewise. - * gcc.target/i386/pr102566-11.c: Likewise. - * gcc.target/i386/pr102566-12.c: Likewise. - * gcc.target/i386/pr102566-13.c: New test. - * gcc.target/i386/pr102566-14.c: New test. - -2021-11-10 liuhongt - - * gcc.target/i386/ifcvt-reduction-logic-op.c: New test. - -2021-11-10 konglin1 - - * gcc.target/i386/avx512fp16-vector-complex-float.c: New test. - -2021-11-10 konglin1 - - * gcc.target/i386/avx512fp16vl-complex-broadcast-1.c: New test. - -2021-11-10 liuhongt - - * gcc.target/i386/pr102464-maxmin.c: New test. - -2021-11-10 Andrew Pinski - - PR target/101529 - * c-c++-common/torture/builtin-convertvector-2.c: New test. - * c-c++-common/torture/builtin-shufflevector-2.c: New test. - -2021-11-10 Sandra Loosemore - - * gcc.target/nios2/custom-fp-inline-1.c: New. - * gcc.target/nios2/custom-fp-inline-2.c: New. - * gcc.target/nios2/custom-fp-inline-3.c: New. - * gcc.target/nios2/custom-fp-inline-4.c: New. - -2021-11-09 David Malcolm - - * gcc.dg/bad-pragma-locations.c: New test. - -2021-11-09 Bill Schmidt - - * gcc.target/powerpc/p10_vec_xl_sext.c: Fix long long case. - -2021-11-09 Andrew Pinski - - PR tree-optimization/10352 - * gcc.c-torture/execute/pr10352-1.c: New test. - -2021-11-09 Marek Polacek - - * g++.dg/init/bitfield6.C: New test. - -2021-11-09 Kito Cheng - - * gcc.target/riscv/pr102957.c: New. - -2021-11-09 Jakub Jelinek - - PR c++/103114 - * g++.dg/ext/complex10.C: New test. - -2021-11-09 Patrick Palka - - PR c++/98394 - PR c++/85846 - * g++.dg/cpp2a/concepts-pr98394.C: New test. - * g++.dg/cpp2a/concepts-pr85846.C: New test. - -2021-11-09 Patrick Palka - - PR c++/100652 - * g++.dg/cpp1y/var-templ69.C: New test. - -2021-11-09 Przemyslaw Wirkus - - * gcc.target/arm/multilib.exp: Update test with armv9-a entries. - * lib/target-supports.exp (v9a): Add new armflag. - (__ARM_ARCH_9A__): Add new armdef. - -2021-11-09 Martin Jambor - - PR ipa/103132 - * gcc.dg/ipa/pr103132.c: New test. - -2021-11-09 Aldy Hernandez - - * gcc.dg/tree-ssa/builtin-sprintf-warn-22.c: XFAIL. - -2021-11-09 Jeff Law - - * gcc.dg/tree-ssa/bittest.c: New test - -2021-11-08 Andrew MacLeod - - * g++.dg/pr103122.C: New. - -2021-11-08 Martin Jambor - - PR ipa/103099 - PR ipa/103107 - * g++.dg/ipa/pr103099.C: New test. - * gcc.dg/ipa/pr103107.c: Likewise. - -2021-11-08 Aldy Hernandez - - * gcc.dg/pr103120.c: New test. - -2021-11-08 Martin Liska - - PR gcov-profile/100520 - * gcc.dg/pr100520.c: New test. - -2021-11-08 Richard Sandiford - - * gcc.target/aarch64/neoverse_v1_1.c: New test. - -2021-11-08 Jan Hubicka - - * gcc.dg/tree-ssa/modref-12.c: New test. - -2021-11-08 Haochen Gui - - * gcc.target/powerpc/vec-minmax-1.c: New test. - * gcc.target/powerpc/vec-minmax-2.c: Likewise. - -2021-11-08 liuhongt - - * gcc.target/i386/pr102464-fma.c: New test. - -2021-11-07 Thomas Koenig - - * gfortran.dg/co_reduce_2.f90: New test. - * gfortran.dg/coarray_collectives_14.f90: Change OPERATOR - to OPERATION. - * gfortran.dg/coarray_collectives_16.f90: Likewise. - * gfortran.dg/coarray_collectives_9.f90: Likewise. - Co-authored by: Steve Kargl - -2021-11-07 Sandra Loosemore - - * gfortran.dg/bessel_3.f90: Expect additional diagnostics from - multiple bad arguments in the call. - * gfortran.dg/pr24823.f: Likewise. - * gfortran.dg/pr39937.f: Likewise. - * gfortran.dg/pr41011.f: Likewise. - * gfortran.dg/pr61318.f90: Likewise. - * gfortran.dg/c-interop/c407b-2.f90: Remove xfails. - * gfortran.dg/c-interop/c535b-2.f90: Likewise. - -2021-11-06 Harald Anlauf - - PR fortran/102715 - * gfortran.dg/pr68019.f90: Adjust error message. - * gfortran.dg/pr102715.f90: New test. - -2021-11-06 David Edelsohn - - * gcc.dg/vect/tsvc/tsvc.h (init): Use posix_memalign on AIX. - -2021-11-05 Harald Anlauf - - PR fortran/102817 - * gfortran.dg/pr102817.f90: New test. - -2021-11-05 Jan Hubicka - - PR ipa/103073 - * g++.dg/torture/pr103073.C: New test. - * gcc.dg/tree-ssa/modref-11.c: New test. - -2021-11-05 Harald Anlauf - - PR fortran/69419 - * gfortran.dg/pr69419.f90: New test. - -2021-11-05 Bernhard Reutner-Fischer - - PR fortran/100972 - * gfortran.dg/implicit_14.f90: Adjust error. - * gfortran.dg/external_implicit_none_3.f08: New test. - -2021-11-05 Iain Sandoe - - * gcc.dg/vect/tsvc/tsvc.h: Do not try to include malloc.h - on Darwin also use posix_memalign (). - -2021-11-05 Andrew MacLeod - - * gcc.dg/pr103093.c: New. - -2021-11-05 Wilco Dijkstra - - PR target/103085 - PR target/103085 - * gcc.target/aarch64/pr103085.c: New test - -2021-11-05 Martin Liska - - PR gcov-profile/102945 - * gcc.dg/gcov-info-to-gcda.c: Filter supported targets. - -2021-11-05 Martin Liska - - PR debug/102955 - * g++.dg/pr102955.C: New test. - -2021-11-04 Jonathan Wakely - - * g++.dg/cpp0x/lambda/lambda-eh2.C: Add dg-warning for new - deprecation warnings. - * g++.dg/cpp0x/noexcept06.C: Likewise. - * g++.dg/cpp0x/noexcept07.C: Likewise. - * g++.dg/eh/forced3.C: Likewise. - * g++.dg/eh/unexpected1.C: Likewise. - * g++.old-deja/g++.eh/spec1.C: Likewise. - * g++.old-deja/g++.eh/spec2.C: Likewise. - * g++.old-deja/g++.eh/spec3.C: Likewise. - * g++.old-deja/g++.eh/spec4.C: Likewise. - * g++.old-deja/g++.mike/eh33.C: Likewise. - * g++.old-deja/g++.mike/eh34.C: Likewise. - * g++.old-deja/g++.mike/eh50.C: Likewise. - * g++.old-deja/g++.mike/eh51.C: Likewise. - -2021-11-04 Tamar Christina - - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-1.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-2.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-3.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-4.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-5.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-6.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-7.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vshl-opt-8.c: New test. - * gcc.target/aarch64/signbit-2.c: New test. - -2021-11-04 Tamar Christina - - * gcc.dg/signbit-2.c: New test. - * gcc.dg/signbit-3.c: New test. - * gcc.dg/signbit-4.c: New test. - * gcc.dg/signbit-5.c: New test. - * gcc.dg/signbit-6.c: New test. - * gcc.target/aarch64/signbit-1.c: New test. - -2021-11-04 Andrew MacLeod - - PR tree-optimization/103079 - * gcc.dg/pr103079.c: New. - -2021-11-04 Martin Jambor - - PR ipa/93385 - * gcc.dg/guality/ipa-sra-1.c: New test. - -2021-11-04 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: New code - generation tests. - -2021-11-04 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/bf16_vldN_lane_2.c: - Relax incorrect register number requirement. - * gcc.target/aarch64/sve/pcs/struct_3_256.c: Accept - equivalent codegen with fmov. - -2021-11-04 H.J. Lu - - * gcc.target/i386/amxtile-3.c: Check leal/addl for x32. - -2021-11-04 Tamar Christina - - PR testsuite/103042 - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: Update guards. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Likewise. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: Likewise. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c: - Likewise. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: - Likewise. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c: - Likewise. - * gcc.dg/vect/complex/complex-add-pattern-template.c: Likewise. - * gcc.dg/vect/complex/complex-add-template.c: Likewise. - * gcc.dg/vect/complex/complex-operations-run.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c: - Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c: - Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: - Likewise. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c: - Likewise. - -2021-11-04 Richard Biener - - PR rtl-optimization/103075 - * gcc.dg/pr103075.c: New testcase. - -2021-11-04 Aldy Hernandez - - PR tree-optimization/103062 - * gcc.dg/pr103062.c: New test. - -2021-11-04 Jiufu Guo - - * gcc.dg/vect/pr101145_1.c: Update case. - * gcc.dg/vect/pr101145_2.c: Update case. - * gcc.dg/vect/pr101145_3.c: Update case. - -2021-11-04 Martin Liska - - * g++.dg/asan/asan_test.C: Disable one warning. - -2021-11-04 Richard Sandiford - - * gcc.dg/rtl/aarch64/big-endian-cse-1.c: New test. - -2021-11-04 liuhongt - - * gcc.target/i386/pr101989-3.c: New test. - -2021-11-04 liuhongt - - * gcc.target/i386/pr102464-copysign-1.c: New test. - -2021-11-04 Hongyu Wang - - * gcc.target/i386/vnni-auto-vectorize-1.c: New test. - * gcc.target/i386/vnni-auto-vectorize-2.c: Ditto. - -2021-11-04 Hongyu Wang - - * gcc.target/i386/amxtile-3.c: New test. - -2021-11-04 Marek Polacek - - * g++.dg/opt/pr102970.C: Only run in C++14 and up. - -2021-11-03 Joseph Myers - - PR c/103031 - * gcc.dg/init-rounding-math-1.c: New test. - -2021-11-03 Andrew MacLeod - - * gcc.dg/tree-ssa/pr23744.c: Tweak output checks. - * gcc.dg/tree-ssa/vrp07.c: Ditto. - * gcc.dg/tree-ssa/vrp08.c: Ditto. - * gcc.dg/tree-ssa/vrp09.c: Ditto. - * gcc.dg/tree-ssa/vrp20.c: Ditto. - * gcc.dg/tree-ssa/vrp92.c: Ditto. - * jit.dg/test-sum-of-squares.c: Ditto. - -2021-11-03 Richard Biener - - PR tree-optimization/102970 - * g++.dg/opt/pr102970.C: New testcase. - -2021-11-03 Jan Hubicka - - * g++.dg/torture/pr103040.C: New test. - -2021-11-02 Jan Hubicka - - * gcc.dg/ipa/modref-3.c: New test. - -2021-11-02 Jan Hubicka - - * g++.dg/ipa/modref-1.C: Update template. - * gcc.dg/tree-ssa/modref-10.c: New test. - -2021-11-02 Stefan Schulze Frielinghaus - - * gcc.dg/tree-ssa/ldist-rawmemchr-1.c: For IBM Z set arch to z13 - and use z/Architecture since the tests require vector extensions. - * gcc.dg/tree-ssa/ldist-rawmemchr-2.c: Likewise. - * gcc.dg/tree-ssa/ldist-strlen-1.c: Likewise. - * gcc.dg/tree-ssa/ldist-strlen-3.c: Likewise. - -2021-11-02 Tamar Christina - - PR tree-optimization/103007 - * g++.dg/pr103007.C: New test. - -2021-11-02 Richard Biener - - PR middle-end/103038 - * g++.dg/pr103038.C: New testcase. - -2021-11-02 Jakub Jelinek - - PR target/103020 - * gcc.target/i386/pr103020.c: New test. - -2021-11-02 Martin Liska - - * gcc.dg/vect/vect.exp: Include also tsvc sub-directory. - * gcc.dg/vect/tsvc/license.txt: New test. - * gcc.dg/vect/tsvc/tsvc.h: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s000.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s111.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1111.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1112.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1113.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1115.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1119.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s112.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s113.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s114.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s115.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s116.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1161.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s118.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s119.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s121.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1213.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s122.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1221.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s123.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1232.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s124.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1244.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s125.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1251.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s126.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s127.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1279.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s128.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1281.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s131.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s13110.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s132.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1351.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s141.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s1421.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s151.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s152.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s161.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s162.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s171.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s172.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s173.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s174.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s175.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s176.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2101.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2102.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s211.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2111.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s212.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s221.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s222.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2233.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2244.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2251.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2275.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s231.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s232.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s233.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s235.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s241.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s242.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s243.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s244.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s251.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s252.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s253.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s254.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s255.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s256.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s257.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s258.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s261.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s271.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2710.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2711.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s2712.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s272.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s273.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s274.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s275.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s276.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s277.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s278.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s279.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s281.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s291.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s292.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s293.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s311.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s3110.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s3111.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s31111.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s3112.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s3113.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s312.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s313.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s314.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s315.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s316.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s317.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s318.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s319.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s321.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s322.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s323.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s3251.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s331.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s332.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s341.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s342.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s343.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s351.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s352.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s353.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s4112.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s4113.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s4114.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s4115.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s4116.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s4117.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s4121.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s421.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s422.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s423.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s424.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s431.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s441.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s442.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s443.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s451.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s452.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s453.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s471.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s481.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s482.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-s491.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-va.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vag.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vas.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vbor.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vdotr.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vif.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vpv.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vpvpv.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vpvts.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vpvtv.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vsumr.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vtv.c: New test. - * gcc.dg/vect/tsvc/vect-tsvc-vtvtv.c: New test. - -2021-11-02 liuhongt - - PR testsuite/102944 - * c-c++-common/Wstringop-overflow-2.c: Adjust target/xfail - selector. - * gcc.dg/Warray-bounds-48.c: Ditto. - * gcc.dg/Warray-bounds-51.c: Ditto. - * gcc.dg/Warray-parameter-3.c: Ditto. - * gcc.dg/Wstringop-overflow-14.c: Ditto. - * gcc.dg/Wstringop-overflow-21.c: Ditto. - * gcc.dg/Wstringop-overflow-68.c: Ditto - * gcc.dg/Wstringop-overflow-76.c: Ditto - * gcc.dg/Wzero-length-array-bounds-2.c: Ditto. - * lib/target-supports.exp (vect_slp_v4qi_store_unalign): New - efficient target. - (vect_slp_v4qi_store_unalign_1): Ditto. - (struct_4char_block_move): Ditto. - (struct_8char_block_move): Ditto. - (stryct_16char_block_move): Ditto. - (vect_slp_v2hi_store_align): Ditto. - (vect_slp_v2qi_store): Rename to .. - (vect_slp_v2qi_store_align): .. this. - (vect_slp_v4qi_store): Rename to .. - (vect_slp_v4qi_store_align): .. This. - (vect_slp_v8qi_store): Rename to .. - (vect_slp_v8qi_store_unalign_1): .. This. - (vect_slp_v16qi_store): Rename to .. - (vect_slp_v16qi_store_unalign_1): .. This. - (vect_slp_v2hi_store): Rename to .. - (vect_slp_v2hi_store_unalign): .. This. - (vect_slp_v4hi_store): Rename to .. - (vect_slp_v4hi_store_unalign): This. - (vect_slp_v2si_store): Rename to .. - (vect_slp_v2si_store_align): .. This. - (vect_slp_v4si_store): Rename to .. - (vect_slp_v4si_store_unalign): Ditto. - (check_vect_slp_aligned_store_usage): Rename to .. - (check_vect_slp_store_usage): .. this and adjust code to make - it an exact pattern match of corresponding testcase. - -2021-11-02 Roger Sayle - Jakub Jelinek - - PR target/102986 - * gcc.target/i386/sse2-v1ti-ashiftrt-1.c: New test case. - * gcc.target/i386/sse2-v1ti-ashiftrt-2.c: New test case. - * gcc.target/i386/sse2-v1ti-ashiftrt-3.c: New test case. - * gcc.target/i386/sse2-v1ti-shift-2.c: New test case. - * gcc.target/i386/sse2-v1ti-shift-3.c: New test case. - -2021-11-02 Jakub Jelinek - - * g++.dg/gomp/loop-8.C: New test. - -2021-11-01 Martin Liska - - * g++.dg/ipa/modref-1.C: Fix test-suite pattern scanning. - -2021-11-01 qing zhao - - * c-c++-common/pr102281.c: New test. - * gcc.target/i386/auto-init-2.c: Adjust testing case. - * gcc.target/i386/auto-init-4.c: Likewise. - * gcc.target/i386/auto-init-6.c: Likewise. - * gcc.target/aarch64/auto-init-6.c: Likewise. - -2021-11-01 Tamar Christina - - * gcc.target/aarch64/vect-cse-codegen.c: New test. - -2021-11-01 Tamar Christina - - PR testsuite/103000 - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: - Force unroll. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: likewise - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: - Likewise - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: - Likewise. - -2021-11-01 David Malcolm - - * c-c++-common/diagnostic-format-json-1.c: Add regexp to consume - "escape-source" attribute. - * c-c++-common/diagnostic-format-json-2.c: Likewise. - * c-c++-common/diagnostic-format-json-3.c: Likewise. - * c-c++-common/diagnostic-format-json-4.c: Likewise, twice. - * c-c++-common/diagnostic-format-json-5.c: Likewise. - * gcc.dg/cpp/warn-normalized-4-bytes.c: New test. - * gcc.dg/cpp/warn-normalized-4-unicode.c: New test. - * gcc.dg/encoding-issues-bytes.c: New test. - * gcc.dg/encoding-issues-unicode.c: New test. - * gfortran.dg/diagnostic-format-json-1.F90: Add regexp to consume - "escape-source" attribute. - * gfortran.dg/diagnostic-format-json-2.F90: Likewise. - * gfortran.dg/diagnostic-format-json-3.F90: Likewise. - -2021-11-01 Andrew MacLeod - - * gcc.dg/pr103003.c: New. - -2021-10-31 Jan Hubicka - - * g++.dg/ipa/modref-1.C: New test. - -2021-10-31 Iain Buclaw - - PR d/102959 - * gdc.dg/torture/pr96435.d: Adjust for BigEndian. - -2021-10-30 Tobias Burnus - - PR middle-end/102972 - * c-c++-common/gomp/target-device-ancestor-3.c: Add non-API - routine test. - * gfortran.dg/gomp/order-6.f90: Add missing bind(C). - * c-c++-common/gomp/teams-3.c: New test. - * gfortran.dg/gomp/teams-3.f90: New test. - * gfortran.dg/gomp/teams-4.f90: New test. - -2021-10-30 Manfred Schwarb - - * gfortran.dg/intrinsic_short-long.f90: New test. - -2021-10-30 Steve Kargl - - PR fortran/99853 - * gfortran.dg/pr99853.f90: New test. - -2021-10-30 Jakub Jelinek - - * c-c++-common/gomp/loop-10.c: New test. - -2021-10-29 Tamar Christina - - * g++.dg/vect/pr99149.cc: Update case. - -2021-10-29 Tobias Burnus - - * c-c++-common/gomp/pragma-1.c: New test. - * c-c++-common/gomp/pragma-2.c: New test. - -2021-10-29 Aldy Hernandez - - * gcc.dg/loop-unswitch-2.c: Adjust for threading changes. - * gcc.dg/old-style-asm-1.c: Same. - * gcc.dg/tree-ssa/phi_on_compare-1.c: Same. - * gcc.dg/tree-ssa/phi_on_compare-2.c: Same. - * gcc.dg/tree-ssa/phi_on_compare-3.c: Same. - * gcc.dg/tree-ssa/phi_on_compare-4.c: Same. - * gcc.dg/tree-ssa/pr20701.c: Same. - * gcc.dg/tree-ssa/pr21001.c: Same. - * gcc.dg/tree-ssa/pr21294.c: Same. - * gcc.dg/tree-ssa/pr21417.c: Same. - * gcc.dg/tree-ssa/pr21559.c: Same. - * gcc.dg/tree-ssa/pr21563.c: Same. - * gcc.dg/tree-ssa/pr49039.c: Same. - * gcc.dg/tree-ssa/pr59597.c: Same. - * gcc.dg/tree-ssa/pr61839_1.c: Same. - * gcc.dg/tree-ssa/pr61839_3.c: Same. - * gcc.dg/tree-ssa/pr66752-3.c: Same. - * gcc.dg/tree-ssa/pr68198.c: Same. - * gcc.dg/tree-ssa/pr77445-2.c: Same. - * gcc.dg/tree-ssa/pr77445.c: Same. - * gcc.dg/tree-ssa/ranger-threader-1.c: Same. - * gcc.dg/tree-ssa/ranger-threader-2.c: Same. - * gcc.dg/tree-ssa/ranger-threader-4.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-11.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-12.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-14.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-16.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. - * gcc.dg/tree-ssa/ssa-thread-14.c: Same. - * gcc.dg/tree-ssa/ssa-thread-backedge.c: Same. - * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Same. - * gcc.dg/tree-ssa/vrp02.c: Same. - * gcc.dg/tree-ssa/vrp03.c: Same. - * gcc.dg/tree-ssa/vrp05.c: Same. - * gcc.dg/tree-ssa/vrp06.c: Same. - * gcc.dg/tree-ssa/vrp07.c: Same. - * gcc.dg/tree-ssa/vrp08.c: Same. - * gcc.dg/tree-ssa/vrp09.c: Same. - * gcc.dg/tree-ssa/vrp33.c: Same. - * gcc.dg/uninit-pred-9_b.c: Same. - * gcc.dg/uninit-pred-7_a.c: xfail. - -2021-10-29 Jeff Law - - * lib/multiline.exp (_build_multiline_regex): Use a better - regexp than .* to match up to EOL. - -2021-10-29 Andrew MacLeod - - * gcc.dg/pr102983.c: New. - -2021-10-29 Tamar Christina - - PR tree-optimization/102977 - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: Updated. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Updated. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: Updated. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c: - Updated. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: - Updated. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: - Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Updated. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: - Updated. - * gcc.dg/vect/complex/fast-math-complex-add-double.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-add-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: - Updated. - * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Updated. - * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c: - Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c: - Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: - Updated. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c: - Updated. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-byte.c: Removed. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-byte.c: - Removed. - -2021-10-29 Jakub Jelinek - - * gcc.dg/Wstringop-overflow-62.c: Adjust expected diagnostics. - -2021-10-29 Richard Biener - - * gcc.dg/torture/fp-uint64-convert-double-1.c: Add - -fexcess-precision=standard. - -2021-10-29 Jakub Jelinek - - PR c++/102820 - * g++.dg/cpp0x/dr2351.C: New test. - -2021-10-29 Xionghu Luo - - PR target/102868 - * gcc.target/powerpc/pr102868.c: New test. - -2021-10-29 liuhongt - - * gcc.target/i386/pr102464-vrndscaleph.c: New test. - -2021-10-28 Jakub Jelinek - - PR tree-optimization/102951 - * gcc.dg/tree-ssa/pr102951.c: New test. - * gcc.dg/Wstringop-overflow-62.c: Adjust expected diagnostics. - -2021-10-28 Andrew MacLeod - - * gcc.dg/ifcvt-4.c: Adjust. - -2021-10-28 Andrew MacLeod - - * gcc.dg/tree-ssa/evrp9.c: Adjust message scanned for. - * gcc.dg/tree-ssa/pr21458-2.c: Ditto. - -2021-10-28 Patrick Palka - - PR c++/102933 - * g++.dg/cpp2a/nontype-class50.C: New test. - * g++.dg/cpp2a/nontype-class50a.C: New test. - -2021-10-28 Patrick Palka - - PR c++/102780 - * g++.dg/cpp1z/fold13.C: New test. - -2021-10-28 Richard Biener - - PR middle-end/84407 - * gcc.dg/torture/fp-uint64-convert-double-1.c: New testcase. - * gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise. - -2021-10-28 Aldy Hernandez - - * gcc.dg/tree-ssa/vrp106.c: Adjust for threading. - * gcc.dg/tree-ssa/vrp113.c: Same. - -2021-10-28 Richard Biener - - PR middle-end/57245 - * gcc.dg/torture/fp-double-convert-float-1.c: New testcase. - -2021-10-28 Kewen Lin - - PR target/102767 - * gcc.target/powerpc/ppc-fortran/pr102767.f90: New file. - -2021-10-28 Alexandre Oliva - - * c-c++-common/torture/harden-comp.c: New. - * c-c++-common/torture/harden-cond.c: New. - -2021-10-28 Xionghu Luo - - * gcc.target/powerpc/builtins-1.c: Adjust. - -2021-10-28 Xionghu Luo - - PR target/94613 - * gcc.target/powerpc/pr94613.c: New test. - -2021-10-28 Hongyu Wang - - * gcc.target/i386/avx512fp16-recip-1.c: New test. - * gcc.target/i386/avx512fp16-recip-2.c: Ditto. - * gcc.target/i386/pr102464.c: Add -fno-trapping-math. - -2021-10-27 Martin Sebor - - * gcc.dg/Warray-bounds-90.c: Fix a typo. - -2021-10-27 Tobias Burnus - - * gfortran.dg/PR93963.f90: Extend testcase by scan-tree-dump test. - -2021-10-27 Jakub Jelinek - - PR tree-optimization/102897 - * gcc.dg/pr102897.c: Add -Wno-psabi to dg-options. - -2021-10-27 Jakub Jelinek - - * c-c++-common/gomp/loop-8.c: New test. - * c-c++-common/gomp/loop-9.c: New test. - -2021-10-27 Jakub Jelinek - - PR c++/102854 - * g++.dg/gomp/loop-3.C: Don't expect some errors. - * g++.dg/gomp/loop-7.C: New test. - -2021-10-27 Jakub Jelinek - - PR c++/102753 - * g++.dg/cpp2a/consteval7.C: Expect diagnostics on quux. - * g++.dg/cpp2a/consteval24.C: New test. - * g++.dg/cpp23/consteval-if12.C: New test. - -2021-10-27 Jakub Jelinek - - PR c++/102753 - * g++.dg/cpp2a/consteval13.C: Don't expect errors. - * g++.dg/cpp2a/consteval20.C: New test. - * g++.dg/cpp2a/consteval21.C: New test. - * g++.dg/cpp2a/consteval22.C: New test. - * g++.dg/cpp2a/consteval23.C: New test. - * g++.dg/cpp23/consteval-if11.C: New test. - -2021-10-26 Martin Sebor - - PR tree-optimization/102238 - PR tree-optimization/102919 - * gcc.dg/tree-ssa/builtin-sprintf-warn-23.c: Remove warnings. - * gcc.dg/Wrestrict-23.c: New test. - -2021-10-26 Martin Sebor - - * gcc.dg/Wstringop-overflow-22.c: Correct typos. - * gcc.dg/Wstringop-overflow-81.c: New test. - -2021-10-26 Martin Sebor - - PR middle-end/102453 - * gcc.dg/Warray-bounds-90.c: New test. - * gcc.dg/Wstringop-overflow-77.c: New test. - * gcc.dg/Wstringop-overflow-78.c: New test. - * gcc.dg/Wstringop-overflow-79.c: New test. - * gcc.dg/Wstringop-overflow-80.c: New test. - * c-c++-common/gomp/atomic-4.c: Avoid an out-of-bounds access. - -2021-10-26 Harald Anlauf - - PR fortran/86551 - * gfortran.dg/pr86551.f90: New test to verify that PR86551 remains - fixed. - -2021-10-26 Harald Anlauf - - PR fortran/102956 - * gfortran.dg/pdt_32.f03: New test. - -2021-10-26 Vladimir N. Makarov - - PR rtl-optimization/102842 - * g++.target/arm/pr102842.C: New test. - -2021-10-26 Harald Anlauf - - PR fortran/102917 - * gfortran.dg/pdt_4.f03: Adjust testcase. - -2021-10-26 Harald Anlauf - - PR fortran/102816 - * gfortran.dg/pr102816.f90: New test. - -2021-10-26 Paul A. Clarke - - * gcc.target/powerpc/pr78102.c: Fix dg directives to require Power8 - vector support. Also, add -DNO_WARN_X86_INTRINSICS. - -2021-10-26 Marek Polacek - - PR c++/102617 - * g++.dg/cpp23/init-stmt1.C: New test. - * g++.dg/cpp23/init-stmt2.C: New test. - -2021-10-26 Sandra Loosemore - - PR testsuite/102910 - * gfortran.dg/c-interop/cf-descriptor-5-c.c: Use a static buffer - instead of alloca. - -2021-10-26 Rainer Orth - - PR testsuite/102834 - * gcc.target/i386/avx512f-pr96891-3.c: Add -mstv -mno-stackrealign - to dg-options. - -2021-10-26 Rainer Orth - - PR testsuite/102835 - * gcc.target/i386/avx512fp16-trunchf.c: Allow for %esp instead of - %ebp. - -2021-10-26 Rainer Orth - - PR testsuite/102836 - * gcc.target/i386/pieces-memset-1.c: Add -mno-stackrealign to - dg-options. - * gcc.target/i386/pieces-memset-4.c: Likewise. - * gcc.target/i386/pieces-memset-7.c: Likewise. - * gcc.target/i386/pieces-memset-8.c: Likewise. - * gcc.target/i386/pieces-memset-41.c: Likewise. - * gcc.target/i386/pr90773-1.c: Likewise. - -2021-10-26 Rainer Orth - - * gcc.target/i386/pr100704-1.c: Add -fomit-frame-pointer to - dg-options. - * gcc.target/i386/pr100704-2.c: Likewise. - -2021-10-26 Kewen Lin - - * gcc.dg/pr102897.c: New test. - -2021-10-26 Tobias Burnus - - PR fortran/102885 - * gfortran.dg/lto/bind-c-char_0.f90: New test. - -2021-10-26 Roger Sayle - - * gcc.target/i386/sse2-v1ti-shift.c: New test case. - -2021-10-26 Aldy Hernandez - - PR testsuite/102857 - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Add -fdump-tree-vrp2-stats. - Tweak for aarch64. - -2021-10-26 Aldy Hernandez - - * gcc.dg/tree-ssa/pr21090.c: Adjust for threading. - * gcc.dg/tree-ssa/ssa-thread-12.c: Removed. - -2021-10-26 Aldy Hernandez - - * gcc.dg/graphite/scop-dsyr2k-2.c: Adjust for jump threading changes. - * gcc.dg/graphite/scop-dsyr2k.c: Same. - * gcc.dg/graphite/scop-dsyrk-2.c: Same. - * gcc.dg/graphite/scop-dsyrk.c: Same. - * gcc.dg/tree-ssa/pr20701.c: Same. - * gcc.dg/tree-ssa/pr20702.c: Same. - * gcc.dg/tree-ssa/pr21086.c: Same. - * gcc.dg/tree-ssa/pr25382.c: Same. - * gcc.dg/tree-ssa/pr58480.c: Same. - * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Same. - * gcc.dg/tree-ssa/vrp08.c: Same. - * gcc.dg/tree-ssa/vrp55.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Removed. - * gcc.dg/tree-ssa/ssa-thread-11.c: Removed. - * gcc.dg/uninit-pr89230-1.c: xfail. - * gcc.dg/tree-ssa/ssa-thread-backedge.c: New file. - -2021-10-25 Andrew MacLeod - - * gcc.dg/tree-ssa/vrp98.c: Disable evrp for vrp1 test. - * gcc.dg/tree-ssa/vrp98-1.c: New. Test for folding in evrp. - -2021-10-25 Roger Sayle - - * gcc.target/bfin/ssashift-1.c: New test case. - -2021-10-25 Tamar Christina - - PR target/102907 - * gcc.target/aarch64/shrn-combine-1.c: Disable SVE. - * gcc.target/aarch64/shrn-combine-2.c: Likewise. - * gcc.target/aarch64/shrn-combine-3.c: Likewise. - * gcc.target/aarch64/shrn-combine-4.c: Likewise. - * gcc.target/aarch64/shrn-combine-5.c: Likewise. - * gcc.target/aarch64/shrn-combine-6.c: Likewise. - * gcc.target/aarch64/shrn-combine-7.c: Likewise. - -2021-10-25 Jim Wilson - Kito Cheng - Jia-Wei Chen - Shi-Hua Liao - - * gcc.target/riscv/zba-slliuw.c: Apply zbs to this testcase. - * gcc.target/riscv/zbs-bclr.c: New. - * gcc.target/riscv/zbs-bext.c: Ditto. - * gcc.target/riscv/zbs-binv.c: Ditto. - * gcc.target/riscv/zbs-bset.c: Ditto. - -2021-10-25 Jim Wilson - - * gcc.target/riscv/zbb-li-rotr.c: New. - -2021-10-25 Jim Wilson - Kito Cheng - Jia-Wei Chen - - * gcc.target/riscv/zbb-andn-orn-xnor-01.c: New. - * gcc.target/riscv/zbb-andn-orn-xnor-02.c: Ditto. - * gcc.target/riscv/zbb-min-max.c: Ditto. - * gcc.target/riscv/zbb-rol-ror-01.c: Ditto. - * gcc.target/riscv/zbb-rol-ror-02.c: Ditto. - * gcc.target/riscv/zbb-rol-ror-03.c: Ditto. - * gcc.target/riscv/zbbw.c: Ditto. - -2021-10-25 Jim Wilson - Kito Cheng - Jia-Wei Chen - - * gcc.target/riscv/zba-adduw.c: New. - * gcc.target/riscv/zba-shNadd-01.c: Ditto. - * gcc.target/riscv/zba-shNadd-02.c: Ditto. - * gcc.target/riscv/zba-shNadd-03.c: Ditto. - * gcc.target/riscv/zba-slliuw.c: Ditto. - * gcc.target/riscv/zba-zextw.c: Ditto. - -2021-10-25 liuhongt - - PR target/102464 - * gcc.target/i386/pr102464-sqrtph.c: New test. - * gcc.target/i386/pr102464-sqrtsh.c: New test. - -2021-10-25 Richard Biener - - PR tree-optimization/102920 - * gcc.dg/torture/pr102920.c: New testcase. - -2021-10-25 konglin1 - - * gcc.target/i386/avx512fp16-complex-fma.c: New test. - -2021-10-24 Roger Sayle - - * gcc.target/bfin/20090914-3.c: Tweak test case. - -2021-10-23 H.J. Lu - - PR fortran/9262 - * gfortran.dg/bind-c-intent-out-2.f90: Moved to ... - * gfortran.dg/ubsan/bind-c-intent-out-2.f90 - -2021-10-23 Roger Sayle - - * gcc.target/i386/sse2-v1ti-logic.c: New test case. - * gcc.target/i386/sse2-v1ti-logic-2.c: New test case. - -2021-10-23 José Rui Faustino de Sousa - Sandra Loosemore - - PR fortran/95196 - * gfortran.dg/PR95196.f90: New. - -2021-10-22 Tobias Burnus - - * gfortran.dg/associate_3.f03: Replace dg-excess-errors by - other dg-* to change XFAIL to PASS. - * gfortran.dg/binding_label_tests_4.f03: Likewise. - * gfortran.dg/block_4.f08: Likewise. - * gfortran.dg/charlen_04.f90: Likewise. - * gfortran.dg/charlen_05.f90: Likewise. - * gfortran.dg/charlen_06.f90: Likewise. - * gfortran.dg/charlen_13.f90: Likewise. - * gfortran.dg/coarray_9.f90: Likewise. - * gfortran.dg/coarray_collectives_3.f90: Likewise. - * gfortran.dg/data_invalid.f90: Likewise. - * gfortran.dg/do_4.f: Likewise. - * gfortran.dg/dollar_sym_1.f90: Likewise. - * gfortran.dg/dollar_sym_3.f: Likewise. - * gfortran.dg/fmt_tab_1.f90: Likewise. - * gfortran.dg/fmt_tab_2.f90: Likewise. - * gfortran.dg/forall_16.f90: Likewise. - * gfortran.dg/g77/970125-0.f: Likewise. - * gfortran.dg/gomp/unexpected-end.f90: Likewise. - * gfortran.dg/interface_operator_1.f90: Likewise. - * gfortran.dg/interface_operator_2.f90: Likewise. - * gfortran.dg/line_length_4.f90: Likewise. - * gfortran.dg/line_length_5.f90: Likewise. - * gfortran.dg/line_length_6.f90: Likewise. - * gfortran.dg/line_length_8.f90: Likewise. - * gfortran.dg/line_length_9.f90: Likewise. - * gfortran.dg/pr65045.f90: Likewise. - * gfortran.dg/pr69497.f90: Likewise. - * gfortran.dg/submodule_21.f08: Likewise. - * gfortran.dg/tab_continuation.f: Likewise. - * gfortran.dg/typebound_proc_2.f90: Likewise. - * gfortran.dg/warnings_are_errors_1.f90: Likewise. - -2021-10-22 Tobias Burnus - - PR fortran/92621 - * gfortran.dg/bind-c-intent-out-2.f90: New test. - -2021-10-22 José Rui Faustino de Sousa - Sandra Loosemore - - PR fortran/94289 - * gfortran.dg/PR94289.f90: New. - -2021-10-22 José Rui Faustino de Sousa - Sandra Loosemore - - PR fortran/100906 - * gfortran.dg/PR100906.f90: New. - * gfortran.dg/PR100906.c: New. - -2021-10-22 Richard Biener - - PR tree-optimization/102893 - * gcc.dg/tree-ssa/ssa-dce-9.c: New testcase. - -2021-10-22 Richard Biener - - PR bootstrap/102681 - * gcc.dg/tree-ssa/ssa-fre-97.c: New testcase. - * gcc.dg/ubsan/pr81981.c: XFAIL one case. - -2021-10-21 Uroš Bizjak - - PR testsuite/102840 - * gcc.target/i386/pr22076.c: Adjust to avoid compile time optimization. - -2021-10-21 Hongyu Wang - - * gcc.target/i386/avx512fp16-13.c: Adjust scan-assembler for - xmm/ymm load/store. - -2021-10-21 Martin Liska - - PR debug/102585 - PR bootstrap/102766 - * gcc.dg/pr102585.c: New test. - -2021-10-21 Martin Jambor - - PR tree-optimization/102505 - * g++.dg/torture/pr102505.C: New test. - -2021-10-21 Jakub Jelinek - - * gfortran.dg/gomp/strictly-structured-block-1.f90: Use call do_work - instead of x = x + 1 in places where the latter could be a data race. - * gfortran.dg/gomp/strictly-structured-block-2.f90: Likewise. - * gfortran.dg/gomp/strictly-structured-block-3.f90: Likewise. - -2021-10-21 Hongyu Wang - - PR target/102812 - * gcc.target/i386/pr102812.c: New test. - -2021-10-21 Jakub Jelinek - - PR middle-end/64888 - * c-c++-common/ubsan/pr64888.c: New test. - -2021-10-21 Andrew Pinski - - * gcc.dg/pr36902.c: Move buf to be a non-static variable. - -2021-10-21 Richard Biener - - PR testsuite/102861 - * gcc.dg/vect/bb-slp-16.c: Revert previous change, scan - the vect dump instead. - -2021-10-21 Chung-Lin Tang - - * gfortran.dg/gomp/cancel-1.f90: Adjust testcase. - * gfortran.dg/gomp/nesting-3.f90: Adjust testcase. - * gfortran.dg/gomp/strictly-structured-block-1.f90: New test. - * gfortran.dg/gomp/strictly-structured-block-2.f90: New test. - * gfortran.dg/gomp/strictly-structured-block-3.f90: New test. - -2021-10-21 Sandra Loosemore - - PR fortran/94070 - * gfortran.dg/c-interop/shape-bindc.f90: New test. - * gfortran.dg/c-interop/shape-poly.f90: New test. - * gfortran.dg/c-interop/size-bindc.f90: New test. - * gfortran.dg/c-interop/size-poly.f90: New test. - * gfortran.dg/c-interop/ubound-bindc.f90: New test. - * gfortran.dg/c-interop/ubound-poly.f90: New test. - -2021-10-20 Tamar Christina - - * gcc.target/aarch64/mvn-cmeq0-1.c: New test. - -2021-10-20 Tamar Christina - - * gcc.target/aarch64/narrow_high_combine.c: Update case. - * gcc.target/aarch64/xtn-combine-1.c: New test. - * gcc.target/aarch64/xtn-combine-2.c: New test. - * gcc.target/aarch64/xtn-combine-3.c: New test. - * gcc.target/aarch64/xtn-combine-4.c: New test. - * gcc.target/aarch64/xtn-combine-5.c: New test. - * gcc.target/aarch64/xtn-combine-6.c: New test. - -2021-10-20 Tamar Christina - - * gcc.target/aarch64/shl-combine-2.c: New test. - * gcc.target/aarch64/shl-combine-3.c: New test. - * gcc.target/aarch64/shl-combine-4.c: New test. - * gcc.target/aarch64/shl-combine-5.c: New test. - -2021-10-20 Tamar Christina - - * gcc.target/aarch64/shrn-combine-10.c: New test. - * gcc.target/aarch64/shrn-combine-5.c: New test. - * gcc.target/aarch64/shrn-combine-6.c: New test. - * gcc.target/aarch64/shrn-combine-7.c: New test. - * gcc.target/aarch64/shrn-combine-8.c: New test. - * gcc.target/aarch64/shrn-combine-9.c: New test. - -2021-10-20 Tamar Christina - - * gcc.target/aarch64/shrn-combine-1.c: New test. - * gcc.target/aarch64/shrn-combine-2.c: New test. - * gcc.target/aarch64/shrn-combine-3.c: New test. - * gcc.target/aarch64/shrn-combine-4.c: New test. - -2021-10-20 Chung-Lin Tang - - * gfortran.dg/gomp/reduction4.f90: Adjust omp target in_reduction' scan - pattern. - -2021-10-20 Martin Liska - - Revert: - 2021-10-20 Martin Liska - - PR target/102374 - * gcc.target/i386/pr102374.c: New test. - -2021-10-20 Martin Liska - - Revert: - 2021-10-20 Martin Liska - - PR target/102375 - * gcc.target/aarch64/pr102375.c: New test. - -2021-10-20 Wilco Dijkstra - - PR target/100966 - * gcc.target/aarch64/frint.x: Add roundeven tests. - * gcc.target/aarch64/frint_double.c: Likewise. - * gcc.target/aarch64/frint_float.c: Likewise. - -2021-10-20 Andre Simoes Dias Vieira - - * gcc.target/aarch64/fmla_intrinsic_1.c: prevent over optimization. - * gcc.target/aarch64/fmls_intrinsic_1.c: Likewise. - * gcc.target/aarch64/fmul_intrinsic_1.c: Likewise. - * gcc.target/aarch64/mla_intrinsic_1.c: Likewise. - * gcc.target/aarch64/mls_intrinsic_1.c: Likewise. - * gcc.target/aarch64/mul_intrinsic_1.c: Likewise. - * gcc.target/aarch64/simd/vmul_elem_1.c: Likewise. - * gcc.target/aarch64/vclz.c: Likewise. - * gcc.target/aarch64/vneg_s.c: Likewise. - -2021-10-20 Andre Simoes Dias Vieira - - * gcc.target/aarch64/merge_trunc1.c: New test. - -2021-10-20 Eric Botcazou - - * gcc.dg/pr102764.c: New test. - -2021-10-20 Tobias Burnus - - PR fortran/102815 - * gfortran.dg/bind-c-contiguous-5.c (do_call, reset_var): Handle - big andian. - -2021-10-20 Jakub Jelinek - - PR c++/102642 - * g++.dg/tls/pr102642.C: New test. - -2021-10-20 Aldy Hernandez - Richard Biener - - * gcc.dg/Warray-bounds-87.c: Remove xfail. - * gcc.dg/analyzer/pr94851-2.c: Remove xfail. - * gcc.dg/graphite/pr69728.c: Remove xfail. - * gcc.dg/graphite/scop-dsyr2k.c: Remove xfail. - * gcc.dg/graphite/scop-dsyrk.c: Remove xfail. - * gcc.dg/shrink-wrap-loop.c: Remove xfail. - * gcc.dg/loop-8.c: Adjust for new threading restrictions. - * gcc.dg/tree-ssa/ifc-20040816-1.c: Same. - * gcc.dg/tree-ssa/pr21559.c: Same. - * gcc.dg/tree-ssa/pr59597.c: Same. - * gcc.dg/tree-ssa/pr71437.c: Same. - * gcc.dg/tree-ssa/pr77445-2.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. - * gcc.dg/vect/bb-slp-16.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Remove. - * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Remove. - * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Remove. - * gcc.dg/tree-ssa/ssa-thread-invalid.c: New test. - -2021-10-20 Jeff Law - - * gcc.dg/plugin/gil-1.c: Add dg-require-effective-target marker. - -2021-10-20 Hongtao Liu - Kewen Lin - - PR middle-end/102722 - PR middle-end/102697 - PR middle-end/102462 - PR middle-end/102706 - PR middle-end/102744 - * c-c++-common/Wstringop-overflow-2.c: Adjust testcase with new - xfail/target selector. - * gcc.dg/Warray-bounds-51.c: Ditto. - * gcc.dg/Warray-parameter-3.c: Ditto. - * gcc.dg/Wstringop-overflow-14.c: Ditto. - * gcc.dg/Wstringop-overflow-21.c: Ditto. - * gcc.dg/Wstringop-overflow-68.c: Ditto. - * gcc.dg/Wstringop-overflow-76.c: Ditto. - * gcc.dg/Warray-bounds-48.c: Ditto. - * gcc.dg/Wzero-length-array-bounds-2.c: Ditto. - * lib/target-supports.exp (check_vect_slp_aligned_store_usage): - New function. - (check_effective_target_vect_slp_v2qi_store): Ditto. - (check_effective_target_vect_slp_v4qi_store): Ditto. - (check_effective_target_vect_slp_v8qi_store): Ditto. - (check_effective_target_vect_slp_v16qi_store): Ditto. - (check_effective_target_vect_slp_v2hi_store): Ditto. - (check_effective_target_vect_slp_v4hi_store): Ditto. - (check_effective_target_vect_slp_v2si_store): Ditto. - (check_effective_target_vect_slp_v4si_store): Ditto. - * c-c++-common/Wstringop-overflow-2-novec.c: New test. - * gcc.dg/Warray-bounds-51-novec.c: New test. - * gcc.dg/Warray-bounds-48-novec.c: New test. - * gcc.dg/Warray-parameter-3-novec.c: New test. - * gcc.dg/Wstringop-overflow-14-novec.c: New test. - * gcc.dg/Wstringop-overflow-21-novec.c: New test. - * gcc.dg/Wstringop-overflow-76-novec.c: New test. - * gcc.dg/Wzero-length-array-bounds-2-novec.c: New test. - -2021-10-19 Paul A. Clarke - - * gcc.target/powerpc/sse4_2-pcmpgtq.c: Tighten dg constraints - to minimally Power8. - -2021-10-19 Tobias Burnus - - PR fortran/92482 - * gfortran.dg/bind-c-char-descr.f90: Remove xfail; extend a bit. - -2021-10-19 Martin Liska - - PR target/102375 - * gcc.target/aarch64/pr102375.c: New test. - -2021-10-19 Richard Biener - - PR tree-optimization/102827 - * gcc.dg/pr102827.c: New testcase. - -2021-10-19 Xionghu Luo - - * gcc.target/powerpc/builtins-1.c: Update instruction counts. - -2021-10-19 Haochen Gui - - * gcc.target/powerpc/p10_vec_xl_sext.c: New test. - -2021-10-19 prathamesh.kulkarni - - PR target/93183 - * gcc.target/aarch64/sve/pr93183.c: Remove -mcpu=generic+sve from dg-options. - -2021-10-19 Jakub Jelinek - - PR c++/102786 - * g++.dg/cpp2a/constexpr-virtual19.C: New test. - -2021-10-19 Martin Liska - - PR target/102374 - * gcc.target/i386/pr102374.c: New test. - -2021-10-19 dianhong xu - - * gcc.target/i386/avx512fp16-set1-pch-1a.c: New test. - * gcc.target/i386/avx512fp16-set1-pch-1b.c: New test. - * gcc.target/i386/avx512fp16vl-set1-pch-1a.c: New test. - * gcc.target/i386/avx512fp16vl-set1-pch-1b.c: New test. - -2021-10-18 Andrew MacLeod - - PR tree-optimization/102796 - * g++.dg/pr102796.C: New. - -2021-10-18 Kwok Cheung Yeung - - * gfortran.dg/gomp/declare-variant-15.f90 (variant2, base2, test2): - Add tests. - * gfortran.dg/gomp/declare-variant-16.f90 (base2, variant2, test2): - Add tests. - -2021-10-18 Uroš Bizjak - - PR target/102761 - * gcc.target/i386/pr102761.c: New test. - -2021-10-18 Jason Merrill - - * g++.dg/template/crash90.C: Check location of pedwarn. - -2021-10-18 H.J. Lu - - * gcc.target/i386/387-12.c (dg-do compile): Require ia32. - (dg-options): Remove -m32. - -2021-10-18 Roger Sayle - - * gcc.target/i386/387-12.c: Add explicit -m32 option. - -2021-10-18 Roger Sayle - - * gcc.target/bfin/ones.c: New test case. - * gcc.target/bfin/parity.c: New test case. - * gcc.target/bfin/popcount.c: New test case. - -2021-10-18 Richard Biener - - PR tree-optimization/102788 - * g++.dg/vect/pr102788.cc: New testcase. - -2021-10-18 Roger Sayle - - * gcc.target/bfin/ssabs.c: New test case. - * gcc.target/bfin/ssneg.c: New test case. - -2021-10-18 prathamesh.kulkarni - - PR target/93183 - * gcc.target/aarch64/sve/cond_unary_4.c: Adjust. - * gcc.target/aarch64/sve/pr93183.c: New test. - -2021-10-18 Tobias Burnus - - PR fortran/102086 - PR fortran/92189 - PR fortran/92621 - PR fortran/101308 - PR fortran/101309 - PR fortran/101635 - PR fortran/92482 - * gfortran.dg/ISO_Fortran_binding_4.f90: Extend testcase. - * gfortran.dg/PR100914.f90: Remove xfail. - * gfortran.dg/PR100915.c: Expect CFI_type_cfunptr. - * gfortran.dg/PR100915.f90: Handle CFI_type_cfunptr != CFI_type_cptr. - * gfortran.dg/PR93963.f90: Extend select-rank tests. - * gfortran.dg/bind-c-intent-out.f90: Change to dg-do run, - update scan-dump. - * gfortran.dg/bind_c_array_params_2.f90: Update/extend scan-dump. - * gfortran.dg/bind_c_char_10.f90: Update scan-dump. - * gfortran.dg/bind_c_char_8.f90: Remove dg-error "sorry". - * gfortran.dg/c-interop/allocatable-dummy.f90: Remove xfail. - * gfortran.dg/c-interop/c1255-1.f90: Likewise. - * gfortran.dg/c-interop/c407c-1.f90: Update dg-error. - * gfortran.dg/c-interop/cf-descriptor-5.f90: Remove xfail. - * gfortran.dg/c-interop/cf-out-descriptor-3.f90: Likewise. - * gfortran.dg/c-interop/cf-out-descriptor-4.f90: Likewise. - * gfortran.dg/c-interop/cf-out-descriptor-5.f90: Likewise. - * gfortran.dg/c-interop/contiguous-2.f90: Likewise. - * gfortran.dg/c-interop/contiguous-3.f90: Likewise. - * gfortran.dg/c-interop/deferred-character-1.f90: Likewise. - * gfortran.dg/c-interop/deferred-character-2.f90: Likewise. - * gfortran.dg/c-interop/fc-descriptor-3.f90: Likewise. - * gfortran.dg/c-interop/fc-descriptor-5.f90: Likewise. - * gfortran.dg/c-interop/fc-descriptor-6.f90: Likewise. - * gfortran.dg/c-interop/fc-out-descriptor-3.f90: Likewise. - * gfortran.dg/c-interop/fc-out-descriptor-4.f90: Likewise. - * gfortran.dg/c-interop/fc-out-descriptor-5.f90: Likewise. - * gfortran.dg/c-interop/fc-out-descriptor-6.f90: Likewise. - * gfortran.dg/c-interop/ff-descriptor-5.f90: Likewise. - * gfortran.dg/c-interop/ff-descriptor-6.f90: Likewise. - * gfortran.dg/c-interop/fc-descriptor-7.f90: Remove xfail + extend. - * gfortran.dg/c-interop/fc-descriptor-7-c.c: Update for changes. - * gfortran.dg/c-interop/shape.f90: Add implicit none. - * gfortran.dg/c-interop/typecodes-array-char-c.c: Add kind=4 char. - * gfortran.dg/c-interop/typecodes-array-char.f90: Likewise. - * gfortran.dg/c-interop/typecodes-array-float128.f90: Remove xfail. - * gfortran.dg/c-interop/typecodes-scalar-basic.f90: Likewise. - * gfortran.dg/c-interop/typecodes-scalar-float128.f90: Likewise. - * gfortran.dg/c-interop/typecodes-scalar-int128.f90: Likewise. - * gfortran.dg/c-interop/typecodes-scalar-longdouble.f90: Likewise. - * gfortran.dg/iso_c_binding_char_1.f90: Remove dg-error "sorry". - * gfortran.dg/pr93792.f90: Turn XFAIL into PASS. - * gfortran.dg/ISO_Fortran_binding_19.f90: New test. - * gfortran.dg/assumed_type_12.f90: New test. - * gfortran.dg/assumed_type_13.c: New test. - * gfortran.dg/assumed_type_13.f90: New test. - * gfortran.dg/bind-c-char-descr.f90: New test. - * gfortran.dg/bind-c-contiguous-1.c: New test. - * gfortran.dg/bind-c-contiguous-1.f90: New test. - * gfortran.dg/bind-c-contiguous-2.f90: New test. - * gfortran.dg/bind-c-contiguous-3.c: New test. - * gfortran.dg/bind-c-contiguous-3.f90: New test. - * gfortran.dg/bind-c-contiguous-4.c: New test. - * gfortran.dg/bind-c-contiguous-4.f90: New test. - * gfortran.dg/bind-c-contiguous-5.c: New test. - * gfortran.dg/bind-c-contiguous-5.f90: New test. - -2021-10-18 Richard Biener - - PR tree-optimization/102798 - * gcc.dg/pr102798.c: New testcase. - -2021-10-18 Tobias Burnus - - PR fortran/102745 - * gfortran.dg/class_72.f90: New. - -2021-10-15 Jason Merrill - - PR c++/51851 - PR c++/101402 - PR c++/102033 - PR c++/102034 - PR c++/102039 - PR c++/102044 - * g++.dg/template/fnspec2.C: New test. - * g++.dg/template/parm-cv1.C: New test. - * g++.dg/template/parm-cv2.C: New test. - * g++.dg/template/parm-cv3.C: New test. - -2021-10-15 Harald Anlauf - Tobias Burnus - - PR fortran/102685 - * gfortran.dg/derived_constructor_char_1.f90: Fix invalid code. - * gfortran.dg/pr70931.f90: Likewise. - * gfortran.dg/transfer_simplify_2.f90: Likewise. - * gfortran.dg/pr102685.f90: New test. - -2021-10-15 Aldy Hernandez - - * gcc.dg/tree-ssa/pr102736.c: Make sign explicit. - -2021-10-15 Richard Biener - - * lib/prune.exp: Prune STABS obsoletion message. - -2021-10-15 Richard Biener - - PR c/102763 - * gcc.dg/gimplefe-error-12.c: New testcase. - -2021-10-15 Richard Biener - - PR ipa/102762 - * gcc.dg/torture/pr102762.c: New testcase. - -2021-10-15 Hongyu Wang - - * gcc.target/i386/avx512fp16-builtin_shuffle-1.c: New test. - * gcc.target/i386/avx512fp16-pr101846.c: Ditto. - * gcc.target/i386/avx512fp16-pr94680.c: Ditto. - -2021-10-15 Hongyu Wang - - * gcc.target/i386/avx512fp16-v4hf-concat.c: New test. - -2021-10-15 Hongyu Wang - - * gcc.target/i386/avx512fp16-vfcmaddcph-1a.c: Add scan for - vblendmps. - * gcc.target/i386/avx512fp16-vfmaddcph-1a.c: Likewise. - * gcc.target/i386/avx512fp16vl-vfcmaddcph-1a.c: Likewise. - * gcc.target/i386/avx512fp16vl-vfmaddcph-1a.c: Likewise. - * gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Add -mno-avx512vl. - * gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: Likewise. - -2021-10-15 Jason Merrill - - * g++.dg/ext/vla22.C: Don't expect a narrowing error. - * g++.dg/cpp0x/constexpr-inst1.C: New test. - -2021-10-15 Andrew MacLeod - - * gcc.dg/pr102738.c: Add target int128. - -2021-10-14 Joseph Myers - - * gcc.dg/format/c11-dfp-printf-1.c, - gcc.dg/format/c11-dfp-scanf-1.c, gcc.dg/format/c2x-dfp-printf-1.c, - gcc.dg/format/c2x-dfp-scanf-1.c: New tests. - -2021-10-14 Raphael Moreira Zinsly - - * gcc.target/powerpc/unwind-backchain.c: New test. - -2021-10-14 Harald Anlauf - - PR fortran/102717 - * gfortran.dg/reshape_shape_2.f90: New test. - -2021-10-14 Harald Anlauf - - PR fortran/102716 - * gfortran.dg/shape_10.f90: New test. - -2021-10-14 Andrew MacLeod - - PR tree-optimization/102738 - * gcc.dg/pr102738.c: New. - -2021-10-14 Kwok Cheung Yeung - - * gfortran.dg/gomp/declare-variant-1.f90: New test. - * gfortran.dg/gomp/declare-variant-10.f90: New test. - * gfortran.dg/gomp/declare-variant-11.f90: New test. - * gfortran.dg/gomp/declare-variant-12.f90: New test. - * gfortran.dg/gomp/declare-variant-13.f90: New test. - * gfortran.dg/gomp/declare-variant-14.f90: New test. - * gfortran.dg/gomp/declare-variant-15.f90: New test. - * gfortran.dg/gomp/declare-variant-16.f90: New test. - * gfortran.dg/gomp/declare-variant-17.f90: New test. - * gfortran.dg/gomp/declare-variant-18.f90: New test. - * gfortran.dg/gomp/declare-variant-19.f90: New test. - * gfortran.dg/gomp/declare-variant-2.f90: New test. - * gfortran.dg/gomp/declare-variant-2a.f90: New test. - * gfortran.dg/gomp/declare-variant-3.f90: New test. - * gfortran.dg/gomp/declare-variant-4.f90: New test. - * gfortran.dg/gomp/declare-variant-5.f90: New test. - * gfortran.dg/gomp/declare-variant-6.f90: New test. - * gfortran.dg/gomp/declare-variant-7.f90: New test. - * gfortran.dg/gomp/declare-variant-8.f90: New test. - * gfortran.dg/gomp/declare-variant-9.f90: New test. - -2021-10-14 Jeff Law - - * gcc.target/mips/msa-insert-split.c: Turn off vectorizer. - -2021-10-14 Tamar Christina - - * gcc.target/aarch64/sve/pred-cond-reduc.c: New test. - -2021-10-14 Jeff Law - - * gcc.dg/tree-ssa/predcom-3.c: Disable vectorizer. - -2021-10-14 Aldy Hernandez - - PR tree-optimization/102736 - * gcc.dg/tree-ssa/pr102736.c: New test. - -2021-10-14 Hongyu Wang - - * gcc.target/i386/avx-1.c: Add new mask3 builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: Add scanning for - mask/mask3 intrinsic. - * gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfcmaddcsh-1c.c: New test for - -mavx512vl. - * gcc.target/i386/avx512fp16-vfmaddcsh-1c.c: Ditto. - -2021-10-14 liuhongt - - * g++.dg/warn/Wuninitialized-13.C: Add -fno-tree-vectorize. - -2021-10-13 Martin Sebor - - PR middle-end/102630 - * gcc.target/i386/addr-space-2.c: Add -Wall. - * gcc.target/i386/addr-space-3.c: New test. - -2021-10-13 Andre Vieira - - * gcc.target/arm/mve/mve.exp: Make it test main directory. - * gcc.target/arm/mve/mve_load_memory_modes.c: New test. - * gcc.target/arm/mve/mve_store_memory_modes.c: New test. - -2021-10-13 Richard Biener - - PR tree-optimization/102659 - * gcc.dg/torture/pr69760.c: Adjust the testcase. - * gcc.target/i386/avx2-vect-mask-store-move1.c: Expect to move - the conversions to unsigned as well. - -2021-10-13 Richard Biener - - PR ipa/102714 - * gcc.dg/ipa/pr102714.c: New testcase. - -2021-10-13 Kewen Lin - - PR testsuite/102658 - * gcc.target/powerpc/dform-1.c: Adjust as vectorization enabled at O2. - * gcc.target/powerpc/dform-2.c: Likewise. - * gcc.target/powerpc/pr80510-2.c: Likewise. - -2021-10-12 Joseph Myers - - * gcc.dg/format/c11-printf-1.c, gcc.dg/format/c11-scanf-1.c, - gcc.dg/format/c2x-printf-1.c, gcc.dg/format/c2x-scanf-1.c, - gcc.dg/format/ext-9.c, gcc.dg/format/ext-10.c: New tests. - -2021-10-12 Bill Schmidt - - PR target/101985 - * gcc.target/powerpc/pr101985-1.c: New. - * gcc.target/powerpc/pr101985-2.c: New. - -2021-10-12 Uroš Bizjak - - PR target/85730 - PR target/82524 - * gcc.target/i386/pr85730.c: New test. - -2021-10-12 Richard Biener - - PR tree-optimization/102696 - * g++.dg/vect/pr102696.cc: New testcase. - -2021-10-12 Richard Biener - - PR tree-optimization/102572 - * g++.dg/vect/pr102572.cc: New testcase. - -2021-10-12 Tamar Christina - - * gcc.target/aarch64/sve/pred-not-gen-1.c: New test. - * gcc.target/aarch64/sve/pred-not-gen-2.c: New test. - * gcc.target/aarch64/sve/pred-not-gen-3.c: New test. - * gcc.target/aarch64/sve/pred-not-gen-4.c: New test. - -2021-10-12 Tobias Burnus - - PR fortran/102541 - * gfortran.dg/assumed_rank_24.f90: New test. - -2021-10-12 Jakub Jelinek - - * gcc.dg/gomp/simd-2.c: Remove option -fvect-cost-model=cheap. - * gcc.dg/gomp/simd-3.c: Likewise. - -2021-10-12 liuhongt - - * gcc.target/i386/pr102483.c: New test. - * gcc.target/i386/pr102483-2.c: New test. - -2021-10-12 Paul A. Clarke - - * gcc.target/powerpc/pr78102.c: Fix dg-require-effective-target. - * gcc.target/powerpc/sse4_1-packusdw.c: Likewise. - * gcc.target/powerpc/sse4_1-pmaxsb.c: Likewise. - * gcc.target/powerpc/sse4_1-pmaxsd.c: Likewise. - * gcc.target/powerpc/sse4_1-pmaxud.c: Likewise. - * gcc.target/powerpc/sse4_1-pmaxuw.c: Likewise. - * gcc.target/powerpc/sse4_1-pminsb.c: Likewise. - * gcc.target/powerpc/sse4_1-pminsd.c: Likewise. - * gcc.target/powerpc/sse4_1-pminud.c: Likewise. - * gcc.target/powerpc/sse4_1-pminuw.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovsxbd.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovsxbw.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovsxwd.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovzxbd.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovzxbq.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovzxbw.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovzxdq.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovzxwd.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovzxwq.c: Likewise. - * gcc.target/powerpc/sse4_1-pmulld.c: Likewise. - * gcc.target/powerpc/sse4_2-pcmpgtq.c: Likewise. - * gcc.target/powerpc/sse4_1-phminposuw.c: Use correct - dg-require-effective-target. - -2021-10-12 Paul A. Clarke - - * gcc.target/powerpc/pr78102.c: Copy from gcc.target/i386, - adjust dg directives to suit. - * gcc.target/powerpc/sse4_1-packusdw.c: Same. - * gcc.target/powerpc/sse4_1-pcmpeqq.c: Same. - * gcc.target/powerpc/sse4_1-pmuldq.c: Same. - * gcc.target/powerpc/sse4_1-pmulld.c: Same. - * gcc.target/powerpc/sse4_2-pcmpgtq.c: Same. - * gcc.target/powerpc/sse4_2-check.h: Copy from gcc.target/i386, - tweak to suit. - -2021-10-12 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-pmovsxbd.c: Copy from gcc.target/i386, - adjust dg directives to suit. - * gcc.target/powerpc/sse4_1-pmovsxbq.c: Same. - * gcc.target/powerpc/sse4_1-pmovsxbw.c: Same. - * gcc.target/powerpc/sse4_1-pmovsxdq.c: Same. - * gcc.target/powerpc/sse4_1-pmovsxwd.c: Same. - * gcc.target/powerpc/sse4_1-pmovsxwq.c: Same. - * gcc.target/powerpc/sse4_1-pmovzxbd.c: Same. - * gcc.target/powerpc/sse4_1-pmovzxbq.c: Same. - * gcc.target/powerpc/sse4_1-pmovzxbw.c: Same. - * gcc.target/powerpc/sse4_1-pmovzxdq.c: Same. - * gcc.target/powerpc/sse4_1-pmovzxwd.c: Same. - * gcc.target/powerpc/sse4_1-pmovzxwq.c: Same. - -2021-10-12 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-pmaxsb.c: Copy from gcc.target/i386. - * gcc.target/powerpc/sse4_1-pmaxsd.c: Same. - * gcc.target/powerpc/sse4_1-pmaxud.c: Same. - * gcc.target/powerpc/sse4_1-pmaxuw.c: Same. - * gcc.target/powerpc/sse4_1-pminsb.c: Same. - * gcc.target/powerpc/sse4_1-pminsd.c: Same. - * gcc.target/powerpc/sse4_1-pminud.c: Same. - * gcc.target/powerpc/sse4_1-pminuw.c: Same. - -2021-10-11 Jan Hubicka - - * gcc.dg/torture/ssa-pta-fn-1.c: Fix template; add noipa. - * gcc.dg/tree-ssa/pta-callused.c: Fix template. - -2021-10-11 Patrick Palka - - PR c++/102643 - * g++.dg/cpp2a/class-deduction-alias11.C: New test. - -2021-10-11 Richard Biener - - PR middle-end/101480 - * g++.dg/torture/pr10148.C: New testcase. - -2021-10-11 Stefan Schulze Frielinghaus - - * gcc.target/s390/rawmemchr-1.c: New test. - -2021-10-11 Stefan Schulze Frielinghaus - - * gcc.dg/tree-ssa/ldist-rawmemchr-1.c: New test. - * gcc.dg/tree-ssa/ldist-rawmemchr-2.c: New test. - * gcc.dg/tree-ssa/ldist-strlen-1.c: New test. - * gcc.dg/tree-ssa/ldist-strlen-2.c: New test. - * gcc.dg/tree-ssa/ldist-strlen-3.c: New test. - -2021-10-11 Kito Cheng - - PR target/100316 - * gcc.c-torture/compile/pr100316.c: New. - -2021-10-11 liuhongt - - PR middle-end/102669 - * gnat.dg/unroll1.adb: Add -fno-tree-vectorize. - -2021-10-10 Harald Anlauf - - PR fortran/99348 - PR fortran/102521 - * gfortran.dg/parameter_array_init_8.f90: New test. - -2021-10-10 Andrew Pinski - - PR tree-optimization/102622 - * gcc.c-torture/execute/bitfld-10.c: New test. - -2021-10-09 Harald Anlauf - - PR fortran/65454 - * gfortran.dg/interface_operator_3.f90: New test. - -2021-10-09 Kewen Lin - - * c-c++-common/Wstringop-overflow-2.c: Add missing comment. - * gcc.dg/Warray-bounds-51.c: Likewise. - * gcc.dg/Warray-parameter-3.c: Likewise. - * gcc.dg/Wstringop-overflow-14.c: Likewise. - * gcc.dg/Wstringop-overflow-21.c: Likewise. - * gcc.dg/Wstringop-overflow-76.c: Likewise. - -2021-10-09 liuhongt - - * g++.dg/tree-ssa/pr94403.C: Add -fno-tree-vectorize - * gcc.dg/optimize-bswapsi-5.c: Ditto. - * gcc.dg/optimize-bswapsi-6.c: Ditto. - * gcc.dg/Warray-bounds-51.c: Add additional option - -mtune=generic for target x86/i?86 - * gcc.dg/Wstringop-overflow-14.c: Ditto. - -2021-10-09 Jakub Jelinek - - * c-c++-common/gomp/sections1.c (foo): Don't expect errors on - multiple statements in between section directive(s). Add testcases - for invalid no statements in between section directive(s). - * gcc.dg/gomp/sections-2.c (foo): Don't expect errors on - multiple statements in between section directive(s). - * g++.dg/gomp/sections-2.C (foo): Likewise. - * g++.dg/gomp/attrs-6.C (foo): Add testcases for multiple - statements in between section directive(s). - (bar): Add testcases for multiple statements in between scan - directive. - * g++.dg/gomp/attrs-7.C (bar): Adjust expected error recovery. - -2021-10-09 liuhongt - - * g++.target/i386/pr102639.C: New test. - -2021-10-08 Sandra Loosemore - - PR fortran/54753 - * gfortran.dg/c-interop/c535c-1.f90: Rewrite and expand. - * gfortran.dg/c-interop/c535c-2.f90: Remove xfails. - * gfortran.dg/c-interop/c535c-3.f90: Likewise. - * gfortran.dg/c-interop/c535c-4.f90: Likewise. - * gfortran.dg/PR94110.f90: Extend to cover class types. - -2021-10-08 Vladimir N. Makarov - - PR rtl-optimization/102627 - * gcc.target/i386/pr102627.c: New test. - -2021-10-08 Richard Sandiford - - * gcc.dg/pr102385.c: New test. - -2021-10-08 Jakub Jelinek - - PR c++/102640 - * c-c++-common/gomp/pr102640.c: New test. - -2021-10-08 Roger Sayle - - * gcc.target/i386/sse2-mmx-paddsb-2.c: Test for -128 or 128. - * gcc.target/i386/sse2-mmx-paddusb-2.c: Test for -1 or 255. - * gcc.target/i386/sse2-mmx-psubsb-2.c: Test for -128 or 128. - -2021-10-08 liuhongt - - * gcc.target/i386/pr102464.c: New test. - -2021-10-08 liuhongt - - * gcc.target/i386/mmx-reduce-op-1.c: New test. - * gcc.target/i386/mmx-reduce-op-2.c: New test. - -2021-10-08 liuhongt - - * c-c++-common/Wstringop-overflow-2.c: Adjust testcase. - * g++.dg/tree-ssa/pr81408.C: Ditto. - * g++.dg/warn/Wuninitialized-13.C: Ditto. - * gcc.dg/Warray-bounds-51.c: Ditto. - * gcc.dg/Warray-parameter-3.c: Ditto. - * gcc.dg/Wstringop-overflow-14.c: Ditto. - * gcc.dg/Wstringop-overflow-21.c: Ditto. - * gcc.dg/Wstringop-overflow-68.c: Ditto. - * gcc.dg/Wstringop-overflow-76.c: Ditto. - * gcc.dg/gomp/pr46032-2.c: Ditto. - * gcc.dg/gomp/pr46032-3.c: Ditto. - * gcc.dg/gomp/simd-2.c: Ditto. - * gcc.dg/gomp/simd-3.c: Ditto. - * gcc.dg/graphite/fuse-1.c: Ditto. - * gcc.dg/pr67089-6.c: Ditto. - * gcc.dg/pr82929-2.c: Ditto. - * gcc.dg/pr82929.c: Ditto. - * gcc.dg/store_merging_1.c: Ditto. - * gcc.dg/store_merging_11.c: Ditto. - * gcc.dg/store_merging_13.c: Ditto. - * gcc.dg/store_merging_15.c: Ditto. - * gcc.dg/store_merging_16.c: Ditto. - * gcc.dg/store_merging_19.c: Ditto. - * gcc.dg/store_merging_24.c: Ditto. - * gcc.dg/store_merging_25.c: Ditto. - * gcc.dg/store_merging_28.c: Ditto. - * gcc.dg/store_merging_30.c: Ditto. - * gcc.dg/store_merging_5.c: Ditto. - * gcc.dg/store_merging_7.c: Ditto. - * gcc.dg/store_merging_8.c: Ditto. - * gcc.dg/strlenopt-85.c: Ditto. - * gcc.dg/tree-ssa/dump-6.c: Ditto. - * gcc.dg/tree-ssa/pr19210-1.c: Ditto. - * gcc.dg/tree-ssa/pr47059.c: Ditto. - * gcc.dg/tree-ssa/pr86017.c: Ditto. - * gcc.dg/tree-ssa/pr91482.c: Ditto. - * gcc.dg/tree-ssa/predcom-1.c: Ditto. - * gcc.dg/tree-ssa/predcom-dse-3.c: Ditto. - * gcc.dg/tree-ssa/prefetch-3.c: Ditto. - * gcc.dg/tree-ssa/prefetch-6.c: Ditto. - * gcc.dg/tree-ssa/prefetch-8.c: Ditto. - * gcc.dg/tree-ssa/prefetch-9.c: Ditto. - * gcc.dg/tree-ssa/ssa-dse-18.c: Ditto. - * gcc.dg/tree-ssa/ssa-dse-19.c: Ditto. - * gcc.dg/uninit-40.c: Ditto. - * gcc.dg/unroll-7.c: Ditto. - * gcc.misc-tests/help.exp: Ditto. - * gcc.target/i386/avx512vpopcntdqvl-vpopcntd-1.c: Ditto. - * gcc.target/i386/pr34012.c: Ditto. - * gcc.target/i386/pr49781-1.c: Ditto. - * gcc.target/i386/pr95798-1.c: Ditto. - * gcc.target/i386/pr95798-2.c: Ditto. - * gfortran.dg/pr77498.f: Ditto. - -2021-10-07 Patrick Palka - - PR c++/61355 - * g++.old-deja/g++.pt/nontype5.C: Adjust. - * g++.dg/template/param6.C: New test. - -2021-10-07 Roger Sayle - - * gcc.target/i386/sse2-mmx-paddsb-2.c: New test case. - * gcc.target/i386/sse2-mmx-paddusb-2.c: New test case. - * gcc.target/i386/sse2-mmx-psubsb-2.c: New test case. - * gcc.target/i386/sse2-mmx-psubusb-2.c: New test case. - -2021-10-07 Patrick Palka - - PR c++/99904 - * g++.dg/cpp2a/concepts-ttp4.C: New test. - -2021-10-07 Jonathan Wakely - - PR c++/102482 - * g++.dg/warn/Winit-list5.C: New test. - -2021-10-07 Jan Hubicka - - * g++.dg/torture/pr102581.C: New test. - -2021-10-07 Jakub Jelinek - - PR c++/102615 - * g++.dg/cpp23/charlit-encoding1.C: New testcase for C++23 P2316R2. - -2021-10-07 Richard Biener - - * gcc.dg/gimplefe-47.c: New testcase. - -2021-10-06 Jason Merrill - - * g++.dg/cpp2a/spaceship-synth8a.C: New test. - -2021-10-06 Jakub Jelinek - - PR c++/102612 - * g++.dg/cpp23/feat-cxx2b.C: Expect __cpp_constexpr 202110L rather - than 201907L. - * g++.dg/cpp23/constexpr-nonlit1.C: New test. - * g++.dg/cpp23/constexpr-nonlit2.C: New test. - * g++.dg/cpp23/constexpr-nonlit3.C: New test. - * g++.dg/cpp23/constexpr-nonlit4.C: New test. - * g++.dg/cpp23/constexpr-nonlit5.C: New test. - * g++.dg/cpp23/constexpr-nonlit6.C: New test. - * g++.dg/diagnostic/constexpr1.C: Only expect some diagnostics for - c++20_down. - * g++.dg/cpp1y/constexpr-label.C: Likewise. - * g++.dg/cpp1y/constexpr-neg1.C: Likewise. - * g++.dg/cpp2a/constexpr-try5.C: Likewise. Adjust some expected - wording. - * g++.dg/cpp2a/constexpr-dtor3.C: Likewise. - * g++.dg/cpp2a/consteval3.C: Likewise. Add effective target c++20 - and remove dg-options. - -2021-10-06 Jakub Jelinek - - * gcc.dg/cpp/gnu11-elifdef-1.c: New test. - * gcc.dg/cpp/gnu11-elifdef-2.c: New test. - * gcc.dg/cpp/gnu11-elifdef-3.c: New test. - * gcc.dg/cpp/gnu11-elifdef-4.c: New test. - * g++.dg/cpp/elifdef-1.C: New test. - * g++.dg/cpp/elifdef-2.C: New test. - * g++.dg/cpp/elifdef-3.C: New test. - * g++.dg/cpp/elifdef-4.C: New test. - * g++.dg/cpp/elifdef-5.C: New test. - * g++.dg/cpp/elifdef-6.C: New test. - * g++.dg/cpp/elifdef-7.C: New test. - -2021-10-06 Tobias Burnus - - * gfortran.dg/attr_deprecated-2.f90: New test. - -2021-10-06 Jakub Jelinek - Jason Merrill - - PR c++/98712 - PR c++/102490 - * g++.dg/cpp2a/spaceship-synth8.C (std::strong_ordering): Provide - more complete definition. - (std::strong_ordering::less, std::strong_ordering::equal, - std::strong_ordering::greater): Define. - * g++.dg/cpp2a/spaceship-synth12.C: New test. - * g++.dg/cpp2a/spaceship-synth13.C: New test. - * g++.dg/cpp2a/spaceship-synth14.C: New test. - * g++.dg/cpp2a/spaceship-eq11.C: New test. - * g++.dg/cpp2a/spaceship-eq12.C: New test. - * g++.dg/cpp2a/spaceship-eq13.C: New test. - -2021-10-05 qing zhao - - PR middle-end/102359 - * g++.dg/pr102359_1.C: New test. - * g++.dg/pr102359_2.C: New test. - -2021-10-05 Jakub Jelinek - - PR c++/102548 - * g++.target/i386/pr102548.C: New test. - -2021-10-05 Patrick Palka - - PR c++/102547 - * g++.dg/cpp0x/variadic-partial2.C: New test. - * g++.dg/cpp0x/variadic-partial2a.C: New test. - -2021-10-05 Aldy Hernandez - - * gcc.dg/tree-ssa/ssa-thread-valid.c: New test. - -2021-10-05 Jeff Law - - * gcc.target/s390/pr80725.c: Ensure computed goto is used on - a pointer type. - -2021-10-05 Richard Biener - - PR c/102605 - * gcc.dg/gimplefe-46.c: New testcase. - -2021-10-05 Patrick Palka - - PR c++/98930 - * g++.dg/cpp1z/nontype4.C: New test. - * g++.dg/cpp1z/nontype4a.C: New test. - -2021-10-05 Tobias Burnus - - * gfortran.dg/gomp/pr43711.f90: Add dg-error + dg-prune-output, - remove dg-excess-errors to change XFAIL to PASS. - -2021-10-05 Richard Biener - - PR middle-end/102587 - PR middle-end/102285 - * gcc.target/aarch64/sve/pr102587-1.c: Add -march=armv8.3-a+sve. - * gcc.target/aarch64/sve/pr102587-2.c: Likewise. - -2021-10-05 Richard Biener - - * gfortran.dg/predict-2.f90: Adjust to avoid redundant - inner loop preheader checking code. - -2021-10-04 Marek Polacek - - PR c++/97573 - * c-c++-common/Warray-compare-1.c: New test. - * c-c++-common/Warray-compare-2.c: New test. - -2021-10-04 Richard Biener - - * gcc.dg/auto-init-hardreg-1.c: New testcase. - -2021-10-04 Richard Biener - - * c-c++-common/pr102285.c: New testcase. - -2021-10-04 Richard Biener - - PR tree-optimization/102570 - * gcc.dg/tree-ssa/ssa-fre-96.c: New testcase. - * gcc.dg/tree-ssa/ssa-pre-33.c: Likewise. - -2021-10-04 Aldy Hernandez - - * g++.dg/Walloca2.C: New test. - -2021-10-04 Richard Biener - - PR middle-end/102587 - * gcc.target/aarch64/sve/pr102587-1.c: New testcase. - * gcc.target/aarch64/sve/pr102587-2.c: Likewise. - -2021-10-04 Tobias Burnus - - PR fortran/54753 - * gfortran.dg/assumed_rank_23.f90: New file. - -2021-10-03 Iain Sandoe - - PR c++/101765 - * g++.dg/coroutines/pr101765.C: New test. - -2021-10-03 Iain Sandoe - - PR c++/99710 - * g++.dg/coroutines/pr99710.C: New test. - -2021-10-03 John Eivind Helset - - PR c++/100673 - * g++.dg/coroutines/pr100673.C: New test. - -2021-10-03 Iain Sandoe - - PR c++/101133 - * g++.dg/coroutines/pr101133.C: New test. - -2021-10-03 Iain Sandoe - - PR c++/99575 - * g++.dg/coroutines/pr99575.C: New test. - -2021-10-02 Aldy Hernandez - - * gcc.dg/tree-ssa/pr102563.c: New test. - -2021-10-02 H.J. Lu - - * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c (DECLARE_ARGS): - Use unsigned long long for x86-64. - -2021-10-01 Aldy Hernandez - - PR tree-optimization/102546 - * gcc.dg/tree-ssa/pr102546.c: New file. - -2021-10-01 Martin Sebor - - PR c/102103 - * g++.dg/cpp0x/constexpr-array-ptr10.C: Suppress a valid warning. - * g++.dg/warn/Wreturn-local-addr-6.C: Correct a cast. - * gcc.dg/Waddress.c: Expect a warning. - * c-c++-common/Waddress-3.c: New test. - * c-c++-common/Waddress-4.c: New test. - * g++.dg/warn/Waddress-5.C: New test. - * g++.dg/warn/Waddress-6.C: New test. - * g++.dg/warn/pr101219.C: Expect a warning. - * gcc.dg/Waddress-3.c: New test. - -2021-10-01 H.J. Lu - - * c-c++-common/tsan/atomic_stack.c: Don't expect print out from - __tsan_atomic32_fetch_add. - -2021-10-01 qingzhe huang - - PR c++/101783 - * g++.dg/parse/pr101783.C: New test. - -2021-10-01 Jakub Jelinek - Richard Biener - - PR sanitizer/102515 - * c-c++-common/ubsan/div-by-zero-3.c: Use - -fsanitize=signed-integer-overflow instead of - -fsanitize=integer-divide-by-zero. - * c-c++-common/ubsan/div-by-zero-5.c: Likewise. - * c-c++-common/ubsan/div-by-zero-4.c: Likewise. Add - -fsanitize-undefined-trap-on-error. - * c-c++-common/ubsan/float-div-by-zero-2.c: New test. - * c-c++-common/ubsan/overflow-div-1.c: New test. - * c-c++-common/ubsan/overflow-div-2.c: New test. - * c-c++-common/ubsan/overflow-div-3.c: New test. - -2021-10-01 Kyrylo Tkachov - - * gcc.target/aarch64/cpymem-size.c: Adjust scan for ilp32. - -2021-10-01 Andrew Pinski - - * gcc.dg/vect/bb-slp-pr97709.c: Fix for computed goto - pointers. - -2021-10-01 Martin Liska - - * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Disable fast math. - * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise. - * gcc.target/i386/attr-optimize.c: New test. - -2021-10-01 Jakub Jelinek - - * gfortran.dg/gomp/order-5.f90: Adjust scan-tree-dump-times regexps. - -2021-10-01 Jakub Jelinek - - PR c++/102496 - * g++.dg/tls/pr102496-1.C: New test. - * g++.dg/tls/pr102496-2.C: New test. - -2021-10-01 Richard Biener - - PR middle-end/102518 - * gcc.dg/torture/pr102518.c: New testcase. - -2021-09-30 David Edelsohn - - * gfortran.dg/c-interop/cf-descriptor-5-c.c: Include alloca.h. - -2021-09-30 Patrick Palka - - PR c++/102535 - * g++.dg/ext/is_trivially_constructible7.C: New test. - -2021-09-30 Patrick Palka - - * g++.dg/ext/is_constructible6.C: New test. - -2021-09-30 Patrick Palka - - PR c++/95567 - * g++.dg/cpp2a/spaceship-virtual1.C: New test. - -2021-09-30 Harald Anlauf - - PR fortran/102458 - * gfortran.dg/pr102458b.f90: New test. - -2021-09-30 Uroš Bizjak - - PR target/89954 - * gcc.target/i386/pr89954.c: New test. - -2021-09-30 Tobias Burnus - - PR fortran/71703 - PR fortran/84007 - * gfortran.dg/c-interop/c535b-1.f90: Remove wrong comment. - * gfortran.dg/unlimited_polymorphic_1.f03: Extend. - * gfortran.dg/unlimited_polymorphic_32.f90: New test. - -2021-09-30 Iain Buclaw - - PR d/102476 - * gdc.dg/pr102476.d: New test. - -2021-09-30 Martin Liska - - PR testsuite/102509 - * gcc.c-torture/compile/attr-complex-method.c: Skip if LTO is - used. - * gcc.c-torture/compile/attr-complex-method-2.c: Likewise. - -2021-09-29 Aldy Hernandez - - PR testsuite/102501 - * gcc.dg/tree-ssa/pr66752-3.c: Adjust. - * gcc.dg/tree-ssa/pr77445-2.c: Adjust. - -2021-09-29 Harald Anlauf - - PR fortran/102520 - * gfortran.dg/pr102520.f90: New test. - -2021-09-29 Jeff Law - - * gcc.c-torture/compile/920831-1.c: Fix computed goto types. - * gcc.c-torture/compile/pr27863.c: Likewise. - -2021-09-29 Richard Biener - - PR testsuite/102517 - * gcc.dg/pr78408-1.c: Make S not power-of-two size. - -2021-09-29 Richard Biener - - * gcc.target/i386/vect-alignment-peeling-1.c: New testcase. - * gcc.target/i386/vect-alignment-peeling-2.c: Likewise. - -2021-09-29 Kyrylo Tkachov - Kyrylo Tkachov - - * gcc.target/aarch64/cpymem-size.c: New test. - -2021-09-29 Kyrylo Tkachov - Kyrylo Tkachov - - * gcc.target/aarch64/memset-corner-cases-2.c: New test. - * gcc.target/aarch64/memset-strict-align-1.c: Adjust. - -2021-09-29 Jakub Jelinek - - PR middle-end/102504 - * c-c++-common/gomp/scope-4.c: New test. - -2021-09-29 Andrew Pinski - - * gcc.c-torture/compile/920826-1.c: Fix computed goto. - * gcc.c-torture/compile/pr27863.c: Likewise. - * gcc.c-torture/compile/pr70190.c: Likewise. - * gcc.dg/torture/pr89135.c: Likewise. - * gcc.dg/torture/pr90071.c: Likewise. - * gcc.dg/vect/bb-slp-pr97709.c: Likewise. - -2021-09-29 Richard Biener - - * gcc.dg/out-of-bounds-1.c: Make memcpied size not power-of-two. - -2021-09-28 Patrick Palka - - PR c++/99909 - * g++.dg/cpp2a/concepts-ttp3.C: New test. - -2021-09-28 Andrew Pinski - - PR c/32122 - * gcc.dg/comp-goto-5.c: New test. - * gcc.dg/comp-goto-6.c: New test. - -2021-09-28 Iain Sandoe - - PR c++/102454 - * g++.dg/coroutines/pr102454.C: New test. - -2021-09-28 Ilya Leoshkevich - - * gcc.dg/tree-ssa/reassoc-46.c: New test. - * gcc.dg/tree-ssa/reassoc-46.h: Common code for new tests. - * gcc.dg/tree-ssa/reassoc-47.c: New test. - * gcc.dg/tree-ssa/reassoc-48.c: New test. - * gcc.dg/tree-ssa/reassoc-49.c: New test. - * gcc.dg/tree-ssa/reassoc-50.c: New test. - * gcc.dg/tree-ssa/reassoc-51.c: New test. - -2021-09-28 Aldy Hernandez - - * gcc.dg/auto-init-uninit-1.c: Adjust. - * gcc.dg/auto-init-uninit-15.c: Same. - * gcc.dg/guality/example.c: Same. - * gcc.dg/loop-8.c: Same. - * gcc.dg/strlenopt-40.c: Same. - * gcc.dg/tree-ssa/pr18133-2.c: Same. - * gcc.dg/tree-ssa/pr18134.c: Same. - * gcc.dg/uninit-1.c: Same. - * gcc.dg/uninit-pr44547.c: Same. - * gcc.dg/uninit-pr59970.c: Same. - -2021-09-28 Thomas Schwinge - - * gfortran.dg/assumed_rank_22_aux.c: Adjust messages printed. - -2021-09-28 Jakub Jelinek - - PR target/102498 - * gcc.target/i386/pr102498.c: New test. - -2021-09-28 Richard Biener - - PR tree-optimization/99793 - * gcc.dg/tree-ssa/pr99793.c: New testcase. - -2021-09-28 Richard Biener - - PR tree-optimization/100112 - * gcc.dg/tree-ssa/ssa-fre-95.c: New testcase. - -2021-09-28 Jakub Jelinek - - PR middle-end/102492 - * g++.dg/gomp/simd-3.C: New test. - -2021-09-28 Aldy Hernandez - - PR tree-optimization/102511 - * gcc.dg/pr102511.c: New test. - * gcc.dg/tree-ssa/ssa-dom-thread-14.c: Adjust. - -2021-09-28 Hongyu Wang - - PR target/102230 - * gcc.target/i386/avx512fp16-floatvnhf.c: Remove xfail. - * gcc.target/i386/avx512fp16-trunc-extendvnhf.c: Ditto. - * gcc.target/i386/avx512fp16-truncvnhf.c: Ditto. - * gcc.target/i386/avx512fp16-64-32-vecop-1.c: New test. - * gcc.target/i386/avx512fp16-64-32-vecop-2.c: Ditto. - * gcc.target/i386/pr102230.c: Ditto. - -2021-09-28 Richard Biener - - * gcc.target/i386/vect-pr97352.c: Pass -mno-avx2 -mno-avx512f. - -2021-09-28 Tobias Burnus - - PR fortran/102500 - * gfortran.dg/include_15.f90: Add 'dg-prune-output' to prune - -Wmissing-include-dirs output printed or not depending on - how the testsuite is run. - -2021-09-28 Richard Biener - - * gcc.dg/vect/bb-slp-pr65935.c: Prefer 128bit vectorization - on x86. - -2021-09-28 Aldy Hernandez - - * gcc.dg/auto-init-uninit-1.c: Add -fthread-jumps. - * gcc.dg/auto-init-uninit-15.c: Same. - * gcc.dg/guality/example.c: Same. - * gcc.dg/loop-8.c: Same. - * gcc.dg/strlenopt-40.c: Same. - * gcc.dg/tree-ssa/pr18133-2.c: Same. - * gcc.dg/tree-ssa/pr18134.c: Same. - * gcc.dg/uninit-1.c: Same. - * gcc.dg/uninit-pr44547.c: Same. - * gcc.dg/uninit-pr59970.c: Same. - -2021-09-28 liuhongt - - * gcc.target/i386/vect-rebuild.c: Adjust testcases. - * gcc.target/i386/avx512f-vect-rebuild.c: New test. - -2021-09-28 liuhongt - - * gcc.target/i386/avx512fp16-reduce-op-2.c: New test. - * gcc.target/i386/avx512fp16-reduce-op-3.c: New test. - -2021-09-27 Patrick Palka - - PR c++/102479 - * g++.dg/cpp1z/class-deduction12.C: Also test alias CTAD in the - same way. - * g++.dg/cpp1z/class-deduction99.C: New test. - -2021-09-27 Aldy Hernandez - - * gcc.dg/torture/pr55107.c: Adjust. - * gcc.dg/tree-ssa/phi_on_compare-1.c: Adjust. - * gcc.dg/tree-ssa/phi_on_compare-2.c: Adjust. - * gcc.dg/tree-ssa/phi_on_compare-3.c: Adjust. - * gcc.dg/tree-ssa/phi_on_compare-4.c: Adjust. - * gcc.dg/tree-ssa/pr21559.c: Adjust. - * gcc.dg/tree-ssa/pr59597.c: Adjust. - * gcc.dg/tree-ssa/pr61839_1.c: Adjust. - * gcc.dg/tree-ssa/pr61839_3.c: Adjust. - * gcc.dg/tree-ssa/pr71437.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-11.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-16.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Adjust. - * gcc.dg/tree-ssa/ssa-thread-14.c: Adjust. - * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Adjust. - * gcc.dg/tree-ssa/vrp106.c: Adjust. - * gcc.dg/tree-ssa/vrp55.c: Adjust. - -2021-09-27 Martin Liska - - * gcc.c-torture/compile/attr-complex-method-2.c: New test. - * gcc.c-torture/compile/attr-complex-method.c: New test. - -2021-09-27 Tobias Burnus - - PR fortran/94070 - * gfortran.dg/c-interop/cf-out-descriptor-6.f90: Remove xfail. - * gfortran.dg/c-interop/size.f90: Remove xfail. - * gfortran.dg/intrinsic_size_3.f90: Update scan-tree-dump-times. - * gfortran.dg/transpose_optimization_2.f90: Likewise. - * gfortran.dg/size_optional_dim_1.f90: Add scan-tree-dump-not. - * gfortran.dg/assumed_rank_22.f90: New test. - * gfortran.dg/assumed_rank_22_aux.c: New test. - -2021-09-27 Andrew Pinski - - PR c/94726 - * gcc.dg/pr94726.c: New test. - -2021-09-27 Richard Biener - - PR tree-optimization/97351 - PR tree-optimization/97352 - PR tree-optimization/82426 - * gcc.target/i386/vect-pr82426.c: New testcase. - * gcc.target/i386/vect-pr97352.c: Likewise. - -2021-09-27 liuhongt - - Revert: - 2021-09-27 liuhongt - - PR target/101059 - * gcc.target/i386/sse2-pr101059.c: New test. - * gcc.target/i386/sse3-pr101059.c: New test. - -2021-09-26 Tobias Burnus - - PR fortran/101334 - * gfortran.dg/associated_assumed_rank.f90: New test. - -2021-09-25 Dimitar Dimitrov - - * gcc.target/pru/regio-as-pointer.c: New negative test. - * gcc.target/pru/regio-as-pointer-2.c: New negative test. - * gcc.target/pru/regio-decl-2.c: New negative test. - * gcc.target/pru/regio-decl-3.c: New negative test. - * gcc.target/pru/regio-decl-4.c: New negative test. - * gcc.target/pru/regio-decl.c: New negative test. - * gcc.target/pru/regio-di.c: New negative test. - * gcc.target/pru/regio-hi.c: New negative test. - * gcc.target/pru/regio-qi.c: New negative test. - * gcc.target/pru/regio.c: New test. - * gcc.target/pru/regio.h: New helper header. - -2021-09-24 Harald Anlauf - - PR fortran/102458 - * gfortran.dg/pr102458.f90: New test. - -2021-09-24 Sandra Loosemore - - PR fortran/101333 - * gfortran.dg/c-interop/c407c-1.f90: Remove xfails. - -2021-09-24 Patrick Palka - - PR c++/98216 - PR c++/91292 - * g++.dg/cpp2a/nontype-float2.C: New test. - -2021-09-24 Tobias Burnus - - PR fortran/55534 - * gfortran.dg/include_9.f90: Add dg-prune-output. - * gfortran.dg/include_23.f90: New test. - * gfortran.dg/include_24.f90: New test. - -2021-09-24 Aldy Hernandez - - * gcc.dg/tree-ssa/20030714-2.c: Adjust. - * gcc.dg/tree-ssa/pr66752-3.c: Adjust. - * gcc.dg/tree-ssa/pr77445-2.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust. - * gcc.dg/vect/bb-slp-16.c: Adjust. - -2021-09-24 Hongyu Wang - - * gcc.target/i386/cond_op_addsubmuldiv__Float16-1.c: New test. - * gcc.target/i386/cond_op_addsubmuldiv__Float16-2.c: Ditto. - * gcc.target/i386/cond_op_fma__Float16-1.c: Ditto. - * gcc.target/i386/cond_op_fma__Float16-2.c: Ditto. - * gcc.target/i386/cond_op_maxmin__Float16-1.c: Ditto. - * gcc.target/i386/cond_op_maxmin__Float16-2.c: Ditto. - -2021-09-23 Sandra Loosemore - - PR fortran/101320 - * gfortran.dg/c-interop/c516.f90: Remove xfails. Add more - tests. - -2021-09-23 Michel Morin - - PR c++/77565 - * g++.dg/spellcheck-pr77565.C: New test. - -2021-09-23 Andrew MacLeod - - * gcc.dg/pr102463.c: New. - -2021-09-23 Harald Anlauf - Tobias Burnus - - PR fortran/93834 - * gfortran.dg/coarray/coarray_allocated.f90: New test. - -2021-09-23 Bill Schmidt - - PR target/102024 - * g++.target/powerpc/pr102024.C: New. - -2021-09-23 Hongyu Wang - - * g++.target/i386/avx512fp16-vcondmn-vec.C: New test. - * g++.target/i386/avx512fp16-vcondmn-minmax.C: Ditto. - * gcc.target/i386/avx512fp16-vcondmn-loop-1.c: Ditto. - * gcc.target/i386/avx512fp16-vcondmn-loop-2.c: Ditto. - * gcc.target/i386/avx512fp16-vec_cmpmn.c: Ditto. - -2021-09-23 Hongyu Wang - - * gcc.target/i386/avx512fp16-trunc-extendvnhf.c: New test. - -2021-09-23 Hongyu Wang - - * gcc.target/i386/avx512fp16-floatvnhf.c: New test. - -2021-09-23 Hongyu Wang - - * gcc.target/i386/avx512fp16-trunchf.c: New test. - * gcc.target/i386/avx512fp16-truncvnhf.c: Ditto. - -2021-09-23 Hongyu Wang - - * gcc.target/i386/avx512fp16-builtin-minmax-1.c: New test. - -2021-09-23 liuhongt - - * gcc.target/i386/avx512fp16-fma-1.c: New test. - * gcc.target/i386/avx512fp16vl-fma-1.c: New test. - * gcc.target/i386/avx512fp16vl-fma-vectorize-1.c: New test. - -2021-09-23 liuhongt - - * gcc.target/i386/avx512fp16-builtin-round-1.c: Add new testcase. - -2021-09-23 Jakub Jelinek - - PR c++/102413 - * g++.dg/gomp/attrs-14.C: New test. - -2021-09-23 Sandra Loosemore - - PR fortran/101319 - * gfortran.dg/c-interop/assumed-type-dummy.f90: Remove xfail. - -2021-09-23 Sandra Loosemore - - PR fortran/101334 - * gfortran.dg/c-interop/c535b-2.f90: Remove xfails. - * gfortran.dg/c-interop/c535b-3.f90: Likewise. - -2021-09-23 Sandra Loosemore - - * gfortran.dg/assumed_rank_18.f90 (g): Wrap call to h in - select rank. - * gfortran.dg/assumed_type_10.f90 (test_array): Likewise for - call to test_lib. - * gfortran.dg/assumed_type_11.f90 (test_array): Likewise. - -2021-09-22 Tobias Burnus - - PR fortran/55534 - * gfortran.dg/include_14.f90: Add -J testcase and update dg-output. - * gfortran.dg/include_15.f90: Likewise. - * gfortran.dg/include_16.f90: Likewise. - * gfortran.dg/include_17.f90: Likewise. - * gfortran.dg/include_18.f90: Likewise. - * gfortran.dg/include_19.f90: Likewise. - -2021-09-22 Roger Sayle - Richard Biener - - * gcc.dg/fold-negate-1.c: New test case. - -2021-09-22 H.J. Lu - - * gcc.target/i386/auto-init-2.c: Replace ia32 with { ! lp64 }. - * gcc.target/i386/auto-init-3.c (dg-options): Add -msse. - (dg-additional-options): Add -mfpmath=387 for ia32. - Replace lp64 with { ! ia32 }. Add a space after ia32. - * gcc.target/i386/auto-init-4.c: Replace lp64 with { ! ia32 }. - * gcc.target/i386/auto-init-5.c: Likewise. - * gcc.target/i386/auto-init-padding-3.c: Likewise. - * gcc.target/i386/auto-init-padding-7.c: Likewise. - * gcc.target/i386/auto-init-padding-8.c: Likewise. - * gcc.target/i386/auto-init-padding-9.c: Likewise. - -2021-09-22 Patrick Palka - - DR 2446 - PR c++/102412 - * g++.dg/cpp2a/concepts-nondep2.C: New test. - * g++.dg/cpp2a/concepts-nondep3.C: New test. - -2021-09-22 Jiufu Guo - - PR tree-optimization/102087 - * gcc.dg/pr102087.c: New test. - -2021-09-22 dianhong xu - - * gcc.target/i386/avx512fp16-14.c: New test. - -2021-09-22 dianhong xu - - * gcc.target/i386/avx512fp16-conjugation-1.c: New test. - * gcc.target/i386/avx512fp16vl-conjugation-1.c: New test. - -2021-09-22 dianhong xu - - * gcc.target/i386/avx512fp16-reduce-op-1.c: New test. - * gcc.target/i386/avx512fp16vl-reduce-op-1.c: Ditto. - -2021-09-22 dianhong xu - - * gcc.target/i386/avx512fp16-13.c: New test. - -2021-09-22 Andreas Krebbel - - * gcc.target/s390/pr102222.c: New test. - -2021-09-22 Jakub Jelinek - - PR middle-end/102415 - * c-c++-common/gomp/scope-3.c: New test. - -2021-09-22 Jakub Jelinek - - * c-c++-common/gomp/allocate-6.c: New test. - * c-c++-common/gomp/allocate-7.c: New test. - * g++.dg/gomp/allocate-4.C: New test. - -2021-09-22 liuhongt - - * gcc.target/i386/avx512vl-pr95046.c: New test. - -2021-09-22 liuhongt - - * gcc.target/i386/pr92658-avx512f.c: Refine testcase. - * gcc.target/i386/pr92658-avx512vl.c: Adjust scan-assembler, - only v2di->v2qi truncate is not supported, v4di->v4qi should - be supported. - -2021-09-22 liuhongt - - * gcc.target/i386/avx512fp16-builtin-fpcompare-1.c: New test. - * gcc.target/i386/avx512fp16-builtin-fpcompare-2.c: New test. - -2021-09-22 liuhongt - - * gcc.target/i386/avx512fp16-builtin-round-1.c: New test. - -2021-09-22 liuhongt - - * gcc.target/i386/avx512fp16-builtin-sqrt-1.c: New test. - * gcc.target/i386/avx512fp16vl-builtin-sqrt-1.c: New test. - -2021-09-22 liuhongt - - * gcc.target/i386/avx512fp16-vfcmaddcsh-1a.c: New test. - * gcc.target/i386/avx512fp16-vfcmaddcsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfcmulcsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfcmulcsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfmaddcsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfmaddcsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfmulcsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfmulcsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-complex-constraints.c: Ditto. - -2021-09-22 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-22 liuhongt - - * gcc.target/i386/avx512fp16-helper.h - (init_src): Adjust init value. - (NET_CMASK): New net mask for complex input. - * gcc.target/i386/avx512fp16-vfcmaddcph-1a.c: New test. - * gcc.target/i386/avx512fp16-vfcmaddcph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfcmulcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfcmulcph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfmaddcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfmaddcph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfmulcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfmulcph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfcmaddcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfcmaddcph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfcmulcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfcmulcph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmaddcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmaddcph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmulcph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmulcph-1b.c: Ditto. - -2021-09-22 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-22 Barrett Adair - - * g++.dg/cpp0x/constexpr-52830.C: Remove unwanted dg-ice. - * g++.dg/template/canon-type-15.C: New test. - * g++.dg/template/canon-type-16.C: New test. - * g++.dg/template/canon-type-17.C: New test. - * g++.dg/template/canon-type-18.C: New test. - * g++.dg/template/dependent-name15.C: New regression test. - * g++.dg/template/dependent-name16.C: New regression test. - -2021-09-21 Richard Biener - - PR tree-optimization/102421 - * g++.dg/vect/pr102421.cc: New testcase. - -2021-09-21 Eric Botcazou - - * lib/target-supports.exp (no_fsanitize_address): Add missing bits. - * gcc.dg/uninit-pr93100.c: Skip if no_fsanitize_address. - * gcc.dg/pr91441.c: Likewise. - * gcc.dg/pr96260.c: Likewise. - * gcc.dg/pr96307.c: Likewise. - * g++.dg/warn/uninit-pr93100.C: Likewise. - * gnat.dg/asan1.adb: Likewise. - * gcc.dg/Wstringop-overflow-70.c: Adjust for SPARC. - * g++.dg/abi/anon4.C: Likewise. - -2021-09-21 Tobias Burnus - - * gfortran.dg/include_6.f90: Change dg-error to - dg-warning and update pattern. - * gfortran.dg/include_14.f90: New test. - * gfortran.dg/include_15.f90: New test. - * gfortran.dg/include_16.f90: New test. - * gfortran.dg/include_17.f90: New test. - * gfortran.dg/include_18.f90: New test. - * gfortran.dg/include_19.f90: New test. - * gfortran.dg/include_20.f90: New test. - * gfortran.dg/include_21.f90: New test. - -2021-09-21 wangpc - - * g++.target/aarch64/sve/static-var-in-template.C: New test. - -2021-09-20 Andrew MacLeod - - * gcc.dg/tree-ssa/evrp-ignore.c: New. - -2021-09-20 Matthias Kretz - - * gcc.dg/associative-math-1.c: New test. - * gcc.dg/associative-math-2.c: New test. - * gcc.dg/no-signed-zeros-1.c: New test. - * gcc.dg/no-signed-zeros-2.c: New test. - * gcc.dg/no-trapping-math-1.c: New test. - * gcc.dg/no-trapping-math-2.c: New test. - * gcc.dg/reciprocal-math-1.c: New test. - * gcc.dg/reciprocal-math-2.c: New test. - * gcc.dg/rounding-math-1.c: New test. - * gcc.dg/rounding-math-2.c: New test. - -2021-09-20 Tobias Burnus - - * gfortran.dg/gomp/order-5.f90: New test. - * gfortran.dg/gomp/order-6.f90: New test. - * gfortran.dg/gomp/order-7.f90: New test. - * gfortran.dg/gomp/order-8.f90: New test. - * gfortran.dg/gomp/order-9.f90: New test. - -2021-09-20 Christophe Lyon - Torbjörn SVENSSON - - * lib/prune.exp (prune_gcc_output): Remove .exe suffix from - toolchain executables names. - -2021-09-20 Thomas Schwinge - - * gcc.dg/plugin/diagnostic-test-string-literals-1.c: Adjust - expected error diagnostics. - -2021-09-20 Richard Biener - - PR tree-optimization/65206 - * gcc.dg/torture/20210916.c: New testcase. - * gcc.dg/vect/pr65206.c: Likewise. - -2021-09-19 Martin Sebor - - PR middle-end/102403 - * gcc.dg/uninit-pr102403.c: New test. - * gcc.dg/uninit-pr102403-c2.c: New test. - -2021-09-19 Martin Sebor - - PR middle-end/102243 - * g++.dg/warn/Wplacement-new-size-10.C: New test. - -2021-09-19 Jeff Law - - * gfortran.dg/goacc/privatization-1-compute.f90: Make test names - unique. - * gfortran.dg/goacc/routine-external-level-of-parallelism-2.f: - Likewise. - -2021-09-19 Iain Sandoe - - * jit.dg/jit.exp (fixed_local_execute): Amend the match and - exit conditions to cater for more platforms. - -2021-09-19 Roger Sayle - - PR middle-end/88173 - * c-c++-common/pr57371-4.c: Tweak/correct test case for QNaNs. - * g++.dg/pr88173-1.C: New test case. - * g++.dg/pr88173-2.C: New test case. - -2021-09-18 Jakub Jelinek - - * c-c++-common/gomp/order-1.c (f2): Add tests for distribute - with order clause. - (f3): Remove. - * c-c++-common/gomp/order-2.c: Don't expect error for distribute - with order clause. - * c-c++-common/gomp/order-5.c: New test. - * c-c++-common/gomp/order-6.c: New test. - * c-c++-common/gomp/clause-dups-1.c (f1): Add tests for - duplicated order clause. - (f9): New function. - * c-c++-common/gomp/clauses-1.c (baz, bar): Don't mix copyin and - order(concurrent) clauses on the same composite construct combined - with distribute, instead split it into two tests, one without - copyin and one without order(concurrent). Add order(concurrent) - clauses to {,{,target} teams} distribute. - * g++.dg/gomp/attrs-1.C (baz, bar): Likewise. - * g++.dg/gomp/attrs-2.C (baz, bar): Likewise. - -2021-09-18 Jakub Jelinek - - * c-c++-common/gomp/default-2.c: New test. - * c-c++-common/gomp/default-3.c: New test. - * g++.dg/gomp/default-1.C: New test. - -2021-09-18 liuhongt - - * gcc.target/i386/avx512fp16-vfmaddXXXsh-1a.c: New test. - * gcc.target/i386/avx512fp16-vfmaddXXXsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfmsubXXXsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfmsubXXXsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmaddXXXsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmaddXXXsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmsubXXXsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmsubXXXsh-1b.c: Ditto. - -2021-09-18 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-18 H.J. Lu - - * gcc.target/i386/avx512fp16-xorsign-1.c: New test. - -2021-09-18 liuhongt - - * gcc.target/i386/avx512fp16-neg-1a.c: New test. - * gcc.target/i386/avx512fp16-neg-1b.c: Ditto. - * gcc.target/i386/avx512fp16-scalar-bitwise-1a.c: Ditto. - * gcc.target/i386/avx512fp16-scalar-bitwise-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vector-bitwise-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vector-bitwise-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-neg-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-neg-1b.c: Ditto. - -2021-09-18 liuhongt - - * gcc.target/i386/avx512fp16-vfmaddXXXph-1a.c: New test. - * gcc.target/i386/avx512fp16-vfmaddXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfmsubXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfmsubXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmaddXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmaddXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmsubXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfnmsubXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmaddXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmaddXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmsubXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmsubXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfnmaddXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfnmaddXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfnmsubXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfnmsubXXXph-1b.c: Ditto. - -2021-09-18 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test fot new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-18 liuhongt - - * gcc.target/i386/avx512fp16-vfmaddsubXXXph-1a.c: New test. - * gcc.target/i386/avx512fp16-vfmaddsubXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfmsubaddXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfmsubaddXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmaddsubXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmaddsubXXXph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmsubaddXXXph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfmsubaddXXXph-1b.c: Ditto. - -2021-09-18 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-18 liuhongt - - * gcc.target/i386/avx512fp16-broadcast-1.c: New test. - * gcc.target/i386/avx512fp16-broadcast-2.c: New test. - -2021-09-18 Jason Merrill - - * g++.dg/template/dtor5.C: Adjust expected error. - * g++.dg/cpp23/lookup2.C: New test. - * g++.dg/template/dtor11.C: New test. - -2021-09-17 Harald Anlauf - - PR fortran/102366 - * gfortran.dg/pr102366.f90: New test. - -2021-09-17 qing zhao - - * gcc.target/i386/auto-init-1.c: Restrict the testing only for - -march=x86-64 and -mtune=generic. Add -fno-stack-protector. - * gcc.target/i386/auto-init-2.c: Restrict the testing only for - -march=x86-64 and -mtune=generic -msse. - * gcc.target/i386/auto-init-3.c: Likewise. - * gcc.target/i386/auto-init-4.c: Likewise. - * gcc.target/i386/auto-init-5.c: Different pattern match for lp64 and - ia32. - * gcc.target/i386/auto-init-6.c: Restrict the testing only for - -march=x86-64 and -mtune-generic -msse. Add -fno-stack-protector. - * gcc.target/i386/auto-init-7.c: Likewise. - * gcc.target/i386/auto-init-8.c: Restrict the testing only for - -march=x86-64 and -mtune=generic -msse.. - * gcc.target/i386/auto-init-padding-1.c: Likewise. - * gcc.target/i386/auto-init-padding-10.c: Likewise. - * gcc.target/i386/auto-init-padding-11.c: Likewise. - * gcc.target/i386/auto-init-padding-12.c: Likewise. - * gcc.target/i386/auto-init-padding-2.c: Likewise. - * gcc.target/i386/auto-init-padding-3.c: Restrict the testing only for - -march=x86-64. Different pattern match for lp64 and ia32. - * gcc.target/i386/auto-init-padding-4.c: Restrict the testing only for - -march=x86-64 and -mtune-generic -msse. - * gcc.target/i386/auto-init-padding-5.c: Likewise. - * gcc.target/i386/auto-init-padding-6.c: Likewise. - * gcc.target/i386/auto-init-padding-7.c: Restrict the testing only for - -march=x86-64 and -mtune-generic -msse. Add -fno-stack-protector. - * gcc.target/i386/auto-init-padding-8.c: Likewise. - * gcc.target/i386/auto-init-padding-9.c: Restrict the testing only for - -march=x86-64. Different pattern match for lp64 and ia32. - -2021-09-17 Martin Sebor - - PR middle-end/102200 - * gcc.dg/Wstringop-overflow-62.c: Adjust text of an expected note. - * gcc.dg/Warray-bounds-89.c: New test. - * gcc.dg/Wstringop-overflow-74.c: New test. - * gcc.dg/Wstringop-overflow-75.c: New test. - * gcc.dg/Wstringop-overflow-76.c: New test. - -2021-09-17 Sandra Loosemore - - * gfortran.dg/PR100914.c: Do not include quadmath.h. Use - _Float128 _Complex instead of __complex128. - * gfortran.dg/PR100914.f90: Add -Wno-pedantic to suppress error - about use of _Float128. - * gfortran.dg/c-interop/typecodes-array-float128-c.c: Use - _Float128 instead of __float128. - * gfortran.dg/c-interop/typecodes-sanity-c.c: Likewise. - * gfortran.dg/c-interop/typecodes-scalar-float128-c.c: Likewise. - * lib/target-supports.exp - (check_effective_target_fortran_real_c_float128): Update comments. - -2021-09-17 Roger Sayle - - PR c/102245 - * gcc.dg/Wint-in-bool-context-4.c: New test case. - -2021-09-17 Jakub Jelinek - - * c-c++-common/gomp/atomic-18.c: Expect same diagnostics in C++ as in - C. - * c-c++-common/gomp/atomic-25.c: Drop c effective target. - * c-c++-common/gomp/atomic-26.c: Likewise. - * c-c++-common/gomp/atomic-27.c: Likewise. - * c-c++-common/gomp/atomic-28.c: Likewise. - * c-c++-common/gomp/atomic-29.c: Likewise. - * c-c++-common/gomp/atomic-30.c: Likewise. Adjust expected diagnostics - for C++ when it differs from C. - (foo): Change return type from double to void. - * g++.dg/gomp/atomic-5.C: Adjust expected diagnostics wording. - * g++.dg/gomp/atomic-20.C: New test. - -2021-09-17 H.J. Lu - - * gcc.target/i386/avx-covert-1.c: New file. - * gcc.target/i386/avx-fp-covert-1.c: Likewise. - * gcc.target/i386/avx-int-covert-1.c: Likewise. - * gcc.target/i386/sse-covert-1.c: Likewise. - * gcc.target/i386/sse-fp-covert-1.c: Likewise. - * gcc.target/i386/sse-int-covert-1.c: Likewise. - -2021-09-17 H.J. Lu - - PR target/101900 - * gcc.target/i386/pr101900-1.c: New test. - * gcc.target/i386/pr101900-2.c: Likewise. - * gcc.target/i386/pr101900-3.c: Likewise. - -2021-09-17 Eric Botcazou - - * gcc.target/sparc/20210917-1.c: New test. - -2021-09-17 liuhongt - - * gcc.target/i386/avx512fp16-typecast-1.c: New test. - * gcc.target/i386/avx512fp16-typecast-2.c: Ditto. - * gcc.target/i386/avx512fp16vl-typecast-1.c: Ditto. - * gcc.target/i386/avx512fp16vl-typecast-2.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx512fp16-vcvtsd2sh-1a.c: New test. - * gcc.target/i386/avx512fp16-vcvtsd2sh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2sd-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2sd-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2ss-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2ss-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtss2sh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtss2sh-1b.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx512fp16-helper.h (V512): Add DF contents. - (src3f): New. - * gcc.target/i386/avx512fp16-vcvtpd2ph-1a.c: New test. - * gcc.target/i386/avx512fp16-vcvtpd2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2pd-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2pd-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2psx-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2psx-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtps2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtps2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtpd2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtpd2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2pd-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2pd-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2psx-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2psx-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtps2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtps2ph-1b.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx512fp16-vcvttsh2si-1a.c: New test. - * gcc.target/i386/avx512fp16-vcvttsh2si-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttsh2si64-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttsh2si64-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttsh2usi-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttsh2usi-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttsh2usi64-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttsh2usi64-1b.c: Ditto. - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx512fp16-vcvttph2dq-1a.c: New test. - * gcc.target/i386/avx512fp16-vcvttph2dq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2qq-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2qq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2udq-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2udq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2uqq-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2uqq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2uw-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2uw-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2w-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvttph2w-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2dq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2dq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2qq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2qq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2udq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2udq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2uqq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2uqq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2uw-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2uw-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2w-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvttph2w-1b.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx512fp16-helper.h (V512): Add int32 - component. - * gcc.target/i386/avx512fp16-vcvtsh2si-1a.c: New test. - * gcc.target/i386/avx512fp16-vcvtsh2si-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2si64-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2si64-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2usi-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2usi-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2usi64-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsh2usi64-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsi2sh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsi2sh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsi2sh64-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtsi2sh64-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtusi2sh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtusi2sh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtusi2sh64-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtusi2sh64-1b.c: Ditto. - -2021-09-17 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-16 Patrick Palka - - PR c++/98486 - * g++.dg/cpp2a/concepts-var-templ1.C: New test. - * g++.dg/cpp2a/concepts-var-templ1a.C: New test. - * g++.dg/cpp2a/concepts-var-templ1b.C: New test. - -2021-09-16 Harald Anlauf - - PR fortran/102287 - * gfortran.dg/intent_out_14.f90: New test. - -2021-09-16 Richard Biener - - PR middle-end/102360 - * g++.dg/pr102360.C: New testcase. - -2021-09-16 Richard Earnshaw - - * g++.dg/eh/arm-vfp-unwind.C: Support single-precision. - -2021-09-16 liuhongt - - PR middle-end/102080 - * gcc.target/i386/pr102080.c: New test. - -2021-09-16 liuhongt - - * gcc.target/i386/avx512fp16-vcvtdq2ph-1a.c: New test. - * gcc.target/i386/avx512fp16-vcvtdq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtqq2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtqq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtudq2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtudq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtuqq2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtuqq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtuw2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtuw2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtw2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtw2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtdq2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtdq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtqq2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtqq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtudq2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtudq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtuqq2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtuqq2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtuw2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtuw2ph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtw2ph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtw2ph-1b.c: Ditto. - -2021-09-16 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-16 liuhongt - - * gcc.target/i386/avx512fp16-helper.h (V512): Add QI - components. - * gcc.target/i386/avx512fp16-vcvtph2dq-1a.c: New test. - * gcc.target/i386/avx512fp16-vcvtph2dq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2qq-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2qq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2udq-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2udq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2uqq-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2uqq-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2uw-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2uw-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2w-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcvtph2w-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2dq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2dq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2qq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2qq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2udq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2udq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2uqq-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2uqq-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2uw-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2uw-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2w-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcvtph2w-1b.c: Ditto. - -2021-09-16 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-16 liuhongt - - * gcc.target/i386/avx512fp16-vmovsh-1a.c: New test. - * gcc.target/i386/avx512fp16-vmovsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-2a.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-2b.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-3a.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-3b.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-4a.c: Ditto. - * gcc.target/i386/avx512fp16-vmovw-4b.c: Ditto. - -2021-09-15 Patrick Palka - - PR c++/101904 - * g++.dg/ext/conv2.C: New test. - * g++.dg/template/conv17.C: Extend test. - -2021-09-15 Jakub Jelinek - - PR c++/88578 - PR c++/102295 - * g++.dg/ext/flexary39.C: New test. - * g++.dg/ext/flexary40.C: New test. - -2021-09-15 Patrick Palka - - PR c++/102050 - * g++.dg/cpp0x/initlist125.C: New test. - * g++.dg/cpp0x/initlist126.C: New test. - -2021-09-15 Alexandre Oliva - - * gnat.dg/zcur_attr.adb, gnat.dg/zcur_attr.ads: New. - -2021-09-15 liuhongt - - * gcc.target/i386/pr102327-1.c: New test. - * gcc.target/i386/pr102327-2.c: New test. - * gcc.target/i386/avx512fp16-1c.c: Adjust testcase. - -2021-09-15 Hongyu Wang - - * gcc.target/i386/avx-1.c: Adjust builtin macros. - * gcc.target/i386/sse-13.c: Likewise. - * gcc.target/i386/sse-23.c: Likewise. - -2021-09-15 Richard Biener - - PR tree-optimization/102318 - * gcc.dg/vect/pr102318.c: New testcase. - -2021-09-15 Hongtao Liu - Peter Cordes - - PR target/91103 - * gcc.target/i386/pr91103-1.c: Add extract tests. - * gcc.target/i386/pr91103-2.c: Ditto. - -2021-09-15 Thomas Schwinge - - * gfortran.dg/goacc/unexpected-end.f90: Add OpenACC 'host_data' - testing. - -2021-09-15 Jason Merrill - - PR c++/48396 - * g++.dg/rtti/undeclared1.C: New test. - -2021-09-14 Harald Anlauf - - PR fortran/102311 - * gfortran.dg/entry_25.f90: New test. - -2021-09-14 Peter Bergner - - * gcc.target/powerpc/mma-builtin-6.c: Add second call to xxsetacc - built-in. Update instruction counts. - -2021-09-14 Patrick Palka - - PR c++/102163 - * g++.dg/cpp0x/constexpr-empty17.C: New test. - -2021-09-14 Jakub Jelinek - - PR c++/102295 - * g++.target/i386/pr102295.C: New test. - -2021-09-14 Jakub Jelinek - - PR c++/102305 - * g++.dg/cpp0x/pr102305.C: New test. - -2021-09-14 Tobias Burnus - - PR fortran/102313 - * gfortran.dg/goacc/unexpected-end.f90: New test. - * gfortran.dg/gomp/unexpected-end.f90: New test. - -2021-09-14 Martin Liska - - * g++.dg/gcov/gcov.py: Fix failing pytests as gcov.json.gz - filename was changed in b777f228b481ae881a7fbb09de367a053740932c. - -2021-09-14 Eric Botcazou - - * gnat.dg/enum_rep2.adb: New test. - -2021-09-14 Jakub Jelinek - - * c-c++-common/gomp/atomic-29.c: Add -march=pentium - dg-additional-options for ia32. Use sync_long_long effective target - instead of sync_int_long. - * lib/target-supports.exp (check_effective_target_sync_long_long): Fix - a syntax error. - -2021-09-14 liuhongt - - * gcc.target/i386/avx512fp16-helper.h (V512): - Add xmm component. - * gcc.target/i386/avx512fp16-vfpclassph-1a.c: New test. - * gcc.target/i386/avx512fp16-vfpclassph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vfpclasssh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vfpclasssh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vgetexpph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vgetexpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vgetexpsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vgetexpsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vgetmantph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vgetmantph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vgetmantsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vgetmantsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfpclassph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfpclassph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vgetexpph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vgetexpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vgetmantph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vgetmantph-1b.c: Ditto. - -2021-09-14 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-14 liuhongt - - * gcc.target/i386/avx512fp16-helper.h (_ROUND_CUR): New macro. - * gcc.target/i386/avx512fp16-vreduceph-1a.c: New test. - * gcc.target/i386/avx512fp16-vreduceph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vreducesh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vreducesh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vrndscaleph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vrndscaleph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vrndscalesh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vrndscalesh-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vreduceph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vreduceph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrndscaleph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrndscaleph-1b.c: Ditto. - -2021-09-14 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-14 liuhongt - - * gcc.target/i386/avx512fp16-vrcpph-1a.c: New test. - * gcc.target/i386/avx512fp16-vrcpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vrcpsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vrcpsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vscalefph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vscalefph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vscalefsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vscalefsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrcpph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrcpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vscalefph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vscalefph-1b.c: Ditto. - -2021-09-14 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-14 liuhongt - - * gcc.target/i386/avx512fp16-vrsqrtph-1a.c: New test. - * gcc.target/i386/avx512fp16-vrsqrtph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vrsqrtsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vrsqrtsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vsqrtph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vsqrtph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vsqrtsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vsqrtsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrsqrtph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrsqrtph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vsqrtph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vsqrtph-1b.c: Ditto. - -2021-09-14 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-13 Harald Anlauf - - PR fortran/82314 - * gfortran.dg/pr82314.f90: New test. - -2021-09-13 Harald Anlauf - - PR fortran/85130 - * gfortran.dg/substr_6.f90: Revert commit r8-7574, adding again - test that was erroneously considered as illegal. - -2021-09-13 Jason Merrill - - * g++.dg/warn/Winterference.H: New file. - * g++.dg/warn/Winterference.C: New test. - * g++.target/aarch64/interference.C: New test. - * g++.target/arm/interference.C: New test. - * g++.target/i386/interference.C: New test. - * g++.dg/warn/Winterference-2.C: New file. - -2021-09-13 Martin Liska - H.J. Lu - - PR target/101696 - * g++.target/i386/mv30.C: New test. - * gcc.target/i386/mvc16.c: New test. - * gcc.target/i386/builtin_target.c (CHECK___builtin_cpu_supports): - New. - -2021-09-13 Andrew Pinski - - PR target/95969 - * gcc.target/aarch64/lane-bound-1.c: New test. - * gcc.target/aarch64/lane-bound-2.c: New test. - -2021-09-13 Kyrylo Tkachov - - PR target/102252 - * g++.target/aarch64/sve/pr102252.C: New test. - -2021-09-13 Aldy Hernandez - - * gcc.dg/tree-ssa/pr21417.c: Adjust for FSM removal. - * gcc.dg/tree-ssa/pr66752-3.c: Same. - * gcc.dg/tree-ssa/pr68198.c: Same. - * gcc.dg/tree-ssa/pr69196-1.c: Same. - * gcc.dg/tree-ssa/pr70232.c: Same. - * gcc.dg/tree-ssa/pr77445.c: Same. - * gcc.dg/tree-ssa/ranger-threader-4.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same. - * gcc.dg/tree-ssa/ssa-thread-12.c: Same. - * gcc.dg/tree-ssa/ssa-thread-13.c: Same. - -2021-09-13 Patrick Palka - - PR c++/101764 - * g++.dg/cpp1z/constexpr-if35.C: New test. - -2021-09-13 Martin Liska - - PR c++/101331 - * g++.dg/pr101331.C: New test. - -2021-09-13 Aldy Hernandez - - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust for aarch64. - -2021-09-13 H.J. Lu - - PR target/101935 - * g++.target/i386/pr80566-1.C: Add - -mtune-ctrl=avx256_store_by_pieces. - * gcc.target/i386/pr100865-4a.c: Likewise. - * gcc.target/i386/pr100865-10a.c: Likewise. - * gcc.target/i386/pr90773-20.c: Likewise. - * gcc.target/i386/pr90773-21.c: Likewise. - * gcc.target/i386/pr90773-22.c: Likewise. - * gcc.target/i386/pr90773-23.c: Likewise. - * g++.target/i386/pr80566-2.C: Add - -mtune-ctrl=avx256_move_by_pieces. - * gcc.target/i386/eh_return-1.c: Likewise. - * gcc.target/i386/pr90773-26.c: Likewise. - * gcc.target/i386/pieces-memcpy-12.c: Replace -mtune=haswell - with -mtune-ctrl=avx256_move_by_pieces. - * gcc.target/i386/pieces-memcpy-15.c: Likewise. - * gcc.target/i386/pieces-memset-2.c: Replace -mtune=haswell - with -mtune-ctrl=avx256_store_by_pieces. - * gcc.target/i386/pieces-memset-5.c: Likewise. - * gcc.target/i386/pieces-memset-11.c: Likewise. - * gcc.target/i386/pieces-memset-14.c: Likewise. - * gcc.target/i386/pieces-memset-20.c: Likewise. - * gcc.target/i386/pieces-memset-23.c: Likewise. - * gcc.target/i386/pieces-memset-29.c: Likewise. - * gcc.target/i386/pieces-memset-30.c: Likewise. - * gcc.target/i386/pieces-memset-33.c: Likewise. - * gcc.target/i386/pieces-memset-34.c: Likewise. - * gcc.target/i386/pieces-memset-44.c: Likewise. - * gcc.target/i386/pieces-memset-37.c: Replace -mtune=generic - with -mtune-ctrl=avx256_store_by_pieces. - -2021-09-12 Iain Buclaw - - PR d/102185 - * gdc.dg/pr102185.d: New test. - -2021-09-11 Jakub Jelinek - - * c-c++-common/auto-init-1.c: Enable test only on ilp32 or lp64 - targets, expect different long and pointer sizes between ilp32 and - lp64. - * c-c++-common/auto-init-2.c: Likewise. - * c-c++-common/auto-init-3.c: Expect one of the common long double - sizes (8/12/16 bytes) instead of hardcoding 16 bytes. - * c-c++-common/auto-init-4.c: Likewise. - * c-c++-common/auto-init-5.c: Expect one of the common - _Complex long double sizes (16/24/32 bytes) instead of hardcoding 32 - bytes. - * c-c++-common/auto-init-6.c: Likewise. - * c-c++-common/auto-init-padding-1.c: Enable test only on ilp32 or lp64 - targets. - (struct test_small_hole): Change type of four to unsigned long long - and add aligned attribute. - -2021-09-10 Petter Tomner - - * jit.dg/test-error-array-bounds.c: Array is not unsigned - * jit.dg/jit.exp: Helper function - * jit.dg/test-debuginfo.c: New testcase - -2021-09-10 Jakub Jelinek - - * c-c++-common/gomp/atomic-17.c (foo): Add tests for atomic read, - write or update with acq_rel clause and atomic update with acquire clause. - * c-c++-common/gomp/atomic-18.c (foo): Adjust expected diagnostics - wording, remove tests moved to atomic-17.c. - * c-c++-common/gomp/atomic-21.c: Expect only 2 omp atomic release and - 2 omp atomic acq_rel directives instead of 4 omp atomic release. - * c-c++-common/gomp/atomic-25.c: New test. - * c-c++-common/gomp/atomic-26.c: New test. - * c-c++-common/gomp/atomic-27.c: New test. - * c-c++-common/gomp/atomic-28.c: New test. - * c-c++-common/gomp/atomic-29.c: New test. - * c-c++-common/gomp/atomic-30.c: New test. - * c-c++-common/goacc-gomp/atomic.c: Expect 1 omp atomic release and - 1 omp atomic_acq_rel instead of 2 omp atomic release directives. - * gcc.dg/gomp/atomic-5.c: Adjust expected error diagnostic wording. - * g++.dg/gomp/atomic-18.C:Expect 4 omp atomic release and - 1 omp atomic_acq_rel instead of 5 omp atomic release directives. - -2021-09-10 Aldy Hernandez - Michael Matz - - * gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Adjust for disabling of - threading through latches. - * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. - -2021-09-10 David Faust - - * gcc.target/bpf/alu-1.c: New test. - * gcc.target/bpf/jmp-1.c: New test. - -2021-09-10 Richard Biener - - PR middle-end/102273 - * gcc.dg/pr102273.c: New testcase. - -2021-09-10 Thomas Schwinge - - * c-c++-common/auto-init-padding-2.c: Fix 'dg-do run' syntax. - * c-c++-common/auto-init-padding-3.c: Likewise. - -2021-09-10 Richard Biener - - PR middle-end/102269 - * gcc.dg/pr102269.c: New testcase. - -2021-09-10 liuhongt - - * gcc.target/i386/avx512fp16-helper.h - (check_results_mask): New check_function. - * gcc.target/i386/avx512fp16-vcmpph-1a.c: New test. - * gcc.target/i386/avx512fp16-vcmpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcmpsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcmpsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcomish-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vcomish-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vcomish-1c.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcmpph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcmpph-1b.c: Ditto. - -2021-09-10 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-10 liuhongt - - * gcc.target/i386/avx512fp16-vmaxph-1a.c: New test. - * gcc.target/i386/avx512fp16-vmaxph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vmaxsh-1.c: Ditto. - * gcc.target/i386/avx512fp16-vmaxsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vminph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vminph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vminsh-1.c: Ditto. - * gcc.target/i386/avx512fp16-vminsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vmaxph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vmaxph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vminph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vminph-1b.c: Ditto. - -2021-09-10 liuhongt - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-10 liuhongt - - * gcc.target/i386/avx512fp16-vaddsh-1a.c: New test. - * gcc.target/i386/avx512fp16-vaddsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vdivsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vdivsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vmulsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vmulsh-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vsubsh-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vsubsh-1b.c: Ditto. - * gcc.target/i386/pr54855-11.c: Ditto. - -2021-09-10 Liu, Hongtao - - * gcc.target/i386/avx-1.c: Add test for new builtins. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-10 H.J. Lu - - * gcc.target/i386/vect-float16-1.c: New test. - * gcc.target/i386/vect-float16-10.c: Ditto. - * gcc.target/i386/vect-float16-11.c: Ditto. - * gcc.target/i386/vect-float16-12.c: Ditto. - * gcc.target/i386/vect-float16-2.c: Ditto. - * gcc.target/i386/vect-float16-3.c: Ditto. - * gcc.target/i386/vect-float16-4.c: Ditto. - * gcc.target/i386/vect-float16-5.c: Ditto. - * gcc.target/i386/vect-float16-6.c: Ditto. - * gcc.target/i386/vect-float16-7.c: Ditto. - * gcc.target/i386/vect-float16-8.c: Ditto. - * gcc.target/i386/vect-float16-9.c: Ditto. - -2021-09-10 liuhongt - - * gcc.target/i386/avx512dq-abs-copysign-1.c: Adjust testcase. - * gcc.target/i386/avx512vl-abs-copysign-1.c: Adjust testcase. - -2021-09-09 qing zhao - - * c-c++-common/auto-init-1.c: New test. - * c-c++-common/auto-init-10.c: New test. - * c-c++-common/auto-init-11.c: New test. - * c-c++-common/auto-init-12.c: New test. - * c-c++-common/auto-init-13.c: New test. - * c-c++-common/auto-init-14.c: New test. - * c-c++-common/auto-init-15.c: New test. - * c-c++-common/auto-init-16.c: New test. - * c-c++-common/auto-init-2.c: New test. - * c-c++-common/auto-init-3.c: New test. - * c-c++-common/auto-init-4.c: New test. - * c-c++-common/auto-init-5.c: New test. - * c-c++-common/auto-init-6.c: New test. - * c-c++-common/auto-init-7.c: New test. - * c-c++-common/auto-init-8.c: New test. - * c-c++-common/auto-init-9.c: New test. - * c-c++-common/auto-init-esra.c: New test. - * c-c++-common/auto-init-padding-1.c: New test. - * c-c++-common/auto-init-padding-2.c: New test. - * c-c++-common/auto-init-padding-3.c: New test. - * g++.dg/auto-init-uninit-pred-1_a.C: New test. - * g++.dg/auto-init-uninit-pred-2_a.C: New test. - * g++.dg/auto-init-uninit-pred-3_a.C: New test. - * g++.dg/auto-init-uninit-pred-4.C: New test. - * gcc.dg/auto-init-sra-1.c: New test. - * gcc.dg/auto-init-sra-2.c: New test. - * gcc.dg/auto-init-uninit-1.c: New test. - * gcc.dg/auto-init-uninit-12.c: New test. - * gcc.dg/auto-init-uninit-13.c: New test. - * gcc.dg/auto-init-uninit-14.c: New test. - * gcc.dg/auto-init-uninit-15.c: New test. - * gcc.dg/auto-init-uninit-16.c: New test. - * gcc.dg/auto-init-uninit-17.c: New test. - * gcc.dg/auto-init-uninit-18.c: New test. - * gcc.dg/auto-init-uninit-19.c: New test. - * gcc.dg/auto-init-uninit-2.c: New test. - * gcc.dg/auto-init-uninit-20.c: New test. - * gcc.dg/auto-init-uninit-21.c: New test. - * gcc.dg/auto-init-uninit-22.c: New test. - * gcc.dg/auto-init-uninit-23.c: New test. - * gcc.dg/auto-init-uninit-24.c: New test. - * gcc.dg/auto-init-uninit-25.c: New test. - * gcc.dg/auto-init-uninit-26.c: New test. - * gcc.dg/auto-init-uninit-3.c: New test. - * gcc.dg/auto-init-uninit-34.c: New test. - * gcc.dg/auto-init-uninit-36.c: New test. - * gcc.dg/auto-init-uninit-37.c: New test. - * gcc.dg/auto-init-uninit-4.c: New test. - * gcc.dg/auto-init-uninit-5.c: New test. - * gcc.dg/auto-init-uninit-6.c: New test. - * gcc.dg/auto-init-uninit-8.c: New test. - * gcc.dg/auto-init-uninit-9.c: New test. - * gcc.dg/auto-init-uninit-A.c: New test. - * gcc.dg/auto-init-uninit-B.c: New test. - * gcc.dg/auto-init-uninit-C.c: New test. - * gcc.dg/auto-init-uninit-H.c: New test. - * gcc.dg/auto-init-uninit-I.c: New test. - * gcc.target/aarch64/auto-init-1.c: New test. - * gcc.target/aarch64/auto-init-2.c: New test. - * gcc.target/aarch64/auto-init-3.c: New test. - * gcc.target/aarch64/auto-init-4.c: New test. - * gcc.target/aarch64/auto-init-5.c: New test. - * gcc.target/aarch64/auto-init-6.c: New test. - * gcc.target/aarch64/auto-init-7.c: New test. - * gcc.target/aarch64/auto-init-8.c: New test. - * gcc.target/aarch64/auto-init-padding-1.c: New test. - * gcc.target/aarch64/auto-init-padding-10.c: New test. - * gcc.target/aarch64/auto-init-padding-11.c: New test. - * gcc.target/aarch64/auto-init-padding-12.c: New test. - * gcc.target/aarch64/auto-init-padding-2.c: New test. - * gcc.target/aarch64/auto-init-padding-3.c: New test. - * gcc.target/aarch64/auto-init-padding-4.c: New test. - * gcc.target/aarch64/auto-init-padding-5.c: New test. - * gcc.target/aarch64/auto-init-padding-6.c: New test. - * gcc.target/aarch64/auto-init-padding-7.c: New test. - * gcc.target/aarch64/auto-init-padding-8.c: New test. - * gcc.target/aarch64/auto-init-padding-9.c: New test. - * gcc.target/i386/auto-init-1.c: New test. - * gcc.target/i386/auto-init-2.c: New test. - * gcc.target/i386/auto-init-21.c: New test. - * gcc.target/i386/auto-init-22.c: New test. - * gcc.target/i386/auto-init-23.c: New test. - * gcc.target/i386/auto-init-24.c: New test. - * gcc.target/i386/auto-init-3.c: New test. - * gcc.target/i386/auto-init-4.c: New test. - * gcc.target/i386/auto-init-5.c: New test. - * gcc.target/i386/auto-init-6.c: New test. - * gcc.target/i386/auto-init-7.c: New test. - * gcc.target/i386/auto-init-8.c: New test. - * gcc.target/i386/auto-init-padding-1.c: New test. - * gcc.target/i386/auto-init-padding-10.c: New test. - * gcc.target/i386/auto-init-padding-11.c: New test. - * gcc.target/i386/auto-init-padding-12.c: New test. - * gcc.target/i386/auto-init-padding-2.c: New test. - * gcc.target/i386/auto-init-padding-3.c: New test. - * gcc.target/i386/auto-init-padding-4.c: New test. - * gcc.target/i386/auto-init-padding-5.c: New test. - * gcc.target/i386/auto-init-padding-6.c: New test. - * gcc.target/i386/auto-init-padding-7.c: New test. - * gcc.target/i386/auto-init-padding-8.c: New test. - * gcc.target/i386/auto-init-padding-9.c: New test. - -2021-09-09 Harald Anlauf - - PR fortran/98490 - * gfortran.dg/bounds_check_23.f90: New test. - -2021-09-09 H.J. Lu - - * gcc.target/x86_64/abi/avx512fp16/args.h: Replace long with - long long. - (XMM_T): Rename _long to _longlong and _ulong to _ulonglong. - (X87_T): Rename _ulong to _ulonglong. - * gcc.target/x86_64/abi/avx512fp16/defines.h (TYPE_SIZE_LONG): - Define to 4 if __ILP32__ is defined. - (TYPE_SIZE_POINTER): Likewise. - (TYPE_ALIGN_LONG): Likewise. - (TYPE_ALIGN_POINTER): Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_3_element_struct_and_unions.c - (main): Skip test for long if __ILP32__ is defined. - * gcc.target/x86_64/abi/avx512fp16/test_m64m128_returning.c - (do_test): Replace _long with _longlong. - * gcc.target/x86_64/abi/avx512fp16/test_struct_returning.c: - (check_300): Replace _ulong with _ulonglong. - * gcc.target/x86_64/abi/avx512fp16/m256h/args.h: Replace long - with long long. - (YMM_T): Rename _long to _longlong and _ulong to _ulonglong. - (X87_T): Rename _ulong to _ulonglong. - * gcc.target/x86_64/abi/avx512fp16/m512h/args.h: Replace long - with long long. - (ZMM_T): Rename _long to _longlong and _ulong to _ulonglong. - (X87_T): Rename _ulong to _ulonglong. - -2021-09-09 Richard Biener - - * gcc.dg/tree-ssa/ssa-lim-17.c: New testcase. - -2021-09-09 liuhongt - - * gcc.target/i386/avx512fp16-helper.h: New header file for - FP16 runtime test. - * gcc.target/i386/avx512fp16-vaddph-1a.c: New test. - * gcc.target/i386/avx512fp16-vaddph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vdivph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vdivph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vmulph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vmulph-1b.c: Ditto. - * gcc.target/i386/avx512fp16-vsubph-1a.c: Ditto. - * gcc.target/i386/avx512fp16-vsubph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vaddph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vaddph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vdivph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vdivph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vmulph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vmulph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vsubph-1a.c: Ditto. - * gcc.target/i386/avx512fp16vl-vsubph-1b.c: Ditto. - -2021-09-09 liuhongt - - * gcc.target/i386/avx-1.c: Add -mavx512vl and test for new intrinsics. - * gcc.target/i386/avx-2.c: Add -mavx512vl. - * gcc.target/i386/avx512fp16-11a.c: New test. - * gcc.target/i386/avx512fp16-11b.c: Ditto. - * gcc.target/i386/avx512vlfp16-11a.c: Ditto. - * gcc.target/i386/avx512vlfp16-11b.c: Ditto. - * gcc.target/i386/sse-13.c: Add test for new builtins. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add test for new intrinsics. - * gcc.target/i386/sse-22.c: Ditto. - -2021-09-09 liuhongt - - PR target/101059 - * gcc.target/i386/sse2-pr101059.c: New test. - * gcc.target/i386/sse3-pr101059.c: New test. - -2021-09-09 liuhongt - - PR target/91103 - * gcc.target/i386/pr91103-1.c: New test. - * gcc.target/i386/pr91103-2.c: New test. - -2021-09-08 David Malcolm - - PR analyzer/102225 - * gcc.dg/analyzer/realloc-1.c (test_10): New. - * gcc.dg/analyzer/torture/pr102225.c: New test. - -2021-09-08 Joseph Myers - - * gcc.dg/array-quals-1.c: Allow .sdata section in more cases. - -2021-09-08 Joseph Myers - - * gcc.dg/tree-ssa/pr89430-1.c, gcc.dg/tree-ssa/pr89430-2.c, - gcc.dg/tree-ssa/pr89430-3.c, gcc.dg/tree-ssa/pr89430-4.c, - gcc.dg/tree-ssa/pr89430-5.c, gcc.dg/tree-ssa/pr89430-6.c, - gcc.dg/tree-ssa/pr89430-7-comp-ref.c, - gcc.dg/tree-ssa/pr89430-8-mem-ref-size.c, - gcc.dg/tree-ssa/pr99473-1.c: Use -ftree-cselim. - -2021-09-08 Jakub Jelinek - liuhongt - - PR target/89984 - * gcc.target/i386/avx-pr102224.c: Fix up PR number. - * gcc.dg/pr89984.c: New test. - * gcc.target/i386/avx-pr89984.c: New test. - -2021-09-08 Jakub Jelinek - - PR target/102224 - * gcc.dg/pr102224.c: New test. - * gcc.target/i386/avx-pr102224.c: New test. - -2021-09-08 liuhongt - - * gcc.target/x86_64/abi/avx512fp16/m512h/abi-avx512fp16-zmm.exp: - New file. - * gcc.target/x86_64/abi/avx512fp16/m512h/args.h: Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/asm-support.S: Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/avx512fp16-zmm-check.h: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/test_m512_returning.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_m512.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_structs.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/test_passing_unions.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m512h/test_varargs-m512.c: - Likewise. - -2021-09-08 liuhongt - - * gcc.target/x86_64/abi/avx512fp16/m256h/abi-avx512fp16-ymm.exp: - New exp file. - * gcc.target/x86_64/abi/avx512fp16/m256h/args.h: New header. - * gcc.target/x86_64/abi/avx512fp16/m256h/avx512fp16-ymm-check.h: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m256h/asm-support.S: New. - * gcc.target/x86_64/abi/avx512fp16/m256h/test_m256_returning.c: - New test. - * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_m256.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_structs.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m256h/test_passing_unions.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/m256h/test_varargs-m256.c: Likewise. - -2021-09-08 H.J. Lu - - * gcc.target/x86_64/abi/avx512fp16/abi-avx512fp16-xmm.exp: New exp - file for abi test. - * gcc.target/x86_64/abi/avx512fp16/args.h: New header file for abi test. - * gcc.target/x86_64/abi/avx512fp16/avx512fp16-check.h: Likewise. - * gcc.target/x86_64/abi/avx512fp16/avx512fp16-xmm-check.h: Likewise. - * gcc.target/x86_64/abi/avx512fp16/defines.h: Likewise. - * gcc.target/x86_64/abi/avx512fp16/macros.h: Likewise. - * gcc.target/x86_64/abi/avx512fp16/asm-support.S: New asm for abi check. - * gcc.target/x86_64/abi/avx512fp16/test_3_element_struct_and_unions.c: - New test. - * gcc.target/x86_64/abi/avx512fp16/test_basic_alignment.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_basic_array_size_and_align.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_basic_returning.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_basic_sizes.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_basic_struct_size_and_align.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_basic_union_size_and_align.c: - Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_complex_returning.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_m64m128_returning.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_passing_floats.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_passing_m64m128.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_passing_structs.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_passing_unions.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_struct_returning.c: Likewise. - * gcc.target/x86_64/abi/avx512fp16/test_varargs-m128.c: Likewise. - -2021-09-08 H.J. Lu - - * gcc.target/i386/avx512fp16-vararg-1.c: New test. - * gcc.target/i386/avx512fp16-vararg-2.c: Ditto. - * gcc.target/i386/avx512fp16-vararg-3.c: Ditto. - * gcc.target/i386/avx512fp16-vararg-4.c: Ditto. - -2021-09-08 liuhongt - - * gcc.target/i386/m512-check.h: Add union128h, union256h, union512h. - * gcc.target/i386/avx512fp16-10a.c: New test. - * gcc.target/i386/avx512fp16-10b.c: Ditto. - * gcc.target/i386/avx512fp16-1a.c: Ditto. - * gcc.target/i386/avx512fp16-1b.c: Ditto. - * gcc.target/i386/avx512fp16-1c.c: Ditto. - * gcc.target/i386/avx512fp16-1d.c: Ditto. - * gcc.target/i386/avx512fp16-1e.c: Ditto. - * gcc.target/i386/avx512fp16-2a.c: Ditto. - * gcc.target/i386/avx512fp16-2b.c: Ditto. - * gcc.target/i386/avx512fp16-2c.c: Ditto. - * gcc.target/i386/avx512fp16-3a.c: Ditto. - * gcc.target/i386/avx512fp16-3b.c: Ditto. - * gcc.target/i386/avx512fp16-3c.c: Ditto. - * gcc.target/i386/avx512fp16-4.c: Ditto. - * gcc.target/i386/avx512fp16-5.c: Ditto. - * gcc.target/i386/avx512fp16-6.c: Ditto. - * gcc.target/i386/avx512fp16-7.c: Ditto. - * gcc.target/i386/avx512fp16-8.c: Ditto. - * gcc.target/i386/avx512fp16-9a.c: Ditto. - * gcc.target/i386/avx512fp16-9b.c: Ditto. - * gcc.target/i386/pr54855-13.c: Ditto. - * gcc.target/i386/avx512fp16-vec_set_var.c: Ditto. - -2021-09-08 Guo, Xuepeng - H.J. Lu - Liu Hongtao - Wang Hongyu - Xu Dianhong - - * gcc.target/i386/avx-1.c: Add -mavx512fp16 in dg-options. - * gcc.target/i386/avx-2.c: Ditto. - * gcc.target/i386/avx512-check.h: Check cpuid for AVX512FP16. - * gcc.target/i386/funcspec-56.inc: Add new target attribute check. - * gcc.target/i386/sse-13.c: Add -mavx512fp16. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp: (check_effective_target_avx512fp16): New. - * g++.target/i386/float16-1.C: New test. - * g++.target/i386/float16-2.C: Ditto. - * g++.target/i386/float16-3.C: Ditto. - * gcc.target/i386/avx512fp16-12a.c: Ditto. - * gcc.target/i386/avx512fp16-12b.c: Ditto. - * gcc.target/i386/float16-3a.c: Ditto. - * gcc.target/i386/float16-3b.c: Ditto. - * gcc.target/i386/float16-4a.c: Ditto. - * gcc.target/i386/float16-4b.c: Ditto. - * gcc.target/i386/pr54855-12.c: Ditto. - * g++.dg/other/i386-2.C: Ditto. - * g++.dg/other/i386-3.C: Ditto. - -2021-09-08 liuhongt - - * gcc.target/i386/float16-6.c: New test. - * gcc.target/i386/float16-7.c: New test. - -2021-09-07 David Faust - - * gcc.target/bpf/core-attr-1.c: New test. - * gcc.target/bpf/core-attr-2.c: Likewise. - * gcc.target/bpf/core-attr-3.c: Likewise. - * gcc.target/bpf/core-attr-4.c: Likewise - * gcc.target/bpf/core-builtin-1.c: Likewise - * gcc.target/bpf/core-builtin-2.c: Likewise. - * gcc.target/bpf/core-builtin-3.c: Likewise. - * gcc.target/bpf/core-section-1.c: Likewise. - -2021-09-07 Hans-Peter Nilsson - - * gcc.dg/no_profile_instrument_function-attr-2.c: Fix - typo in last change. - -2021-09-07 Harald Anlauf - - PR fortran/101327 - * gfortran.dg/pr101327.f90: New test. - -2021-09-07 Indu Bhagat - - * gcc.target/bpf/core-lto-1.c: New test. - -2021-09-07 Jakub Jelinek - - PR c++/100495 - * g++.dg/cpp2a/constexpr-new21.C: New test. - -2021-09-07 H.J. Lu - - PR target/85819 - * gcc.target/i386/pr85819-1a.c: New test. - * gcc.target/i386/pr85819-1b.c: Likewise. - * gcc.target/i386/pr85819-2a.c: Likewise. - * gcc.target/i386/pr85819-2b.c: Likewise. - * gcc.target/i386/pr85819-2c.c: Likewise. - * gcc.target/i386/pr85819-3.c: Likewise. - -2021-09-07 Richard Biener - - PR tree-optimization/102226 - * g++.dg/vect/pr102226.cc: New testcase. - -2021-09-07 Marcel Vollweiler - - * c-c++-common/gomp/flush-1.c: Add test case for 'seq_cst'. - * c-c++-common/gomp/flush-2.c: Add test case for 'seq_cst'. - * g++.dg/gomp/attrs-1.C: Adapt test to handle all flush clauses. - * g++.dg/gomp/attrs-2.C: Adapt test to handle all flush clauses. - * gfortran.dg/gomp/flush-1.f90: Add test case for 'seq_cst'. - * gfortran.dg/gomp/flush-2.f90: Add test case for 'seq_cst'. - -2021-09-07 Martin Liska - - PR gcov-profile/80223 - * gcc.dg/no_profile_instrument_function-attr-2.c: New test. - -2021-09-07 Xionghu Luo - - PR target/97142 - * gcc.target/powerpc/pr97142.c: New test. - -2021-09-06 H.J. Lu - - PR target/89984 - * gcc.target/i386/pr89984-1.c: New test. - * gcc.target/i386/pr89984-2.c: Likewise. - * gcc.target/i386/xorsign-avx.c: Likewise. - -2021-09-06 liuhongt - - PR middle-end/102182 - * gcc.target/i386/pr101282.c: New test. - -2021-09-06 Jakub Jelinek - - PR tree-optimization/102207 - * gcc.dg/pr102207.c: New test. - -2021-09-06 Andrew Pinski - - PR tree-optimization/63184 - * c-c++-common/pr19807-2.c: Enable for all targets and remove the xfail. - * c-c++-common/pr19807-3.c: Likewise. - -2021-09-03 Patrick Palka - - PR c++/101904 - * g++.dg/template/conv17.C: New test. - -2021-09-03 Tobias Burnus - - * gfortran.dg/bind_c_char_6.f90: Update dg-error. - * gfortran.dg/bind_c_char_7.f90: Likewise. - * gfortran.dg/bind_c_char_8.f90: Likewise. - * gfortran.dg/iso_c_binding_char_1.f90: Likewise. - * gfortran.dg/pr32599.f03: Likewise. - * gfortran.dg/bind_c_char_9.f90: Comment testcase bits which are - implementable but not valid F2018. - * gfortran.dg/bind_c_contiguous.f90: New test. - -2021-09-03 liuhongt - - PR target/102166 - * g++.target/i386/pr102166.C: New test. - -2021-09-02 Sandra Loosemore - José Rui Faustino de Sousa - - PR fortran/100911 - PR fortran/100915 - PR fortran/100916 - * gfortran.dg/PR100911.c: New file. - * gfortran.dg/PR100911.f90: New file. - * gfortran.dg/PR100914.c: New file. - * gfortran.dg/PR100914.f90: New file. - * gfortran.dg/PR100915.c: New file. - * gfortran.dg/PR100915.f90: New file. - -2021-09-02 Sandra Loosemore - - * gfortran.dg/c-interop/allocatable-dummy-c.c: New file. - * gfortran.dg/c-interop/allocatable-dummy.f90: New file. - * gfortran.dg/c-interop/allocatable-optional-pointer.f90: New file. - * gfortran.dg/c-interop/allocate-c.c: New file. - * gfortran.dg/c-interop/allocate-errors-c.c: New file. - * gfortran.dg/c-interop/allocate-errors.f90: New file. - * gfortran.dg/c-interop/allocate.f90: New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-1.f90: - New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-2.f90: - New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-3.f90: - New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-4.f90: - New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-5.f90: - New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-6.f90: - New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-7.f90: - New file. - * gfortran.dg/c-interop/argument-association-assumed-rank-8.f90: - New file. - * gfortran.dg/c-interop/assumed-type-dummy.f90: New file. - * gfortran.dg/c-interop/c-interop.exp: New file. - * gfortran.dg/c-interop/c1255-1.f90: New file. - * gfortran.dg/c-interop/c1255-2.f90: New file. - * gfortran.dg/c-interop/c1255a.f90: New file. - * gfortran.dg/c-interop/c407a-1.f90: New file. - * gfortran.dg/c-interop/c407a-2.f90: New file. - * gfortran.dg/c-interop/c407b-1.f90: New file. - * gfortran.dg/c-interop/c407b-2.f90: New file. - * gfortran.dg/c-interop/c407c-1.f90: New file. - * gfortran.dg/c-interop/c516.f90: New file. - * gfortran.dg/c-interop/c524a.f90: New file. - * gfortran.dg/c-interop/c535a-1.f90: New file. - * gfortran.dg/c-interop/c535a-2.f90: New file. - * gfortran.dg/c-interop/c535b-1.f90: New file. - * gfortran.dg/c-interop/c535b-2.f90: New file. - * gfortran.dg/c-interop/c535b-3.f90: New file. - * gfortran.dg/c-interop/c535c-1.f90: New file. - * gfortran.dg/c-interop/c535c-2.f90: New file. - * gfortran.dg/c-interop/c535c-3.f90: New file. - * gfortran.dg/c-interop/c535c-4.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-1-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-1.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-2-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-2.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-3-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-3.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-4-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-4.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-5-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-5.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-6-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-6.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-7-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-7.f90: New file. - * gfortran.dg/c-interop/cf-descriptor-8-c.c: New file. - * gfortran.dg/c-interop/cf-descriptor-8.f90: New file. - * gfortran.dg/c-interop/cf-out-descriptor-1-c.c: New file. - * gfortran.dg/c-interop/cf-out-descriptor-1.f90: New file. - * gfortran.dg/c-interop/cf-out-descriptor-2-c.c: New file. - * gfortran.dg/c-interop/cf-out-descriptor-2.f90: New file. - * gfortran.dg/c-interop/cf-out-descriptor-3-c.c: New file. - * gfortran.dg/c-interop/cf-out-descriptor-3.f90: New file. - * gfortran.dg/c-interop/cf-out-descriptor-4-c.c: New file. - * gfortran.dg/c-interop/cf-out-descriptor-4.f90: New file. - * gfortran.dg/c-interop/cf-out-descriptor-5-c.c: New file. - * gfortran.dg/c-interop/cf-out-descriptor-5.f90: New file. - * gfortran.dg/c-interop/cf-out-descriptor-6-c.c: New file. - * gfortran.dg/c-interop/cf-out-descriptor-6.f90: New file. - * gfortran.dg/c-interop/contiguous-1-c.c: New file. - * gfortran.dg/c-interop/contiguous-1.f90: New file. - * gfortran.dg/c-interop/contiguous-2-c.c: New file. - * gfortran.dg/c-interop/contiguous-2.f90: New file. - * gfortran.dg/c-interop/contiguous-3-c.c: New file. - * gfortran.dg/c-interop/contiguous-3.f90: New file. - * gfortran.dg/c-interop/deferred-character-1.f90: New file. - * gfortran.dg/c-interop/deferred-character-2.f90: New file. - * gfortran.dg/c-interop/dump-descriptors.c: New file. - * gfortran.dg/c-interop/dump-descriptors.h: New file. - * gfortran.dg/c-interop/establish-c.c: New file. - * gfortran.dg/c-interop/establish-errors-c.c: New file. - * gfortran.dg/c-interop/establish-errors.f90: New file. - * gfortran.dg/c-interop/establish.f90: New file. - * gfortran.dg/c-interop/explicit-interface.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-1-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-1.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-2-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-2.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-3-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-3.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-4-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-4.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-5-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-5.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-6-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-6.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-7-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-7.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-8-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-8.f90: New file. - * gfortran.dg/c-interop/fc-descriptor-9-c.c: New file. - * gfortran.dg/c-interop/fc-descriptor-9.f90: New file. - * gfortran.dg/c-interop/fc-out-descriptor-1-c.c: New file. - * gfortran.dg/c-interop/fc-out-descriptor-1.f90: New file. - * gfortran.dg/c-interop/fc-out-descriptor-2-c.c: New file. - * gfortran.dg/c-interop/fc-out-descriptor-2.f90: New file. - * gfortran.dg/c-interop/fc-out-descriptor-3-c.c: New file. - * gfortran.dg/c-interop/fc-out-descriptor-3.f90: New file. - * gfortran.dg/c-interop/fc-out-descriptor-4-c.c: New file. - * gfortran.dg/c-interop/fc-out-descriptor-4.f90: New file. - * gfortran.dg/c-interop/fc-out-descriptor-5-c.c: New file. - * gfortran.dg/c-interop/fc-out-descriptor-5.f90: New file. - * gfortran.dg/c-interop/fc-out-descriptor-6-c.c: New file. - * gfortran.dg/c-interop/fc-out-descriptor-6.f90: New file. - * gfortran.dg/c-interop/fc-out-descriptor-7-c.c: New file. - * gfortran.dg/c-interop/fc-out-descriptor-7.f90: New file. - * gfortran.dg/c-interop/ff-descriptor-1.f90: New file. - * gfortran.dg/c-interop/ff-descriptor-2.f90: New file. - * gfortran.dg/c-interop/ff-descriptor-3.f90: New file. - * gfortran.dg/c-interop/ff-descriptor-4.f90: New file. - * gfortran.dg/c-interop/ff-descriptor-5.f90: New file. - * gfortran.dg/c-interop/ff-descriptor-6.f90: New file. - * gfortran.dg/c-interop/ff-descriptor-7.f90: New file. - * gfortran.dg/c-interop/note-5-3.f90: New file. - * gfortran.dg/c-interop/note-5-4-c.c: New file. - * gfortran.dg/c-interop/note-5-4.f90: New file. - * gfortran.dg/c-interop/optional-c.c: New file. - * gfortran.dg/c-interop/optional.f90: New file. - * gfortran.dg/c-interop/rank-class.f90: New file. - * gfortran.dg/c-interop/rank.f90: New file. - * gfortran.dg/c-interop/removed-restrictions-1.f90: New file. - * gfortran.dg/c-interop/removed-restrictions-2.f90: New file. - * gfortran.dg/c-interop/removed-restrictions-3.f90: New file. - * gfortran.dg/c-interop/removed-restrictions-4.f90: New file. - * gfortran.dg/c-interop/section-1-c.c: New file. - * gfortran.dg/c-interop/section-1.f90: New file. - * gfortran.dg/c-interop/section-1p.f90: New file. - * gfortran.dg/c-interop/section-2-c.c: New file. - * gfortran.dg/c-interop/section-2.f90: New file. - * gfortran.dg/c-interop/section-2p.f90: New file. - * gfortran.dg/c-interop/section-3-c.c: New file. - * gfortran.dg/c-interop/section-3.f90: New file. - * gfortran.dg/c-interop/section-3p.f90: New file. - * gfortran.dg/c-interop/section-4-c.c: New file. - * gfortran.dg/c-interop/section-4.f90: New file. - * gfortran.dg/c-interop/section-errors-c.c: New file. - * gfortran.dg/c-interop/section-errors.f90: New file. - * gfortran.dg/c-interop/select-c.c: New file. - * gfortran.dg/c-interop/select-errors-c.c: New file. - * gfortran.dg/c-interop/select-errors.f90: New file. - * gfortran.dg/c-interop/select.f90: New file. - * gfortran.dg/c-interop/setpointer-c.c: New file. - * gfortran.dg/c-interop/setpointer-errors-c.c: New file. - * gfortran.dg/c-interop/setpointer-errors.f90: New file. - * gfortran.dg/c-interop/setpointer.f90: New file. - * gfortran.dg/c-interop/shape.f90: New file. - * gfortran.dg/c-interop/size.f90: New file. - * gfortran.dg/c-interop/tkr.f90: New file. - * gfortran.dg/c-interop/typecodes-array-basic-c.c: New file. - * gfortran.dg/c-interop/typecodes-array-basic.f90: New file. - * gfortran.dg/c-interop/typecodes-array-char-c.c: New file. - * gfortran.dg/c-interop/typecodes-array-char.f90: New file. - * gfortran.dg/c-interop/typecodes-array-float128-c.c: New file. - * gfortran.dg/c-interop/typecodes-array-float128.f90: New file. - * gfortran.dg/c-interop/typecodes-array-int128-c.c: New file. - * gfortran.dg/c-interop/typecodes-array-int128.f90: New file. - * gfortran.dg/c-interop/typecodes-array-longdouble-c.c: New file. - * gfortran.dg/c-interop/typecodes-array-longdouble.f90: New file. - * gfortran.dg/c-interop/typecodes-sanity-c.c: New file. - * gfortran.dg/c-interop/typecodes-sanity.f90: New file. - * gfortran.dg/c-interop/typecodes-scalar-basic-c.c: New file. - * gfortran.dg/c-interop/typecodes-scalar-basic.f90: New file. - * gfortran.dg/c-interop/typecodes-scalar-float128-c.c: New file. - * gfortran.dg/c-interop/typecodes-scalar-float128.f90: New file. - * gfortran.dg/c-interop/typecodes-scalar-int128-c.c: New file. - * gfortran.dg/c-interop/typecodes-scalar-int128.f90: New file. - * gfortran.dg/c-interop/typecodes-scalar-longdouble-c.c: New file. - * gfortran.dg/c-interop/typecodes-scalar-longdouble.f90: New file. - * gfortran.dg/c-interop/ubound.f90: New file. - * lib/target-supports.exp - (check_effective_target_fortran_real_c_float128): New function. - -2021-09-02 Martin Sebor - - PR tree-optimization/17506 - PR testsuite/37182 - * gcc.dg/diagnostic-tree-expr-ranges-2.c: Add expected output. - * gcc.dg/uninit-15-O0.c: Remove xfail. - * gcc.dg/uninit-15.c: Same. - -2021-09-02 Marcel Vollweiler - - * gfortran.dg/gomp/target-device-ancestor-4.f90: Comment out dg-final to avoid - UNRESOLVED. - -2021-09-02 Richard Biener - - * gcc.dg/tree-ssa/ssa-lim-16.c: New testcase. - -2021-09-02 Jakub Jelinek - - PR tree-optimization/99591 - * gcc.target/i386/pr99591.c: New test. - * gcc.target/i386/pr97950.c: Match or reject setb or jn?b instructions - together with seta or jn?a. - -2021-09-02 liuhongt - - * gcc.target/i386/sse2-float16-1.c: New test. - * gcc.target/i386/sse2-float16-2.c: Ditto. - * gcc.target/i386/sse2-float16-3.c: Ditto. - * gcc.target/i386/float16-5.c: New test. - -2021-09-01 Jeff Law - - PR tree-optimization/102152 - * gcc.dg/pr102152.c: New test - -2021-09-01 Andrew Pinski - - PR target/101934 - * gcc.target/aarch64/memset-strict-align-1.c: New test. - -2021-09-01 Jakub Jelinek - - PR c++/100977 - * g++.dg/cpp23/normalize1.C: New test. - * g++.dg/cpp23/normalize2.C: New test. - * g++.dg/cpp23/normalize3.C: New test. - * g++.dg/cpp23/normalize4.C: New test. - * g++.dg/cpp23/normalize5.C: New test. - * g++.dg/cpp23/normalize6.C: New test. - * g++.dg/cpp23/normalize7.C: New test. - * g++.dg/cpp23/ucnid-1-utf8.C: New test. - * g++.dg/cpp23/ucnid-2-utf8.C: New test. - * gcc.dg/cpp/ucnid-4.c: Don't expect - "not valid at the start of an identifier" errors. - * gcc.dg/cpp/ucnid-4-utf8.c: Likewise. - * gcc.dg/cpp/ucnid-5-utf8.c: New test. - -2021-09-01 Andrew Pinski - - PR testsuite/51748 - * gcc.misc-tests/linkage.exp: Add mips*-linux-* support. - -2021-09-01 Martin Sebor - - * gcc.dg/Wstringop-overflow-11.c: Remove xfails. - * gcc.dg/Wstringop-overflow-12.c: Same. - * gcc.dg/Wstringop-overflow-43.c: Add xfails. - * gcc.dg/Wstringop-overflow-73.c: New test. - -2021-09-01 Jakub Jelinek - - PR preprocessor/101488 - * c-c++-common/cpp/va-opt-3.c: Adjust expected output. - * c-c++-common/cpp/va-opt-7.c: New test. - -2021-09-01 Marek Polacek - - PR c++/101592 - * g++.dg/warn/Wlogical-op-3.C: New test. - -2021-09-01 Iain Sandoe - - * g++.dg/ext/attr-unavailable-1.C: New test. - * g++.dg/ext/attr-unavailable-2.C: New test. - * g++.dg/ext/attr-unavailable-3.C: New test. - * g++.dg/ext/attr-unavailable-4.C: New test. - * g++.dg/ext/attr-unavailable-5.C: New test. - * g++.dg/ext/attr-unavailable-6.C: New test. - * g++.dg/ext/attr-unavailable-7.C: New test. - * g++.dg/ext/attr-unavailable-8.C: New test. - * g++.dg/ext/attr-unavailable-9.C: New test. - * gcc.dg/attr-unavailable-1.c: New test. - * gcc.dg/attr-unavailable-2.c: New test. - * gcc.dg/attr-unavailable-3.c: New test. - * gcc.dg/attr-unavailable-4.c: New test. - * gcc.dg/attr-unavailable-5.c: New test. - * gcc.dg/attr-unavailable-6.c: New test. - * obj-c++.dg/attributes/method-unavailable-1.mm: New test. - * obj-c++.dg/attributes/method-unavailable-2.mm: New test. - * obj-c++.dg/attributes/method-unavailable-3.mm: New test. - * obj-c++.dg/property/at-property-unavailable-1.mm: New test. - * obj-c++.dg/property/at-property-unavailable-2.mm: New test. - * obj-c++.dg/property/dotsyntax-unavailable-1.mm: New test. - * objc.dg/attributes/method-unavailable-1.m: New test. - * objc.dg/attributes/method-unavailable-2.m: New test. - * objc.dg/attributes/method-unavailable-3.m: New test. - * objc.dg/property/at-property-unavailable-1.m: New test. - * objc.dg/property/at-property-unavailable-2.m: New test. - * objc.dg/property/dotsyntax-unavailable-1.m: New test. - -2021-09-01 Jakub Jelinek - - PR tree-optimization/102124 - * gcc.dg/torture/pr102124.c: New test. - -2021-09-01 Richard Biener - - PR tree-optimization/93491 - * gcc.dg/torture/pr93491.c: New testcase. - * gcc.dg/tree-ssa/pr88087.c: Change to valid PRE opportunity. - -2021-09-01 Richard Biener - - PR tree-optimization/102139 - * gcc.dg/torture/pr102139.c: New testcase. - -2021-09-01 Jakub Jelinek - - PR tree-optimization/102141 - * gcc.dg/pr102141.c: New test. - -2021-09-01 Richard Biener - - PR tree-optimization/102149 - * gcc.dg/torture/pr102149.c: New testcase. - -2021-09-01 Roger Sayle - Joseph Myers - - PR c/79412 - * gcc.dg/pr79412.c: New test case. - * gcc.dg/typedef-var-2.c: Update expeted errors. - -2021-08-31 Harald Anlauf - - PR fortran/100950 - * gfortran.dg/pr100950.f90: Extend coverage. - -2021-08-31 Patrick Palka - - PR c++/12672 - * g++.dg/cpp0x/decltype29.C: Adjust. - * g++.dg/template/error56.C: Adjust. - * g++.old-deja/g++.pt/unify6.C: Adjust. - * g++.dg/template/explicit-args7.C: New test. - -2021-08-31 Jason Merrill - - PR c++/92193 - * g++.dg/diagnostic/static_assert4.C: New test. - -2021-08-31 Jeff Law - - * gcc.target/mips/mips.exp: Add tree-vrp to mips_option_group. - * gcc.target/mips/data-sym-multi-pool.c: Add -fno-tree-vrp. - -2021-08-31 Jakub Jelinek - - PR tree-optimization/101145 - * gcc.dg/vect/pr101145.c: Use dg-additional-options with just -O3 - instead of dg-options with -O3 -fdump-tree-vect-details. - * gcc.dg/vect/pr101145_1.c: Likewise. - * gcc.dg/vect/pr101145_2.c: Likewise. - * gcc.dg/vect/pr101145_3.c: Likewise. - -2021-08-31 Marcel Vollweiler - - * c-c++-common/gomp/target-device-1.c: New test. - * c-c++-common/gomp/target-device-2.c: New test. - * c-c++-common/gomp/target-device-ancestor-1.c: New test. - * c-c++-common/gomp/target-device-ancestor-2.c: New test. - * c-c++-common/gomp/target-device-ancestor-3.c: New test. - * c-c++-common/gomp/target-device-ancestor-4.c: New test. - * gfortran.dg/gomp/target-device-1.f90: New test. - * gfortran.dg/gomp/target-device-2.f90: New test. - * gfortran.dg/gomp/target-device-ancestor-1.f90: New test. - * gfortran.dg/gomp/target-device-ancestor-2.f90: New test. - * gfortran.dg/gomp/target-device-ancestor-3.f90: New test. - * gfortran.dg/gomp/target-device-ancestor-4.f90: New test. - -2021-08-31 Richard Biener - - PR tree-optimization/102142 - * g++.dg/torture/pr102142.C: New testcase. - -2021-08-31 Jakub Jelinek - - PR tree-optimization/102134 - * gcc.c-torture/execute/pr102134.c: New test. - -2021-08-31 prathamesh.kulkarni - - * gcc.target/arm/pr51534.c: Adjust test-case for soft fp targets. - -2021-08-31 Andrew Pinski - - * gcc.dg/ipa/inline-8.c: Mark cmp and move as - static so they both bind local and available for - inlinine. - -2021-08-31 liuhongt - - * gcc.target/i386/avx512bw-vpcmpeqb-1.c: Adjust testcase. - * gcc.target/i386/avx512bw-vpcmpeqw-1.c: Ditto. - * gcc.target/i386/avx512bw-vpcmpgtb-1.c: Ditto. - * gcc.target/i386/avx512bw-vpcmpgtw-1.c: Ditto. - * gcc.target/i386/avx512f-vpcmpeqd-1.c: Ditto. - * gcc.target/i386/avx512f-vpcmpeqq-1.c: Ditto. - * gcc.target/i386/avx512f-vpcmpgtd-1.c: Ditto. - * gcc.target/i386/avx512f-vpcmpgtq-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcmpeqd-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcmpeqq-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcmpgtd-1.c: Ditto. - * gcc.target/i386/avx512vl-vpcmpgtq-1.c: Ditto. - * gcc.target/i386/bitwise_mask_op-1.c: Ditto. - * gcc.target/i386/bitwise_mask_op-2.c: Ditto. - -2021-08-30 David Malcolm - - PR analyzer/99260 - * gcc.dg/analyzer/capacity-2.c: Update for changes to realloc - analysis. - * gcc.dg/analyzer/pr99193-1.c: Likewise. - * gcc.dg/analyzer/pr99193-3.c: Likewise. - * gcc.dg/analyzer/realloc-1.c: Likewise. Add test coverage for - realloc of non-heap pointer, realloc from mismatching allocator, - and realloc on a freed pointer. - * gcc.dg/analyzer/realloc-2.c: New test. - -2021-08-30 Jason Merrill - - PR c++/96286 - * g++.dg/template/access2.C: Split struct A. - -2021-08-30 Jason Merrill - - PR c++/101460 - * g++.dg/template/explicit-args6.C: New test. - -2021-08-30 Harald Anlauf - - PR fortran/102113 - * gfortran.dg/goto_9.f90: New test. - -2021-08-30 Jason Merrill - - * g++.dg/cpp2a/concepts-lambda14.C: Add expected warnings. - -2021-08-30 Harald Anlauf - - PR fortran/101349 - * gfortran.dg/unlimited_polymorphic_33.f90: New test. - -2021-08-30 Pat Haugen - - * gcc.target/powerpc/fusion-p10-stst.c: New test. - * gcc.target/powerpc/fusion-p10-stst2.c: New test. - -2021-08-29 Iain Buclaw - - PR d/102094 - * gdc.dg/lto/pr102094_0.d: New test. - -2021-08-29 Iain Sandoe - - * gcc.dg/analyzer/strndup-1.c: Skip for Darwin versions - without strndup support in libc. - -2021-08-28 Jan Hubicka - - * gcc.dg/tree-ssa/modref-9.c: New test. - -2021-08-28 Harald Anlauf - - PR fortran/87737 - * gfortran.dg/entry_24.f90: New test. - -2021-08-27 Michael Meissner - - * gcc.target/powerpc/float128-call.c: Update comments. - -2021-08-27 Michael Meissner - - * gcc.target/powerpc/float128-call.c: Fix test for IEEE 128-bit - long double and power10. - -2021-08-27 Iain Sandoe - - * lib/target-supports.exp: Exclude cctools assembler based on - GAS 1.38. - -2021-08-27 Richard Biener - - PR tree-optimization/45178 - * gcc.dg/tree-ssa/ssa-dce-3.c: Adjust testcase. - -2021-08-27 konglin1 - - PR target/101472 - * gcc.target/i386/avx512f-pr101472.c: New test. - * gcc.target/i386/avx512vl-pr101472.c: New test. - -2021-08-27 Kewen Lin - - * gcc.target/powerpc/dive-vectorize-1.c: New test. - * gcc.target/powerpc/dive-vectorize-1.h: New test. - * gcc.target/powerpc/dive-vectorize-2.c: New test. - * gcc.target/powerpc/dive-vectorize-2.h: New test. - * gcc.target/powerpc/dive-vectorize-run-1.c: New test. - * gcc.target/powerpc/dive-vectorize-run-2.c: New test. - * gcc.target/powerpc/p10-bifs-vectorize-1.c: New test. - * gcc.target/powerpc/p10-bifs-vectorize-1.h: New test. - * gcc.target/powerpc/p10-bifs-vectorize-run-1.c: New test. - -2021-08-27 liuhongt - - * gcc.target/i386/avx512f-vshufpd-1.c: Adjust testcase. - * gcc.target/i386/avx512f-vshufps-1.c: Adjust testcase. - * gcc.target/i386/pr43147.c: New test. - -2021-08-26 Roger Sayle - - * gcc.dg/tree-ssa/ssa-ccp-41.c: New test case. - -2021-08-26 Martin Liska - Stefan Kneifel - - * gcc.target/i386/mvc5.c: Scan assembly names. - * gcc.target/i386/mvc7.c: Likewise. - * gcc.target/i386/pr95778-1.c: Update scanned patterns. - * gcc.target/i386/pr95778-2.c: Likewise. - -2021-08-25 Martin Sebor - - * gcc.dg/tree-ssa/evrp1.c: Add -details to dump option. - * gcc.dg/tree-ssa/evrp2.c: Same. - * gcc.dg/tree-ssa/evrp3.c: Same. - * gcc.dg/tree-ssa/evrp4.c: Same. - * gcc.dg/tree-ssa/evrp6.c: Same. - * gcc.dg/tree-ssa/pr64130.c: Same. - -2021-08-25 Michael Meissner - - PR target/94630 - * gcc.target/powerpc/pr70117.c: Specify that we need the long double - type to be IBM 128-bit. Remove the code to use __ibm128. - * c-c++-common/dfp/convert-bfp-11.c: Specify that we need the long - double type to be IBM 128-bit. Run the test at -O2 optimization. - * lib/target-supports.exp (add_options_for_long_double_ibm128): New - function. - (check_effective_target_long_double_ibm128): New function. - (add_options_for_long_double_ieee128): New function. - (check_effective_target_long_double_ieee128): New function. - (add_options_for_long_double_64bit): New function. - (check_effective_target_long_double_64bit): New function. - -2021-08-25 Andrew Pinski - - PR c++/66590 - * g++.dg/warn/Wreturn-5.C: New test. - -2021-08-25 Jan Hubicka - - * gcc.dg/ipa/modref-1.c: Update testcase. - * gcc.dg/tree-ssa/modref-4.c: Update testcase. - * gcc.dg/tree-ssa/modref-8.c: New test. - -2021-08-25 Lewis Hyatt - - PR other/93067 - * gcc.dg/diagnostic-input-charset-1.c: New test. - * gcc.dg/diagnostic-input-utf8-bom.c: New test. - -2021-08-25 Richard Biener - - PR tree-optimization/102046 - * gcc.dg/vect/pr102046.c: New testcase. - -2021-08-25 Hongyu Wang - - PR target/101716 - * gcc.target/i386/pr101716.c: New test. - -2021-08-25 Jiufu Guo - - PR tree-optimization/101145 - * gcc.dg/vect/pr101145.c: New test. - * gcc.dg/vect/pr101145.inc: New test. - * gcc.dg/vect/pr101145_1.c: New test. - * gcc.dg/vect/pr101145_2.c: New test. - * gcc.dg/vect/pr101145_3.c: New test. - * gcc.dg/vect/pr101145inf.c: New test. - * gcc.dg/vect/pr101145inf.inc: New test. - * gcc.dg/vect/pr101145inf_1.c: New test. - -2021-08-25 konglin1 - - PR target/101471 - * gcc.target/i386/avx512f-pr101471.c: New test. - -2021-08-25 Kewen Lin - - * gcc.target/powerpc/unpack-vectorize-1.c: New test. - * gcc.target/powerpc/unpack-vectorize-1.h: New test. - * gcc.target/powerpc/unpack-vectorize-2.c: New test. - * gcc.target/powerpc/unpack-vectorize-2.h: New test. - * gcc.target/powerpc/unpack-vectorize-3.c: New test. - * gcc.target/powerpc/unpack-vectorize-3.h: New test. - * gcc.target/powerpc/unpack-vectorize-run-1.c: New test. - * gcc.target/powerpc/unpack-vectorize-run-2.c: New test. - * gcc.target/powerpc/unpack-vectorize-run-3.c: New test. - * gcc.target/powerpc/unpack-vectorize.h: New test. - -2021-08-25 liuhongt - - PR target/101989 - * gcc.target/i386/avx2-shiftqihi-constant-1.c: Add -mno-avx512f. - * gcc.target/i386/sse2-shiftqihi-constant-1.c: Add -mno-avx - -2021-08-24 Harald Anlauf - - PR fortran/98411 - * gfortran.dg/pr98411.f90: Adjust testcase options to restrict to - F2008, and verify case of implicit SAVE. - -2021-08-24 Martin Sebor - - PR middle-end/101600 - PR middle-end/101977 - * g++.dg/pr100574.C: Prune out valid warning. - * gcc.dg/pr20126.c: Same. - * gcc.dg/Wstringop-overread.c: Adjust text of expected warnings. - Add new instances. - * gcc.dg/warn-strnlen-no-nul.c: Same. - * g++.dg/warn/Warray-bounds-26.C: New test. - * gcc.dg/Warray-bounds-88.c: New test. - -2021-08-24 Andrew MacLeod - - * gcc.dg/predict-1.c: Disable evrp. - * gcc.dg/tree-ssa/evrp-trans.c: New. - -2021-08-24 H.J. Lu - - PR target/102021 - * gcc.target/i386/pr100865-10b.c: Expect vzeroupper. - * gcc.target/i386/pr100865-4b.c: Likewise. - * gcc.target/i386/pr100865-6b.c: Expect vmovdqu and vzeroupper. - * gcc.target/i386/pr100865-7b.c: Likewise. - * gcc.target/i386/pr102021.c: New test. - -2021-08-24 Richard Earnshaw - - PR target/102035 - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13a.c: New test. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7a.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8a.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7a.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8a.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13a.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7a.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8a.c: Likewise. - -2021-08-24 Richard Earnshaw - - * lib/target-supports.exp (check_effective_target_arm_cmse_hw): - Check the CMSE feature register, rather than relying on the - SG operation causing an execution fault. - -2021-08-24 liuhongt - - PR target/101989 - * gcc.target/i386/pr101989-broadcast-1.c: New test. - -2021-08-24 liuhongt - - PR target/101989 - * gcc.target/i386/pr101989-1.c: New test. - * gcc.target/i386/pr101989-2.c: New test. - * gcc.target/i386/avx512bw-shiftqihi-constant-1.c: Adjust testcase. - -2021-08-24 Roger Sayle - Jakub Jelinek - - PR middle-end/102029 - * gcc.dg/fold-convlshift-3.c: New test case. - -2021-08-23 David Malcolm - - * gcc.dg/analyzer/switch.c: Remove xfail. Add various tests. - * gcc.dg/analyzer/torture/switch-2.c: New test. - * gcc.dg/analyzer/torture/switch-3.c: New test. - * gcc.dg/analyzer/torture/switch-4.c: New test. - * gcc.dg/analyzer/torture/switch-5.c: New test. - -2021-08-23 David Malcolm - - PR analyzer/101875 - * gcc.dg/analyzer/pr101875.c: New test. - -2021-08-23 David Malcolm - - PR analyzer/101837 - * gcc.dg/analyzer/pr101837.c: New test. - -2021-08-23 David Malcolm - - PR analyzer/101962 - * gcc.dg/analyzer/data-model-23.c: New test. - * gcc.dg/analyzer/pr101962.c: New test. - -2021-08-23 David Malcolm - - * gcc.dg/analyzer/data-model-22.c: New test. - * gcc.dg/analyzer/uninit-6.c: New test. - * gcc.dg/analyzer/uninit-6b.c: New test. - -2021-08-23 Jan Hubicka - - * gcc.dg/tree-ssa/modref-7.c: New test. - -2021-08-23 Richard Biener - - PR ipa/97565 - * g++.dg/lto/pr97565_0.C: New testcase. - * g++.dg/lto/pr97565_1.C: Likewise. - -2021-08-23 Jan Hubicka - - * g++.dg/tree-ssa/modref-1.C: Fix template. - -2021-08-23 Tobias Burnus - - * gfortran.dg/goacc/asyncwait-1.f95: Update dg-error. - * gfortran.dg/goacc/default-2.f: Update dg-error. - * gfortran.dg/goacc/enter-exit-data.f95: Update dg-error. - * gfortran.dg/goacc/if.f95: Update dg-error. - * gfortran.dg/goacc/parallel-kernels-clauses.f95: Update dg-error. - * gfortran.dg/goacc/routine-6.f90: Update dg-error. - * gfortran.dg/goacc/sie.f95: Update dg-error. - * gfortran.dg/goacc/update-if_present-2.f90: Update dg-error. - * gfortran.dg/gomp/cancel-2.f90: Update dg-error. - * gfortran.dg/gomp/declare-simd-1.f90: Update dg-error. - * gfortran.dg/gomp/error-3.f90: Update dg-error. - * gfortran.dg/gomp/loop-2.f90: Update dg-error. - * gfortran.dg/gomp/masked-2.f90: Update dg-error. - -2021-08-23 Ankur Saini - - PR analyzer/102020 - * gcc.dg/analyzer/malloc-callbacks.c : Fix faulty test. - -2021-08-23 Roger Sayle - - * gcc.dg/fold-convlshift-1.c: New test case. - * gcc.dg/fold-convlshift-2.c: New test case. - -2021-08-23 Jakub Jelinek - - PR tree-optimization/86723 - * gcc.dg/pr86723.c: New test. - * gcc.target/i386/pr86723.c: New test. - * gcc.dg/optimize-bswapdi-1.c: Use -fdump-tree-optimized instead of - -fdump-tree-bswap and scan for number of __builtin_bswap64 calls. - * gcc.dg/optimize-bswapdi-2.c: Likewise. - * gcc.dg/optimize-bswapsi-1.c: Use -fdump-tree-optimized instead of - -fdump-tree-bswap and scan for number of __builtin_bswap32 calls. - * gcc.dg/optimize-bswapsi-5.c: Likewise. - * gcc.dg/optimize-bswapsi-3.c: Likewise. Expect one __builtin_bswap32 - call instead of zero. - -2021-08-23 Richard Biener - - PR tree-optimization/79334 - * gcc.dg/torture/pr79334-0.c: New testcase. - * gcc.dg/torture/pr79334-1.c: Likewise. - -2021-08-23 liuhongt - - PR target/102016 - * gcc.target/i386/pr102016.c: New test. - -2021-08-23 Jakub Jelinek - - PR debug/101905 - * gcc.dg/guality/pr101905.c: New test. - -2021-08-23 Christophe Lyon - - PR target/100856 - * gcc.target/arm/acle/pr100856.c: Use arm_v8m_main_cde_multilib - and arm_v8m_main_cde. - * lib/target-supports.exp: Add - check_effective_target_FUNC_multilib for ARM CDE. - -2021-08-23 Jan Hubicka - - * g++.dg/tree-ssa/modref-1.C: New test. - -2021-08-23 Xi Ruoyao - - PR target/101922 - * gcc.target/mips/pr101922.c: New test. - -2021-08-23 Jonathan Yong <10walls@gmail.com> - - * gcc.c-torture/execute/gcc_tmpnam.h: Fix tmpnam case on Windows - where it can return a filename with "\" to indicate current - directory. - * gcc.c-torture/execute/fprintf-2.c: Use wrapper. - * gcc.c-torture/execute/printf-2.c: Use wrapper. - * gcc.c-torture/execute/user-printf.c: Use wrapper. - -2021-08-22 Martin Uecker - - PR c/98397 - * gcc.dg/c11-qual-1.c: New test. - * gcc.dg/c2x-qual-1.c: New test. - * gcc.dg/c2x-qual-2.c: New test. - * gcc.dg/c2x-qual-3.c: New test. - * gcc.dg/c2x-qual-4.c: New test. - * gcc.dg/c2x-qual-5.c: New test. - * gcc.dg/c2x-qual-6.c: New test. - * gcc.dg/c2x-qual-7.c: New test. - * gcc.dg/pointer-array-quals-1.c: Remove unnecessary flag. - * gcc.dg/pointer-array-quals-2.c: Remove unnecessary flag. - -2021-08-22 Jan Hubicka - Martin Liska - - * gcc.dg/lto/pr101949_0.c: New test. - * gcc.dg/lto/pr101949_1.c: New test. - -2021-08-21 Ankur Saini - - PR analyzer/101980 - * gcc.dg/analyzer/function-ptr-2.c : Add issue for double 'free'. - * gcc.dg/analyzer/malloc-callbacks.c : Fix xfail testcase. - -2021-08-20 Tobias Burnus - - * gfortran.dg/gomp/error-1.f90: New test. - * gfortran.dg/gomp/error-2.f90: New test. - * gfortran.dg/gomp/error-3.f90: New test. - -2021-08-20 Jakub Jelinek - - * c-c++-common/gomp/error-1.c: New test. - * c-c++-common/gomp/error-2.c: New test. - * c-c++-common/gomp/error-3.c: New test. - * g++.dg/gomp/attrs-1.C (bar): Add error directive test. - * g++.dg/gomp/attrs-2.C (bar): Add error directive test. - * g++.dg/gomp/attrs-13.C: New test. - * g++.dg/gomp/error-1.C: New test. - -2021-08-20 Jakub Jelinek - - * c-c++-common/gomp/sink-5.c: New test. - * c-c++-common/gomp/requires-3.c: Add test for spurious comma - at the end of pragma line. - -2021-08-19 Roger Sayle - - * c-c++-common/Wunused-var-16.c: Add an extra check that ~0 - is optimized away. - -2021-08-19 Peter Bergner - - PR target/101849 - * gcc.target/powerpc/pr101849.c: New test. - -2021-08-19 Harald Anlauf - - PR fortran/100950 - * gfortran.dg/pr100950.f90: New test. - -2021-08-19 Patrick Palka - - PR c++/101803 - * g++.dg/cpp2a/class-deduction-aggr12.C: Fix PR number. - -2021-08-19 Jakub Jelinek - - PR middle-end/101950 - * gcc.target/i386/pr101950-1.c: New test. - * gcc.target/i386/pr101950-2.c: New test. - -2021-08-19 Jakub Jelinek - - * c-c++-common/gomp/requires-3.c: Add testcase for - atomic_default_mem_order ( at the end of line without corresponding ). - -2021-08-19 Iain Sandoe - - * jit.dg/test-asm.c: Provide Mach-O fragment. - * jit.dg/test-asm.cc: Likewise. - -2021-08-19 Jakub Jelinek - - * c-c++-common/gomp/nothing-2.c: New test. - -2021-08-19 Iain Sandoe - - * jit.dg/harness.h: Include jit-dejagnu.h. - * jit.dg/jit.exp: Use -rdynamic conditionally on target - support, instead of unconditional -Wl,--export-dynamic. - -2021-08-19 Thomas Schwinge - - PR testsuite/101969 - * gcc.dg/pr78213.c: Fix up for '--enable-checking=release' etc. - -2021-08-19 liuhongt - - Revert: - 2021-08-19 liuhongt - - PR target/99881 - * gcc.target/i386/pr99881.c: New test. - -2021-08-18 Tobias Burnus - - PR testsuite/101963 - * gfortran.dg/nothing-1.f90: Moved to ... - * gfortran.dg/gomp/nothing-1.f90: ... here. - * gfortran.dg/nothing-2.f90: Moved to ... - * gfortran.dg/gomp/nothing-2.f90: ... here; - avoid $ issue in $OMP in dg-error. - -2021-08-18 Iain Sandoe - Matt Jacobson - - PR objc/101666 - * obj-c++.dg/pr101666-0.mm: New test. - * obj-c++.dg/pr101666-1.mm: New test. - * obj-c++.dg/pr101666.inc: New. - * objc.dg/pr101666-0.m: New test. - * objc.dg/pr101666-1.m: New test. - * objc.dg/pr101666.inc: New. - -2021-08-18 Ankur Saini - - PR analyzer/97114 - * g++.dg/analyzer/vfunc-2.C: New test. - * g++.dg/analyzer/vfunc-3.C: New test. - * g++.dg/analyzer/vfunc-4.C: New test. - * g++.dg/analyzer/vfunc-5.C: New test. - -2021-08-18 Ankur Saini - - PR analyzer/100546 - * gcc.dg/analyzer/function-ptr-4.c: New test. - * gcc.dg/analyzer/pr100546.c: New test. - -2021-08-18 Tobias Burnus - - * gfortran.dg/nothing-1.f90: New test. - * gfortran.dg/nothing-2.f90: New test. - -2021-08-18 Patrick Palka - - PR c++/101344 - PR c++/101803 - * g++.dg/cpp2a/class-deduction-aggr11.C: New test. - * g++.dg/cpp2a/class-deduction-aggr12.C: New test. - -2021-08-18 Patrick Palka - - PR c++/101883 - * g++.dg/cpp2a/nontype-class49.C: New test. - -2021-08-18 Jakub Jelinek - - * c-c++-common/gomp/nothing-1.c: New test. - * g++.dg/gomp/attrs-1.C (bar): Add nothing directive test. - * g++.dg/gomp/attrs-2.C (bar): Likewise. - * g++.dg/gomp/attrs-9.C: Likewise. - -2021-08-18 Jakub Jelinek - - * c-c++-common/gomp/pr63326.c: Don't expect extra "before" errors - in C++. - * g++.dg/gomp/attrs-7.C: Don't expect one extra error. - * g++.dg/gomp/barrier-2.C: Likewise. - * gcc.dg/gomp/declare-simd-5.c: Likewise. - * gcc.dg/gomp/barrier-2.c: Likewise. - * gcc.dg/gomp/declare-variant-2.c: Likewise. - -2021-08-18 liuhongt - - PR target/97147 - * gcc.target/i386/pr54400.c: Adjust testcase. - * gcc.target/i386/pr94147.c: New test. - -2021-08-17 Martin Sebor - - PR middle-end/101854 - * gcc.dg/attr-alloc_size-5.c: Adjust optimization to -O1. - * gcc.dg/attr-alloc_size-7.c: Use #pragmas to adjust optimization. - * gcc.dg/attr-alloc_size-8.c: Adjust optimization to -O1. - * gcc.dg/Wstringop-overflow-72.c: New test. - -2021-08-17 Jakub Jelinek - - PR c++/101539 - * g++.dg/cpp2a/is-corresponding-member1.C: New test. - * g++.dg/cpp2a/is-corresponding-member2.C: New test. - * g++.dg/cpp2a/is-corresponding-member3.C: New test. - * g++.dg/cpp2a/is-corresponding-member4.C: New test. - * g++.dg/cpp2a/is-corresponding-member5.C: New test. - * g++.dg/cpp2a/is-corresponding-member6.C: New test. - * g++.dg/cpp2a/is-corresponding-member7.C: New test. - * g++.dg/cpp2a/is-corresponding-member8.C: New test. - * g++.dg/cpp2a/is-layout-compatible1.C: New test. - * g++.dg/cpp2a/is-layout-compatible2.C: New test. - * g++.dg/cpp2a/is-layout-compatible3.C: New test. - -2021-08-17 Thomas Schwinge - - * gcc.dg/pr78213.c: Restore testing. - -2021-08-17 Roger Sayle - - * gcc.dg/tree-ssa/ssa-ccp-40.c: New test case. - -2021-08-17 Roger Sayle - - * gcc.dg/fold-ior-5.c: New test case. - -2021-08-17 Tobias Burnus - - * gfortran.dg/gomp/scan-1.f90: - * gfortran.dg/gomp/cancel-1.f90: New test. - * gfortran.dg/gomp/cancel-4.f90: New test. - * gfortran.dg/gomp/loop-4.f90: New test. - * gfortran.dg/gomp/nesting-1.f90: New test. - * gfortran.dg/gomp/nesting-2.f90: New test. - * gfortran.dg/gomp/nesting-3.f90: New test. - * gfortran.dg/gomp/nowait-1.f90: New test. - * gfortran.dg/gomp/reduction-task-1.f90: New test. - * gfortran.dg/gomp/reduction-task-2.f90: New test. - * gfortran.dg/gomp/reduction-task-2a.f90: New test. - * gfortran.dg/gomp/reduction-task-3.f90: New test. - * gfortran.dg/gomp/scope-1.f90: New test. - * gfortran.dg/gomp/scope-2.f90: New test. - -2021-08-17 Andrew MacLeod - - PR tree-optimization/101938 - * gcc.dg/pr101938.c: New test. - -2021-08-17 Richard Biener - - PR tree-optimization/101868 - * gcc.dg/lto/pr101868_0.c: New testcase. - * gcc.dg/lto/pr101868_1.c: Likewise. - * gcc.dg/lto/pr101868_2.c: Likewise. - * gcc.dg/lto/pr101868_3.c: Likewise. - -2021-08-17 Jakub Jelinek - - * c-c++-common/gomp/nesting-2.c (foo): Add scope and masked - construct tests. - * c-c++-common/gomp/scan-1.c (f3): Add scope construct test.. - * c-c++-common/gomp/cancel-1.c (f2): Add scope and masked - construct tests. - * c-c++-common/gomp/reduction-task-2.c (bar): Add scope construct - test. Adjust diagnostics for the addition of scope. - * c-c++-common/gomp/loop-1.c (f5): Add master, masked and scope - construct tests. - * c-c++-common/gomp/clause-dups-1.c (f1): Add scope construct test. - * gcc.dg/gomp/nesting-1.c (f1, f2, f3): Add scope construct tests. - * c-c++-common/gomp/scope-1.c: New test. - * c-c++-common/gomp/scope-2.c: New test. - * g++.dg/gomp/attrs-1.C (bar): Add scope construct tests. - * g++.dg/gomp/attrs-2.C (bar): Likewise. - * gfortran.dg/gomp/reduction4.f90: Adjust expected diagnostics. - * gfortran.dg/gomp/reduction7.f90: Likewise. - -2021-08-17 Jakub Jelinek - - * c-c++-common/cpp/va-opt-5.c: New test. - * c-c++-common/cpp/va-opt-6.c: New test. - -2021-08-17 Richard Biener - - PR tree-optimization/101925 - * gcc.dg/sso-16.c: New testcase. - -2021-08-17 liuhongt - - * gcc.target/i386/pr82460-2.c: Adjust testcase by adding - --param=vect-epilogues-nomask=0 - -2021-08-16 liuhongt - - PR target/101930 - * gcc.target/i386/pr101930.c: New test. - -2021-08-16 Martin Liska - - PR ipa/100600 - * gcc.dg/ipa/pr100600.c: New test. - -2021-08-16 liuhongt - - PR target/101846 - * gcc.target/i386/pr101846-2.c: New test. - * gcc.target/i386/pr101846-3.c: New test. - * gcc.target/i386/pr101846-4.c: New test. - -2021-08-16 Tobias Burnus - - * gfortran.dg/gomp/masked-1.f90: New test. - * gfortran.dg/gomp/masked-2.f90: New test. - * gfortran.dg/gomp/masked-3.f90: New test. - * gfortran.dg/gomp/masked-combined-1.f90: New test. - * gfortran.dg/gomp/masked-combined-2.f90: New test. - -2021-08-15 Harald Anlauf - - PR fortran/99351 - * gfortran.dg/coarray_sync.f90: New test. - * gfortran.dg/coarray_3.f90: Adjust error messages. - -2021-08-14 Martin Sebor - - PR middle-end/101791 - * g++.dg/warn/Wmismatched-new-delete-6.C: New test. - * g++.dg/warn/Wmismatched-new-delete-7.C: New test. - -2021-08-14 Jakub Jelinek - - PR target/101896 - * gcc.target/i386/avx512f-pr101896.c: New test. - -2021-08-13 Martin Sebor - - PR middle-end/101734 - * gcc.dg/uninit-42.c: New test. - -2021-08-13 Martin Liska - - PR ipa/101261 - * gcc.target/i386/pr101261.c: New test. - -2021-08-13 Jan Hubicka - - * gcc.dg/tree-ssa/modref-6.c: Update. - -2021-08-13 prathamesh.kulkarni - - * gcc.target/arm/simd/pr98435.c: Add dg-require-effective-target - arm_softfp_ok. - -2021-08-12 Jakub Jelinek - - * c-c++-common/gomp/clauses-1.c (bar): Add tests for combined masked - constructs with clauses. - * c-c++-common/gomp/clauses-5.c (foo): Add testcase for filter clause. - * c-c++-common/gomp/clause-dups-1.c (f1): Likewise. - * c-c++-common/gomp/masked-1.c: New test. - * c-c++-common/gomp/masked-2.c: New test. - * c-c++-common/gomp/masked-combined-1.c: New test. - * c-c++-common/gomp/masked-combined-2.c: New test. - * c-c++-common/goacc/uninit-if-clause.c: Remove xfails. - * g++.dg/gomp/block-11.C: New test. - * g++.dg/gomp/tpl-masked-1.C: New test. - * g++.dg/gomp/attrs-1.C (bar): Add tests for masked construct and - combined masked constructs with clauses in attribute syntax. - * g++.dg/gomp/attrs-2.C (bar): Likewise. - * gcc.dg/gomp/nesting-1.c (f1, f2): Add tests for masked construct - nesting. - * gfortran.dg/goacc/host_data-tree.f95: Allow also SSA_NAMEs in if - clause. - * gfortran.dg/goacc/kernels-tree.f95: Likewise. - -2021-08-12 Jakub Jelinek - - PR preprocessor/101638 - * gcc.dg/cpp/pr101638.c: New test. - -2021-08-12 Michael Meissner - - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c: Fix - typo in regular expression. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c: - Likewise. - -2021-08-12 Sergei Trofimovich - - PR c++/101219 - * g++.dg/warn/pr101219.C: New test. - -2021-08-12 Martin Uecker - - PR c/101838 - * gcc.dg/vla-stexp-2.c: New test. - -2021-08-12 Aldy Hernandez - - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Remove call into the legacy - code and adjust for ranger threader. - -2021-08-12 Tobias Burnus - - * c-c++-common/gomp/pr61486-2.c: Duplicate one proc_bind(master) - testcase and test proc_bind(primary) instead. - * gfortran.dg/gomp/affinity-1.f90: Likewise. - -2021-08-12 Hans-Peter Nilsson - - * gfortran.dg/PR82376.f90: Robustify match. - -2021-08-12 Jakub Jelinek - - PR target/101860 - * gcc.target/i386/avx512f-pr101860.c: New test. - -2021-08-12 Jakub Jelinek - - * g++.dg/gomp/attrs-12.C: New test. - -2021-08-12 Jakub Jelinek - - * g++.dg/gomp/attrs-11.C: Add new tests. - -2021-08-12 Jakub Jelinek - - PR c++/99429 - PR c++/94162 - * g++.dg/cpp2a/spaceship-synth11.C: New test. - * g++.dg/cpp2a/spaceship-synth-neg6.C: New test. - -2021-08-12 Jakub Jelinek - - * g++.dg/gomp/attrs-11.C: Adjust expected diagnostics. - -2021-08-12 Jakub Jelinek - - * g++.dg/lookup/strong-using.C: Add test using [[gnu::strong]] - as well. - * g++.dg/lookup/strong-using2.C: Likewise. - * g++.dg/cpp0x/gen-attrs-58.C: Move alignas(int) before - using namespace. - * g++.dg/cpp0x/gen-attrs-59.C: Move alignas(X) before - using namespace, add tests for alignas before semicolon. - * g++.dg/cpp0x/gen-attrs-76.C: Remove xfails. Add test for - C++11 attributes on using directive before semicolon. - -2021-08-12 liuhongt - - PR target/101846 - * gcc.target/i386/pr101846-1.c: New test. - -2021-08-12 Patrick Palka - - PR c++/101663 - * g++.dg/cpp2a/construct_at.h: New convenience header file that - defines minimal implementations of std::construct_at/destroy_at, - split out from ... - * g++.dg/cpp2a/constexpr-new5.C: ... here. - * g++.dg/cpp2a/constexpr-new6.C: Use the header. - * g++.dg/cpp2a/constexpr-new14.C: Likewise. - * g++.dg/cpp2a/constexpr-new20.C: New test. - -2021-08-11 Patrick Palka - - PR c++/101725 - DR 2082 - * g++.dg/DRs/dr2082.C: New test. - * g++.dg/cpp2a/concepts-uneval4.C: New test. - -2021-08-11 Jakub Jelinek - - PR c++/101786 - * g++.dg/cpp2a/constinit16.C: New test. - -2021-08-11 Patrick Palka - - PR c++/79501 - * g++.dg/cpp1z/class-deduction98.C: New test. - -2021-08-11 Patrick Palka - - PR c++/89062 - * g++.dg/cpp1z/class-deduction97.C: New test. - -2021-08-11 Richard Biener - - * gcc.dg/lto/pr48622_1.c: Provide non-LTO definition - of ashift_qi_1. - -2021-08-11 Jan Hubicka - - * c-c++-common/modref-dse.c: New test. - -2021-08-11 Richard Biener - - PR middle-end/101858 - * gcc.dg/pr101858.c: New testcase. - -2021-08-11 prathamesh.kulkarni - - PR target/66791 - * gcc.target/arm/pr51534.c: Adjust test. - -2021-08-11 liuhongt - - PR target/98309 - * gcc.target/i386/pr98309-1.c: New test. - * gcc.target/i386/pr98309-2.c: New test. - -2021-08-11 Hans-Peter Nilsson - - PR middle-end/101674 - * gcc.dg/uninit-pred-9_b.c: Xfail for cris-*-* too. - -2021-08-10 Tobias Burnus - - PR libfortran/101305 - PR fortran/101660 - PR testsuite/101847 - * lib/gfortran.exp (gfortran_init): Remove -I$specpath/libgfortran - from the string used to set GFORTRAN_UNDER_TEST. - -2021-08-10 H.J. Lu - - PR tree-optimization/101809 - * gcc.target/i386/pr88531-1a.c: Enable for all targets. - -2021-08-10 Jakub Jelinek - - PR target/80355 - * gcc.target/i386/avx512f-pr80355-2.c: New test. - -2021-08-10 Jakub Jelinek - - PR target/80355 - * gcc.target/i386/avx512f-pr80355-1.c: New test. - -2021-08-10 Jakub Jelinek - - * g++.dg/gomp/attrs-1.C (bar): Add missing semicolon after - [[omp::directive (threadprivate (t2))]]. Add tests with - if/while/switch after parallel in attribute syntax. - (corge): Add missing omp:: before directive. - * g++.dg/gomp/attrs-2.C (bar): Add missing semicolon after - [[omp::directive (threadprivate (t2))]]. - * g++.dg/gomp/attrs-10.C: New test. - * g++.dg/gomp/attrs-11.C: New test. - -2021-08-10 Hongyu Wang - - * gcc.target/i386/amxbf16-dpbf16ps-2.c: Fix typos. - -2021-08-10 Richard Biener - - PR middle-end/101824 - * gcc.dg/tree-ssa/pr101824.c: New testcase. - -2021-08-10 Martin Uecker - - PR c/29970 - * gcc.dg/vla-stexp-1.c: New test. - -2021-08-10 H.J. Lu - - PR target/101804 - * gcc.target/i386/avx2-gather-2.c: Pass -march=skylake instead - of "-mavx2 -mtune=skylake". Scan vpcmpeqd. - -2021-08-10 liuhongt - - * gcc.target/i386/cond_op_shift_d-1.c: New test. - * gcc.target/i386/cond_op_shift_d-2.c: New test. - * gcc.target/i386/cond_op_shift_q-1.c: New test. - * gcc.target/i386/cond_op_shift_q-2.c: New test. - * gcc.target/i386/cond_op_shift_ud-1.c: New test. - * gcc.target/i386/cond_op_shift_ud-2.c: New test. - * gcc.target/i386/cond_op_shift_uq-1.c: New test. - * gcc.target/i386/cond_op_shift_uq-2.c: New test. - * gcc.target/i386/cond_op_shift_uw-1.c: New test. - * gcc.target/i386/cond_op_shift_uw-2.c: New test. - * gcc.target/i386/cond_op_shift_w-1.c: New test. - * gcc.target/i386/cond_op_shift_w-2.c: New test. - -2021-08-09 Andrew MacLeod - - * gcc.dg/pr101741.c: New. - -2021-08-09 Martin Jambor - - PR testsuite/101654 - * gcc.dg/ipa/remref-6.c: Added missing -fdump-ipa-inline option. - -2021-08-09 Uroš Bizjak - - PR target/101812 - * gcc.target/i386/pr101812.c: New test. - -2021-08-09 Tejas Belagod - - * gcc.target/aarch64/vect-shr-reg.c: New testcase. - * gcc.target/aarch64/vect-shr-reg-run.c: Likewise. - -2021-08-09 Roger Sayle - - * gcc.dg/pr68217.c: Add -fno-tree-ccp option. - * gcc.dg/tree-ssa/vrp24.c: Add -fno-tree-ccp option. - * g++.dg/ipa/pure-const-3.C: Add -fno-tree-ccp option. - -2021-08-09 Tobias Burnus - - PR libfortran/101305 - PR fortran/101660 - * lib/gfortran.exp (gfortran_init): Add -I $specdir/libgfortran to - GFORTRAN_UNDER_TEST; update it when set by previous gfortran_init call. - * gfortran.dg/ISO_Fortran_binding_1.c: Use <...> not "..." for - ISO_Fortran_binding.h's #include. - * gfortran.dg/ISO_Fortran_binding_10.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_11.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_12.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_15.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_16.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_17.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_18.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_3.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_5.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_6.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_7.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_8.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_9.c: Likewise. - * gfortran.dg/PR94327.c: Likewise. - * gfortran.dg/PR94331.c: Likewise. - * gfortran.dg/bind_c_array_params_3_aux.c: Likewise. - * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: Likewise. - * gfortran.dg/pr93524.c: Likewise. - -2021-08-09 Jonathan Wright - - * gcc.target/aarch64/sve/dup_lane_1.c: Don't split - scan-assembler tests over multiple lines. Expect 32-bit - result values in 'w' registers. - * gcc.target/aarch64/sve/extract_1.c: Likewise. - * gcc.target/aarch64/sve/extract_2.c: Likewise. - * gcc.target/aarch64/sve/extract_3.c: Likewise. - * gcc.target/aarch64/sve/extract_4.c: Likewise. - -2021-08-09 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Restrict - tests to little-endian targets. - -2021-08-08 Jeff Law - - * gcc.target/tic6x/rotdi16-scan.c: Pull rotate into its own function. - -2021-08-07 H.J. Lu - - PR tree-optimization/88531 - * gcc.target/i386/pr88531-1a.c: New test. - * gcc.target/i386/pr88531-1b.c: Likewise. - * gcc.target/i386/pr88531-1c.c: Likewise. - * gcc.target/i386/pr88531-2a.c: Likewise. - * gcc.target/i386/pr88531-2b.c: Likewise. - * gcc.target/i386/pr88531-2c.c: Likewise. - -2021-08-06 Martin Sebor - - * c-c++-common/Wsizeof-pointer-memaccess1.c: Also disable - -Wstringop-overread. - * c-c++-common/attr-nonstring-3.c: Adjust pattern of expected message. - * gcc.dg/Warray-bounds-39.c: Add an xfail due to a known bug. - * gcc.dg/Wstring-compare-3.c: Also disable -Wstringop-overread. - * gcc.dg/attr-nonstring-2.c: Adjust pattern of expected message. - * gcc.dg/attr-nonstring-4.c: Same. - * gcc.dg/Wstringop-overread-6.c: New test. - * gcc.dg/sso-14.c: Fix typos to avoid buffer overflow. - -2021-08-06 Christophe Lyon - - PR target/101723 - * gcc.target/arm/pr69245.c: Make sure to emit code for fn1, fix - typo. - -2021-08-06 Christophe Lyon - - PR target/101723 - * gcc.target/arm/attr-neon3.c: Fix typo. - * gcc.target/arm/pragma_fpu_attribute_2.c: Fix typo. - -2021-08-06 Uroš Bizjak - - PR target/101797 - * gcc.target/i386/pr101797.c: New test. - -2021-08-06 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-08-06 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-08-06 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-08-06 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-08-06 Martin Liska - - * gcc.target/powerpc/pragma-optimize.c: New test. - -2021-08-06 Richard Biener - - * gfortran.dg/vect/vect-8.f90: Simplify aarch64 scanning. - -2021-08-06 Sebastian Huber - - * gcc.dg/gcov-info-to-gcda.c: New test. - -2021-08-05 Jonathan Wakely - - * g++.old-deja/g++.other/inline7.C: Cast nodiscard call to void. - -2021-08-05 H.J. Lu - - PR target/99744 - * gcc.target/i386/pr99744-3.c: New test. - * gcc.target/i386/pr99744-4.c: Likewise. - * gcc.target/i386/pr99744-5.c: Likewise. - * gcc.target/i386/pr99744-6.c: Likewise. - * gcc.target/i386/pr99744-7.c: Likewise. - * gcc.target/i386/pr99744-8.c: Likewise. - -2021-08-05 Richard Earnshaw - - PR target/101723 - * gcc.target/arm/cortex-m55-nofp-flag-hard.c: Update expected output. - * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Convert to dg-do assemble. - Add a non-no-op function body. - * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise. - * gcc.target/arm/pr98636.c (dg-options): Add -mfloat-abi=softfp. - * gcc.target/arm/attr-neon.c: Tighten scan-assembler tests. - * gcc.target/arm/attr-neon2.c: Use -Ofast, convert test to use - check-function-bodies. - * gcc.target/arm/attr-neon3.c: Likewise. - * gcc.target/arm/pr69245.c: Tighten scan-assembler match, but allow - multiple instances. - * gcc.target/arm/pragma_fpu_attribute.c: Likewise. - * gcc.target/arm/pragma_fpu_attribute_2.c: Likewise. - -2021-08-05 Jonathan Wright - - * gcc.target/aarch64/vsubX_high_cost.c: New test. - -2021-08-05 Jonathan Wright - - * gcc.target/aarch64/vaddX_high_cost.c: New test. - -2021-08-05 Richard Biener - - * gcc.dg/vect/bb-slp-pr101756.c: Add -w. - -2021-08-05 Eric Botcazou - - * gcc.dg/sso-15.c: New test. - -2021-08-05 liuhongt - - * gcc.target/i386/cond_op_anylogic_d-1.c: New test. - * gcc.target/i386/cond_op_anylogic_d-2.c: New test. - * gcc.target/i386/cond_op_anylogic_q-1.c: New test. - * gcc.target/i386/cond_op_anylogic_q-2.c: New test. - -2021-08-05 liuhongt - - * gcc.target/i386/cond_op_maxmin_double-1.c: New test. - * gcc.target/i386/cond_op_maxmin_double-2.c: New test. - * gcc.target/i386/cond_op_maxmin_float-1.c: New test. - * gcc.target/i386/cond_op_maxmin_float-2.c: New test. - -2021-08-05 liuhongt - - * gcc.target/i386/cond_op_maxmin_b-1.c: New test. - * gcc.target/i386/cond_op_maxmin_b-2.c: New test. - * gcc.target/i386/cond_op_maxmin_d-1.c: New test. - * gcc.target/i386/cond_op_maxmin_d-2.c: New test. - * gcc.target/i386/cond_op_maxmin_q-1.c: New test. - * gcc.target/i386/cond_op_maxmin_q-2.c: New test. - * gcc.target/i386/cond_op_maxmin_ub-1.c: New test. - * gcc.target/i386/cond_op_maxmin_ub-2.c: New test. - * gcc.target/i386/cond_op_maxmin_ud-1.c: New test. - * gcc.target/i386/cond_op_maxmin_ud-2.c: New test. - * gcc.target/i386/cond_op_maxmin_uq-1.c: New test. - * gcc.target/i386/cond_op_maxmin_uq-2.c: New test. - * gcc.target/i386/cond_op_maxmin_uw-1.c: New test. - * gcc.target/i386/cond_op_maxmin_uw-2.c: New test. - * gcc.target/i386/cond_op_maxmin_w-1.c: New test. - * gcc.target/i386/cond_op_maxmin_w-2.c: New test. - -2021-08-04 David Malcolm - - PR analyzer/101570 - * gcc.dg/analyzer/asm-x86-1.c: New test. - * gcc.dg/analyzer/asm-x86-lp64-1.c: New test. - * gcc.dg/analyzer/asm-x86-lp64-2.c: New test. - * gcc.dg/analyzer/pr101570.c: New test. - * gcc.dg/analyzer/torture/asm-x86-linux-array_index_mask_nospec.c: - New test. - * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c: New - test. - * gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c: New - test. - * gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c: New test. - * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c: New - test. - * gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c: New test. - * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c: - New test. - * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-reduced.c: - New test. - -2021-08-04 H.J. Lu - - PR target/101742 - * gcc.target/i386/pr101742a.c: New test. - * gcc.target/i386/pr101742b.c: Likewise. - -2021-08-04 H.J. Lu - - PR target/101772 - * gcc.target/i386/eh_return-2.c: New test. - -2021-08-04 Andreas Krebbel - - * gcc.target/s390/vector/perm-vpdi.c: New test. - -2021-08-04 Andreas Krebbel - - * gcc.target/s390/vector/perm-merge.c: New test. - * gcc.target/s390/vector/vec-types.h: New test. - -2021-08-04 Andreas Krebbel - - * gcc.target/s390/zvector/vec-permi.c: Removed. - * gcc.target/s390/zvector/vec_permi.c: New test. - -2021-08-04 Andreas Krebbel - - * gcc.target/s390/vector/long-double-asm-in-out-hard-fp-reg.c: - Instead of vpdi with 0 and 5 vmrlg and vmrhg are used now. - * gcc.target/s390/vector/long-double-asm-inout-hard-fp-reg.c: Likewise. - * gcc.target/s390/zvector/vec-types.h: New test. - * gcc.target/s390/zvector/vec_merge.c: New test. - -2021-08-04 Jonathan Wright - - * gcc.target/aarch64/vmul_high_cost.c: New test. - -2021-08-04 Jonathan Wright - - * gcc.target/aarch64/vmul_element_cost.c: New test. - -2021-08-04 Richard Sandiford - - * gcc.target/aarch64/sve/cost_model_12.c: New test. - -2021-08-04 Tamar Christina - - PR tree-optimization/101750 - * g++.dg/vect/pr99149.cc: Name class. - -2021-08-04 Richard Biener - - * gcc.target/i386/vect-gather-1.c: New testcase. - * gfortran.dg/vect/vect-8.f90: Adjust. - -2021-08-04 Roger Sayle - Marc Glisse - - * gcc.dg/fold-ior-4.c: New test. - -2021-08-04 Richard Biener - - PR tree-optimization/101756 - * gcc.dg/vect/bb-slp-pr101756.c: New testcase. - -2021-08-04 Jakub Jelinek - - PR c++/101759 - * g++.dg/gomp/pr101759.C: New test. - * g++.dg/goacc/pr101759.C: New test. - -2021-08-04 Jakub Jelinek - - * gcc.c-torture/execute/ieee/pr29302-1.x: Undo doubly applied patch. - -2021-08-04 Richard Biener - - PR tree-optimization/101769 - * g++.dg/tree-ssa/pr101769.C: New testcase. - -2021-08-04 liuhongt - - * gcc.target/i386/cond_op_addsubmul_d-2.c: Add - dg-require-effective-target for avx512. - * gcc.target/i386/cond_op_addsubmul_q-2.c: Ditto. - * gcc.target/i386/cond_op_addsubmul_w-2.c: Ditto. - * gcc.target/i386/cond_op_addsubmuldiv_double-2.c: Ditto. - * gcc.target/i386/cond_op_addsubmuldiv_float-2.c: Ditto. - * gcc.target/i386/cond_op_fma_double-2.c: Ditto. - * gcc.target/i386/cond_op_fma_float-2.c: Ditto. - -2021-08-04 liuhongt - - * gcc.target/i386/cond_op_fma_double-1.c: New test. - * gcc.target/i386/cond_op_fma_double-2.c: New test. - * gcc.target/i386/cond_op_fma_float-1.c: New test. - * gcc.target/i386/cond_op_fma_float-2.c: New test. - -2021-08-03 Eugene Rozenfeld - - * lib/profopt.exp: Pass gdwarf-4 when compiling test to profile; pass -gcov_version=2. - * lib/target-supports.exp: Remove unnecessary -o perf.data passed to gcc-auto-profile. - -2021-08-03 Eugene Rozenfeld - - * gcc.dg/tree-prof/indir-call-prof-2.c: Fix dg-final-use-autofdo. - * lib/profopt.exp: Pass -fearly-inlining when compiling with AutoFDO. - -2021-08-03 Eugene Rozenfeld - - * g++.dg/tree-prof/indir-call-prof.C: Fix options, increase the number of iterations. - * g++.dg/tree-prof/morefunc.C: Fix options, increase the number of iterations. - * g++.dg/tree-prof/reorder.C: Fix options, increase the number of iterations. - * gcc.dg/tree-prof/indir-call-prof-2.c: Fix options, increase the number of iterations. - * gcc.dg/tree-prof/indir-call-prof.c: Fix options. - -2021-08-03 Martin Sebor - - PR testsuite/101688 - * g++.dg/warn/Wstringop-overflow-4.C: Disable a test case in ILP32. - -2021-08-03 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-phminposuw.c: Copy from - gcc/testsuite/gcc.target/i386, adjust dg directives to suit, - make more robust. - -2021-08-03 H.J. Lu - - * gcc.target/i386/avx-vzeroupper-14.c: Pass -mno-avx512f to - disable XMM31. - * gcc.target/i386/avx-vzeroupper-15.c: Likewise. - * gcc.target/i386/pr82941-1.c: Updated. Check for vzeroupper. - * gcc.target/i386/pr82942-1.c: Likewise. - * gcc.target/i386/pr82990-1.c: Likewise. - * gcc.target/i386/pr82990-3.c: Likewise. - * gcc.target/i386/pr82990-5.c: Likewise. - * gcc.target/i386/pr100865-4b.c: Likewise. - * gcc.target/i386/pr100865-6b.c: Likewise. - * gcc.target/i386/pr100865-7b.c: Likewise. - * gcc.target/i386/pr100865-10b.c: Likewise. - * gcc.target/i386/pr100865-8b.c: Updated. - * gcc.target/i386/pr100865-9b.c: Likewise. - * gcc.target/i386/pr100865-11b.c: Likewise. - * gcc.target/i386/pr100865-12b.c: Likewise. - -2021-08-03 liuhongt - - * gcc.target/i386/cond_op_addsubmul_d-1.c: New test. - * gcc.target/i386/cond_op_addsubmul_d-2.c: New test. - * gcc.target/i386/cond_op_addsubmul_q-1.c: New test. - * gcc.target/i386/cond_op_addsubmul_q-2.c: New test. - * gcc.target/i386/cond_op_addsubmul_w-1.c: New test. - * gcc.target/i386/cond_op_addsubmul_w-2.c: New test. - -2021-08-03 Jakub Jelinek - - PR analyzer/101721 - * gcc.dg/analyzer/pr101721.c: New test. - -2021-08-03 H.J. Lu - - PR target/80566 - * g++.target/i386/pr80566-1.C: New test. - * g++.target/i386/pr80566-2.C: Likewise. - -2021-08-03 liuhongt - - * gcc.target/i386/cond_op_addsubmuldiv_double-1.c: New test. - * gcc.target/i386/cond_op_addsubmuldiv_double-2.c: New test. - * gcc.target/i386/cond_op_addsubmuldiv_float-1.c: New test. - * gcc.target/i386/cond_op_addsubmuldiv_float-2.c: New test. - -2021-08-02 H.J. Lu - - * gcc.target/i386/vect8-ret.c: Also pass -mno-sse. - -2021-08-02 H.J. Lu - - * gcc.target/i386/incoming-11.c: Expect no stack realignment. - -2021-08-02 H.J. Lu - - * gcc.target/i386/sw-1.c: Also pass -mno-avx for ia32. - -2021-08-02 H.J. Lu - - * gcc.target/i386/cold-attribute-1.c: Also pass -mno-avx. - -2021-08-02 H.J. Lu - - * gcc.target/i386/pr72839.c: Also pass -mno-avx. - -2021-08-02 H.J. Lu - - * gcc.target/i386/pieces-memcpy-10.c: New test. - * gcc.target/i386/pieces-memcpy-11.c: Likewise. - * gcc.target/i386/pieces-memcpy-12.c: Likewise. - * gcc.target/i386/pieces-memcpy-13.c: Likewise. - * gcc.target/i386/pieces-memcpy-14.c: Likewise. - * gcc.target/i386/pieces-memcpy-15.c: Likewise. - * gcc.target/i386/pieces-memcpy-16.c: Likewise. - * gcc.target/i386/pieces-memset-1.c: Likewise. - * gcc.target/i386/pieces-memset-2.c: Likewise. - * gcc.target/i386/pieces-memset-3.c: Likewise. - * gcc.target/i386/pieces-memset-4.c: Likewise. - * gcc.target/i386/pieces-memset-5.c: Likewise. - * gcc.target/i386/pieces-memset-6.c: Likewise. - * gcc.target/i386/pieces-memset-7.c: Likewise. - * gcc.target/i386/pieces-memset-8.c: Likewise. - * gcc.target/i386/pieces-memset-9.c: Likewise. - * gcc.target/i386/pieces-memset-10.c: Likewise. - * gcc.target/i386/pieces-memset-11.c: Likewise. - * gcc.target/i386/pieces-memset-12.c: Likewise. - * gcc.target/i386/pieces-memset-13.c: Likewise. - * gcc.target/i386/pieces-memset-14.c: Likewise. - * gcc.target/i386/pieces-memset-15.c: Likewise. - * gcc.target/i386/pieces-memset-16.c: Likewise. - * gcc.target/i386/pieces-memset-17.c: Likewise. - * gcc.target/i386/pieces-memset-18.c: Likewise. - * gcc.target/i386/pieces-memset-19.c: Likewise. - * gcc.target/i386/pieces-memset-20.c: Likewise. - * gcc.target/i386/pieces-memset-21.c: Likewise. - * gcc.target/i386/pieces-memset-22.c: Likewise. - * gcc.target/i386/pieces-memset-23.c: Likewise. - * gcc.target/i386/pieces-memset-24.c: Likewise. - * gcc.target/i386/pieces-memset-25.c: Likewise. - * gcc.target/i386/pieces-memset-26.c: Likewise. - * gcc.target/i386/pieces-memset-27.c: Likewise. - * gcc.target/i386/pieces-memset-28.c: Likewise. - * gcc.target/i386/pieces-memset-29.c: Likewise. - * gcc.target/i386/pieces-memset-30.c: Likewise. - * gcc.target/i386/pieces-memset-31.c: Likewise. - * gcc.target/i386/pieces-memset-32.c: Likewise. - * gcc.target/i386/pieces-memset-33.c: Likewise. - * gcc.target/i386/pieces-memset-34.c: Likewise. - * gcc.target/i386/pieces-memset-35.c: Likewise. - * gcc.target/i386/pieces-memset-36.c: Likewise. - * gcc.target/i386/pieces-memset-37.c: Likewise. - * gcc.target/i386/pieces-memset-38.c: Likewise. - * gcc.target/i386/pieces-memset-39.c: Likewise. - * gcc.target/i386/pieces-memset-40.c: Likewise. - * gcc.target/i386/pieces-memset-41.c: Likewise. - * gcc.target/i386/pieces-memset-42.c: Likewise. - * gcc.target/i386/pieces-memset-43.c: Likewise. - * gcc.target/i386/pieces-memset-44.c: Likewise. - * gcc.target/i386/pieces-memcpy-7.c: New file. - * gcc.target/i386/pieces-memcpy-8.c: New file. - * gcc.target/i386/pieces-memcpy-9.c: New file. - -2021-08-02 H.J. Lu - - PR middle-end/90773 - * gcc.target/i386/pr90773-20.c: New test. - * gcc.target/i386/pr90773-21.c: Likewise. - * gcc.target/i386/pr90773-22.c: Likewise. - * gcc.target/i386/pr90773-23.c: Likewise. - * gcc.target/i386/pr90773-26.c: Likewise. - -2021-08-02 H.J. Lu - - * gcc.target/i386/pr90773-1.c: Adjust to expect movq for 32-bit. - * gcc.target/i386/pr90773-4.c: Also run for 32-bit. - * gcc.target/i386/pr90773-15.c: Likewise. - * gcc.target/i386/pr90773-16.c: Likewise. - * gcc.target/i386/pr90773-17.c: Likewise. - * gcc.target/i386/pr90773-24.c: Likewise. - * gcc.target/i386/pr90773-25.c: Likewise. - * gcc.target/i386/pr100865-1.c: Likewise. - * gcc.target/i386/pr100865-2.c: Likewise. - * gcc.target/i386/pr100865-3.c: Likewise. - * gcc.target/i386/pr90773-14.c: Also run for 32-bit and expect - XMM movd to store 4 bytes. - * gcc.target/i386/pr100865-4a.c: Also run for 32-bit and expect - YMM registers. - * gcc.target/i386/pr100865-4b.c: Likewise. - * gcc.target/i386/pr100865-10a.c: Expect YMM registers. - * gcc.target/i386/pr100865-10b.c: Likewise. - -2021-08-02 H.J. Lu - - * gcc.target/i386/eh_return-1.c: New test. - -2021-08-02 H.J. Lu - - PR middle-end/90773 - * gcc.target/i386/pr90773-5.c: Updated to expect XMM register. - * gcc.target/i386/pr90773-14.c: Likewise. - * gcc.target/i386/pr90773-15.c: New test. - * gcc.target/i386/pr90773-16.c: Likewise. - * gcc.target/i386/pr90773-17.c: Likewise. - * gcc.target/i386/pr90773-18.c: Likewise. - * gcc.target/i386/pr90773-19.c: Likewise. - -2021-08-02 Roger Sayle - - * gcc.dg/tree-ssa/phi-opt-25.c: New test case. - -2021-08-01 H.J. Lu - - PR target/78103 - * gcc.target/i386/pr78103-2.c: Also scan incl. - * gcc.target/i386/pr78103-3.c: Scan leal|addl|incl for x32. Also - scan incq. - -2021-07-31 Jason Merrill - - PR c++/96636 - * g++.dg/ext/anon-struct9.C: New test. - -2021-07-31 Roger Sayle - - * gcc.target/i386/dec-cmov-2.c: Require -march=core2 with -m32. - -2021-07-31 Jakub Jelinek - - * g++.dg/gomp/attrs-9.C: New test. - -2021-07-31 Jakub Jelinek - - PR target/78103 - * gcc.target/i386/pr78103-1.c: New test. - * gcc.target/i386/pr78103-2.c: New test. - * gcc.target/i386/pr78103-3.c: New test. - -2021-07-31 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/ssa-dse-26.c: Skip on mmix-knuth-mmixware. - -2021-07-31 Hans-Peter Nilsson - - PR middle-end/101674 - * gcc.dg/uninit-pred-9_b.c: Xfail for mmix-*-* too. - -2021-07-30 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-floorpd.c: New. - * gcc.target/powerpc/sse4_1-floorps.c: New. - * gcc.target/powerpc/sse4_1-floorsd.c: New. - * gcc.target/powerpc/sse4_1-floorss.c: New. - * gcc.target/powerpc/sse4_1-roundpd-2.c: Copy from - gcc/testsuite/gcc.target/i386 and adjust dg directives to suit. - -2021-07-30 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-ceilpd.c: New. - * gcc.target/powerpc/sse4_1-ceilps.c: New. - * gcc.target/powerpc/sse4_1-ceilsd.c: New. - * gcc.target/powerpc/sse4_1-ceilss.c: New. - * gcc.target/powerpc/sse4_1-round-data.h: New. - * gcc.target/powerpc/sse4_1-round.h: New. - * gcc.target/powerpc/sse4_1-round2.h: New. - * gcc.target/powerpc/sse4_1-roundpd-3.c: Copy from gcc.target/i386 - and adjust dg directives to suit. - * gcc.target/powerpc/sse4_1-check.h (__VSX_SSE2__): Define. - -2021-07-30 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-blendpd.c: Copy from gcc.target/i386 - and adjust dg directives to suit. - * gcc.target/powerpc/sse4_1-blendps-2.c: Likewise. - * gcc.target/powerpc/sse4_1-blendps.c: Likewise. - * gcc.target/powerpc/sse4_1-blendvpd.c: Likewise. - -2021-07-30 Roger Sayle - Uroš Bizjak - - * gcc.target/i386/dec-cmov-1.c: New test. - * gcc.target/i386/dec-cmov-2.c: New test. - -2021-07-30 Andrew MacLeod - - * gcc.dg/tree-ssa/pr61839_2.c: Adjust. Add new const fold test. - -2021-07-30 Andrew MacLeod - - * gcc.dg/tree-ssa/pr61839_2.c: Adjust. - -2021-07-30 Martin Sebor - - PR middle-end/101671 - * gcc.c-torture/compile/pr83510.c: Move test functions... - * gcc.dg/Warray-bounds-87.c: ...to this file. - -2021-07-30 H.J. Lu - - * gcc.target/i386/pr100865-3.c: Expect vmovdqu8 instead of - vmovdqu. - * gcc.target/i386/pr100865-4b.c: Likewise. - -2021-07-30 Andrew Pinski - - PR testsuite/101517 - * g++.dg/warn/Wunused-18.C: New test. - * gcc.c-torture/compile/20030405-2.c: New test. - * gcc.c-torture/compile/20040304-2.c: New test. - * gcc.dg/20030612-2.c: New test. - -2021-07-30 Xi Ruoyao - - PR target/101132 - * gcc.target/mips/pr101132.c: New test. - -2021-07-30 Jakub Jelinek - - PR c++/101539 - * g++.dg/cpp2a/is-pointer-interconvertible-base-of1.C: New test. - * g++.dg/cpp2a/is-pointer-interconvertible-with-class1.C: New test. - * g++.dg/cpp2a/is-pointer-interconvertible-with-class2.C: New test. - * g++.dg/cpp2a/is-pointer-interconvertible-with-class3.C: New test. - * g++.dg/cpp2a/is-pointer-interconvertible-with-class4.C: New test. - * g++.dg/cpp2a/is-pointer-interconvertible-with-class5.C: New test. - * g++.dg/cpp2a/is-pointer-interconvertible-with-class6.C: New test. - -2021-07-30 Jason Merrill - - * g++.dg/ext/anon-struct8.C: New test. - -2021-07-30 Jakub Jelinek - - * g++.dg/cpp0x/gen-attrs-76.C: New test. - -2021-07-30 H.J. Lu - - PR target/101685 - * gcc.target/i386/pr101685.c: New test. - -2021-07-30 Aldy Hernandez - - * gcc.dg/shrink-wrap-loop.c: Enable early jump threading. Mark as - XFAIL. - -2021-07-30 Jakub Jelinek - - PR c++/101582 - * g++.dg/cpp0x/gen-attrs-45.C: Expect a warning about ignored - attributes instead of error. - * g++.dg/cpp0x/gen-attrs-75.C: New test. - * g++.dg/modules/pr101582-1.C: New test. - -2021-07-30 Xi Ruoyao - - PR ipa/101396 - * g++.dg/lto/pr101396_0.C: New test. - * g++.dg/lto/pr101396_1.C: New test. - -2021-07-29 Martin Sebor - - PR middle-end/101674 - * gcc.dg/uninit-pred-9_b.c: Xfail just the failing assertion and - correct target. - -2021-07-29 Iain Buclaw - - PR d/101672 - * gdc.dg/pr100967.d: Update test. - * gdc.dg/pr101672.d: New test. - -2021-07-29 Iain Buclaw - - PR d/101664 - * gdc.dg/extern-c++/extern-c++.exp: New. - * gdc.dg/extern-c++/pr101664.d: New test. - * gdc.dg/extern-c++/pr101664_1.cc: New test. - -2021-07-29 Iain Buclaw - - PR d/96435 - * gdc.dg/torture/pr96435.d: New test. - -2021-07-29 Iain Buclaw - - PR d/101657 - * gdc.dg/pr101657.d: New test. - -2021-07-29 Jakub Jelinek - - PR testsuite/101647 - * g++.dg/pr71389.C: Include instead of . - * g++.dg/cpp0x/initlist48.C: Include also . - -2021-07-29 Thomas Schwinge - Julian Brown - Kwok Cheung Yeung - - * c-c++-common/goacc/classify-kernels-unparallelized.c: - 's%oaccdevlow%oaccloops%g'. - * c-c++-common/goacc/classify-kernels.c: Likewise. - * c-c++-common/goacc/classify-parallel.c: Likewise. - * c-c++-common/goacc/classify-routine-nohost.c: Likewise. - * c-c++-common/goacc/classify-routine.c: Likewise. - * c-c++-common/goacc/classify-serial.c: Likewise. - * c-c++-common/goacc/routine-nohost-1.c: Likewise. - * g++.dg/goacc/template.C: Likewise. - * gcc.dg/goacc/loop-processing-1.c: Likewise. - * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. - * gfortran.dg/goacc/classify-kernels.f95: Likewise. - * gfortran.dg/goacc/classify-parallel.f95: Likewise. - * gfortran.dg/goacc/classify-routine-nohost.f95: Likewise. - * gfortran.dg/goacc/classify-routine.f95: Likewise. - * gfortran.dg/goacc/classify-serial.f95: Likewise. - * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise. - -2021-07-29 Haochen Gui - - PR target/100952 - * gcc.target/powerpc/pr56605.c: Change matching - conditions. - * gcc.target/powerpc/pr81348.c: Likewise. - -2021-07-29 Aldy Hernandez - - * g++.dg/debug/dwarf2/deallocator.C: Adjust for threader. - * gcc.c-torture/compile/pr83510.c: Same. - * gcc.dg/analyzer/pr94851-2.c: Same. - * gcc.dg/loop-unswitch-2.c: Same. - * gcc.dg/old-style-asm-1.c: Same. - * gcc.dg/pr68317.c: Same. - * gcc.dg/pr97567-2.c: Same. - * gcc.dg/predict-9.c: Same. - * gcc.dg/shrink-wrap-loop.c: Same. - * gcc.dg/sibcall-1.c: Same. - * gcc.dg/tree-ssa/builtin-sprintf-3.c: Same. - * gcc.dg/tree-ssa/pr21001.c: Same. - * gcc.dg/tree-ssa/pr21294.c: Same. - * gcc.dg/tree-ssa/pr21417.c: Same. - * gcc.dg/tree-ssa/pr21458-2.c: Same. - * gcc.dg/tree-ssa/pr21563.c: Same. - * gcc.dg/tree-ssa/pr49039.c: Same. - * gcc.dg/tree-ssa/pr61839_1.c: Same. - * gcc.dg/tree-ssa/pr61839_3.c: Same. - * gcc.dg/tree-ssa/pr77445-2.c: Same. - * gcc.dg/tree-ssa/split-path-4.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-11.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-12.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-14.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-18.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same. - * gcc.dg/tree-ssa/ssa-fre-48.c: Same. - * gcc.dg/tree-ssa/ssa-thread-11.c: Same. - * gcc.dg/tree-ssa/ssa-thread-12.c: Same. - * gcc.dg/tree-ssa/ssa-thread-14.c: Same. - * gcc.dg/tree-ssa/vrp02.c: Same. - * gcc.dg/tree-ssa/vrp03.c: Same. - * gcc.dg/tree-ssa/vrp05.c: Same. - * gcc.dg/tree-ssa/vrp06.c: Same. - * gcc.dg/tree-ssa/vrp07.c: Same. - * gcc.dg/tree-ssa/vrp09.c: Same. - * gcc.dg/tree-ssa/vrp19.c: Same. - * gcc.dg/tree-ssa/vrp20.c: Same. - * gcc.dg/tree-ssa/vrp33.c: Same. - * gcc.dg/uninit-pred-9_b.c: Same. - * gcc.dg/uninit-pr61112.c: Same. - * gcc.dg/vect/bb-slp-16.c: Same. - * gcc.target/i386/avx2-vect-aggressive.c: Same. - * gcc.dg/tree-ssa/ranger-threader-1.c: New test. - * gcc.dg/tree-ssa/ranger-threader-2.c: New test. - * gcc.dg/tree-ssa/ranger-threader-3.c: New test. - * gcc.dg/tree-ssa/ranger-threader-4.c: New test. - * gcc.dg/tree-ssa/ranger-threader-5.c: New test. - -2021-07-29 Richard Biener - - PR c/101512 - * gcc.dg/torture/pr101512.c: New testcase. - -2021-07-29 liuhongt - - PR target/99881 - * gcc.target/i386/pr91446.c: - * gcc.target/i386/pr92658-avx512bw-2.c: - * gcc.target/i386/pr92658-sse4-2.c: - * gcc.target/i386/pr92658-sse4.c: - * gcc.target/i386/pr99881.c: - -2021-07-29 liuhongt - - PR target/39821 - * gcc.target/i386/sse2-pr39821.c: New test. - * gcc.target/i386/sse4-pr39821.c: New test. - -2021-07-29 Jiufu Guo - - PR target/61837 - * gcc.target/powerpc/pr61837.c: New test. - -2021-07-28 Martin Sebor - - PR middle-end/101494 - * gcc.dg/uninit-pr101494.c: New test. - -2021-07-28 Martin Sebor - - PR middle-end/101601 - * g++.dg/warn/Warray-bounds-25.C: New test. - * gcc.dg/Warray-bounds-85.c: New test. - -2021-07-28 Michael Meissner - - PR testsuite/100168 - * gcc.dg/pr56727-2.c: Add support for PC-relative calls. - -2021-07-28 David Malcolm - - * gcc.dg/analyzer/torture/ubsan-1.c: New test. - -2021-07-28 Harald Anlauf - - PR fortran/101564 - * gfortran.dg/allocate_stat_3.f90: New test. - * gfortran.dg/allocate_stat.f90: Adjust error messages. - * gfortran.dg/implicit_11.f90: Likewise. - * gfortran.dg/inquiry_type_ref_3.f90: Likewise. - -2021-07-28 Jakub Jelinek - - PR middle-end/101624 - * gfortran.dg/ubsan/ubsan.exp: New file. - * gfortran.dg/ubsan/pr101624.f90: New test. - -2021-07-28 Jakub Jelinek - - PR middle-end/101642 - * gcc.c-torture/compile/pr101642.c: New test. - -2021-07-28 Ilya Leoshkevich - - * gcc.target/s390/global-array-element-pic2.c: Add -mzarch, add - an expectation for 31-bit mode. - * gcc.target/s390/load-imm64-1.c: Use unsigned long long. - * gcc.target/s390/load-imm64-2.c: Likewise. - * gcc.target/s390/vector/long-double-vx-macro-off-on.c: Use - -mzarch. - * gcc.target/s390/vector/long-double-vx-macro-on-off.c: - Likewise. - -2021-07-28 Richard Biener - - PR tree-optimization/101615 - * gcc.dg/vect/bb-slp-pr101615-2.c: New testcase. - -2021-07-28 Kyrylo Tkachov - - * gcc.target/aarch64/smov_1.c: New test. - * gcc.target/aarch64/sve/clastb_4.c: Adjust clast scan-assembler. - -2021-07-28 H.J. Lu - - PR target/101456 - * gcc.target/i386/pr101456-1.c: New test. - * gcc.target/i386/pr101456-2.c: Likewise. - -2021-07-28 Richard Biener - - PR tree-optimization/101615 - * gcc.dg/vect/bb-slp-pr101615-1.c: New testcase. - -2021-07-28 Siddhesh Poyarekar - - * gcc.dg/analyzer/strdup-1.c (test_4, test_5, test_6): New - tests. - -2021-07-28 Siddhesh Poyarekar - - * gcc.dg/analyzer/attr-malloc-1.c (compatible_alloc, - compatible_alloc2): New extern allocator declarations. - (test_9, test_10): New tests. - -2021-07-28 Iain Buclaw - - PR d/101640 - * gdc.dg/pr96429.d: Update test. - * gdc.dg/pr101640.d: New test. - -2021-07-28 Iain Buclaw - - PR d/101490 - * gdc.dg/pr101490.d: New test. - -2021-07-28 Iain Buclaw - - PR d/101127 - * gdc.dg/pr101127a.d: New test. - * gdc.dg/pr101127b.d: New test. - -2021-07-28 Jakub Jelinek - - PR target/101611 - * gcc.target/i386/avx2-pr101611-1.c: New test. - * gcc.target/i386/avx2-pr101611-2.c: New test. - -2021-07-28 Martin Uecker - - * gcc.dg/Wnonnull-4.c: Correct argument numbers in warnings. - -2021-07-28 Sandra Loosemore - - PR libfortran/101317 - * gfortran.dg/ISO_Fortran_binding_17.f90: Fix typo in error - message patterns. - -2021-07-28 Sandra Loosemore - - PR libfortran/101310 - * gfortran.dg/ISO_Fortran_binding_1.c (section_c): Remove - incorrect assertions. - -2021-07-28 Sandra Loosemore - - PR libfortran/101305 - * gfortran.dg/ISO_Fortran_binding_1.c: Adjust include path. - * gfortran.dg/ISO_Fortran_binding_10.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_11.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_12.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_15.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_16.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_17.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_18.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_3.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_5.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_6.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_7.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_8.c: Likewise. - * gfortran.dg/ISO_Fortran_binding_9.c: Likewise. - * gfortran.dg/PR94327.c: Likewise. - * gfortran.dg/PR94331.c: Likewise. - * gfortran.dg/bind_c_array_params_3_aux.c: Likewise. - * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: Likewise. - * gfortran.dg/pr93524.c: Likewise. - -2021-07-28 Kewen Lin - - PR tree-optimization/101596 - * gcc.target/powerpc/pr101596-1.c: New test. - * gcc.target/powerpc/pr101596-2.c: Likewise. - * gcc.target/powerpc/pr101596-3.c: Likewise. - -2021-07-28 liuhongt - - PR target/99881 - * gcc.target/i386/pr99881.c: New test. - -2021-07-27 Martin Sebor - - PR tree-optimization/101584 - * gcc.dg/uninit-38.c: Remove assertions. - * gcc.dg/uninit-41.c: New test. - -2021-07-27 Jonathan Wakely - - PR testsuite/101646 - * g++.dg/coroutines/pr99047.C: Fix includes. - * g++.dg/pr71655.C: Likewise. - -2021-07-27 Martin Sebor - - PR c/101585 - * gcc.dg/Wvla-parameter-13.c: New test. - -2021-07-27 Jeff Law - - * g++.dg/gcov/gcov-threads-1.C: Fix argument to pthread_join. - -2021-07-27 Marek Polacek - - DR 1512 - PR c++/99701 - * g++.dg/cpp0x/nullptr11.C: Remove invalid tests. - * g++.dg/cpp0x/nullptr46.C: Add dg-error. - * g++.dg/cpp2a/spaceship-err7.C: New test. - * g++.dg/expr/ptr-comp4.C: New test. - -2021-07-27 Richard Biener - - PR tree-optimization/101573 - * gcc.dg/uninit-pr101573.c: New testcase. - * gcc.dg/uninit-15-O0.c: Adjust. - * gcc.dg/uninit-15.c: Likewise. - * gcc.dg/uninit-23.c: Likewise. - * c-c++-common/uninit-17.c: Likewise. - -2021-07-27 Martin Jambor - - * gcc.dg/ipa/remref-3.c: New test. - * gcc.dg/ipa/remref-4.c: Likewise. - * gcc.dg/ipa/remref-5.c: Likewise. - * gcc.dg/ipa/remref-6.c: Likewise. - -2021-07-27 Jakub Jelinek - - PR middle-end/101586 - * g++.dg/torture/builtin-clear-padding-4.C: New test. - -2021-07-27 Michael Meissner - - PR testsuite/100170 - * gcc.target/powerpc/ppc-eq0-1.c: Adjust insn counts if power10 - code is generated. - * gcc.target/powerpc/ppc-ne0-1.c: (ne0): Adjust insn counts if - power10 code is generated. - (plus_ne0): Move to ppc-ne0-2.c. - (cmp_plus_ne): Likewise. - (plus_ne0_cmp): Likewise. - * gcc.target/powerpc/ppc-ne0-2.c: New file. - -2021-07-26 David Malcolm - - * gcc.dg/analyzer/sock-1.c: New test. - * gcc.dg/analyzer/sock-2.c: New test. - -2021-07-26 Andrew MacLeod - - * gcc.dg/pr78888.c: New. - -2021-07-26 Roger Sayle - Marc Glisse - - * gcc.dg/fold-eqrotate-1.c: New test case. - * gcc.dg/fold-eqbswap-1.c: New test case. - -2021-07-26 José Rui Faustino de Sousa - Tobias Burnus - - PR fortran/93308 - PR fortran/93963 - PR fortran/94327 - PR fortran/94331 - PR fortran/97046 - * gfortran.dg/ISO_Fortran_binding_1.f90: Add pointer attribute, - this test is still erroneous but now it compiles. - * gfortran.dg/bind_c_array_params_2.f90: Update regex to match - code changes. - * gfortran.dg/PR93308.f90: New test. - * gfortran.dg/PR93963.f90: New test. - * gfortran.dg/PR94327.c: New test. - * gfortran.dg/PR94327.f90: New test. - * gfortran.dg/PR94331.c: New test. - * gfortran.dg/PR94331.f90: New test. - * gfortran.dg/PR97046.f90: New test. - -2021-07-26 Jakub Jelinek - - * g++.dg/gomp/attrs-1.C: Use attribute syntax even for section - and scan directives. - * g++.dg/gomp/attrs-2.C: Likewise. - * g++.dg/gomp/attrs-6.C: New test. - * g++.dg/gomp/attrs-7.C: New test. - * g++.dg/gomp/attrs-8.C: New test. - -2021-07-23 Harald Anlauf - - PR fortran/101536 - * gfortran.dg/pr101536.f90: New test. - -2021-07-23 Jakub Jelinek - - PR rtl-optimization/101562 - * gcc.c-torture/compile/pr101562.c: New test. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-07-23 H.J. Lu - - PR target/101504 - * gcc.target/i386/pr101504.c: New test. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: Add new - tests. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: New tests. - -2021-07-23 Jonathan Wright - - * gcc.target/aarch64/vector_structure_intrinsics.c: New test. - -2021-07-23 Jakub Jelinek - - * c-c++-common/gomp/attrs-1.c: New test. - * c-c++-common/gomp/attrs-2.c: New test. - * c-c++-common/gomp/attrs-3.c: New test. - -2021-07-23 Jakub Jelinek - - * g++.dg/gomp/attrs-4.C: New test. - * g++.dg/gomp/attrs-5.C: New test. - -2021-07-23 Xi Ruoyao - - * gcc.target/mips/mips.exp (mips_option_groups): add - -finline and -fno-inline. - -2021-07-23 Xi Ruoyao - - Revert: - 2021-07-09 Xi Ruoyao - - * gcc.target/mips/cfgcleanup-jalr2.c: Remove -fno-inline and add - __attribute__((noinline)). - * gcc.target/mips/cfgcleanup-jalr3.c: Likewise. - -2021-07-23 David Malcolm - - * gcc.dg/analyzer/feasibility-3.c: New test. - -2021-07-22 Martin Sebor - - PR tree-optimization/65178 - * gcc.dg/uninit-pr65178.c: New test. - -2021-07-22 Martin Sebor - - PR testsuite/101568 - * g++.dg/ipa/pr82352.C - -2021-07-22 Andrew Pinski - - PR tree-optimization/10153 - * gcc.c-torture/compile/pr10153-1.c: New test. - * gcc.c-torture/compile/pr10153-2.c: New test. - -2021-07-22 Andrew MacLeod - - * g++.dg/pr101511.C: New. - -2021-07-22 Andrew MacLeod - - * gcc.dg/pr101497.c: New. - -2021-07-22 Andrew MacLeod - - * gcc.dg/pr101496.c: New. - -2021-07-22 liuhongt - - * gcc.target/i386/fuse-caller-save-xmm.c: Adjust testcase. - -2021-07-22 liuhongt - - * gcc.target/i386/mask-shift.c: New test. - -2021-07-21 David Malcolm - - PR analyzer/101547 - * gcc.dg/analyzer/pr101547.c: New test. - -2021-07-21 David Malcolm - - PR analyzer/101522 - * g++.dg/analyzer/pr101522.C: New test. - -2021-07-21 Thomas Schwinge - Joseph Myers - Cesar Philippidis - - * c-c++-common/goacc/classify-routine-nohost.c: New file. - * c-c++-common/goacc/classify-routine.c: Update. - * c-c++-common/goacc/routine-2.c: Likewise. - * c-c++-common/goacc/routine-nohost-1.c: New file. - * c-c++-common/goacc/routine-nohost-2.c: Likewise. - * g++.dg/goacc/template.C: Update. - * gfortran.dg/goacc/classify-routine-nohost.f95: New file. - * gfortran.dg/goacc/classify-routine.f95: Update. - * gfortran.dg/goacc/pure-elemental-procedures-2.f90: Likewise. - * gfortran.dg/goacc/routine-6.f90: Likewise. - * gfortran.dg/goacc/routine-intrinsic-2.f: Likewise. - * gfortran.dg/goacc/routine-module-1.f90: Likewise. - * gfortran.dg/goacc/routine-module-2.f90: Likewise. - * gfortran.dg/goacc/routine-module-3.f90: Likewise. - * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise. - * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise. - * gfortran.dg/goacc/routine-multiple-directives-2.f90: Likewise. - -2021-07-21 Thomas Schwinge - - * g++.dg/goacc/template.C: Fix '#pragma atomic update' typo. - -2021-07-21 David Malcolm - - * gcc.dg/analyzer/explode-2.c: Remove xfail. - * gcc.dg/analyzer/explode-2a.c: Remove expected leak warning on - while stmt. - * gcc.dg/analyzer/phi-2.c: New test. - -2021-07-21 Bill Schmidt - - PR target/101531 - * gcc.target/powerpc/pr101129.c: Adjust. - -2021-07-21 H.J. Lu - - PR target/101549 - * gcc.target/i386/crc32-6.c: New test. - -2021-07-21 Harald Anlauf - - PR fortran/101514 - * gfortran.dg/pr101514.f90: New test. - -2021-07-21 Jakub Jelinek - - PR middle-end/101535 - * c-c++-common/gomp/pr101535-1.c: New test. - * c-c++-common/gomp/pr101535-2.c: New test. - -2021-07-21 Jakub Jelinek - - PR c++/101516 - * g++.dg/gomp/pr101516.C: New test. - -2021-07-21 Tobias Burnus - - * gfortran.dg/iso_c_binding_char_1.f90: Update dg-error. - * gfortran.dg/pr32599.f03: Use -std=-f2003 + update comment. - * gfortran.dg/bind_c_char_10.f90: New test. - * gfortran.dg/bind_c_char_6.f90: New test. - * gfortran.dg/bind_c_char_7.f90: New test. - * gfortran.dg/bind_c_char_8.f90: New test. - * gfortran.dg/bind_c_char_9.f90: New test. - -2021-07-21 Richard Sandiford - - * gcc.dg/unroll-10.c: New test. - -2021-07-21 Richard Sandiford - - * gcc.dg/unroll-9.c: New test/ - -2021-07-20 Martin Sebor - - PR middle-end/101397 - * gcc.dg/Warray-bounds-80.c: New test. - * gcc.dg/Warray-bounds-81.c: New test. - * gcc.dg/Warray-bounds-82.c: New test. - * gcc.dg/Warray-bounds-83.c: New test. - * gcc.dg/Warray-bounds-84.c: New test. - * gcc.dg/Wstringop-overflow-46.c: Adjust expected output. - -2021-07-20 Martin Sebor - - PR middle-end/101300 - * gcc.dg/uninit-pr101300.c: New test. - -2021-07-20 Michael Meissner - - PR testsuite/100167 - * gcc.target/powerpc/fold-vec-div-longlong.c: Fix expected code - generation on power10. - * gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise. - -2021-07-20 Jakub Jelinek - - PR target/101384 - * gcc.dg/pr101384.c: New test. - * gcc.target/powerpc/pr101384-1.c: New test. - * gcc.target/powerpc/pr101384-2.c: New test. - -2021-07-20 Richard Sandiford - - PR testsuite/101506 - * gcc.target/aarch64/vect-vmaxv.c: Use an asm to hide the - true initial value of the reduction from the vectorizer. - * gcc.target/aarch64/vect-vaddv.c: Likewise. Make the vector - loop operate on exactly LANES (rather than LANES-1) iterations. - * gcc.target/aarch64/vect-fmaxv-fminv.x: Likewise. - -2021-07-20 Uroš Bizjak - - PR target/100182 - * gcc.target/i386/pr71245-1.c: Remove. - * gcc.target/i386/pr71245-2.c: Ditto. - -2021-07-20 Kewen Lin - - * gcc.target/powerpc/mul-vectorize-3.c: New test. - * gcc.target/powerpc/mul-vectorize-4.c: New test. - -2021-07-20 Kewen Lin - - PR tree-optimization/100696 - * gcc.target/i386/pr100637-3w.c: Adjust for mul_highpart recog. - -2021-07-19 Martin Sebor - - * gcc.target/powerpc/pr93658.c: Suppress valid warnings. - -2021-07-19 Iain Sandoe - - PR c++/95520 - * g++.dg/coroutines/pr95520.C: New test. - -2021-07-19 David Malcolm - - PR analyzer/101503 - * gcc.dg/analyzer/pr101503.c: New test. - -2021-07-19 Indu Bhagat - - * gcc.dg/debug/btf/btf.exp: Do not run BTF testsuite if target does not - support BTF format. Remove redundant check for AIX. - * gcc.dg/debug/ctf/ctf.exp: Do not run CTF testsuite if target does not - support CTF format. Remove redundant check for AIX. - * lib/gcc-dg.exp: Remove redundant check for AIX. - -2021-07-19 Andrew Stubbs - - PR target/100208 - * gcc.target/gcn/sram-ecc-1.c: New test. - * gcc.target/gcn/sram-ecc-2.c: New test. - * gcc.target/gcn/sram-ecc-3.c: New test. - * gcc.target/gcn/sram-ecc-4.c: New test. - * gcc.target/gcn/sram-ecc-5.c: New test. - * gcc.target/gcn/sram-ecc-6.c: New test. - * gcc.target/gcn/sram-ecc-7.c: New test. - * gcc.target/gcn/sram-ecc-8.c: New test. - -2021-07-19 Andrew Pinski - - PR target/101205 - * gcc.target/aarch64/csinv-neg-1.c: New test. - -2021-07-19 Marek Polacek - - DR 2126 - * g++.dg/cpp0x/constexpr-temp2.C: New test. - -2021-07-19 Richard Biener - - PR tree-optimization/101505 - * gcc.dg/vect/pr101505.c: New testcase. - -2021-07-18 H.J. Lu - - PR target/101492 - * gcc.target/i386/pr101492-1.c: New test. - * gcc.target/i386/pr101492-2.c: Likewise. - * gcc.target/i386/pr101492-3.c: Likewise. - * gcc.target/i386/pr101492-4.c: Likewise. - -2021-07-18 Harald Anlauf - - PR fortran/101084 - * gfortran.dg/fmt_nonchar_3.f90: New test. - -2021-07-18 H.J. Lu - - PR target/101495 - * gcc.target/i386/avx-vzeroupper-28.c: New test. - -2021-07-18 Antoni Boucher - - PR target/95498 - * jit.dg/all-non-failing-tests.h: New test. - * jit.dg/test-cast.c: New test. - -2021-07-17 Jan Hubicka - - * gcc.dg/tree-ssa/modref-6.c: New test. - -2021-07-17 Andrew MacLeod - - * gcc.dg/pr96542.c: New. - -2021-07-16 Patrick Palka - - PR c++/101233 - * g++.dg/cpp2a/class-deduction-alias10.C: New test. - -2021-07-16 Patrick Palka - - DR 960 - PR c++/99664 - * g++.dg/inherit/covariant23.C: New test. - -2021-07-16 David Malcolm - - * gcc.dg/analyzer/analyzer-decls.h (__analyzer_dump_state): New. - * gcc.dg/analyzer/dump-state.c: New test. - -2021-07-16 Martin Sebor - - PR testsuite/101468 - * gcc.dg/Wstringop-overflow-41.c: Adjust to avoid target-specific - failures. - * gcc.dg/Wstringop-overflow-42.c: Same. - * gcc.dg/Wstringop-overflow-68.c: Same. - * gcc.dg/Wstringop-overflow-70.c: Same. - * gcc.dg/Wstringop-overflow-71.c: Same. - * gcc.dg/strlenopt-95.c: Fix typos. - -2021-07-16 Tamar Christina - - PR middle-end/101457 - * gcc.dg/vect/vect-reduc-dot-19.c: Use long long. - * gcc.dg/vect/vect-reduc-dot-20.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-21.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-22.c: Likewise. - -2021-07-16 Marek Polacek - - * g++.dg/cpp1y/Wnarrowing2.C: New test. - * g++.dg/cpp1y/Wnarrowing2.h: New test. - -2021-07-16 Ilya Leoshkevich - - * g++.dg/ext/visibility/noPLT.C: Skip on s390x. - * g++.target/s390/mi-thunk.C: New test. - * gcc.target/s390/nodatarel-1.c: Move foostatic to the new - tests. - * gcc.target/s390/pr80080-4.c: Allow @PLT suffix. - * gcc.target/s390/risbg-ll-3.c: Likewise. - * gcc.target/s390/call.h: Common code for the new tests. - * gcc.target/s390/call-z10-pic-nodatarel.c: New test. - * gcc.target/s390/call-z10-pic.c: New test. - * gcc.target/s390/call-z10.c: New test. - * gcc.target/s390/call-z9-pic-nodatarel.c: New test. - * gcc.target/s390/call-z9-pic.c: New test. - * gcc.target/s390/call-z9.c: New test. - * gcc.target/s390/mfentry-m64-pic.c: New test. - * gcc.target/s390/tls.h: Common code for the new TLS tests. - * gcc.target/s390/tls-pic.c: New test. - * gcc.target/s390/tls.c: New test. - -2021-07-16 Jonathan Wright - - * gcc.target/aarch64/sve/extract_1.c: Split expected results - by big/little endian targets, restoring the old expected - result for big endian. - * gcc.target/aarch64/sve/extract_2.c: Likewise. - * gcc.target/aarch64/sve/extract_3.c: Likewise. - * gcc.target/aarch64/sve/extract_4.c: Likewise. - -2021-07-15 Uroš Bizjak - - PR target/101346 - * gcc.target/i386/pr101346.c: New test. - -2021-07-15 Martin Sebor - - PR middle-end/97027 - * gcc.dg/Wstringop-overflow-15.c: Remove an xfail. - * gcc.dg/Wstringop-overflow-47.c: Adjust xfails. - * gcc.dg/torture/pr69170.c: Avoid valid warnings. - * gcc.dg/torture/pr70025.c: Prune out a false positive. - * gcc.dg/vect/pr97769.c: Initialize a loop control variable. - * gcc.target/i386/pr92658-avx512bw-trunc.c: Increase buffer size - to avoid overflow. - * gcc.target/i386/pr92658-avx512f.c: Same. - * gcc.dg/Wstringop-overflow-68.c: New test. - * gcc.dg/Wstringop-overflow-69.c: New test. - * gcc.dg/Wstringop-overflow-70.c: New test. - * gcc.dg/Wstringop-overflow-71.c: New test. - * gcc.dg/strlenopt-95.c: New test. - -2021-07-15 David Malcolm - - PR analyzer/95006 - PR analyzer/94713 - PR analyzer/94714 - * g++.dg/analyzer/pr93212.C: Update location of warning. - * g++.dg/analyzer/pr94011.C: Add - -Wno-analyzer-use-of-uninitialized-value. - * g++.dg/analyzer/pr94503.C: Likewise. - * gcc.dg/analyzer/clobbers-1.c: Convert "f" from a local to a - param to avoid uninitialized warning. - * gcc.dg/analyzer/data-model-1.c (test_12): Add test for - uninitialized value on result of alloca. - (test_12a): Add expected warning. - (test_12c): Likewise. - (test_19): Likewise. - (test_29b): Likewise. - (test_29c): Likewise. - (test_37): Remove xfail. - (test_37a): Likewise. - * gcc.dg/analyzer/data-model-20.c: Add warning about leak. - * gcc.dg/analyzer/explode-2.c: Remove params; add - -Wno-analyzer-too-complex, -Wno-analyzer-malloc-leak, and xfails. - Initialize the locals. - * gcc.dg/analyzer/explode-2a.c: Initialize the locals. Add - expected leak. - * gcc.dg/analyzer/fgets-1.c: New test. - * gcc.dg/analyzer/fread-1.c: New test. - * gcc.dg/analyzer/malloc-1.c (test_16): Add expected warning. - (test_40): Likewise. - * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Check for - uninitialized padding. - * gcc.dg/analyzer/pr93355-localealias-feasibility.c (fread): New - decl. - (read_alias_file): Call it. - * gcc.dg/analyzer/pr94047.c: Add expected warnings. - * gcc.dg/analyzer/pr94851-2.c: Likewise. - * gcc.dg/analyzer/pr96841.c: Convert local to a param. - * gcc.dg/analyzer/pr98628.c: Likewise. - * gcc.dg/analyzer/pr99042.c: Updated expected location of leak - diagnostics. - * gcc.dg/analyzer/symbolic-1.c: Add expected warnings. - * gcc.dg/analyzer/symbolic-7.c: Likewise. - * gcc.dg/analyzer/torture/pr93649.c: Add expected warning. Skip - with -fno-fat-lto-objects. - * gcc.dg/analyzer/uninit-1.c: New test. - * gcc.dg/analyzer/uninit-2.c: New test. - * gcc.dg/analyzer/uninit-3.c: New test. - * gcc.dg/analyzer/uninit-4.c: New test. - * gcc.dg/analyzer/uninit-pr94713.c: New test. - * gcc.dg/analyzer/uninit-pr94714.c: New test. - * gcc.dg/analyzer/use-after-free-2.c: New test. - * gcc.dg/analyzer/use-after-free-3.c: New test. - * gcc.dg/analyzer/zlib-3.c: Add expected warning. - * gcc.dg/analyzer/zlib-6.c: Convert locals to params to avoid - uninitialized warnings. Remove xfail. - * gcc.dg/analyzer/zlib-6a.c: New test, based on the old version - of the above. - * gfortran.dg/analyzer/pr97668.f: Add - -Wno-analyzer-use-of-uninitialized-value and - -Wno-analyzer-too-complex. - -2021-07-15 David Malcolm - - * gcc.dg/analyzer/phi-1.c: New test. - -2021-07-15 Christophe Lyon - - * lib/target-supports.exp (arm_v8_2a_imm8_neon_ok_nocache): - Delete. - -2021-07-15 Christophe Lyon - - * gcc.target/arm/simd/vusdot-autovec.c: Use arm_v8_2a_i8mm_ok - effective-target. - -2021-07-15 Jakub Jelinek - - PR c++/101443 - * g++.dg/cpp0x/nullptr46.C: New test. - -2021-07-15 Tamar Christina - - PR middle-end/101457 - * gcc.dg/vect/vect-reduc-dot-17.c: Fix signs of scalar code. - * gcc.dg/vect/vect-reduc-dot-18.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-22.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-9.c: Likewise. - -2021-07-15 Martin Sebor - - * gcc.dg/Wvla-parameter-12.c: New test. - -2021-07-15 Bill Schmidt - - PR target/101129 - * gcc.target/powerpc/pr101129.c: New. - -2021-07-15 Jakub Jelinek - - PR middle-end/101437 - * gcc.c-torture/compile/pr101437.c: New test. - -2021-07-14 Peter Bergner - - * gcc.target/powerpc/mma-builtin-9.c: New test. - -2021-07-14 Patrick Palka - - PR c++/88252 - * g++.dg/cpp1z/class-deduction96.C: New test. - -2021-07-14 Jason Merrill - - * g++.dg/torture/pr100382.C: Pass -fno-delete-dead-exceptions. - -2021-07-14 Tamar Christina - - * gcc.dg/vect/vect-reduc-dot-11.c: Expect pass. - * gcc.dg/vect/vect-reduc-dot-15.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-19.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-21.c: Likewise. - -2021-07-14 Andrew MacLeod - - * gcc.dg/pr80776-1.c: Remove xfail. - -2021-07-14 Marek Polacek - - PR c++/101371 - * g++.dg/cpp1y/constexpr-101371-2.C: New test. - * g++.dg/cpp1y/constexpr-101371.C: New test. - -2021-07-14 Harald Anlauf - - PR fortran/100949 - * gfortran.dg/pr100949.f90: New test. - -2021-07-14 Tamar Christina - - * lib/target-supports.exp - (check_effective_target_arm_v8_2a_imm8_neon_ok_nocache, - check_effective_target_arm_v8_2a_i8mm_neon_hw, - check_effective_target_vect_usdot_qi): New. - * gcc.dg/vect/vect-reduc-dot-9.c: New test. - * gcc.dg/vect/vect-reduc-dot-10.c: New test. - * gcc.dg/vect/vect-reduc-dot-11.c: New test. - * gcc.dg/vect/vect-reduc-dot-12.c: New test. - * gcc.dg/vect/vect-reduc-dot-13.c: New test. - * gcc.dg/vect/vect-reduc-dot-14.c: New test. - * gcc.dg/vect/vect-reduc-dot-15.c: New test. - * gcc.dg/vect/vect-reduc-dot-16.c: New test. - * gcc.dg/vect/vect-reduc-dot-17.c: New test. - * gcc.dg/vect/vect-reduc-dot-18.c: New test. - * gcc.dg/vect/vect-reduc-dot-19.c: New test. - * gcc.dg/vect/vect-reduc-dot-20.c: New test. - * gcc.dg/vect/vect-reduc-dot-21.c: New test. - * gcc.dg/vect/vect-reduc-dot-22.c: New test. - -2021-07-14 Tamar Christina - - * gcc.target/arm/simd/vusdot-autovec.c: New test. - -2021-07-14 Tamar Christina - - * gcc.target/aarch64/simd/vusdot-autovec.c: New test. - * gcc.target/aarch64/sve/vusdot-autovec.c: New test. - -2021-07-14 H.J. Lu - - PR target/101395 - * gcc.target/i386/pr101395-1.c: New test. - * gcc.target/i386/pr101395-2.c: Likewise. - * gcc.target/i386/pr101395-3.c: Likewise. - -2021-07-14 Richard Biener - - PR tree-optimization/101445 - * gcc.dg/vect/pr101445.c: New testcase. - -2021-07-14 Richard Biener - - * gcc.target/i386/vect-reduc-1.c: New testcase. - -2021-07-13 Jonathan Wright - - * gcc.target/aarch64/extract_zero_extend.c: Remove dump scan - for RTL pattern match. - * gcc.target/aarch64/narrow_high_combine.c: Add new tests. - * gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: Update - scan-assembler regex to look for a scalar register instead of - lane 0 of a vector. - * gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: Likewise. - * gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: Likewise. - * gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: Likewise. - * gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise. - * gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise. - * gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise. - * gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise. - * gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise. - * gcc.target/aarch64/simd/vqdmullh_laneq_s16.c: Likewise. - * gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise. - * gcc.target/aarch64/simd/vqdmulls_laneq_s32.c: Likewise. - * gcc.target/aarch64/sve/dup_lane_1.c: Likewise. - * gcc.target/aarch64/sve/extract_1.c: Likewise. - * gcc.target/aarch64/sve/extract_2.c: Likewise. - * gcc.target/aarch64/sve/extract_3.c: Likewise. - * gcc.target/aarch64/sve/extract_4.c: Likewise. - * gcc.target/aarch64/sve/live_1.c: Update scan-assembler regex - cases to look for 'b' and 'h' registers instead of 'w'. - * gcc.target/arm/crypto-vsha1cq_u32.c: Update scan-assembler - regex to reflect lane 0 vector extractions being simplified - to scalar register moves. - * gcc.target/arm/crypto-vsha1h_u32.c: Likewise. - * gcc.target/arm/crypto-vsha1mq_u32.c: Likewise. - * gcc.target/arm/crypto-vsha1pq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_f16.c: Extract - lane 1 as the moves for lane 0 now get optimized away. - * gcc.target/arm/mve/intrinsics/vgetq_lane_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_u8.c: Likewise. - -2021-07-13 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-ptest-1.c: Copy from - gcc/testsuite/gcc.target/i386. - -2021-07-13 Andrew MacLeod - - PR tree-optimization/93781 - * gcc.dg/tree-ssa/pr93781-1.c: Check that call is removed. - -2021-07-13 Richard Sandiford - - * gcc.target/aarch64/sve/reduc_9.c: New test. - * gcc.target/aarch64/sve/reduc_9_run.c: Likewise. - * gcc.target/aarch64/sve/reduc_10.c: Likewise. - * gcc.target/aarch64/sve/reduc_10_run.c: Likewise. - * gcc.target/aarch64/sve/reduc_11.c: Likewise. - * gcc.target/aarch64/sve/reduc_11_run.c: Likewise. - * gcc.target/aarch64/sve/reduc_12.c: Likewise. - * gcc.target/aarch64/sve/reduc_12_run.c: Likewise. - * gcc.target/aarch64/sve/reduc_13.c: Likewise. - * gcc.target/aarch64/sve/reduc_13_run.c: Likewise. - * gcc.target/aarch64/sve/reduc_14.c: Likewise. - * gcc.target/aarch64/sve/reduc_14_run.c: Likewise. - * gcc.target/aarch64/sve/reduc_15.c: Likewise. - * gcc.target/aarch64/sve/reduc_15_run.c: Likewise. - -2021-07-13 Richard Sandiford - - * gcc.target/aarch64/sve/cond_arith_6.c: New test. - -2021-07-13 Jakub Jelinek - Richard Biener - - PR tree-optimization/101419 - * gcc.dg/builtin-object-size-10.c: Pass -fdump-tree-early_objsz-details - instead of -fdump-tree-objsz1-details in dg-options and adjust names - of dump file in scan-tree-dump. - * gcc.dg/pr101419.c: New test. - -2021-07-13 Richard Biener - - Revert: - 2021-07-13 Richard Biener - - * g++.dg/vect/slp-pr87105.cc: Adjust. - * gcc.dg/vect/bb-slp-pr54400.c: Likewise. - -2021-07-13 Michael Meissner - - PR testsuite/100166 - * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Update - insn counts to account for power10 prefixed loads and stores. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c: - Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-char.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-double.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-float.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-int.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-short.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c: - Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-char.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-double.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-float.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-int.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-short.c: Likewise. - * gcc.target/powerpc/lvsl-lvsr.c: Likewise. - * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Likewise. - -2021-07-13 Michael Meissner - - * gcc.target/powerpc/vec-splati-runnable.c: Run test with -O2 - optimization. Do not check what XXSPLTIDP generates if the value - is undefined. - -2021-07-12 Patrick Palka - - PR c++/79501 - PR c++/100983 - * g++.dg/cpp1z/class-deduction92.C: New test. - * g++.dg/cpp1z/class-deduction93.C: New test. - * g++.dg/cpp1z/class-deduction94.C: New test. - * g++.dg/cpp1z/class-deduction95.C: New test. - -2021-07-12 Uroš Bizjak - - PR target/101424 - * gcc.target/i386/pr101424.c: New test. - -2021-07-12 Andrew MacLeod - - * gcc.dg/tree-ssa/pr101335.c: New. - -2021-07-12 Andrew Pinski - - * gcc.dg/tree-ssa/pr96928-1.c: Update to similar as pr96928.c. - -2021-07-12 Richard Biener - - PR tree-optimization/101373 - * g++.dg/torture/pr101373.C: New testcase, XFAILed. - * gnat.dg/opt95.adb: Likewise. - -2021-07-12 Richard Biener - - * g++.dg/vect/slp-pr87105.cc: Adjust. - * gcc.dg/vect/bb-slp-pr54400.c: Likewise. - -2021-07-12 Richard Biener - - PR tree-optimization/101394 - * gcc.dg/torture/pr101394.c: New testcase. - -2021-07-12 Roger Sayle - Jakub Jelinek - - PR tree-optimization/101403 - * gcc.dg/pr101403.c: Avoid (unimportant) uninitialized variable. - -2021-07-12 prathamesh.kulkarni - - PR target/66791 - * gcc.target/arm/armv8_2-fp16-neon-2.c: Adjust. - -2021-07-12 prathamesh.kulkarni - - PR target/98435 - * gcc.target/arm/simd/pr98435.c: New test. - -2021-07-12 Roger Sayle - - PR tree-optimization/101403 - * gcc.dg/pr101403.c: New test case. - -2021-07-10 John David Anglin - - * gcc.dg/torture/pr100329.c: Require target lra. - * gcc.dg/torture/pr100519.c: Likewise. - -2021-07-10 Patrick Palka - - PR c++/82110 - * g++.dg/cpp0x/pr78765.C: Expect another conversion failure - diagnostic. - * g++.dg/template/sfinae14.C: Flip incorrect assertion. - * g++.dg/cpp2a/concepts-requires27.C: New test. - -2021-07-09 Jason Merrill - - PR c++/101098 - * g++.dg/concepts/explicit-spec1.C: New test. - -2021-07-09 Roger Sayle - Uroš Bizjak - - * gcc.target/i386/divmod-9.c: New test case. - -2021-07-09 Indu Bhagat - - PR testsuite/101269 - * gcc.dg/debug/btf/btf-datasec-1.c: Force -msdata=none with ilp32 for - powerpc based targets. - -2021-07-09 Patrick Palka - - PR c++/101181 - * g++.dg/cpp2a/concepts-requires26.C: New test. - * g++.dg/cpp2a/lambda-uneval16.C: New test. - -2021-07-09 Patrick Palka - - PR c++/101247 - * g++.dg/cpp2a/concepts-memtmpl4.C: Uncomment the commented out - example, which we now handle correctly. - * g++.dg/cpp2a/concepts-memtmpl5.C: New test. - * g++.dg/cpp2a/concepts-memtmpl5a.C: New test. - -2021-07-09 Xi Ruoyao - - * gcc.target/mips/cfgcleanup-jalr2.c: Remove -fno-inline and add - __attribute__((noinline)). - * gcc.target/mips/cfgcleanup-jalr3.c: Likewise. - -2021-07-09 Xi Ruoyao - - PR target/100760 - PR target/100761 - PR target/100762 - * gcc.target/mips/pr100760.c: New test. - * gcc.target/mips/pr100761.c: New test. - * gcc.target/mips/pr100762.c: New test. - -2021-07-09 Kewen Lin - - * gcc.target/powerpc/mod-vectorize.c: New test. - -2021-07-09 Kewen Lin - - * gcc.target/powerpc/div-vectorize-1.c: New test. - -2021-07-09 Kewen Lin - - * gcc.target/powerpc/mul-vectorize-1.c: New test. - * gcc.target/powerpc/mul-vectorize-2.c: New test. - -2021-07-08 Martin Sebor - - * gcc.dg/Wstringop-overflow-43.c: Remove an xfail. - -2021-07-08 Martin Sebor - - PR testsuite/100451 - * g++.dg/warn/Warray-bounds-20.C: Adjust expected output for LP32. - -2021-07-08 Martin Sebor - - * g++.dg/warn/Warray-bounds-11.C: Avoid including . - * g++.dg/warn/Warray-bounds-13.C: Same. - -2021-07-08 Marek Polacek - - PR c++/101087 - * g++.dg/cpp0x/noexcept70.C: New test. - -2021-07-08 Martin Jambor - - PR ipa/101066 - * gcc.dg/ipa/pr101066.c: New test. - -2021-07-08 Martin Sebor - - PR bootstrap/101374 - * c-c++-common/Warray-bounds-3.c: Xfail assertion. - * c-c++-common/Warray-bounds-4.c: Same. - -2021-07-08 Christophe Lyon - - * gcc.dg/debug/pr57351.c: Require arm_arch_v7a_ok - effective-target. - -2021-07-08 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/cntb_1.c: New test. - -2021-07-08 Roger Sayle - Richard Biener - - PR tree-optimization/40210 - * gcc.dg/builtin-bswap-13.c: New test. - * gcc.dg/builtin-bswap-14.c: New test. - -2021-07-08 Michael Meissner - - PR target/100809 - * gcc.target/powerpc/p10-vdivq-vmodq.c: New test. - -2021-07-07 David Malcolm - - * gcc.dg/analyzer/pattern-test-2.c: Update expected results. - * gcc.dg/plugin/analyzer_gil_plugin.c - (gil_state_machine::on_condition): Remove. - -2021-07-07 Martin Sebor - - PR tree-optimization/100137 - PR tree-optimization/99121 - PR tree-optimization/97027 - * c-c++-common/Warray-bounds-3.c: Remove xfail - * c-c++-common/Warray-bounds-4.c: Add an expected warning. - * c-c++-common/Warray-bounds-9.c: New test. - * c-c++-common/Warray-bounds-10.c: New test. - * g++.dg/asan/asan_test.C: Suppress expected warnings. - * g++.dg/pr95768.C: Same. - * g++.dg/warn/Warray-bounds-10.C: Adjust text of expected messages. - * g++.dg/warn/Warray-bounds-11.C: Same. - * g++.dg/warn/Warray-bounds-12.C: Same. - * g++.dg/warn/Warray-bounds-13.C: Same. - * g++.dg/warn/Warray-bounds-17.C: Same. - * g++.dg/warn/Warray-bounds-20.C: Same. - * gcc.dg/Warray-bounds-29.c: Same. - * gcc.dg/Warray-bounds-30.c: Add xfail. - * gcc.dg/Warray-bounds-31.c: Adjust text of expected messages. - * gcc.dg/Warray-bounds-32.c: Same. - * gcc.dg/Warray-bounds-52.c: Same. - * gcc.dg/Warray-bounds-53.c: Same. - * gcc.dg/Warray-bounds-58.c: Remove xfail. - * gcc.dg/Warray-bounds-63.c: Adjust text of expected messages. - * gcc.dg/Warray-bounds-66.c: Same. - * gcc.dg/Warray-bounds-69.c: Same. - * gcc.dg/Wstringop-overflow-34.c: Same. - * gcc.dg/Wstringop-overflow-47.c: Same. - * gcc.dg/Wstringop-overflow-61.c: Same. - * gcc.dg/Warray-bounds-77.c: New test. - * gcc.dg/Warray-bounds-78.c: New test. - * gcc.dg/Warray-bounds-79.c: New test. - -2021-07-07 Christophe Lyon - - PR debug/101321 - * gcc.dg/debug/btf/btf-bitfields-3.c: Remove -fno-short-enums. - -2021-07-07 Richard Biener - - PR tree-optimization/34195 - * gcc.dg/vect/pr34195.c: New testcase. - -2021-07-07 Richard Biener - - PR tree-optimization/99728 - * g++.dg/opt/pr99728.C: New testcase. - -2021-07-07 liuhongt - - * gcc.target/i386/avx512f-vect-fmaddsubXXXpd.c: New test. - * gcc.target/i386/avx512f-vect-fmaddsubXXXps.c: New test. - * gcc.target/i386/avx512f-vect-fmsubaddXXXpd.c: New test. - * gcc.target/i386/avx512f-vect-fmsubaddXXXps.c: New test. - -2021-07-06 Indu Bhagat - - PR debug/101283 - * gcc.dg/debug/btf/btf-bitfields-3.c: Remove the check on btm_type. - -2021-07-06 Indu Bhagat - - PR debug/101283 - * gcc.dg/debug/ctf/ctf-attr-mode-1.c: Remove the check for ctv_typeidx. - -2021-07-06 Martin Sebor - - PR c++/55881 - * g++.dg/warn/uninit-pr55881.C: New test. - -2021-07-06 Martin Sebor - - PR tree-optimization/86650 - * gcc.dg/Warray-bounds-76.c: New test. - -2021-07-06 Indu Bhagat - - PR debug/101283 - * gcc.dg/debug/ctf/ctf-struct-array-2.c: Adjust the value in the testcase. - -2021-07-06 Martin Sebor - - * gcc.dg/format/gcc_diag-10.c: Update expected warnings. - * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: Remove %G. - -2021-07-06 Martin Sebor - - * gcc.dg/Wobjsize-1.c: Prune expected output. - * gcc.dg/Warray-bounds-71.c: New test. - * gcc.dg/Warray-bounds-71.h: New test header. - * gcc.dg/Warray-bounds-72.c: New test. - * gcc.dg/Warray-bounds-73.c: New test. - * gcc.dg/Warray-bounds-74.c: New test. - * gcc.dg/Warray-bounds-75.c: New test. - * gcc.dg/Wfree-nonheap-object-4.c: Adjust expected output. - * gcc.dg/Wfree-nonheap-object-5.c: New test. - * gcc.dg/Wfree-nonheap-object-6.c: New test. - * gcc.dg/pragma-diag-10.c: New test. - * gcc.dg/pragma-diag-9.c: New test. - * gcc.dg/uninit-suppress_3.c: New test. - * gcc.dg/pr79214.c: Xfail tests. - * gcc.dg/tree-ssa/builtin-sprintf-warn-27.c: New test. - * gcc.dg/format/c90-printf-1.c: Adjust expected output. - -2021-07-06 Uroš Bizjak - - PR target/97194 - * gcc.target/i386/sse4_1-vec-set-1a.c: New test. - * gcc.target/i386/sse4_1-vec-set-2a.c: Ditto. - -2021-07-06 Richard Biener - - * gcc.target/i386/vect-fmaddsubXXXpd.c: New testcase. - * gcc.target/i386/vect-fmaddsubXXXps.c: Likewise. - * gcc.target/i386/vect-fmsubaddXXXpd.c: Likewise. - * gcc.target/i386/vect-fmsubaddXXXps.c: Likewise. - -2021-07-06 Andrew Pinski - - PR tree-optimization/101256 - * g++.dg/torture/pr101256.C: New test. - -2021-07-06 Thomas Koenig - - PR fortran/100227 - * gfortran.dg/implied_do_io_7.f90: New test. - -2021-07-06 Kewen Lin - - PR rtl-optimization/100328 - * gcc.target/aarch64/sve/acle/asm/div_f16.c: Remove one xfail. - * gcc.target/aarch64/sve/acle/asm/div_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/div_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/divr_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mad_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mla_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mls_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/msb_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulx_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulx_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mulx_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmad_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmad_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmad_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmla_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmla_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmla_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmls_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmls_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmls_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmsb_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmsb_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/nmsb_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sub_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/subr_f64.c: Likewise. - -2021-07-06 Indu Bhagat - - PR debug/101283 - * gcc.dg/debug/btf/btf-cvr-quals-1.c: Use -gdwarf-4 on Darwin targets. - * gcc.dg/debug/ctf/ctf-cvr-quals-1.c: Likewise. - -2021-07-05 Andrew Pinski - - PR tree-optimization/101039 - * gcc.dg/tree-ssa/phi-opt-15.c: Update test to expect - ABSU and still not expect ABS_EXPR. - * gcc.dg/tree-ssa/phi-opt-23.c: New test. - * gcc.dg/tree-ssa/phi-opt-24.c: New test. - -2021-07-05 Christophe Lyon - - PR debug/101321 - * gcc.dg/debug/btf/btf-bitfields-3.c: Add -fno-short-enums. - -2021-07-05 Richard Biener - - PR testsuite/101299 - * gcc.dg/vect/bb-slp-74.c: Add vect_double requires. - -2021-07-05 liuhongt - - * gcc.target/i386/pr92658-avx512vl.c: Refine testcase. - -2021-07-03 David Edelsohn - - * gcc.dg/debug/btf/btf.exp: Skip on AIX. - * gcc.dg/debug/ctf/ctf.exp: Skip on AIX. - * lib/gcc-dg.exp (gcc-dg-target-supports-debug-format): AIX - doesn't support CTF. - (gcc-dg-debug-runtest): Move CTF support within - target support format test. - -2021-07-03 H.J. Lu - - PR middle-end/101294 - * gcc.dg/pr101294.c: New test. - -2021-07-03 Iain Buclaw - - PR d/101273 - * gdc.dg/torture/pr101273.d: New test. - -2021-07-02 Iain Buclaw - - PR d/101282 - * gdc.dg/torture/pr101282.d: New test. - -2021-07-02 Jakub Jelinek - - * g++.dg/gomp/attrs-1.C: New test. - * g++.dg/gomp/attrs-2.C: New test. - * g++.dg/gomp/attrs-3.C: New test. - -2021-07-02 Jakub Jelinek - - PR c/101297 - * c-c++-common/gomp/atomic-24.c: New test. - -2021-07-02 Patrick Palka - - PR c++/101247 - * g++.dg/cpp2a/concepts-memtmpl4.C: New test. - -2021-07-02 Peter Bergner - - * gcc.target/powerpc/mma-builtin-7.c: New test. - * gcc.target/powerpc/mma-builtin-8.c: New test. - -2021-07-02 Andrew MacLeod - - PR tree-optimization/101223 - * gcc.dg/pr101223.c: New. - -2021-07-02 David Faust - - * gcc.dg/debug/btf/btf-float-1.c: New test. - * gcc.dg/debug/btf/btf-function-3.c: Use different unrepresentable type. - * gcc.dg/debug/btf/btf-struct-2.c: Likewise. - * gcc.dg/debug/btf/btf-variables-2.c: Likewise. - -2021-07-02 Maxim Kuvyrkov - - * lib/gcc-defs.exp: Add a comment. - -2021-07-02 Richard Biener - - PR tree-optimization/101293 - * gcc.dg/tree-ssa/ssa-lim-15.c: New testcase. - -2021-07-02 Jakub Jelinek - - PR target/101286 - * gcc.target/i386/avx2-pr101286.c: New test. - -2021-07-02 Hongyu Wang - - * gcc.target/i386/keylocker-aesdec128kl.c: Update test. - * gcc.target/i386/keylocker-aesdec256kl.c: Likewise. - * gcc.target/i386/keylocker-aesdecwide128kl.c: Likewise. - * gcc.target/i386/keylocker-aesdecwide256kl.c: Likewise. - * gcc.target/i386/keylocker-aesenc128kl.c: Likewise. - * gcc.target/i386/keylocker-aesenc256kl.c: Likewise. - * gcc.target/i386/keylocker-aesencwide128kl.c: Likewise. - * gcc.target/i386/keylocker-aesencwide256kl.c: Likewise. - -2021-07-01 Michael Meissner - - * gcc.target/powerpc/float128-cmove.c: New test. - * gcc.target/powerpc/float128-minmax-3.c: New test. - -2021-07-01 Eric Botcazou - - * c-c++-common/dump-ada-spec-14.c: Adjust dg-warning directive. - -2021-07-01 H.J. Lu - - PR target/100865 - * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Expect integer - broadcast. - * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Likewise. - * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Likewise. - * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Likewise. - * gcc.target/i386/avx512f_cond_move.c: Also pass - -mprefer-vector-width=512 and expect integer broadcast. - * gcc.target/i386/pr100865-1.c: New test. - * gcc.target/i386/pr100865-2.c: Likewise. - * gcc.target/i386/pr100865-3.c: Likewise. - * gcc.target/i386/pr100865-4a.c: Likewise. - * gcc.target/i386/pr100865-4b.c: Likewise. - * gcc.target/i386/pr100865-5a.c: Likewise. - * gcc.target/i386/pr100865-5b.c: Likewise. - * gcc.target/i386/pr100865-6a.c: Likewise. - * gcc.target/i386/pr100865-6b.c: Likewise. - * gcc.target/i386/pr100865-6c.c: Likewise. - * gcc.target/i386/pr100865-7a.c: Likewise. - * gcc.target/i386/pr100865-7b.c: Likewise. - * gcc.target/i386/pr100865-7c.c: Likewise. - * gcc.target/i386/pr100865-8a.c: Likewise. - * gcc.target/i386/pr100865-8b.c: Likewise. - * gcc.target/i386/pr100865-8c.c: Likewise. - * gcc.target/i386/pr100865-9a.c: Likewise. - * gcc.target/i386/pr100865-9b.c: Likewise. - * gcc.target/i386/pr100865-9c.c: Likewise. - * gcc.target/i386/pr100865-10a.c: Likewise. - * gcc.target/i386/pr100865-10b.c: Likewise. - * gcc.target/i386/pr100865-11a.c: Likewise. - * gcc.target/i386/pr100865-11b.c: Likewise. - * gcc.target/i386/pr100865-11c.c: Likewise. - * gcc.target/i386/pr100865-12a.c: Likewise. - * gcc.target/i386/pr100865-12b.c: Likewise. - * gcc.target/i386/pr100865-12c.c: Likewise. - -2021-07-01 Richard Biener - - PR tree-optimization/101280 - PR tree-optimization/101173 - * gcc.dg/tree-ssa/loop-interchange-16.c: New testcase. - -2021-07-01 Richard Biener - - PR tree-optimization/101278 - * gcc.dg/torture/pr101278.c: New testcase. - -2021-07-01 Richard Biener - - PR tree-optimization/100778 - * gcc.dg/torture/pr100778.c: New testcase. - -2021-07-01 Uroš Bizjak - - PR target/101044 - * gcc.target/i386/pr101044.c: New test. - -2021-07-01 Richard Biener - - PR tree-optimization/101178 - * gcc.dg/vect/bb-slp-72.c: New testcase. - * gcc.dg/vect/bb-slp-73.c: Likewise. - * gcc.dg/vect/bb-slp-74.c: Likewise. - -2021-07-01 Jakub Jelinek - - PR debug/101266 - * gcc.dg/pr101266.c: New test. - -2021-07-01 Patrick Palka - - PR c++/101194 - * g++.dg/cpp0x/constexpr-empty16.C: New test. - -2021-07-01 Patrick Palka - - PR c++/96204 - * g++.dg/template/access41.C: New test. - * g++.dg/template/access41a.C: New test. - -2021-06-30 Indu Bhagat - - * gcc.dg/debug/ctf/ctf-skip-types-4.c: Add dg-add-options float64 and - float64x. - -2021-06-30 Michael Meissner - - * gcc.target/powerpc/float128-minmax.c: Adjust expected code for - power10. - * lib/target-supports.exp (check_effective_target_has_arch_pwr10): - New. - -2021-06-30 Patrick Palka - - * g++.dg/cpp2a/concepts-access2.C: New test. - -2021-06-30 Marek Polacek - - PR c++/100975 - DR 2397 - * g++.dg/cpp0x/auto24.C: Remove dg-error. - * g++.dg/cpp0x/auto3.C: Adjust dg-error. - * g++.dg/cpp0x/auto42.C: Likewise. - * g++.dg/cpp0x/initlist75.C: Likewise. - * g++.dg/cpp0x/initlist80.C: Likewise. - * g++.dg/diagnostic/auto1.C: Remove dg-error. - * g++.dg/cpp23/auto-array.C: New test. - -2021-06-30 Richard Biener - - PR tree-optimization/101267 - * gfortran.dg/pr101267.f90: New testcase. - -2021-06-30 David Malcolm - - PR analyzer/95006 - * gcc.dg/analyzer/clobbers-1.c: New test. - * gcc.dg/analyzer/clobbers-2.c: New test. - * gcc.dg/analyzer/data-model-1.c (test_26): Mark xfail as fixed. - (test_28): Likewise. - (test_52): Likewise. Add coverage for end of buffer. - * gcc.dg/analyzer/explode-1.c: Add leak warning. - * gcc.dg/analyzer/memset-1.c (test_3): Mark xfail as fixed. - (test_4): Use char. Mark xfail as fixed. - (test_6b): New. - (test_7): Mark xfail as fixed. Add coverage for start of buffer. - (test_8): New. - (test_9): New. - * gcc.dg/analyzer/memset-CVE-2017-18549-1.c: New test. - * gcc.dg/analyzer/symbolic-8.c: New test. - -2021-06-30 Christophe Lyon - - * gcc.dg/debug/ctf/ctf-skip-types-2.c: Add dg-add-options float16. - -2021-06-30 Richard Biener - - PR tree-optimization/101264 - * gfortran.dg/pr101264.f90: New testcase. - -2021-06-30 liuhongt - - PR target/101248 - * gcc.target/i386/pr101248.c: New test. - -2021-06-29 Andrew MacLeod - - * gcc.dg/pr101254.c: New. - -2021-06-29 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-9.c: New test. - -2021-06-29 Richard Biener - - * gcc.dg/vect/pr67790.c: Un-XFAIL. - * gcc.dg/vect/bb-slp-71.c: New testcase. - -2021-06-29 Jakub Jelinek - - PR c++/101210 - * g++.dg/ubsan/pr101210.C: New test. - -2021-06-29 Richard Biener - - PR tree-optimization/101242 - * gcc.dg/vect/bb-slp-pr101242.c: New testcase. - * gcc.dg/vect/pr67790.c: XFAIL scan for zero VEC_PERM_EXPR. - -2021-06-28 Martin Sebor - - * g++.dg/uninit-pr74762.C: New test. - * g++.dg/warn/uninit-pr74765.C: Same. - -2021-06-28 Indu Bhagat - David Faust - - * lib/gcc-dg.exp (gcc-dg-frontend-supports-ctf): New procedure. - (gcc-dg-debug-runtest): Add -gctf support. - * gcc.dg/debug/btf/btf-1.c: New test. - * gcc.dg/debug/btf/btf-2.c: Likewise. - * gcc.dg/debug/btf/btf-anonymous-struct-1.c: Likewise. - * gcc.dg/debug/btf/btf-anonymous-union-1.c: Likewise. - * gcc.dg/debug/btf/btf-array-1.c: Likewise. - * gcc.dg/debug/btf/btf-bitfields-1.c: Likewise. - * gcc.dg/debug/btf/btf-bitfields-2.c: Likewise. - * gcc.dg/debug/btf/btf-bitfields-3.c: Likewise. - * gcc.dg/debug/btf/btf-cvr-quals-1.c: Likewise. - * gcc.dg/debug/btf/btf-enum-1.c: Likewise. - * gcc.dg/debug/btf/btf-forward-1.c: Likewise. - * gcc.dg/debug/btf/btf-function-1.c: Likewise. - * gcc.dg/debug/btf/btf-function-2.c: Likewise. - * gcc.dg/debug/btf/btf-int-1.c: Likewise. - * gcc.dg/debug/btf/btf-pointers-1.c: Likewise. - * gcc.dg/debug/btf/btf-struct-1.c: Likewise. - * gcc.dg/debug/btf/btf-typedef-1.c: Likewise. - * gcc.dg/debug/btf/btf-union-1.c: Likewise. - * gcc.dg/debug/btf/btf-variables-1.c: Likewise. - * gcc.dg/debug/btf/btf.exp: Likewise. - * gcc.dg/debug/ctf/ctf-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-anonymous-struct-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-anonymous-union-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-array-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-array-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-array-3.c: Likewise. - * gcc.dg/debug/ctf/ctf-array-4.c: Likewise. - * gcc.dg/debug/ctf/ctf-attr-mode-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-attr-used-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-bitfields-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-bitfields-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-bitfields-3.c: Likewise. - * gcc.dg/debug/ctf/ctf-bitfields-4.c: Likewise. - * gcc.dg/debug/ctf/ctf-complex-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-cvr-quals-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-cvr-quals-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-cvr-quals-3.c: Likewise. - * gcc.dg/debug/ctf/ctf-cvr-quals-4.c: Likewise. - * gcc.dg/debug/ctf/ctf-enum-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-enum-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-file-scope-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-float-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-forward-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-forward-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-func-index-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-function-pointers-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-function-pointers-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-function-pointers-3.c: Likewise. - * gcc.dg/debug/ctf/ctf-functions-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-int-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-objt-index-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-pointers-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-pointers-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-preamble-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-skip-types-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-skip-types-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-skip-types-3.c: Likewise. - * gcc.dg/debug/ctf/ctf-skip-types-4.c: Likewise. - * gcc.dg/debug/ctf/ctf-skip-types-5.c: Likewise. - * gcc.dg/debug/ctf/ctf-skip-types-6.c: Likewise. - * gcc.dg/debug/ctf/ctf-str-table-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-struct-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-struct-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-struct-array-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-struct-pointer-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-struct-pointer-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-typedef-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-typedef-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-typedef-3.c: Likewise. - * gcc.dg/debug/ctf/ctf-typedef-struct-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-typedef-struct-2.c: Likewise. - * gcc.dg/debug/ctf/ctf-typedef-struct-3.c: Likewise. - * gcc.dg/debug/ctf/ctf-union-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-variables-1.c: Likewise. - * gcc.dg/debug/ctf/ctf-variables-2.c: Likewise. - * gcc.dg/debug/ctf/ctf.exp: Likewise. - * gcc.dg/debug/btf/btf-bitfields-4.c: New file. - * gcc.dg/debug/btf/btf-datasec-1.c: New file. - * gcc.dg/debug/btf/btf-function-3.c: New file. - * gcc.dg/debug/btf/btf-pointers-2.c: New file. - * gcc.dg/debug/btf/btf-struct-2.c: New file. - * gcc.dg/debug/btf/btf-variables-2.c: New file. - * gcc.dg/debug/btf/btf-variables-3.c: New file. - * gcc.dg/debug/ctf/ctf-debug-1.c: New file. - * gcc.dg/debug/ctf/ctf-debug-2.c: New file. - * gcc.dg/debug/ctf/ctf-function-pointers-4.c: New file. - * gcc.dg/debug/ctf/ctf-skip-types-7.c: New file. - * gcc.dg/debug/ctf/ctf-skip-types-8.c: New file. - * gcc.dg/debug/ctf/ctf-struct-array-2.c: New file. - -2021-06-28 Indu Bhagat - - * lib/gcc-dg.exp (gcc-dg-target-supports-debug-format): New procedure. - -2021-06-28 Martin Jambor - - PR ipa/93385 - * gcc.dg/ipa/pr93385.c: New test. - * gcc.dg/ipa/ipa-sra-23.c: Likewise. - * gcc.dg/ipa/ipa-sra-24.c: Likewise. - * g++.dg/ipa/ipa-sra-4.C: Likewise. - -2021-06-28 Richard Biener - - PR tree-optimization/101229 - * gcc.dg/torture/pr101229.c: New testcase. - -2021-06-28 Richard Biener - - PR tree-optimization/101207 - * gcc.dg/vect/bb-slp-pr101207.c: New testcase. - -2021-06-28 Richard Biener - - PR tree-optimization/101173 - * gcc.dg/torture/pr101173.c: New testcase. - -2021-06-28 liuhongt - - PR target/100648 - * g++.target/i386/avx2-pr54700-2.C: Adjust testcase. - * g++.target/i386/avx512vl-pr54700-1a.C: New test. - * g++.target/i386/avx512vl-pr54700-1b.C: New test. - * g++.target/i386/avx512vl-pr54700-2a.C: New test. - * g++.target/i386/avx512vl-pr54700-2b.C: New test. - * gcc.target/i386/avx512vl-pr100648.c: New test. - * gcc.target/i386/avx512vl-blendv-1.c: New test. - * gcc.target/i386/avx512vl-blendv-2.c: New test. - -2021-06-28 liuhongt - - * gcc.target/i386/funcspec-8.c: Replace - __builtin_ia32_blendvpd with __builtin_ia32_roundps_az. - * gcc.target/i386/blendv-1.c: New test. - * gcc.target/i386/blendv-2.c: New test. - -2021-06-27 Andrew Pinski - - * gcc.dg/torture/pr101230-1.c: New test. - -2021-06-26 Patrick Palka - - PR c++/96204 - * g++.dg/template/access40.C: New test. - * g++.dg/template/access40a.C: New test. - -2021-06-26 Jason Merrill - - PR c++/101040 - PR c++/97566 - * g++.dg/cpp2a/no_unique_address13.C: New test. - -2021-06-26 Marek Polacek - - PR c++/100752 - * g++.dg/cpp0x/noexcept69.C: New test. - * g++.dg/parse/saved1.C: Adjust dg-error. - * g++.dg/template/crash50.C: Likewise. - -2021-06-25 David Malcolm - - * jit.dg/test-vector-rvalues.cc (check_div): Add specialization - for v4f, to avoid relying on exact floating-point equality. - * jit.dg/test-vector-types.cc (check_div): Likewise. - -2021-06-25 David Malcolm - - * jit.dg/test-asm.c: Remove i?86-*-* from target specifier. - * jit.dg/test-asm.cc: Likewise. - -2021-06-25 Martin Sebor - - PR middle-end/101216 - * gcc.dg/Wnonnull-7.c: New test. - -2021-06-25 Richard Biener - - PR tree-optimization/101202 - * gcc.dg/torture/pr101202.c: New testcase. - -2021-06-25 Xi Ruoyao - - * g++.dg/no-stack-protector-attr-3.C (dg-final): Adjust for MIPS. - -2021-06-25 liuhongt - - PR target/101185 - * gcc.target/i386/bitwise_mask_op-3.c: Add xfail to - temporarily avoid regression, eventually xfail should be - removed. - -2021-06-24 Andrew MacLeod - - * gcc.dg/tree-ssa/evrp30.c: New. - -2021-06-24 Andrew MacLeod - - * gcc.dg/tree-ssa/pr101189.c: New. - -2021-06-24 Patrick Palka - - PR c++/98832 - * g++.dg/cpp2a/class-deduction-alias9.C: New test. - -2021-06-24 Patrick Palka - - PR c++/101182 - * g++.dg/cpp2a/concepts-requires25.C: New test. - -2021-06-24 Jakub Jelinek - - PR c/101171 - * gcc.dg/pr101171.c: New test. - -2021-06-24 Uroš Bizjak - - PR target/89021 - * gcc.dg/vect/vect-nb-iter-ub-3.c (dg-additional-options): - Add --param vect-epilogues-nomask=0. - * gcc.target/i386/pr97249-1.c (foo): Add #pragma GCC unroll - to avoid loop vectorization. - (foo1): Ditto. - (foo2): Ditto. - -2021-06-24 Richard Biener - - * gcc.target/i386/vect-addsubv2df.c: New testcase. - * gcc.target/i386/vect-addsubv4sf.c: Likewise. - * gcc.target/i386/vect-addsubv4df.c: Likewise. - * gcc.target/i386/vect-addsubv8sf.c: Likewise. - * gcc.target/i386/vect-addsub-2.c: Likewise. - * gcc.target/i386/vect-addsub-3.c: Likewise. - -2021-06-24 Jakub Jelinek - - PR middle-end/101170 - * gcc.dg/pr101170.c: New test. - -2021-06-24 Jakub Jelinek - - PR middle-end/101172 - * gcc.dg/pr101172.c: New test. - -2021-06-24 Ilya Leoshkevich - - * gcc.target/s390/mnop-mcount-m31-mzarch.c: Adapt to the new - prologue size. - * gcc.target/s390/mnop-mcount-m64.c: Likewise. - -2021-06-24 Jakub Jelinek - - * c-c++-common/gomp/target-in-reduction-1.c: New test. - * c-c++-common/gomp/clauses-1.c: Add in_reduction clauses on - target or combined target constructs. - -2021-06-24 Richard Biener - - PR tree-optimization/101105 - * gcc.dg/torture/pr101105.c: New testcase. - -2021-06-24 liuhongt - - PR target/98434 - * gcc.target/i386/pr98434-1.c: New test. - * gcc.target/i386/pr98434-2.c: New test. - * gcc.target/i386/avx512vl-pr95488-1.c: Adjust testcase. - -2021-06-23 Patrick Palka - - PR c++/101174 - * g++.dg/cpp1z/class-deduction-access3.C: New test. - * g++.dg/cpp1z/class-deduction91.C: New test. - -2021-06-23 Aaron Sawdey - - * gcc.target/powerpc/pcrel-opt-inc-di.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-ld-df.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-ld-di.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-ld-hi.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-ld-qi.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-ld-sf.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-ld-si.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-ld-vector.c: Enable -mpcrel-opt to - test it. - * gcc.target/powerpc/pcrel-opt-st-df.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-st-di.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-st-hi.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-st-qi.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-st-sf.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-st-si.c: Enable -mpcrel-opt to test it. - * gcc.target/powerpc/pcrel-opt-st-vector.c: Enable -mpcrel-opt to - test it. - -2021-06-23 Xi Ruoyao - - * gcc.c-torture/execute/950704-1.c: Add -fwrapv to avoid - undefined behavior. - -2021-06-23 Patrick Palka - - PR c++/86439 - * g++.dg/cpp1z/class-deduction88.C: New test. - * g++.dg/cpp1z/class-deduction89.C: New test. - * g++.dg/cpp1z/class-deduction90.C: New test. - -2021-06-23 Uroš Bizjak - - PR target/101175 - * gcc.target/i386/pr101175.c: New test. - -2021-06-23 Andre Vehreschild - - PR fortran/100337 - * gfortran.dg/coarray_collectives_17.f90: New test. - -2021-06-22 Sandra Loosemore - Tobias Burnus - - PR fortran/93524 - * gfortran.dg/pr93524.c: New. - * gfortran.dg/pr93524.f90: New. - -2021-06-22 David Malcolm - - PR analyzer/101143 - * gcc.dg/analyzer/pr101143.c: New test. - -2021-06-22 Richard Biener - - PR middle-end/101156 - * gcc.dg/pr101156.c: New testcase. - -2021-06-22 Jakub Jelinek - - PR tree-optimization/101159 - * gcc.c-torture/compile/pr101159.c: New test. - -2021-06-22 Jakub Jelinek - - PR middle-end/101160 - * g++.target/i386/empty-class1.C: Require lp64 effective target - instead of x86_64-*-*. - * g++.target/i386/empty-class2.C: New test. - -2021-06-22 Jakub Jelinek - Andrew Pinski - - PR tree-optimization/101162 - * g++.dg/opt/pr101162.C: New test. - -2021-06-22 Richard Biener - - PR tree-optimization/101151 - * gcc.dg/torture/pr101151.c: New testcase. - -2021-06-22 Kito Cheng - - * g++.dg/modules/omp-1_a.C: Check pthread is available for - dg-module-cmi. - * g++.dg/modules/omp-2_a.C: Ditto. - -2021-06-22 Richard Biener - - PR tree-optimization/101158 - * gfortran.dg/pr101158.f90: New testcase. - -2021-06-22 Jakub Jelinek - - PR target/11877 - * gcc.target/i386/pr11877-2.c: New test. - -2021-06-22 liuhongt - - PR tree-optimization/97770 - * gcc.target/i386/avx512bitalg-pr97770-1.c: Remove xfail. - * gcc.target/i386/avx512vpopcntdq-pr97770-1.c: Remove xfail. - -2021-06-22 liuhongt - - PR target/100267 - * gcc.target/i386/avx512bw-pr100267-1.c: New test. - * gcc.target/i386/avx512bw-pr100267-b-2.c: New test. - * gcc.target/i386/avx512bw-pr100267-d-2.c: New test. - * gcc.target/i386/avx512bw-pr100267-q-2.c: New test. - * gcc.target/i386/avx512bw-pr100267-w-2.c: New test. - * gcc.target/i386/avx512f-pr100267-1.c: New test. - * gcc.target/i386/avx512f-pr100267-pd-2.c: New test. - * gcc.target/i386/avx512f-pr100267-ps-2.c: New test. - * gcc.target/i386/avx512vl-pr100267-1.c: New test. - * gcc.target/i386/avx512vl-pr100267-pd-2.c: New test. - * gcc.target/i386/avx512vl-pr100267-ps-2.c: New test. - * gcc.target/i386/avx512vlbw-pr100267-1.c: New test. - * gcc.target/i386/avx512vlbw-pr100267-b-2.c: New test. - * gcc.target/i386/avx512vlbw-pr100267-d-2.c: New test. - * gcc.target/i386/avx512vlbw-pr100267-q-2.c: New test. - * gcc.target/i386/avx512vlbw-pr100267-w-2.c: New test. - -2021-06-22 liuhongt - - PR target/100310 - * gcc.target/i386/pr100310.c: New test. - -2021-06-21 Jason Merrill - - PR target/88529 - * g++.target/i386/empty-class1.C: New test. - -2021-06-21 Patrick Palka - - PR c++/67302 - * g++.dg/opt/nrv21.C: New test. - -2021-06-21 Patrick Palka - - PR c++/80431 - * g++.dg/cpp0x/nsdmi-virtual1a.C: New test. - -2021-06-21 Jakub Jelinek - - PR inline-asm/100785 - * c-c++-common/pr100785.c: New test. - * gcc.dg/pr48552-1.c: Don't expect invalid lvalue errors. - * gcc.dg/pr48552-2.c: Likewise. - -2021-06-21 prathamesh.kulkarni - - PR target/97906 - * gcc.target/arm/simd/pr97906.c: New test. - -2021-06-21 Richard Biener - - PR tree-optimization/101121 - * gfortran.dg/pr101121.f: New testcase. - -2021-06-21 liuhongt - - PR target/101142 - * gcc.target/i386/spill_to_mask-1.c: Adjust testcase. - * gcc.target/i386/spill_to_mask-2.c: Adjust testcase. - * gcc.target/i386/spill_to_mask-3.c: Adjust testcase. - * gcc.target/i386/spill_to_mask-4.c: Adjust testcase. - -2021-06-21 Roger Sayle - - PR target/11877 - * gcc.target/i386/pr11877.c: New test case. - -2021-06-18 Aaron Sawdey - - * gcc.target/powerpc/fusion-p10-2logical.c: Update pattern - match counts. - * gcc.target/powerpc/fusion-p10-addadd.c: Update pattern match - counts. - * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update pattern match - counts. - * gcc.target/powerpc/fusion-p10-logadd.c: Update pattern match - counts. - -2021-06-18 Harald Anlauf - - PR fortran/100283 - PR fortran/101123 - * gfortran.dg/min0_max0_1.f90: New test. - * gfortran.dg/min0_max0_2.f90: New test. - -2021-06-18 David Malcolm - - * gcc.dg/analyzer/symbolic-7.c: New test. - -2021-06-18 Srinath Parvathaneni - - PR target/100856 - * gcc.target/arm/acle/pr100856.c: New test. - * gcc.target/arm/multilib.exp: Add tests for cde options. - -2021-06-18 Michael Meissner - - * gcc.target/powerpc/float128-minmax-2.c: New test. - -2021-06-17 Jason Merrill - - PR c++/101106 - * g++.dg/cpp0x/deleted15.C: New test. - -2021-06-17 H.J. Lu - - PR target/100704 - * gcc.target/i386/pr100704-1.c: New test. - * gcc.target/i386/pr100704-2.c: Likewise. - * gcc.target/i386/pr100704-3.c: Likewise. - -2021-06-17 Uroš Bizjak - - PR target/97194 - * gcc.target/i386/sse4_1-vec-set-1.c: New test. - * gcc.target/i386/sse4_1-vec-set-2.c: ditto. - -2021-06-17 Aldy Hernandez - - * gcc.dg/pr100790.c: New test. - -2021-06-17 Marius Hillenbrand - - * gcc.target/s390/zvector/vec-doublee.c: New test. - * gcc.target/s390/zvector/vec-floate.c: New test. - -2021-06-17 Richard Biener - - PR tree-optimization/54400 - * gcc.dg/vect/bb-slp-pr54400.c: New testcase. - -2021-06-16 Jason Merrill - - PR c++/101078 - PR c++/91706 - * g++.dg/template/access39.C: New test. - -2021-06-16 Harald Anlauf - - PR fortran/95501 - PR fortran/95502 - * gfortran.dg/pr95502.f90: New test. - -2021-06-16 Harald Anlauf - - Revert: - 2021-06-16 Harald Anlauf - - PR fortran/95501 - PR fortran/95502 - * gfortran.dg/pr95502.f90: New test. - -2021-06-16 Harald Anlauf - - PR fortran/95501 - PR fortran/95502 - * gfortran.dg/pr95502.f90: New test. - -2021-06-16 Jason Merrill - - PR c++/100796 - PR preprocessor/96391 - * g++.dg/plugin/location-overflow-test-pr100796.c: New test. - * g++.dg/plugin/plugin.exp: Run it. - -2021-06-16 Jonathan Wright - - * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests. - -2021-06-16 Jonathan Wright - - * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests. - -2021-06-16 Jonathan Wright - - * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests. - -2021-06-16 Jonathan Wright - - * gcc.target/aarch64/narrow_zero_high_half.c: Add new tests. - -2021-06-16 Jonathan Wright - - * gcc.target/aarch64/narrow_zero_high_half.c: New test. - -2021-06-16 Martin Jambor - - PR tree-optimization/100453 - * gcc.dg/tree-ssa/pr100453.c: New test. - -2021-06-16 Jakub Jelinek - - * gcc.dg/guality/pr49888.c (f): Use noipa attribute instead of - noinline, noclone. - -2021-06-16 Jakub Jelinek - - PR middle-end/101062 - * gcc.dg/pr101062.c: New test. - -2021-06-16 Richard Biener - - PR tree-optimization/101088 - * gcc.dg/torture/pr101088.c: New testcase. - -2021-06-16 Roger Sayle - - PR rtl-optimization/46235 - * gcc.target/i386/bt-5.c: New test. - * gcc.target/i386/bt-6.c: New test. - * gcc.target/i386/bt-7.c: New test. - -2021-06-16 Arnaud Charlet - - * gnat.dg/limited4.adb: Disable illegal code. - -2021-06-16 Richard Biener - - PR tree-optimization/101083 - * gcc.dg/vect/pr97832-4.c: New testcase. - -2021-06-15 Tobias Burnus - - PR fortran/92568 - * gfortran.dg/gomp/pr99928-1.f90: Uncomment 'defaultmap(none)'. - * gfortran.dg/gomp/pr99928-2.f90: Uncomment 'defaultmap(none)'. - * gfortran.dg/gomp/pr99928-3.f90: Uncomment 'defaultmap(none)'. - * gfortran.dg/gomp/pr99928-4.f90: Uncomment 'defaultmap(none)'. - * gfortran.dg/gomp/pr99928-5.f90: Uncomment 'defaultmap(none)'. - * gfortran.dg/gomp/pr99928-6.f90: Uncomment 'defaultmap(none)'. - * gfortran.dg/gomp/pr99928-8.f90: Uncomment 'defaultmap(none)'. - * gfortran.dg/gomp/defaultmap-1.f90: New test. - * gfortran.dg/gomp/defaultmap-2.f90: New test. - * gfortran.dg/gomp/defaultmap-3.f90: New test. - * gfortran.dg/gomp/defaultmap-4.f90: New test. - * gfortran.dg/gomp/defaultmap-5.f90: New test. - * gfortran.dg/gomp/defaultmap-6.f90: New test. - * gfortran.dg/gomp/defaultmap-7.f90: New test. - -2021-06-15 David Malcolm - - * gcc.dg/analyzer/analyzer-decls.h (__analyzer_dump_capacity): New decl. - * gcc.dg/analyzer/capacity-1.c: New test. - * gcc.dg/analyzer/capacity-2.c: New test. - * gcc.dg/analyzer/capacity-3.c: New test. - -2021-06-15 David Malcolm - - PR analyzer/101068 - * gcc.dg/analyzer/explode-2a.c: New test. - -2021-06-15 Jakub Jelinek - - PR target/101046 - * gcc.target/i386/pr101046.c: New test. - -2021-06-15 Robin Dapp - - * c-c++-common/Wattributes.c: Remove s390-specific check and add - new tests. - * gcc.dg/Wattributes-6.c: Likewise. - -2021-06-15 Xionghu Luo - - PR target/101020 - * gcc.target/powerpc/float128-call.c: Adjust counts for be and le. - -2021-06-14 Martin Sebor - - PR c++/100876 - * g++.dg/warn/Wmismatched-new-delete-4.C: New test. - * g++.dg/warn/Wmismatched-new-delete-5.C: New test. - * g++.dg/warn/Wstringop-overflow-7.C: New test. - * g++.dg/warn/Wfree-nonheap-object-6.C: New test. - * g++.dg/analyzer/placement-new.C: Prune out expected warning. - -2021-06-14 Peter Bergner - - PR target/100777 - * gcc.target/powerpc/pr100777.c: New test. - -2021-06-14 Uroš Bizjak - - PR target/101058 - * gcc.target/i386/pr101058.c: New test. - -2021-06-14 Jonathan Wakely - - PR c++/101052 - * g++.dg/spellcheck-stdlib.C: Add checks for names. - * gcc.dg/spellcheck-stdlib.c: Likewise. - -2021-06-14 Christophe Lyon - - * gcc.target/arm/simd/mve-vclz.c: Update expected results. - * gcc.target/arm/simd/mve-vshl.c: Likewise. - * gcc.target/arm/simd/mve-vec-pack.c: New test. - * gcc.target/arm/simd/mve-vec-unpack.c: New test. - -2021-06-14 Richard Biener - - PR tree-optimization/100934 - * gcc.dg/torture/pr100934.c: New testcase. - -2021-06-14 Aaron Sawdey - - * gcc.dg/sms-1.c: Remove scan-rtl-dump-times check. - * gcc.dg/sms-2.c: Remove scan-rtl-dump-times check. - * gcc.dg/sms-3.c: Remove scan-rtl-dump-times check. - * gcc.dg/sms-4.c: Remove scan-rtl-dump-times check. - * gcc.dg/sms-6.c: Remove scan-rtl-dump-times check. - * gcc.dg/sms-8.c: Remove scan-rtl-dump-times check. - * gcc.dg/sms-10.c: Remove scan-rtl-dump-times check. - -2021-06-14 Richard Biener - - PR tree-optimization/101031 - * gcc.dg/torture/pr101031.c: New testcase. - -2021-06-13 Jason Merrill - - * gcc.dg/c2x-attr-maybe_unused-1.c: Expect no warnings. - -2021-06-13 H.J. Lu - - PR target/101023 - * g++.target/i386/pr101023a.C: New test. - * g++.target/i386/pr101023b.C: Likewise. - -2021-06-12 David Edelsohn - - * g++.dg/ext/builtin-shufflevector-2.C: Ignore psabi warning. - * gcc.dg/uninit-pr93100.c: Skip on AIX. - * gcc.target/powerpc/pr100085.c: Require int128 and float128. - -2021-06-12 Jason Merrill - - * g++.dg/ext/attrib62.C: No longer warn. - * g++.dg/diagnostic/maybe_unused1.C: New test. - -2021-06-12 Jason Merrill - - PR c++/101029 - * g++.dg/ext/array4.C: New test. - -2021-06-11 Carl Love - - * gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c - (dg-require-effective-target): Change target to p9vector_hw. - -2021-06-11 Thomas Schwinge - - * gcc.dg/gomp/simd-clones-2.c: Enhance. - -2021-06-11 Patrick Palka - - DR 1227 - PR c++/96560 - * g++.dg/template/sfinae-dr1227.C: New test. - -2021-06-11 Srinath Parvathaneni - - PR target/101016 - * gcc.target/arm/mve/intrinsics/pr101016.c: New test. - -2021-06-11 Roger Sayle - - PR tree-optimization/96392 - * gcc.dg/pr96392.c: New test. - -2021-06-11 Richard Biener - - PR tree-optimization/101025 - * gcc.dg/torture/pr101025.c: New testcase. - -2021-06-11 Srinath Parvathaneni - - PR target/99939 - * gcc.target/arm/cmse/cmse-18.c: Add separate scan-assembler - directives check for target is v8.1-m.main+mve or not before - comparing the assembly output. - * gcc.target/arm/cmse/cmse-20.c: New test. - -2021-06-11 Jakub Jelinek - - PR c++/100974 - * g++.dg/cpp23/consteval-if1.C: New test. - * g++.dg/cpp23/consteval-if2.C: New test. - * g++.dg/cpp23/consteval-if3.C: New test. - * g++.dg/cpp23/consteval-if4.C: New test. - * g++.dg/cpp23/consteval-if5.C: New test. - * g++.dg/cpp23/consteval-if6.C: New test. - * g++.dg/cpp23/consteval-if7.C: New test. - * g++.dg/cpp23/consteval-if8.C: New test. - * g++.dg/cpp23/consteval-if9.C: New test. - * g++.dg/cpp23/consteval-if10.C: New test. - * g++.dg/cpp23/feat-cxx2b.C: Add __cpp_if_consteval tests. - -2021-06-11 David Malcolm - - * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: Update - expected number of enodes after the loop. - * gcc.dg/analyzer/paths-8.c: New test. - -2021-06-11 Richard Biener - - PR tree-optimization/101028 - * gcc.dg/pr101028.c: New testcase. - -2021-06-11 Richard Biener - - PR tree-optimization/101026 - * gfortran.dg/pr101026.f: New testcase. - -2021-06-11 Jakub Jelinek - - PR rtl-optimization/101008 - * gcc.dg/pr101008.c: New test. - -2021-06-11 Jakub Jelinek - - PR target/101007 - * gcc.target/i386/sse-pr101007.c: New test. - -2021-06-11 Uroš Bizjak - - PR target/101021 - * gcc.target/i386/pr101021-1.c: New test. - * gcc.target/i386/pr101021-2.c: Ditto. - -2021-06-11 Martin Liska - - PR gcov-profile/100788 - * gcc.dg/pr100788.c: New test. - -2021-06-11 Richard Biener - - PR middle-end/101009 - * gcc.dg/torture/pr101009.c: New testcase. - -2021-06-11 Kewen Lin - - * gcc.target/powerpc/p9-fpcvt-3.c: New test. - -2021-06-11 Marek Polacek - - PR c++/100995 - * g++.dg/cpp2a/is-constant-evaluated9.C: Add dg-warning. - * g++.dg/cpp2a/is-constant-evaluated12.C: New test. - -2021-06-10 Patrick Palka - - PR c++/67829 - * g++.dg/template/ttp34.C: New test. - * g++.dg/template/ttp34a.C: New test. - * g++.dg/template/ttp34b.C: New test. - -2021-06-10 Patrick Palka - - PR c++/100946 - * g++.dg/cpp2a/concepts-return-req3.C: New test. - -2021-06-10 Peter Bergner - - * gcc.target/powerpc/mma-builtin-4.c (__builtin_vsx_build_pair): Add - tests. Update expected counts. - * gcc.target/powerpc/mma-builtin-5.c (__builtin_mma_build_acc): Add - tests. Update expected counts. - -2021-06-10 Iain Buclaw - - PR d/100967 - * gdc.dg/pr100967.d: New test. - -2021-06-10 Robin Dapp - - * gcc.target/s390/vector/vcond-mixed-double.c: New test. - * gcc.target/s390/vector/vcond-mixed-float.c: New test. - -2021-06-10 Robin Dapp - - * gcc.dg/vect/pr56541.c: Fix target selector. - -2021-06-10 Andrew Stubbs - Thomas Schwinge - - * c-c++-common/goacc-gomp/nesting-fail-1.c: Adjust patterns. - * c-c++-common/goacc/finalize-1.c: Likewise. - * c-c++-common/goacc/mdc-1.c: Likewise. - * c-c++-common/goacc/nesting-fail-1.c: Likewise. - * c-c++-common/goacc/struct-enter-exit-data-1.c: Likewise. - * gfortran.dg/goacc/attach-descriptor.f90: Likewise. - * gfortran.dg/goacc/finalize-1.f: Likewise. - * gfortran.dg/goacc/mapping-tests-3.f90: Likewise. - -2021-06-10 Thomas Schwinge - - * c-c++-common/goacc/mdc-1.c: Fix '#pragma acc acc [...]' typo. - * c-c++-common/goacc/mdc-2.c: Likewise. - * g++.dg/goacc/mdc.C: Likewise. - -2021-06-10 Jakub Jelinek - - * g++.dg/cpp2a/feat-cxx2a.C: Uncomment __cpp_consteval test. - * g++.dg/cpp23/feat-cxx2b.C: Likewise. - -2021-06-10 Jakub Jelinek - - PR debug/100852 - * g++.dg/opt/pr100852.C: New test. - -2021-06-09 Andrew Pinski - - * g++.dg/torture/pr100925.C: New test. - -2021-06-09 Carl Love - - * gcc.target/powerpc/int_128bit-runnable.c (extsd2q): Update expected - count. - Add tests for vec_signextq. - * gcc.target/powerpc/p9-sign_extend-runnable.c: New test case. - -2021-06-09 Carl Love - - * gcc.target/powerpc/fp128_conversions.c: New file. - * gcc.target/powerpc/int_128bit-runnable.c(vextsd2q, - vcmpuq, vcmpsq, vcmpequq, vcmpequq., vcmpgtsq, vcmpgtsq. - vcmpgtuq, vcmpgtuq.): Update scan-assembler-times. - (ppc_native_128bit): Remove dg-require-effective-target. - -2021-06-09 Carl Love - - * gcc.target/powerpc/int_128bit-runnable.c: Add shift_right, shift_left - tests. - -2021-06-09 Carl Love - - * gcc.target/powerpc/int_128bit-runnable.c: Add 128-bit DFP - conversion tests. - -2021-06-09 Carl Love - - * gcc.target/powerpc/int_128bit-runnable.c: New test file. - -2021-06-09 Carl Love - - * gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c: - New runnable test case. - * gcc.target/powerpc/vec-rlmi-rlnm.c: Update scan assembler times - for xxlor instruction. - -2021-06-09 Christophe Lyon - - * gcc.target/arm/simd/mve-vclz.c: New test. - -2021-06-09 Christophe Lyon - - * gcc.target/arm/simd/mve-vhadd-1.c: New test. - * gcc.target/arm/simd/mve-vhadd-2.c: New test. - * gcc.target/arm/simd/neon-vhadd-1.c: New test. - * gcc.target/arm/simd/neon-vhadd-2.c: New test. - -2021-06-09 Roger Sayle - - * gcc.dg/builtins-70.c: New test. - -2021-06-09 Aaron Sawdey - - * gcc.target/powerpc/fusion-p10-2logical.c: Update fused insn - counts to test 32 and 64 bit separately. - * gcc.target/powerpc/fusion-p10-addadd.c: Update fused insn - counts to test 32 and 64 bit separately. - * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update fused insn - counts to test 32 and 64 bit separately. - * gcc.target/powerpc/fusion-p10-logadd.c: Update fused insn - counts to test 32 and 64 bit separately. - -2021-06-09 Richard Biener - - PR tree-optimization/100981 - * gfortran.dg/vect/pr100981-1.f90: New testcase. - -2021-06-09 Richard Biener - - PR tree-optimization/97832 - * gcc.dg/vect/pr97832-1.c: New testcase. - * gcc.dg/vect/pr97832-2.c: Likewise. - * gcc.dg/vect/pr97832-3.c: Likewise. - * g++.dg/vect/slp-pr98855.cc: XFAIL. - * gcc.dg/vect/slp-50.c: New file. - -2021-06-09 Jakub Jelinek - - PR fortran/100965 - * gfortran.dg/gomp/pr100965.f90: New test. - -2021-06-09 Uroš Bizjak - - PR target/100936 - * gcc.target/i386/pr100936.c: New test. - -2021-06-09 Xionghu Luo - - * gcc.target/powerpc/float128-call.c: Adjust. - * gcc.target/powerpc/pr100085.c: New test. - -2021-06-09 Jason Merrill - - PR c++/100879 - * g++.dg/diagnostic/enum3.C: New test. - -2021-06-08 Marek Polacek - - PR c++/100065 - * g++.dg/cpp2a/explicit18.C: New test. - -2021-06-08 Andrew Pinski - - * gcc.dg/tree-ssa/pr96928-1.c: Fix testcase for now that ~ - happens on the outside of the bit_xor. - -2021-06-08 Jason Merrill - - * g++.dg/cpp0x/pr60209-neg.C: Update diagnostic. - * g++.dg/diagnostic/string-literal-concat.C: Likewise. - * g++.dg/ext/utf-badconcat.C: Likewise. - * g++.dg/ext/utf-badconcat2.C: Likewise. - -2021-06-08 Jason Merrill - - * g++.dg/cpp23/mixed-concat1.C: New test. - -2021-06-08 Jason Merrill - - * g++.dg/cpp23/whitespace-splice1.C: New test. - -2021-06-08 Jason Merrill - - * g++.dg/cpp23/narrowing-bool1.C: New test. - -2021-06-08 David Malcolm - - PR analyzer/99212 - * gcc.dg/analyzer/bitfields-1.c: New test. - * gcc.dg/analyzer/data-model-1.c (struct sbits): Make bitfields - explicitly signed. - (test_44): Update test values assigned to the bits to ones that - fit in the range of the bitfield type. Remove xfails. - (test_45): Remove xfails. - -2021-06-08 Jason Merrill - - PR c++/100963 - * g++.dg/cpp0x/initlist124.C: New test. - -2021-06-08 Richard Biener - - PR tree-optimization/100923 - * gcc.dg/torture/pr100923.c: New testcase. - -2021-06-08 Jakub Jelinek - - PR c++/100957 - * g++.dg/gomp/doacross-2.C: New test. - -2021-06-08 H.J. Lu - - PR middle-end/100951 - * gcc.target/i386/pr100951.c: New test. - -2021-06-08 Jakub Jelinek - - PR target/100887 - PR testsuite/100943 - * gcc.dg/pr100887.c: Add -Wno-psabi -w to dg-options. - -2021-06-08 Tobias Burnus - - PR middle-end/99928 - * gfortran.dg/gomp/openmp-simd-6.f90: Update scan-tree-dump. - * gfortran.dg/gomp/scan-5.f90: Likewise. - * gfortran.dg/gomp/loop-1.f90: Likewise; remove xfail. - * gfortran.dg/gomp/pr99928-1.f90: Remove xfail. - * gfortran.dg/gomp/pr99928-2.f90: Likewise. - * gfortran.dg/gomp/pr99928-3.f90: Likewise. - * gfortran.dg/gomp/pr99928-8.f90: Likewise. - -2021-06-08 Martin Liska - - * gcc.dg/format/strfmon-1.c: Fix typo. - * gfortran.dg/char4-subscript.f90: Likewise. - -2021-06-08 Kewen Lin - - PR tree-optimization/100794 - * gcc.dg/tree-ssa/pr100794.c: New test. - -2021-06-08 Jason Merrill - - PR c++/91706 - * g++.dg/template/lookup17.C: New test. - -2021-06-08 Jason Merrill - - PR c++/100102 - * g++.dg/cpp0x/alias-decl-73.C: New test. - -2021-06-07 Uroš Bizjak - - PR target/100637 - * gcc.target/i386/pr100637-5b.c: New test. - * gcc.target/i386/pr100637-5w.c: Ditto. - -2021-06-07 H.J. Lu - - PR target/82735 - * gcc.target/i386/pr82735-3.c: Don't compile for x32. - * gcc.target/i386/pr82735-4.c: Likewise. - * gcc.target/i386/pr82735-5.c: Likewise. - -2021-06-07 Eric Botcazou - - * gcc.dg/sso-14.c: Adjust. - -2021-06-07 Patrick Palka - - PR c++/100918 - * g++.dg/template/access38.C: New test. - -2021-06-07 H.J. Lu - - PR target/100885 - * g++.target/i386/pr100885.C (_mm_set_epi64): Cast __m64 to long - long. - -2021-06-07 Jakub Jelinek - - PR target/100887 - * gcc.dg/pr100887.c: New test. - -2021-06-07 Jakub Jelinek - - PR middle-end/100898 - * g++.dg/ext/va-arg-pack-3.C: New test. - -2021-06-07 liuhongt - - PR target/100885 - * g++.target/i386/pr100885.C: New test. - -2021-06-07 liuhongt - - PR target/82735 - * gcc.target/i386/pr82735-1.c: New test. - * gcc.target/i386/pr82735-2.c: New test. - * gcc.target/i386/pr82735-3.c: New test. - * gcc.target/i386/pr82735-4.c: New test. - * gcc.target/i386/pr82735-5.c: New test. - -2021-06-06 Jakub Jelinek - - * gcc.dg/gomp/scan-1.c: New test. - -2021-06-06 Jakub Jelinek - - PR c/100902 - * c-c++-common/gomp/pr100902-1.c: New test. - -2021-06-06 Eric Botcazou - - * gcc.dg/sso-14.c: New test. - -2021-06-05 José Rui Faustino de Sousa - - PR fortran/100120 - PR fortran/100816 - PR fortran/100818 - PR fortran/100819 - PR fortran/100821 - * gfortran.dg/PR100120.f90: New test. - * gfortran.dg/character_workout_1.f90: New test. - * gfortran.dg/character_workout_4.f90: New test. - -2021-06-04 Tobias Burnus - - PR middle-end/100905 - * gfortran.dg/gomp/loop-3.f90: New test. - -2021-06-04 Iain Buclaw - - PR d/100882 - * gdc.dg/pr100882a.d: New test. - * gdc.dg/pr100882b.d: New test. - * gdc.dg/pr100882c.d: New test. - * gdc.dg/torture/pr100882.d: New test. - -2021-06-04 Patrick Palka - - PR c++/100893 - * g++.dg/template/param4.C: New test. - * g++.dg/template/param5.C: New test. - * g++.dg/cpp1z/nontype-auto19.C: New test. - * g++.dg/cpp2a/concepts-decltype.C: Don't expect that the - deduced type of a decltype(auto) NTTP has top-level cv-quals. - -2021-06-04 Patrick Palka - - PR c++/100102 - * g++.dg/cpp0x/alias-decl-72.C: New test. - * g++.dg/cpp0x/alias-decl-72a.C: New test. - -2021-06-04 Harald Anlauf - - PR fortran/99839 - * gfortran.dg/inline_matmul_25.f90: New test. - -2021-06-04 Martin Sebor - - PR c/100783 - * gcc.dg/nonnull-6.c: New test. - -2021-06-04 Martin Sebor - - PR middle-end/100732 - * gcc.dg/tree-ssa/builtin-snprintf-11.c: New test. - * gcc.dg/tree-ssa/builtin-snprintf-12.c: New test. - * gcc.dg/tree-ssa/builtin-sprintf-28.c: New test. - * gcc.dg/tree-ssa/builtin-sprintf-29.c: New test. - * gcc.dg/uninit-pr100732.c: New test. - -2021-06-04 Martin Sebor - - * gcc.dg/Wvla-parameter-10.c: New test. - * gcc.dg/Wvla-parameter-11.c: New test. - -2021-06-04 Tobias Burnus - - * gfortran.dg/goacc/omp-fixed.f: Re-add test item changed in previous - commit in addition - add more dg-errors and '... end ...' due to changed - parsing. - * gfortran.dg/goacc/omp.f95: Likewise. - * gfortran.dg/goacc-gomp/mixed-1.f: New test. - -2021-06-04 Uroš Bizjak - - PR target/100637 - * gcc.dg/vect/slp-perm-9.c (dg-final): Adjust dumps for vect32 targets. - -2021-06-04 Tobias Burnus - - * gfortran.dg/gomp/pr99928-5.f90: Really use the - proper iteration variable. - -2021-06-04 Tobias Burnus - - * gfortran.dg/gomp/pr99928-1.f90: Add 'implicit none'. - * gfortran.dg/gomp/pr99928-11.f90: Likewise. - * gfortran.dg/gomp/pr99928-4.f90: Likewise. - * gfortran.dg/gomp/pr99928-6.f90: Likewise. - * gfortran.dg/gomp/pr99928-8.f90: Likewise. - * gfortran.dg/gomp/pr99928-2.f90: Likewise. Add missing decl. - * gfortran.dg/gomp/pr99928-5.f90: Add implicit none; - fix loop-variable and remove xfail. - -2021-06-04 Tobias Burnus - - PR middle-end/99928 - * gfortran.dg/gomp/loop-2.f90: Update for typo fix. - -2021-06-04 Tobias Burnus - - PR middle-end/99928 - * gfortran.dg/gomp/pr99928-3.f90: Add 'default(none)', following - C/C++ version of the patch. - * gfortran.dg/gomp/loop-1.f90: New test. - * gfortran.dg/gomp/loop-2.f90: New test. - * gfortran.dg/gomp/pr99928-1.f90: New test; based on C/C++ test. - * gfortran.dg/gomp/pr99928-11.f90: Likewise. - * gfortran.dg/gomp/pr99928-2.f90: Likewise. - * gfortran.dg/gomp/pr99928-4.f90: Likewise. - * gfortran.dg/gomp/pr99928-5.f90: Likewise. - * gfortran.dg/gomp/pr99928-6.f90: Likewise. - * gfortran.dg/gomp/pr99928-8.f90: Likewise. - * gfortran.dg/goacc/omp.f95: Use 'acc kernels loops' instead - of 'acc loops' to hide unrelated bug for now. - * gfortran.dg/goacc/omp-fixed.f: Likewise - -2021-06-04 Jakub Jelinek - - PR target/100887 - * gcc.target/i386/pr100887.c: New test. - -2021-06-04 Jakub Jelinek - - PR c++/100872 - * g++.dg/gomp/declare-simd-8.C: New test. - -2021-06-04 Haochen Gui - - * gcc.target/powerpc/not-promote-mode.c: New. - -2021-06-03 Uroš Bizjak - - PR target/100637 - * gcc.target/i386/vperm-v2hi.c: New test. - * gcc.target/i386/vperm-v4qi.c: Ditto. - -2021-06-03 Aldy Hernandez - - * gcc.dg/pr80776-1.c: XFAIL and document the reason why. - -2021-06-03 Patrick Palka - - PR c++/100592 - * g++.dg/cpp0x/alias-decl-71.C: New test. - -2021-06-03 Patrick Palka - - PR c++/100862 - * g++.dg/cpp2a/using-enum-9.C: New test. - -2021-06-03 Andre Vieira - - * gcc.target/aarch64/sve/part_vect_single_iter_epilog.c: New test. - -2021-06-03 Christophe Lyon - - * gcc.target/arm/simd/mve-vabs.c: New test. - -2021-06-03 Eric Botcazou - - * gnat.dg/bit_packed_array6.adb: New test. - * gnat.dg/bit_packed_array6_pkg.ads: New helper. - -2021-06-03 Martin Liska - - * gcc.dg/spellcheck-options-23.c: New test. - -2021-06-03 Eric Botcazou - - * gnat.dg/inline22.adb: New test. - -2021-06-03 Tamar Christina - - * gcc.target/aarch64/cpunative/info_16: Update implementer. - * gcc.target/aarch64/cpunative/info_17: Likewise - -2021-06-03 Jakub Jelinek - - PR c++/100859 - * g++.dg/gomp/depend-iterator-3.C: New test. - * g++.dg/gomp/this-1.C: Don't expect any diagnostics for - this as base expression of depend array section, expect a different - error wording for this as depend locator and add testcases - for affinity clauses. - -2021-06-02 Jason Merrill - - PR c++/100838 - * g++.dg/init/no-elide2.C: New test. - -2021-06-02 Ilya Leoshkevich - - * gcc.target/s390/ashr.c: New test. - -2021-06-02 Tobias Burnus - - PR middle-end/99928 - * gfortran.dg/gomp/taskloop-2.f90: New. - -2021-06-02 Jakub Jelinek - - * g++.dg/ext/builtin-shufflevector-1.C: Add -Wno-psabi -w to - dg-options. - -2021-06-01 Patrick Palka - - PR c++/65816 - * g++.dg/cpp0x/constexpr-delegating3.C: New test. - * g++.dg/cpp0x/dc10.C: New test. - * g++.dg/cpp0x/initlist-base4.C: New test. - * g++.dg/cpp2a/constexpr-init22.C: New test. - -2021-06-01 Andrew Pinski - - PR tree-optimization/95481 - * gcc.dg/tree-ssa/tailcall-10.c: New test. - * gcc.dg/tree-ssa/tailcall-11.c: New test. - * gcc.dg/tree-ssa/tailcall-12.c: New test. - * gcc.dg/tree-ssa/tailcall-13.c: New test. - * gcc.dg/tree-ssa/tailrecursion-8.c: New test. - -2021-06-01 Bill Schmidt - - PR testsuite/100750 - * gcc.target/powerpc/rop-5.c: Require ELFv2 ABI. - -2021-06-01 Jason Merrill - - PR c++/91859 - * g++.dg/cpp2a/destroying-delete5.C: New test. - -2021-06-01 Jason Merrill - - PR c++/94492 - * g++.dg/cpp0x/depr-copy4.C: New test. - -2021-06-01 Aldy Hernandez - - * gcc.dg/Wstringop-overflow-55.c: Adjust for global ranges changes. - * gcc.dg/pr80776-1.c: Same. - -2021-06-01 Tobias Burnus - - PR middle-end/99928 - * gfortran.dg/gomp/reduction5.f90: Remove dg-error; the issue is - now diagnosed with less error output. - * gfortran.dg/gomp/scan-1.f90: Likewise. - * gfortran.dg/gomp/pr99928-3.f90: New test. - * gfortran.dg/gomp/taskloop-1.f90: New test. - -2021-06-01 liuhongt - - PR tree-optimization/98365 - * gcc.target/i386/pr98365.c: New test. - -2021-06-01 Andrew MacLeod - - PR tree-optimization/100781 - * gcc.dg/pr100781.c: New. - -2021-06-01 Andrew MacLeod - - PR tree-optimization/100774 - * g++.dg/pr100774.C: New. - -2021-05-31 Tobias Burnus - - * gfortran.dg/gomp/depend-iterator-1.f90: Use dg-do compile. - * gfortran.dg/gomp/depend-iterator-2.f90: Use dg-do compile. - -2021-05-31 Richard Biener - - PR c++/88601 - * c-c++-common/builtin-shufflevector-2.c: New testcase. - * c-c++-common/torture/builtin-shufflevector-1.c: Likewise. - * g++.dg/ext/builtin-shufflevector-1.C: Likewise. - * g++.dg/ext/builtin-shufflevector-2.C: Likewise. - -2021-05-31 Peter Bergner - - PR target/99842 - * g++.target/powerpc/pr99842.C: New. - -2021-05-29 Bernd Edlinger - - * gcc.dg/plugin/diagnostic_plugin_show_trees.c (plugin_init): Fix caret_max_with. - * gcc.dg/plugin/diagnostic_plugin_test_inlining.c - (plugin_init): Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c (plugin_init): Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c - (plugin_init): Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c - (plugin_init): Likewise. - -2021-05-29 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-1.c: Add default(none) to constructs - combined with parallel, teams or taskloop and defaultmap(none) - to constructs combined with target. - * c-c++-common/gomp/pr99928-2.c: Likewise. - * c-c++-common/gomp/pr99928-3.c: Likewise. - * c-c++-common/gomp/pr99928-4.c: Likewise. - * c-c++-common/gomp/pr99928-5.c: Likewise. - * c-c++-common/gomp/pr99928-6.c: Likewise. - * c-c++-common/gomp/pr99928-7.c: Likewise. - * c-c++-common/gomp/pr99928-8.c: Likewise. - * c-c++-common/gomp/pr99928-9.c: Likewise. - * c-c++-common/gomp/pr99928-10.c: Likewise. - * c-c++-common/gomp/pr99928-13.c: Likewise. - * c-c++-common/gomp/pr99928-14.c: Likewise. - -2021-05-29 Aldy Hernandez - - * gcc.dg/Wstringop-overflow-55.c: - * gcc.dg/pr80776-1.c: - -2021-05-28 Richard Biener - - PR tree-optimization/100778 - * gcc.dg/vect/bb-slp-pr100778-1.c: New testcase. - -2021-05-28 Jason Merrill - - PR c++/100797 - PR c++/95719 - * g++.dg/inherit/virtual15.C: New test. - * g++.dg/inherit/virtual15a.C: New file. - -2021-05-28 Richard Biener - - PR ipa/100791 - * gcc.dg/pr100791.c: New testcase. - -2021-05-28 Richard Biener - - PR c/100803 - * gcc.dg/gimplefe-error-11.c: New testcase. - -2021-05-28 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-8.c: Remove all xfails. - * c-c++-common/gomp/pr99928-9.c: Likewise. - * c-c++-common/gomp/pr99928-10.c: Likewise. - * c-c++-common/gomp/pr99928-16.c: New test. - -2021-05-28 Tobias Burnus - - * c-c++-common/gomp/affinity-1.c: New test. - * c-c++-common/gomp/affinity-2.c: New test. - * c-c++-common/gomp/affinity-3.c: New test. - * c-c++-common/gomp/affinity-4.c: New test. - * c-c++-common/gomp/affinity-5.c: New test. - * c-c++-common/gomp/affinity-6.c: New test. - * c-c++-common/gomp/affinity-7.c: New test. - * gfortran.dg/gomp/affinity-clause-1.f90: New test. - * gfortran.dg/gomp/affinity-clause-2.f90: New test. - * gfortran.dg/gomp/affinity-clause-3.f90: New test. - * gfortran.dg/gomp/affinity-clause-4.f90: New test. - * gfortran.dg/gomp/affinity-clause-5.f90: New test. - * gfortran.dg/gomp/affinity-clause-6.f90: New test. - * gfortran.dg/gomp/depend-iterator-1.f90: New test. - * gfortran.dg/gomp/depend-iterator-2.f90: New test. - * gfortran.dg/gomp/depend-iterator-3.f90: New test. - * gfortran.dg/gomp/taskwait.f90: New test. - -2021-05-28 Joern Rennecke - Richard Biener - - * gcc.dg/tree-ssa/popcount4ll.c: Remove lp64 condition. - Adjust scanning pattern for !lp64. - * gcc.dg/tree-ssa/popcount5ll.c: Likewise. - * gcc.dg/tree-ssa/popcount4l.c: Adjust scanning pattern - for ! int32plus. - -2021-05-28 Kewen Lin - - PR tree-optimization/99398 - * gcc.target/powerpc/vec-perm-ctor-run.c: New test. - * gcc.target/powerpc/vec-perm-ctor.c: New test. - * gcc.target/powerpc/vec-perm-ctor.h: New test. - -2021-05-27 Matthias Kretz - - PR c++/100716 - * g++.dg/diagnostic/pr100716.C: New test. - * g++.dg/diagnostic/pr100716-1.C: Same test with - -fno-pretty-templates. - -2021-05-27 Patrick Palka - - PR c++/99893 - * g++.dg/cpp0x/static_assert17.C: New test. - -2021-05-27 Jason Merrill - - PR c++/86355 - * g++.dg/cpp0x/alias-decl-variadic2.C: New test. - -2021-05-27 Patrick Palka - - DR 1315 - PR c++/67593 - PR c++/96555 - * g++.dg/template/partial16.C: New test. - * g++.dg/template/partial17.C: New test. - * g++.dg/template/partial18.C: New test. - * g++.dg/template/partial19.C: New test. - * g++.dg/cpp0x/pr68724.C: Adjust expected diagnostic for - ill-formed partial specialization. - * g++.dg/cpp0x/variadic38.C: Likewise. - * g++.dg/cpp1z/pr81016.C: Likewise. - * g++.dg/template/partial5.C: Likewise. - * g++.old-deja/g++.pt/spec21.C: Likewise. - -2021-05-27 Harald Anlauf - - PR fortran/100602 - * gfortran.dg/pointer_check_14.f90: New test. - -2021-05-27 Harald Anlauf - - PR fortran/100656 - * gfortran.dg/bounds_check_22.f90: New test. - -2021-05-27 Aldy Hernandez - - * gcc.dg/Wstringop-overflow-55.c: Pass -fno-ipa-icf. - -2021-05-27 Uroš Bizjak - - PR target/100637 - * gcc.target/i386/pr100637-3b.c (avgu): New test. - * gcc.target/i386/pr100637-3w.c (avgu): Ditto. - -2021-05-26 Patrick Palka - - PR c++/100502 - * g++.dg/template/access37.C: New test. - * g++.dg/template/access37a.C: New test. - -2021-05-26 Aldy Hernandez - - * gcc.dg/Wstringop-overflow-55.c: Adapt for range query changes. - * gcc.dg/pr80776-1.c: Same. - -2021-05-26 Uroš Bizjak - - * lib/target-supports.exp (check_effective_target_vect32): New. - (available_vector_sizes): Append 32 for x86 targets. - * gcc.dg/vect/pr71264.c (dg-final): Xfail scan dump for vect32 targets. - * gcc.dg/vect/slp-28.c (dg-final): Adjust dumps for vect32 targets. - * gcc.dg/vect/slp-3.c (dg-final): Ditto. - * gcc.target/i386/pr100637-3b.c: New test. - * gcc.target/i386/pr100637-3w.c: Ditto. - * gcc.target/i386/pr100637-4b.c: Ditto. - * gcc.target/i386/pr100637-4w.c: Ditto. - -2021-05-26 Eric Botcazou - - * gcc.dg/sso-13.c: New test. - -2021-05-26 Christophe Lyon - - * gcc.target/arm/simd/mve-vaddv-1.c: New test. - -2021-05-26 Patrick Palka - - PR c++/100368 - * g++.dg/cpp1z/elide6.C: New test. - -2021-05-26 Patrick Palka - - PR c++/97420 - * g++.dg/cpp0x/noexcept68.C: New test. - -2021-05-26 Geng Qi - - * gcc.target/csky/fldrd_fstrd.c: New. - * gcc.target/csky/fpuv3/fldr64_fstr64.c: New. - -2021-05-26 Geng Qi - - * gcc.target/csky/ldbs.c: New. - -2021-05-26 Andrew Pinski - - * gcc.dg/tree-ssa/pr96928.c: Update test for slightly different IR. - * gcc.dg/tree-ssa/pr96928-1.c: New testcase. - -2021-05-25 Jakub Jelinek - - PR c++/100666 - * g++.dg/cpp1z/nodiscard8.C: New test. - * g++.dg/cpp1z/nodiscard9.C: New test. - -2021-05-25 Martin Liska - - * gcc.dg/sancov/attribute.c: New test. - -2021-05-25 Cooper Qu - - * gcc.target/csky/fpuv3/fpuv3.exp : Amend copyright. - -2021-05-25 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-8.c: Remove xfails from omp teams r21 and - r28 checks. - * c-c++-common/gomp/pr99928-9.c: Likewise. - * c-c++-common/gomp/pr99928-10.c: Likewise. - -2021-05-25 Geng Qi - - * gcc.target/csky/fpuv3/fpuv3.exp: New. - * gcc.target/csky/fpuv3/fpv3_div.c: New. - * gcc.target/csky/fpuv3/fpv3_fadd.c: New. - * gcc.target/csky/fpuv3/fpv3_fdtos.c: New. - * gcc.target/csky/fpuv3/fpv3_fftoi_rm.c: New. - * gcc.target/csky/fpuv3/fpv3_fftoi_rz.c: New. - * gcc.target/csky/fpuv3/fpv3_fhtos.c: New. - * gcc.target/csky/fpuv3/fpv3_fitof.c: New. - * gcc.target/csky/fpuv3/fpv3_fmov.c: New. - * gcc.target/csky/fpuv3/fpv3_fmovi.c: New. - * gcc.target/csky/fpuv3/fpv3_fmula.c: New. - * gcc.target/csky/fpuv3/fpv3_fmuls.c: New. - * gcc.target/csky/fpuv3/fpv3_fneg.c: New. - * gcc.target/csky/fpuv3/fpv3_fnmula.c: New. - * gcc.target/csky/fpuv3/fpv3_fnmuls.c: New. - * gcc.target/csky/fpuv3/fpv3_fstod.c: New. - * gcc.target/csky/fpuv3/fpv3_fstoh.c: New. - * gcc.target/csky/fpuv3/fpv3_fsub.c: New. - * gcc.target/csky/fpuv3/fpv3_fxtof.c: New. - * gcc.target/csky/fpuv3/fpv3_h.c: New. - * gcc.target/csky/fpuv3/fpv3_hs.c: New. - * gcc.target/csky/fpuv3/fpv3_hsz.c: New. - * gcc.target/csky/fpuv3/fpv3_hz.c: New. - * gcc.target/csky/fpuv3/fpv3_ls.c: New. - * gcc.target/csky/fpuv3/fpv3_lsz.c: New. - * gcc.target/csky/fpuv3/fpv3_lt.c: New. - * gcc.target/csky/fpuv3/fpv3_ltz.c: New. - * gcc.target/csky/fpuv3/fpv3_max.c: New. - * gcc.target/csky/fpuv3/fpv3_min.c: New. - * gcc.target/csky/fpuv3/fpv3_mul.c: New. - * gcc.target/csky/fpuv3/fpv3_mula.c: New. - * gcc.target/csky/fpuv3/fpv3_muls.c: New. - * gcc.target/csky/fpuv3/fpv3_ne.c: New. - * gcc.target/csky/fpuv3/fpv3_nez.c: New. - * gcc.target/csky/fpuv3/fpv3_recip.c: New. - * gcc.target/csky/fpuv3/fpv3_sqrt.c: New. - * gcc.target/csky/fpuv3/fpv3_unordered.c: New. - -2021-05-24 Aaron Sawdey - - * gcc.target/powerpc/fusion-p10-logadd.c: New file. - -2021-05-24 Tobias Burnus - - PR fortran/86470 - * gfortran.dg/gomp/class-firstprivate-1.f90: New test. - * gfortran.dg/gomp/class-firstprivate-2.f90: New test. - * gfortran.dg/gomp/class-firstprivate-3.f90: New test. - * gfortran.dg/gomp/class-firstprivate-4.f90: New test. - -2021-05-24 Christophe Lyon - - * gcc.target/arm/simd/mve-vld4.c: New test, derived from - slp-perm-3.c - -2021-05-24 Christophe Lyon - - * gcc.target/arm/simd/mve-vld2.c: New test, derived from - slp-perm-2.c - -2021-05-24 liuhongt - - PR target/100660 - * gcc.target/i386/pr100660.c: New test. - -2021-05-24 Andrew Pinski - - * gcc.dg/tree-ssa/phi-opt-10.c: Use "\[0-9\]*" instead of '.' - when matching ssa name version. - * gcc.dg/tree-ssa/phi-opt-7.c: Likewise. - -2021-05-23 Uroš Bizjak - - PR target/100722 - * gcc.target/i386/pr100722.c: New test. - -2021-05-23 Harald Anlauf - - PR fortran/100551 - * gfortran.dg/pr100551.f90: New test. - -2021-05-23 Andrew Pinski - - * gcc.dg/gimplefe-45.c: New test. - -2021-05-21 Aaron Sawdey - - * gcc.target/powerpc/fusion-p10-addadd.c: New file. - -2021-05-21 Aaron Sawdey - - * gcc.target/powerpc/fusion-p10-ldcmpi.c: New file. - * gcc.target/powerpc/fusion-p10-2logical.c: New file. - -2021-05-21 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-3.c: Remove all xfails. - * c-c++-common/gomp/pr99928-15.c: New test. - -2021-05-21 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-6.c: Remove all xfails. - * c-c++-common/gomp/pr99928-13.c: New test. - * c-c++-common/gomp/pr99928-14.c: New test. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * c-c++-common/goacc/privatization-1-compute-loop.c: Update. - * c-c++-common/goacc/privatization-1-compute.c: Likewise. - * c-c++-common/goacc/privatization-1-routine_gang-loop.c: - Likewise. - * c-c++-common/goacc/privatization-1-routine_gang.c: Likewise. - -2021-05-21 Thomas Schwinge - - PR middle-end/90115 - * c-c++-common/goacc/privatization-1-compute-loop.c: New file. - * c-c++-common/goacc/privatization-1-compute.c: Likewise. - * c-c++-common/goacc/privatization-1-routine_gang-loop.c: - Likewise. - * c-c++-common/goacc/privatization-1-routine_gang.c: Likewise. - * gfortran.dg/goacc/privatization-1-compute-loop.f90: Likewise. - * gfortran.dg/goacc/privatization-1-compute.f90: Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang-loop.f90: - Likewise. - * gfortran.dg/goacc/privatization-1-routine_gang.f90: Likewise. - * c-c++-common/goacc-gomp/nesting-1.c: Update. - * c-c++-common/goacc/private-reduction-1.c: Likewise. - * gfortran.dg/goacc/private-3.f95: Likewise. - -2021-05-21 Thomas Schwinge - - * lib/target-supports.exp (check_effective_target___OPTIMIZE__): - New proc. - * gcc.c-torture/compile/ssa-unused-1.c: New file. - -2021-05-21 Richard Biener - H.J. Lu - - * gcc.target/i386/pr90773-24.c: New test. - * gcc.target/i386/pr90773-25.c: Likewise. - -2021-05-21 Uroš Bizjak - - PR target/100637 - * g++.target/i386/pr100637-1b.C: New test. - * g++.target/i386/pr100637-1w.C: Ditto. - * gcc.target/i386/pr100637-2b.c: Ditto. - * gcc.target/i386/pr100637-2w.c: Ditto. - -2021-05-21 Eric Botcazou - - * gnat.dg/derived_type7.adb, gnat.dg/derived_type7.ads: New test. - -2021-05-20 Jason Merrill - - * g++.dg/cpp2a/desig19.C: New test. - -2021-05-20 Jason Merrill - - PR c++/100489 - * g++.dg/cpp2a/desig18.C: New test. - -2021-05-20 Indu Bhagat - - * gcc.dg/pch/valid-1.c: Adjust diagnostic message in testcase. - * lib/dg-pch.exp: Adjust diagnostic message. - -2021-05-20 Martin Sebor - - PR middle-end/100684 - * g++.dg/warn/Wnonnull13.C: New test. - * g++.dg/warn/Wnonnull14.C: New test. - * g++.dg/warn/Wnonnull15.C: New test. - -2021-05-20 Bernd Edlinger - - * g++.dg/modules/omp-1_c.C: Fix testcase. - -2021-05-20 Uroš Bizjak - - PR target/100701 - * gcc.target/i386/pr100701.c: New test. - -2021-05-20 Marcel Vollweiler - - * gfortran.dg/gomp/map-6.f90: New test. - * gfortran.dg/gomp/map-7.f90: New test. - * gfortran.dg/gomp/map-8.f90: New test. - -2021-05-20 Eric Botcazou - - PR testsuite/96488 - * gnat.dg/unchecked_convert5.adb: Do not run on PowerPC64 LE. - * gnat.dg/unchecked_convert6.adb: Likewise. - -2021-05-20 Uroš Bizjak - - PR target/100637 - * gcc.target/i386/pr100637-1w.c (shl, ashr, lshr): New tests. - -2021-05-20 Christophe Lyon - Torbjörn Svensson - - PR c/42579 - * c-c++-common/spellcheck-reserved.c: Add tests for __FILE_NAME__. - * c-c++-common/cpp/file-name-1.c: New test. - -2021-05-20 Tobias Burnus - - PR fortran/96983 - * gfortran.dg/pr96711.f90: Use 2**digit(x) instead of a hard-coded value; - add comments regarding what the code does. - -2021-05-20 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-4.c: Remove all xfails. - * c-c++-common/gomp/pr99928-5.c: Likewise. - -2021-05-20 Jakub Jelinek - - PR preprocessor/100646 - * gcc.dg/cpp/pr100646-1.c: New test. - * gcc.dg/cpp/pr100646-2.c: New test. - -2021-05-20 Jason Merrill - - PR c++/100634 - * g++.dg/cpp2a/nontype-complex1.C: New test. - -2021-05-20 Jason Merrill - - PR c++/100659 - * g++.dg/parse/access13.C: New test. - -2021-05-19 Martin Sebor - - PR c/100619 - * gcc.dg/pr100619.c: New test. - -2021-05-19 Jason Merrill - - PR c++/100367 - PR c++/96299 - * g++.dg/cpp2a/spaceship-fallback1.C: New test. - -2021-05-19 Jason Merrill - - * g++.dg/cpp1z/class-deduction-access1.C: New test. - * g++.dg/cpp1z/class-deduction-access2.C: New test. - -2021-05-19 Marek Polacek - - PR c++/100596 - * g++.dg/cpp0x/friend7.C: Turn a few dg-warnings into dg-errors. - Remove dg-errors for GNU attributes. - * g++.dg/ext/attrib63.C: Remove dg-error. - * g++.dg/cpp0x/friend8.C: New test. - -2021-05-19 Kito Cheng - - * g++.dg/modules/omp-1_a.C: Check pthread is available. - * g++.dg/modules/omp-1_b.C: Ditto. - * g++.dg/modules/omp-1_c.C: Ditto. - * g++.dg/modules/omp-2_a.C: Ditto. - * g++.dg/modules/omp-2_b.C: Ditto. - -2021-05-19 Alex Coplan - - PR target/100333 - * gcc.target/arm/cmse/pr100333.c: New test. - -2021-05-19 Christophe Lyon - - PR target/99977 - * gcc.target/arm/pr99977.c: Require arm_arch_v8m_base. - -2021-05-19 Geng Qi - - * gcc.target/riscv/arch-12.c: New. - * gcc.target/riscv/attribute-19.c: New. - -2021-05-19 Jonathan Wright - - * gcc.target/aarch64/narrow_high_combine.c: New test. - -2021-05-19 Richard Biener - - PR middle-end/100672 - * gcc.dg/torture/pr100672.c: New testcase. - -2021-05-19 Martin Liska - - PR testsuite/100658 - * gcc.dg/local1.c: Fix typos. - * gcc.dg/ucnid-5-utf8.c: Likewise. - * gcc.dg/ucnid-5.c: Likewise. - -2021-05-19 Andre Vieira - - * gcc.target/aarch64/sve/logical_unpacked_and_2.c: Change - scan-assembly-times to scan-assembly not for superfluous uxtb. - * gcc.target/aarch64/sve/logical_unpacked_and_3.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_and_4.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_and_6.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_and_7.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_eor_2.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_eor_3.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_eor_4.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_eor_6.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_eor_7.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_orr_2.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_orr_3.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_orr_4.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_orr_6.c: Likewise. - * gcc.target/aarch64/sve/logical_unpacked_orr_7.c: Likewise. - * gcc.target/aarch64/sve/ld1_extend.c: New test. - -2021-05-19 Jakub Jelinek - - PR middle-end/100576 - * gcc.c-torture/compile/pr100576.c: New test. - -2021-05-19 Bernd Edlinger - - * gcc.dg/tree-ssa/ssa-sink-3.c: Fix test case. - -2021-05-19 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-2.c: Remove all xfails. - * c-c++-common/gomp/pr99928-12.c: New test. - -2021-05-19 Xionghu Luo - - * gcc.dg/tree-ssa/ssa-sink-1.c: Adjust. - * gcc.dg/tree-ssa/ssa-sink-2.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-3.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-4.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-5.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-6.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-7.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-8.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-9.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-10.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-13.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-14.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-16.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-17.c: Ditto. - * gcc.dg/tree-ssa/ssa-sink-18.c: New. - -2021-05-19 Jason Merrill - - PR c++/100261 - * g++.dg/dfp/mangle-6.C: New test. - -2021-05-19 Jason Merrill - - PR c++/100372 - * g++.dg/cpp0x/alias-decl-ttp1.C: New test. - -2021-05-18 Bill Schmidt - - * gcc.target/powerpc/ppc64-abi-warn-1.c: Remove. - * gcc.target/powerpc/ppc64-abi-warn-2.c: Remove. - * gcc.target/powerpc/ppc64-abi-warn-3.c: Remove. - -2021-05-18 Jason Merrill - - PR c++/100205 - PR c++/99314 - * g++.dg/cpp0x/decltype-nonstatic1.C: New test. - -2021-05-18 Jason Merrill - - * g++.dg/cpp0x/implicit-delete1.C: New test. - -2021-05-18 David Malcolm - - PR analyzer/100615 - * gcc.dg/analyzer/pr100615.c: New test. - -2021-05-18 Uroš Bizjak - - PR target/100637 - * gcc.target/i386/pr100637-1b.c: New test. - * gcc.target/i386/pr100637-1w.c: Ditto. - * gcc.target/i386/pr92658-avx2-2.c: Do not XFAIL scan for pmovsxbq. - * gcc.target/i386/pr92658-avx2.c: Do not XFAIL scan for pmovzxbq. - * gcc.target/i386/pr92658-avx512vl.c: Do not XFAIL scan for vpmovdb. - * gcc.target/i386/pr92658-sse4-2.c: Do not XFAIL scan for - pmovsxbd and pmovsxwq. - * gcc.target/i386/pr92658-sse4.c: Do not XFAIL scan for - pmovzxbd and pmovzxwq. - -2021-05-18 Tobias Burnus - - PR fortran/100642 - * gfortran.dg/goacc-gomp/depobj.f90: New test. - -2021-05-18 Thomas Schwinge - - * lib/gcc-dg.exp: Implement 'dg-note'. - * lib/prune.exp: Likewise. - * gcc.dg/vect/nodump-vect-opt-info-2.c: Use 'dg-note', and - 'dg-prune-output "note: ". - * gfortran.dg/goacc/routine-external-level-of-parallelism-2.f: Use - 'dg-note', match up additional notes, one class of them with - XFAILed 'dg-bogus'. - * lib/lto.exp: Implement 'dg-lto-note'. - * g++.dg/lto/odr-1_0.C: Use 'dg-lto-note', match up additional - notes. - * g++.dg/lto/odr-1_1.C: Likewise. - * g++.dg/lto/odr-2_1.C: Likewise. - -2021-05-18 Jakub Jelinek - - PR rtl-optimization/100590 - * gcc.dg/pr100590.c: New test. - -2021-05-18 Jakub Jelinek - - PR c++/100580 - * g++.dg/other/pr100580.C: New test. - -2021-05-18 Jakub Jelinek - - PR tree-optimization/94589 - * g++.dg/opt/pr94589-2.C: Adjust scan-tree-dump count from 14 to 12. - -2021-05-18 Richard Biener - - * gcc.target/i386/pr100582.c: Adjust for AVX512. - -2021-05-18 Richard Biener - - PR c/100522 - * gcc.dg/gimplefe-error-10.c: New testcase. - -2021-05-18 Richard Biener - - PR c/100547 - * gcc.dg/pr100547.c: New testcase. - * gcc.dg/attr-vector_size.c: Adjust. - -2021-05-18 Andreas Krebbel - - * gcc.target/s390/zvector/vec-_Bool.c: New test. - -2021-05-18 Andreas Krebbel - - PR c++/100281 - * g++.target/s390/pr100281-1.C: New test. - * g++.target/s390/pr100281-2.C: New test. - -2021-05-17 Andrew MacLeod - - PR tree-optimization/100512 - * gcc.dg/pr100512.c: New. - -2021-05-17 Jonathan Wakely - - * g++.dg/conversion/pr100635.C: New test. - -2021-05-17 Harald Anlauf - - PR fortran/98411 - * gfortran.dg/pr98411.f90: New test. - -2021-05-17 Aldy Hernandez - - * gcc.dg/pr100349.c: New test. - -2021-05-17 Tamar Christina - - * gcc.target/aarch64/cpunative/info_16: New test. - * gcc.target/aarch64/cpunative/info_17: New test. - * gcc.target/aarch64/cpunative/native_cpu_16.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_17.c: New test. - -2021-05-17 Richard Biener - - PR c/100625 - * gcc.dg/gimplefe-error-9.c: New testcase. - -2021-05-17 Richard Biener - - PR middle-end/100582 - * gcc.target/i386/pr100582.c: New testcase. - -2021-05-17 Christophe Lyon - - * gcc.target/arm/simd/mve-compare-3.c: New test with GCC vectors. - * gcc.target/arm/simd/mve-vcmp-f16.c: New test for - auto-vectorization. - * gcc.target/arm/armv8_2-fp16-arith-1.c: Adjust since we now - vectorize float16_t vectors. - -2021-05-17 Christophe Lyon - - * gcc.target/arm/simd/mve-compare-1.c: New test with GCC vectors. - * gcc.target/arm/simd/mve-compare-2.c: New test with GCC vectors. - * gcc.target/arm/simd/mve-compare-scalar-1.c: New test with GCC - vectors. - * gcc.target/arm/simd/mve-vcmp-f32.c: New test for - auto-vectorization. - * gcc.target/arm/simd/mve-vcmp.c: New test for auto-vectorization. - -2021-05-17 liuhongt - - PR target/100549 - * gcc.target/i386/pr100549.c: New test. - -2021-05-17 Christophe Lyon - - * gcc.target/arm/simd/mve-vadd-scalar-1.c: New. - -2021-05-17 Christophe Lyon - - * gcc.target/arm/simd/mve-vadd-1.c: New. - -2021-05-17 Christophe Lyon - - * gcc.target/arm/simd/mve-vsub_1.c: Factorize and add __fp16 test. - -2021-05-17 Christophe Lyon - - * gcc.target/arm/simd/mve-vshr.c: Add more scan-assembler-times. - -2021-05-17 Christophe Lyon - - * gcc.target/arm/acle/saturation.c: Use arm_sat_ok effective - target. - * lib/target-supports.exp - (check_effective_target_arm_qbit_ok_nocache): Rename into... - (check_effective_target_arm_sat_ok_nocache): ... this. Check - __ARM_FEATURE_SAT and use armv6. - -2021-05-17 Tobias Burnus - - PR fortran/100633 - * gfortran.dg/gomp/workshare-59.f90: New test. - -2021-05-17 Christophe Lyon - - PR debug/100515 - * gcc.dg/debug/dwarf2/pr100515.c: Require openmp effective-target. - -2021-05-16 David Edelsohn - - * g++.dg/ext/attrib63.C: Add -Wno-psabi option. - -2021-05-16 David Edelsohn - - * g++.dg/warn/uninit-pr93100.C: Require fsantize support. - -2021-05-16 Christophe Lyon - - * gcc.target/arm/unsigned-float.c: Remove arm_fp_ok, adjust - dg-options. - -2021-05-15 Bill Schmidt - - * gcc.target/powerpc/rop-1.c: New. - * gcc.target/powerpc/rop-2.c: New. - * gcc.target/powerpc/rop-3.c: New. - * gcc.target/powerpc/rop-4.c: New. - * gcc.target/powerpc/rop-5.c: New. - -2021-05-15 Martin Jambor - - Revert: - 2021-05-15 Martin Jambor - - PR tree-optimization/100453 - * gcc.dg/tree-ssa/pr100453.c: New test. - -2021-05-15 Jakub Jelinek - - PR rtl-optimization/100342 - * gcc.target/i386/pr100342.c: New test. - -2021-05-14 Tobias Burnus - - * gfortran.dg/gomp/parallel-master-1.f90: New test. - * gfortran.dg/gomp/parallel-master-2.f90: New test. - -2021-05-14 Tobias Burnus - - * gfortran.dg/gomp/implicit-save.f90: New test. - -2021-05-14 Jakub Jelinek - - PR c++/95226 - * g++.dg/cpp1y/pr95226.C: New test. - -2021-05-14 Jakub Jelinek - - PR c++/94616 - * g++.dg/cpp0x/pr94616.C: New test. - -2021-05-14 Jakub Jelinek - - PR c++/90019 - * g++.dg/cpp0x/sfinae68.C: New test. - -2021-05-14 Jakub Jelinek - - * g++.dg/cpp1y/pr88872.C: New test. - -2021-05-14 Michael de Lang - - * g++.dg/tsan/pthread_cond_clockwait.C: New test. - -2021-05-14 Marek Polacek - Jason Merrill - - PR c++/99032 - * g++.dg/cpp0x/friend7.C: New test. - * g++.dg/cpp0x/gen-attrs-4.C: Add dg-error. - * g++.dg/cpp0x/gen-attrs-39-1.C: Likewise. - * g++.dg/cpp0x/gen-attrs-74.C: New test. - * g++.dg/ext/attrib63.C: New test. - -2021-05-13 Martin Sebor - - PR tree-optimization/93100 - PR middle-end/98583 - * g++.dg/warn/uninit-pr93100.C: New test. - * gcc.dg/uninit-pr93100.c: New test. - * gcc.dg/uninit-pr98583.c: New test. - -2021-05-13 Martin Jambor - - PR tree-optimization/100453 - * gcc.dg/tree-ssa/pr100453.c: New test. - -2021-05-13 Martin Sebor - - * g++.dg/pr100574.C: Use size_t as operator new argument type. - -2021-05-13 Martin Liska - - PR middle-end/100504 - * gcc.target/i386/pr100504.c: New test. - -2021-05-13 Martin Sebor - - PR c/100550 - * gcc.dg/Wvla-parameter-9.c: New test. - -2021-05-13 Jakub Jelinek - - PR middle-end/99928 - * c-c++-common/gomp/pr99928-1.c: New test. - * c-c++-common/gomp/pr99928-2.c: New test. - * c-c++-common/gomp/pr99928-3.c: New test. - * c-c++-common/gomp/pr99928-4.c: New test. - * c-c++-common/gomp/pr99928-5.c: New test. - * c-c++-common/gomp/pr99928-6.c: New test. - * c-c++-common/gomp/pr99928-7.c: New test. - * c-c++-common/gomp/pr99928-8.c: New test. - * c-c++-common/gomp/pr99928-9.c: New test. - * c-c++-common/gomp/pr99928-10.c: New test. - * c-c++-common/gomp/pr99928-11.c: New test. - -2021-05-13 Richard Earnshaw - - PR target/100563 - * gcc.dg/pr100563.c (dg-options): Add -wno-pointer-to-int-cast. - -2021-05-13 Richard Earnshaw - - * gcc.dg/pr100563.c: New test. - -2021-05-13 Jakub Jelinek - - PR tree-optimization/98856 - * gcc.target/i386/sse2-psraq-1.c: New test. - * gcc.target/i386/sse4_2-psraq-1.c: New test. - * gcc.target/i386/avx-psraq-1.c: New test. - * gcc.target/i386/avx2-psraq-1.c: New test. - * gcc.target/i386/avx-pr82370.c: Adjust expected number of vpsrad - instructions. - * gcc.target/i386/avx2-pr82370.c: Likewise. - * gcc.target/i386/avx512f-pr82370.c: Likewise. - * gcc.target/i386/avx512bw-pr82370.c: Likewise. - * gcc.dg/torture/vshuf-4.inc: Add two further permutations. - * gcc.dg/torture/vshuf-8.inc: Likewise. - -2021-05-13 Uroš Bizjak - - PR target/100581 - * g++.target/i386/pr100581.C: New test. - -2021-05-13 Eric Botcazou - - PR testsuite/100569 - * gnat.dg/lto21.adb: Prune new LTO warning. - -2021-05-13 Martin Liska - - PR testsuite/100569 - * gcc.dg/atomic/c11-atomic-exec-2.c: Prune new LTO warning. - * gcc.dg/torture/pr94947-1.c: Likewise. - -2021-05-13 liuhongt - - * gcc.target/i386/avx-pr94680.c: Fix typo in testcase. - -2021-05-13 liuhongt - - PR target/94680 - * gcc.target/i386/avx-pr94680.c: New test. - * gcc.target/i386/avx512f-pr94680.c: New test. - * gcc.target/i386/sse2-pr94680.c: New test. - -2021-05-12 Martin Sebor - - PR middle-end/100571 - * gcc.dg/Wstringop-overflow-67.c: New test. - -2021-05-12 Aldy Hernandez - - PR c/100521 - * gcc.dg/pr100521.c: New file. - -2021-05-12 Marek Polacek - - * g++.dg/warn/Wint-in-bool-context-2.C: New test. - -2021-05-12 Marcel Vollweiler - - * c-c++-common/gomp/map-6.c: New test. - * c-c++-common/gomp/map-7.c: New test. - -2021-05-12 Richard Biener - - PR tree-optimization/100566 - * gcc.dg/torture/pr100566.c: New testcase. - -2021-05-12 Jakub Jelinek - - PR preprocessor/100392 - * gcc.dg/cpp/pr100392.c: New test. - * gcc.dg/cpp/pr100392.h: New file. - -2021-05-12 Martin Liska - - * lib/lto.exp: When running tests without jobserver, one can see - the following warning for tests that use 1to1 partitioning. - -2021-05-12 liuhongt - - PR target/99908 - * gcc.target/i386/avx2-pr99908.c: New test. - * gcc.target/i386/sse4_1-pr99908.c: New test. - -2021-05-12 Richard Biener - - PR tree-optimization/100519 - * gcc.dg/torture/pr100519.c: New testcase. - -2021-05-12 Bernd Edlinger - - PR debug/100515 - * gcc.dg/debug/dwarf2/pr100515.c: New testcase. - -2021-05-12 Jakub Jelinek - - PR middle-end/100508 - * gcc.dg/gomp/pr100508.c: New test. - -2021-05-12 Jakub Jelinek - Marc Glisse - - PR tree-optimization/94589 - * gcc.dg/tree-ssa/pr94589-1.c: New test. - -2021-05-12 Uroš Bizjak - - PR target/98218 - * g++.target/i386/pr98218-1.C: Ditto. - * gcc.target/i386/pr98218-4.c: New test. - * gcc.target/i386/pr98218-1.c: Correct PR number. - * gcc.target/i386/pr98218-1a.c: Ditto. - * gcc.target/i386/pr98218-2.c: Ditto. - * gcc.target/i386/pr98218-2a.c: Ditto. - * gcc.target/i386/pr98218-3.c: Ditto. - * gcc.target/i386/pr98218-3a.c: Ditto. - -2021-05-11 Joseph Myers - - * gcc.dg/cpp/c11-elifdef-1.c, gcc.dg/cpp/c2x-elifdef-1.c, - gcc.dg/cpp/c2x-elifdef-2.c: New tests. - -2021-05-11 Joseph Myers - - * g++.dg/cpp1y/digit-sep-paste.C, gcc.dg/c2x-digit-separators-3.c: - New tests. - -2021-05-11 Stefan Schulze Frielinghaus - - * gcc.dg/guality/pr43077-1.c: Align types of output and input - operands by lifting immediates to type long. - -2021-05-11 Joseph Myers - - * gcc.dg/c11-digit-separators-1.c, - gcc.dg/c2x-digit-separators-1.c, gcc.dg/c2x-digit-separators-2.c: - New tests. - -2021-05-11 Jason Merrill - - PR c++/100517 - * g++.dg/ext/vector41.C: New test. - -2021-05-11 Martin Liska - - * gfortran.dg/goacc/pr78027.f90: Remove -Wno-hsa option. - * brig.dg/README: Removed. - * brig.dg/dg.exp: Removed. - * brig.dg/test/gimple/alloca.hsail: Removed. - * brig.dg/test/gimple/atomics.hsail: Removed. - * brig.dg/test/gimple/branches.hsail: Removed. - * brig.dg/test/gimple/fbarrier.hsail: Removed. - * brig.dg/test/gimple/function_calls.hsail: Removed. - * brig.dg/test/gimple/internal-casts.hsail: Removed. - * brig.dg/test/gimple/kernarg.hsail: Removed. - * brig.dg/test/gimple/mem.hsail: Removed. - * brig.dg/test/gimple/mulhi.hsail: Removed. - * brig.dg/test/gimple/packed.hsail: Removed. - * brig.dg/test/gimple/priv-array-offset-access.hsail: Removed. - * brig.dg/test/gimple/smoke_test.hsail: Removed. - * brig.dg/test/gimple/variables.hsail: Removed. - * brig.dg/test/gimple/vector.hsail: Removed. - * lib/brig-dg.exp: Removed. - * lib/brig.exp: Removed. - -2021-05-11 Alex Coplan - - PR target/99725 - * gcc.target/arm/cmse/pr99725.c: New test. - -2021-05-11 Richard Sandiford - - * gcc.target/aarch64/fmul_lane_1.c: New test. - -2021-05-11 Richard Biener - - PR middle-end/100509 - * gcc.dg/pr100509.c: New testcase. - -2021-05-11 Robin Dapp - - * gcc.target/s390/risbg-ll-3.c: Change match pattern. - -2021-05-11 Patrick Palka - - PR c++/51577 - * g++.dg/lookup/operator-3.C: New test. - -2021-05-11 Patrick Palka - - PR c++/100138 - * g++.dg/cpp2a/concepts-ctad4.C: New test. - -2021-05-10 Eric Botcazou - - * gnat.dg/specs/opt5.ads: New test. - * gnat.dg/specs/opt5_pkg.ads: New helper. - -2021-05-10 Martin Sebor - - PR middle-end/100425 - PR middle-end/100510 - * c-c++-common/Walloca-larger-than.C: New test. - * gcc.dg/Walloca-larger-than-4.c: New test. - * gcc.dg/Wvla-larger-than-5.c: New test. - * gcc.dg/pr79972.c: Remove unexpected warning directive. - -2021-05-10 Pat Haugen - - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Adjust counts. - * gcc.target/powerpc/vec-rlmi-rlnm.c: Likewise. - -2021-05-10 Christophe Lyon - - * gcc.target/arm/simd/mve-vmul-scalar-1.c: New. - -2021-05-10 Christophe Lyon - - * gcc.target/arm/simd/mve-vsub-scalar-1.c: New test. - -2021-05-10 H.J. Lu - - PR tree-optimization/42587 - * gcc.dg/optimize-bswapsi-6.c: New test. - -2021-05-10 Richard Biener - - PR testsuite/100452 - * g++.dg/vect/slp-pr99971.cc: Align data. - -2021-05-10 Richard Biener - - PR tree-optimization/100492 - * gcc.dg/torture/pr100492.c: New testcase. - -2021-05-10 Richard Biener - - PR middle-end/100464 - PR c++/100468 - * gcc.dg/pr100464.c: New testcase. - * g++.dg/tree-ssa/array-temp1.C: Adjust. - -2021-05-10 Richard Biener - - PR tree-optimization/100434 - * gcc.dg/tree-ssa/ssa-dse-43.c: New testcase. - -2021-05-10 Alex Coplan - - PR target/99960 - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: - Update now that we're (correctly) using full 128-bit vector - loads/stores. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_z_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: - Likewise. - -2021-05-08 Paul Thomas - - PR fortran/46991 - * gfortran.dg/class_dummy_7.f90: Correct PR number. - -2021-05-08 Eric Botcazou - - * gcc.dg/sso-9.c: Delete. - -2021-05-07 Eric Botcazou - - * gnat.dg/debug18.adb: New test. - -2021-05-07 Eric Botcazou - - * gcc.dg/sso-12.c: New test. - -2021-05-07 Jason Merrill - - * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: - Adjust diagnostic. - -2021-05-07 Christophe Lyon - - PR tree-optimization/79333 - * gcc.dg/tree-ssa/ssa-fre-94.c: Require c99_runtime. - -2021-05-07 Jakub Jelinek - - PR c/100450 - * c-c++-common/gomp/pr100450.c: New test. - -2021-05-07 Uroš Bizjak - - PR target/100445 - * gcc.target/i386/pr100445-1.c: New test. - -2021-05-07 Jakub Jelinek - - PR target/100445 - * gcc.target/i386/pr100445.c: New test. - -2021-05-06 Joseph Myers - - PR c++/83873 - PR preprocessor/97604 - * g++.dg/cpp1y/digit-sep-neg-2.C, - g++.dg/cpp1y/digit-sep-pp-number.C: New tests. - * g++.dg/cpp1y/digit-sep-line-neg.C, g++.dg/cpp1y/digit-sep-neg.C: - Adjust expected messages. - -2021-05-06 Martin Jambor - - * gcc.dg/ipa/ipa-sra-1.c (main): Revert change done by - 05193687dde, make the argv again pointer to an array. - -2021-05-06 Eric Botcazou - - * gnat.dg/opt93.adb: Compile only for LP64 targets. - -2021-05-06 Robin Dapp - - * lib/target-supports.exp: Add s390 checks for vect conversions. - -2021-05-06 Robin Dapp - - * gcc.dg/vect/pr56541.c: Add vect_floatint_cvt. - -2021-05-06 Paul Thomas - - PR fortran/46991 - PR fortran/99819 - * gfortran.dg/class_dummy_6.f90: New test. - * gfortran.dg/class_dummy_7.f90: New test. - -2021-05-06 Christophe Lyon - - PR testsuite/100355 - * gcc.c-torture/execute/ieee/cdivchkld.x: New. - -2021-05-06 Marius Hillenbrand - - * gcc.target/s390/zvector/imm-range-error-1.c: Fix test for - __builtin_s390_vpdi. - * gcc.target/s390/zvector/vec-permi.c: New test for builtin - vec_permi. - -2021-05-06 Jakub Jelinek - - PR tree-optimization/94589 - * gcc.dg/pr94589-1.c: New test. - * gcc.dg/pr94589-2.c: New test. - * gcc.dg/pr94589-3.c: New test. - * gcc.dg/pr94589-4.c: New test. - * g++.dg/opt/pr94589-1.C: New test. - * g++.dg/opt/pr94589-2.C: New test. - * g++.dg/opt/pr94589-3.C: New test. - * g++.dg/opt/pr94589-4.C: New test. - -2021-05-06 Richard Biener - - PR ipa/100373 - * gcc.dg/pr100373.c: New testcase. - -2021-05-05 Eric Botcazou - - * gcc.c-torture/execute/20210505-1.c: New test. - -2021-05-05 Ivan Sorokin - - PR target/91400 - * gcc.target/i386/pr91400-1.c: New test. - * gcc.target/i386/pr91400-2.c: Likewise. - -2021-05-05 Martin Sebor - - * gcc.dg/tree-ssa/builtin-sprintf-warn-26.c: New test. - -2021-05-05 Harald Anlauf - - PR fortran/100274 - * gfortran.dg/argument_checking_25.f90: New test. - -2021-05-05 Uroš Bizjak - - PR target/98218 - * gcc.target/i386/pr98218-1.c: New test. - * gcc.target/i386/pr98218-1a.c: Ditto. - * gcc.target/i386/pr98218-2.c: Ditto. - * gcc.target/i386/pr98218-2a.c: Ditto. - * gcc.target/i386/pr98218-3.c: Ditto. - * gcc.target/i386/pr98218-3a.c: Ditto. - * gcc.dg/vect/vect-bool-cmp.c (dg-final): - Scan vect tree dump for "LOOP VECTORIZED", not VECTORIZED. - -2021-05-05 Eric Botcazou - - * gnat.dg/debug17.adb: Minor tweak. - -2021-05-05 Eric Botcazou - - * gnat.dg/debug8.adb: Minor tweak. - * gnat.dg/debug11.adb: Likewise. - * gnat.dg/debug16.adb: Likewise. - * gnat.dg/debug17.adb: New test. - * gnat.dg/specs/debug1.ads: Minor tweak. - -2021-05-05 Robin Dapp - - * gcc.dg/vect/slp-21.c: Add s390. - -2021-05-05 Tobias Burnus - - PR testsuite/100422 - * g++.dg/gomp/clause-3.C: Use 'reduction(&:..)' instead of '...(&&:..)'. - -2021-05-05 Richard Biener - - PR tree-optimization/79333 - * gcc.dg/tree-ssa/ssa-fre-94.c: New testcase. - * gcc.dg/graphite/fuse-1.c: Adjust. - * gcc.dg/pr43864-4.c: Likewise. - -2021-05-05 Richard Biener - - PR middle-end/100394 - * g++.dg/torture/pr100382.C: New testcase. - -2021-05-04 Martin Sebor - - PR middle-end/100307 - * g++.dg/warn/Wplacement-new-size-9.C: New test. - * gcc.dg/tree-ssa/builtin-sprintf-warn-26.c: New test. - -2021-05-04 Martin Sebor - - * gcc.dg/Wvla-parameter-3.c: Use unique strings in directive names. - -2021-05-04 Martin Sebor - - * gcc.dg/Wvla-parameter-2.c: Use unique strings in directive names. - -2021-05-04 Robin Dapp - - * gcc.target/s390/oscbreak-1.c: Compile with -O1 - -fschedule-insns - -2021-05-04 Richard Biener - - PR tree-optimization/100414 - * gcc.dg/pr100414.c: New testcase. - -2021-05-04 Tobias Burnus - - * gcc.dg/gomp/clause-1.c: Use 'reduction(&:..)' instead of '...(&&:..)'. - -2021-05-04 Eric Botcazou - - * gnat.dg/opt94.adb: New file. - * gnat.dg/opt94_pkg.adb: New file. - * gnat.dg/opt94_pkg.ads: New file. - -2021-05-04 Richard Biener - - * gcc.dg/tree-ssa/ssa-dse-26.c: Skip on !lp64 targets, - simplify dump scanning down to one case. - -2021-05-04 Richard Biener - - PR tree-optimization/100329 - * gcc.dg/torture/pr100329.c: New testcase. - -2021-05-04 Richard Biener - - PR tree-optimization/100398 - * gcc.dg/torture/pr100398.c: New testcase. - -2021-05-03 Christophe Lyon - - * gcc.target/aarch64/advsimd-intrinsics/vmla_float_not_fused.c: - Fix dg directives order. - * gcc.target/aarch64/advsimd-intrinsics/vmls_float_not_fused.c: - Likewise. - -2021-05-03 Jeff Law - - * gcc.dg/tree-ssa/ssa-dse-26.c: Fix expected output for nds32le - and m32r. - -2021-05-03 Patrick Palka - - PR c++/100362 - * g++.dg/cpp1y/lambda-generic-100362.C: New test. - -2021-05-03 Patrick Palka - - PR c++/68942 - PR c++/100344 - * g++.dg/template/call8.C: New test. - * g++.dg/template/koenig12a.C: New test. - -2021-05-03 Jeff Law - - * gcc.dg/tree-ssa/ssa-dse-26.c: Fix expected output for bfin and lm32. - -2021-05-03 Marek Polacek - - PR c++/100055 - * g++.dg/concepts/diagnostic18.C: New test. - -2021-05-03 Marek Polacek - - DR 1312 - * g++.dg/cpp0x/constexpr-cast2.C: Remove XFAILs. - -2021-05-03 Jeff Law - - * gcc.dg/tree-ssa/ssa-dse-26.c: Fix xstormy selector. - -2021-05-03 Jeff Law - - * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for rx too. - -2021-05-03 Jeff Law - - * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for or1k too. - -2021-05-03 Jeff Law - - * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for - cr16 and xstormy16 targets. - -2021-05-03 Richard Biener - - * gcc.dg/tree-ssa/ssa-dse-42.c: New testcase. - * gcc.dg/pr81192.c: Disable DSE. - -2021-05-03 Richard Biener - - * gcc.dg/tree-ssa/ssa-dse-41.c: New testcase. - -2021-05-03 Ilya Leoshkevich - - PR target/100217 - * gcc.target/s390/vector/long-double-asm-in-out-hard-fp-reg.c: New test. - * gcc.target/s390/vector/long-double-asm-inout-hard-fp-reg.c: New test. - -2021-05-02 David Edelsohn - - * g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C: Expect [BS] - mapping class on AIX. - * gcc.c-torture/compile/pr61159.c: XFAIL on AIX. - * gcc.c-torture/execute/alias-2.c: Same. - * gcc.dg/alias-7.c: Same. - -2021-04-30 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vmla_float_not_fused.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmls_float_not_fused.c: - New test. - -2021-04-30 Richard Biener - - PR c++/98032 - * g++.dg/pr98032.C: New testcase. - -2021-04-30 Richard Biener - - PR tree-optimization/96513 - * gcc.dg/torture/pr96513.c: New testcase. - -2021-04-30 Uroš Bizjak - - PR target/98060 - * gcc.target/i386/pr98060.c: New test. - -2021-04-30 Roman Zhuykov - - PR rtl-optimization/100225 - PR rtl-optimization/84878 - * gcc.dg/pr100225.c: New test. - -2021-04-29 Joseph Myers - - PR preprocessor/82359 - * g++.dg/cpp1y/digit-sep-line.C, - g++.dg/cpp1y/digit-sep-line-neg.C: New tests. - -2021-04-29 Jason Merrill - - * g++.dg/lookup/using-decl1.C: New test. - -2021-04-29 Jason Merrill - - PR c++/97974 - * g++.old-deja/g++.law/union4.C: Add expected diagnostic. - -2021-04-29 Patrick Palka - - PR c++/68942 - * g++.dg/template/koenig12.C: New test. - -2021-04-29 Marek Polacek - - PR c++/94102 - * g++.dg/cpp1z/class-deduction87.C: New test. - -2021-04-29 Richard Sandiford - - PR rtl-optimization/100303 - * g++.dg/torture/pr100303.C: New file. - -2021-04-29 H.J. Lu - - PR middle-end/90773 - * g++.dg/pr90773-1.h: New test. - * g++.dg/pr90773-1a.C: Likewise. - * g++.dg/pr90773-1b.C: Likewise. - * g++.dg/pr90773-1c.C: Likewise. - * g++.dg/pr90773-1d.C: Likewise. - * gcc.target/i386/pr90773-1.c: Likewise. - * gcc.target/i386/pr90773-2.c: Likewise. - * gcc.target/i386/pr90773-3.c: Likewise. - * gcc.target/i386/pr90773-4.c: Likewise. - * gcc.target/i386/pr90773-5.c: Likewise. - * gcc.target/i386/pr90773-6.c: Likewise. - * gcc.target/i386/pr90773-7.c: Likewise. - * gcc.target/i386/pr90773-8.c: Likewise. - * gcc.target/i386/pr90773-9.c: Likewise. - * gcc.target/i386/pr90773-10.c: Likewise. - * gcc.target/i386/pr90773-11.c: Likewise. - * gcc.target/i386/pr90773-12.c: Likewise. - * gcc.target/i386/pr90773-13.c: Likewise. - * gcc.target/i386/pr90773-14.c: Likewise. - -2021-04-29 Richard Biener - - PR tree-optimization/100253 - * g++.dg/pr100253.C: New testcase. - -2021-04-29 Jakub Jelinek - - PR target/100305 - * gcc.c-torture/compile/pr100305.c: Remove dg-options. Add PR line. - -2021-04-29 Jakub Jelinek - - PR target/100302 - * gcc.target/aarch64/sve/pr100302.c: New test. - -2021-04-29 Jakub Jelinek - - PR c++/100319 - * c-c++-common/gomp/task-detach-3.c: New test. - -2021-04-29 Richard Biener - - PR tree-optimization/99912 - * gcc.dg/pr95580.c: Disable DSE. - * gcc.dg/Wrestrict-8.c: Place a use after each memcpy. - * c-c++-common/ubsan/overflow-negate-3.c: Make asms volatile - to prevent them from being removed. - * c-c++-common/ubsan/overflow-sub-4.c: Likewise. - -2021-04-29 Martin Sebor - - PR middle-end/100250 - * gcc.dg/uninit-pr100250.c: New test. - -2021-04-29 Joseph Myers - - * gcc.dg/c11-unproto-1.c, gcc.dg/c11-unproto-2.c, - gcc.dg/c2x-unproto-1.c, gcc.dg/c2x-unproto-2.c: New tests. - -2021-04-28 Tobias Burnus - - * gfortran.dg/gomp/map-5.f90: New test. - -2021-04-28 Patrick McGehearty - - * gcc.c-torture/execute/ieee/cdivchkd.c: New test. - * gcc.c-torture/execute/ieee/cdivchkf.c: Likewise. - * gcc.c-torture/execute/ieee/cdivchkld.c: Likewise. - -2021-04-28 Alexandre Oliva - - * gcc.target/i386/pr89676.c: Add -fomit-frame-pointer. - -2021-04-28 Alexandre Oliva - - * gcc.dg/debug/dwarf2/inline5.c: Adjust pattern to avoid - mismatch when asm comments start with "/ ". - -2021-04-28 Richard Sandiford - - PR target/100305 - * gcc.c-torture/compile/pr100305.c: New test. - -2021-04-28 José Rui Faustino de Sousa - - PR fortran/82376 - * gfortran.dg/PR82376.f90: New test. - -2021-04-28 Richard Biener - - PR tree-optimization/100292 - * gcc.dg/pr100292.c: New testcase. - -2021-04-28 Richard Wai - - * gnat.dg/containers2.adb: New test. - -2021-04-28 Eric Botcazou - - * gnat.dg/opt93.ads, gnat.dg/opt93.adb: New test. - -2021-04-27 Jason Merrill - - PR c++/92145 - * g++.dg/cpp0x/depr-copy3.C: New test. - -2021-04-27 Patrick Palka - - PR c++/88580 - * g++.dg/cpp0x/variadic182.C: New test. - -2021-04-27 Richard Sandiford - - PR middle-end/100284 - * gcc.target/aarch64/sve/pr81003.c: New test. - -2021-04-27 Martin Sebor - - PR testsuite/100272 - * g++.dg/ext/flexary13.C: Remove malformed directives. - -2021-04-27 Bernd Edlinger - - PR target/100106 - * gcc.c-torture/compile/pr100106.c: New testcase. - -2021-04-27 Alex Coplan - - PR target/99977 - * gcc.target/arm/pr99977.c: New test. - -2021-04-27 Jakub Jelinek - - PR tree-optimization/100239 - * gcc.dg/pr100239.c: New test. - -2021-04-27 Jakub Jelinek - - PR rtl-optimization/100254 - * g++.dg/opt/pr100254.C: New test. - -2021-04-27 Richard Biener - - PR tree-optimization/99912 - * gcc.dg/tree-ssa/ldist-33.c: Disable PRE and LIM. - * gcc.dg/tree-ssa/pr96789.c: Adjust dump file scanned. - * gcc.dg/tree-ssa/ssa-dse-28.c: Likewise. - * gcc.dg/tree-ssa/ssa-dse-29.c: Likewise. - -2021-04-27 Jakub Jelinek - - PR tree-optimization/95527 - * gcc.dg/tree-ssa/pr95527-2.c: New test. - -2021-04-27 Jakub Jelinek - - PR tree-optimization/96696 - * gcc.target/i386/pr96696.c: New test. - -2021-04-27 Richard Sandiford - - PR target/100270 - * gcc.target/aarch64/sve/acle/general-c/pr100270_1.c: New test. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Change - expected error message when subtracting pointers to different - vector types. Expect warnings when mixing them elsewhere. - * gcc.target/aarch64/sve/acle/general/attributes_7.c: Remove - XFAILs. Tweak error messages for some cases. - -2021-04-27 Richard Sandiford - - * gcc.target/aarch64/simd/ssra.c: Use +nosve - * gcc.target/aarch64/simd/usra.c: Likewise. - -2021-04-27 Richard Biener - - PR tree-optimization/100051 - * gcc.dg/tree-ssa/ssa-fre-92.c: New testcase. - -2021-04-27 Richard Biener - - PR testsuite/100272 - * gcc.dg/tree-ssa/predcom-1.c: Re-enable PRE and fix - malformed dg directive. - -2021-04-27 Richard Biener - - PR testsuite/100272 - * g++.dg/diagnostic/ptrtomem1.C: Fix dg directives. - * g++.dg/ipa/pr45572-2.C: Likewise. - * g++.dg/template/spec26.C: Likewise. - * gcc.dg/pr20126.c: Likewise. - * gcc.dg/tree-ssa/pr20739.c: Likewise. - -2021-04-27 Richard Biener - - PR tree-optimization/100278 - * gcc.dg/tree-ssa/pr100278.c: New testcase. - -2021-04-27 Jakub Jelinek - - PR target/99405 - * gcc.target/i386/pr99405.c: New test. - -2021-04-27 Richard Biener - - PR tree-optimization/99776 - * gcc.dg/tree-ssa/ssa-fre-91.c: New testcase. - -2021-04-26 Patrick Palka - - PR c++/100209 - * g++.dg/cpp1y/constexpr-base1.C: New test. - * g++.dg/cpp1y/constexpr-ptrsub1.C: New test. - -2021-04-26 Tobias Burnus - - * gfortran.dg/goacc/classify-serial.f95: - Use [Ww]arning in dg-bogus as FE diagnostic and default - diagnostic differ and the result depends on ENABLE_OFFLOAD. - * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. - * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise. - -2021-04-26 Tobias Burnus - - * gfortran.dg/goacc/classify-serial.f95: - Correct spelling in dg-bogus to match -Wopenacc-parallelism. - * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. - * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise. - -2021-04-26 Richard Biener - - PR tree-optimization/99956 - * gfortran.dg/pr99956.f: New testcase. - -2021-04-26 Christophe Lyon - - * gcc.target/arm/cmse/bitfield-1.c: Remove dg-do. - * gcc.target/arm/cmse/bitfield-2.c: Likewise. - * gcc.target/arm/cmse/bitfield-3.c: Likewise. - * gcc.target/arm/cmse/cmse-16.c: Likewise. - * gcc.target/arm/cmse/struct-1.c: Likewise. - * gcc.target/arm/cmse/cmse.exp: Set dg-do-what-default depending - on arm_cmse_hw. - * lib/target-supports.exp (check_effective_target_arm_cmse_hw): - New. - -2021-04-26 Eric Botcazou - - * gcc.dg/pr84877.c: XFAIL on SPARC as well. - -2021-04-26 Thomas Schwinge - Nathan Sidwell - Tom de Vries - Julian Brown - Kwok Cheung Yeung - - * c-c++-common/goacc/diag-parallelism-1.c: New. - * c-c++-common/goacc/acc-icf.c: Specify '-Wopenacc-parallelism', - and match diagnostics, as appropriate. - * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise. - * c-c++-common/goacc/classify-kernels.c: Likewise. - * c-c++-common/goacc/classify-parallel.c: Likewise. - * c-c++-common/goacc/classify-routine.c: Likewise. - * c-c++-common/goacc/classify-serial.c: Likewise. - * c-c++-common/goacc/kernels-decompose-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-2.c: Likewise. - * c-c++-common/goacc/parallel-dims-1.c: Likewise. - * c-c++-common/goacc/parallel-reduction.c: Likewise. - * c-c++-common/goacc/pr70688.c: Likewise. - * c-c++-common/goacc/routine-1.c: Likewise. - * c-c++-common/goacc/routine-level-of-parallelism-2.c: Likewise. - * c-c++-common/goacc/uninit-dim-clause.c: Likewise. - * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. - * gfortran.dg/goacc/classify-kernels.f95: Likewise. - * gfortran.dg/goacc/classify-parallel.f95: Likewise. - * gfortran.dg/goacc/classify-routine.f95: Likewise. - * gfortran.dg/goacc/classify-serial.f95: Likewise. - * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise. - * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. - * gfortran.dg/goacc/parallel-tree.f95: Likewise. - * gfortran.dg/goacc/routine-4.f90: Likewise. - * gfortran.dg/goacc/routine-level-of-parallelism-1.f90: Likewise. - * gfortran.dg/goacc/routine-module-mod-1.f90: Likewise. - * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise. - * gfortran.dg/goacc/uninit-dim-clause.f95: Likewise. - -2021-04-26 Richard Biener - - PR tree-optimization/99473 - * gcc.dg/tree-ssa/pr99473-1.c: New testcase. - -2021-04-25 liuhongt - - PR target/98911 - * gcc.target/i386/pr98911.c: New test. - * gcc.target/i386/funcspec-8.c: Replace __builtin_ia32_pcmpgtq - with __builtin_ia32_pcmpistrm128 since it has been folded. - -2021-04-24 David Malcolm - - PR analyzer/100244 - * g++.dg/analyzer/pr100244.C: New test. - -2021-04-24 Harald Anlauf - - PR fortran/100154 - * gfortran.dg/pr100154.f90: New test. - -2021-04-24 Harald Anlauf - - PR fortran/100218 - * gfortran.dg/ptr-func-4.f90: New test. - -2021-04-24 Richard Sandiford - - * gcc.dg/guality/example.c: Update aarch64*-*-* xfails. - * gcc.dg/guality/guality.c: Likewise. - * gcc.dg/guality/inline-params.c: Likewise. - * gcc.dg/guality/loop-1.c: Likewise. - * gcc.dg/guality/pr36728-1.c: Likewise. - * gcc.dg/guality/pr36728-2.c: Likewise. - * gcc.dg/guality/pr36728-3.c: Likewise. - * gcc.dg/guality/pr41447-1.c: Likewise. - * gcc.dg/guality/pr54200.c: Likewise. - * gcc.dg/guality/pr54519-1.c: Likewise. - * gcc.dg/guality/pr54519-2.c: Likewise. - * gcc.dg/guality/pr54519-3.c: Likewise. - * gcc.dg/guality/pr54519-4.c: Likewise. - * gcc.dg/guality/pr54519-5.c: Likewise. - * gcc.dg/guality/pr54519-6.c: Likewise. - * gcc.dg/guality/pr54693-2.c: Likewise. - * gcc.dg/guality/pr56154-1.c: Likewise. - * gcc.dg/guality/pr59776.c: Likewise. - * gcc.dg/guality/pr68860-1.c: Likewise. - * gcc.dg/guality/pr68860-2.c: Likewise. - * gcc.dg/guality/pr90074.c: Likewise. - * gcc.dg/guality/pr90716.c: Likewise. - * gcc.dg/guality/sra-1.c: Likewise. - -2021-04-24 Richard Sandiford - - * lib/target-supports-dg.exp (selector_expression): Handle any-opts - and no-opts. - * gcc.dg/guality/pr41353-1.c: Exclude -O0 from xfail. - * gcc.dg/guality/pr59776.c: Likewise. - * gcc.dg/guality/pr54970.c: Likewise -O0 and -Og. - -2021-04-24 Patrick Palka - - PR c++/89565 - PR c++/93383 - PR c++/95291 - PR c++/99200 - PR c++/99683 - * g++.dg/cpp2a/nontype-class39.C: Remove dg-ice directive. - * g++.dg/cpp2a/nontype-class45.C: New test. - * g++.dg/cpp2a/nontype-class46.C: New test. - * g++.dg/cpp2a/nontype-class47.C: New test. - * g++.dg/cpp2a/nontype-class48.C: New test. - -2021-04-24 Patrick Palka - - PR c++/87709 - * g++.dg/cpp1z/class-deduction86.C: New test. - -2021-04-23 Michael Meissner - - PR target/98952 - * gcc.target/powerpc/pr98952.c: New test. - -2021-04-23 Uroš Bizjak - - PR target/100041 - * gcc.target/i386/pr79514.c (dg-error): - Expect error for 64bit targets. - -2021-04-23 Uroš Bizjak - - PR target/100182 - * gcc.target/i386/pr100182.c: New test. - * gcc.target/i386/pr71245-1.c (dg-final): Xfail scan-assembler-not. - * gcc.target/i386/pr71245-2.c (dg-final): Ditto. - -2021-04-23 Patrick Palka - - PR c++/98767 - * g++.dg/concepts/diagnostic17.C: New test. - -2021-04-23 Patrick Palka - - DR 2374 - * g++.dg/cpp1z/direct-enum-init2.C: New test. - -2021-04-23 Richard Biener - - PR tree-optimization/99971 - * g++.dg/vect/slp-pr99971.cc: New testcase. - -2021-04-23 liuhongt - - PR target/100093 - * gcc.target/i386/pr100093.c: New test. - -2021-04-22 Patrick Palka - - PR c++/94508 - * g++.dg/cpp2a/concepts-uneval3.C: New test. - -2021-04-22 Patrick Palka - - PR c++/77435 - * g++.dg/template/partial-specialization9.C: New test. - -2021-04-22 Marek Polacek - - PR c++/100161 - * g++.dg/warn/Wtype-limits6.C: New test. - -2021-04-22 Patrick Palka - - PR c++/84689 - * g++.dg/cpp0x/sfinae67.C: New test. - -2021-04-22 Patrick Palka - - PR c++/16617 - * g++.dg/template/access36.C: New test. - -2021-04-22 Tobias Burnus - - * substr_9.f90: Move to ... - * gfortran.dg/substr_9.f90: ... here. - * substr_10.f90: Move to ... - * gfortran.dg/substr_10.f90: ... here. - -2021-04-22 Martin Liska - - PR testsuite/100159 - PR testsuite/100192 - * g++.dg/template/nontype29.C: Fix typos and missing comments. - * gcc.dg/Warray-bounds-64.c: Likewise. - * gcc.dg/Warray-parameter.c: Likewise. - * gcc.dg/Wstring-compare.c: Likewise. - * gcc.dg/format/gcc_diag-11.c: Likewise. - * gfortran.dg/array_constructor_3.f90: Likewise. - * gfortran.dg/matmul_bounds_9.f90: Likewise. - * gfortran.dg/pr78033.f90: Likewise. - * gfortran.dg/pr96325.f90: Likewise. - -2021-04-22 Uroš Bizjak - - PR target/100119 - * gcc.target/i386/pr100119.c: New test. - -2021-04-22 Christophe Lyon - - PR target/99988 - * gcc.target/aarch64/pr99988.c: Skip if not lp64 target. - -2021-04-22 Tobias Burnus - - * gfortran.dg/set_vm_limit.c (set_vm_limit): Call getrlimit, use - obtained hard limit, and only call setrlimit if new softlimit is lower. - -2021-04-22 Richard Biener - - PR testsuite/100176 - * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c: Add - missing return. - -2021-04-21 David Edelsohn - - * gfortran.dg/bind_c_array_params_2.f90: Look for AIX-specific call - pattern. - -2021-04-21 Marek Polacek - - PR c++/96380 - * g++.dg/cpp0x/enum_base4.C: New test. - * g++.dg/cpp0x/enum_base5.C: New test. - -2021-04-21 Alex Coplan - - PR target/99988 - * gcc.target/aarch64/pr99988.c: New test. - -2021-04-21 Jakub Jelinek - - * g++.dg/cpp1z/constexpr-lambda26.C: Add dg-additional-options - -fchecking. - * g++.dg/cpp1y/auto-fn61.C: Likewise. - * g++.dg/cpp2a/nontype-class39.C: Likewise. - * g++.dg/cpp0x/constexpr-52830.C: Likewise. - * g++.dg/cpp0x/vt-88982.C: Likewise. - * c-c++-common/goacc/kernels-decompose-ice-1.c: Add -fchecking to - dg-additional-options. - * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. - -2021-04-21 H.J. Lu - - * gcc.target/i386/monitor-2.c: New test. - -2021-04-21 Richard Biener - - PR testsuite/100176 - * g++.dg/compat/struct-layout-1_generate.c: Add missing return. - * gcc.dg/compat/struct-layout-1_generate.c: Likewise. - -2021-04-21 Jakub Jelinek - - PR rtl-optimization/100148 - * g++.dg/opt/pr100148.C: New test. - -2021-04-21 Tobias Burnus - - * gfortran.dg/gomp/depobj-1.f90: New test. - * gfortran.dg/gomp/depobj-2.f90: New test. - -2021-04-21 Stefan Schulze Frielinghaus - - * gcc.dg/vect/pr71264.c: Xfail on IBM Z due to V4QImode support. - -2021-04-21 Richard Sandiford - - PR middle-end/100130 - * c-c++-common/attr-retain-10.c: New test. - * c-c++-common/attr-retain-11.c: Likewise. - -2021-04-21 Stefan Schulze Frielinghaus - - * gcc.dg/vect/bb-slp-39.c: Change number of times the pattern - must match for target IBM Z only. - -2021-04-20 Jason Merrill - - PR c++/100109 - * g++.dg/cpp0x/lambda/lambda-variadic14.C: New test. - -2021-04-20 Stefan Schulze Frielinghaus - - * gcc.target/s390/zero-scratch-regs-1.c: Force test to run for - z/Architecture only. - -2021-04-20 Paul Thomas - - PR fortran/100110 - * gfortran.dg/pdt_31.f03: New test. - * gfortran.dg/pdt_26.f03: Reduce 'builtin_malloc' count from 9 - to 8. - -2021-04-19 Marek Polacek - - PR c++/97536 - * g++.dg/concepts/diagnostic16.C: New test. - -2021-04-19 Iain Buclaw - - PR d/98457 - * gdc.dg/pr98457.d: New test. - -2021-04-19 Christophe Lyon - - PR target/100075 - * gcc.target/aarch64/pr100075.c: Add aarch64_little_endian - effective target. - -2021-04-19 Richard Biener - - PR preprocessor/100142 - * gcc.dg/pr100142.c: New testcase. - * g++.dg/diagnostic/pr72803.C: Revert last change. - -2021-04-19 Thomas Schwinge - - * c-c++-common/goacc/if-clause-2.c: '-fopenacc-kernels=[...]' -> - '--param=openacc-kernels=[...]'. - * c-c++-common/goacc/kernels-decompose-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-2.c: Likewise. - * c-c++-common/goacc/kernels-decompose-ice-1.c: Likewise. - * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. - * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise. - * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. - * gfortran.dg/goacc/kernels-tree.f95: Likewise. - -2021-04-19 Eric Botcazou - - * gnat.dg/opt92.adb: New test. - -2021-04-17 Stefan Schulze Frielinghaus - - * c-c++-common/zero-scratch-regs-8.c: Enable on s390*. - * c-c++-common/zero-scratch-regs-9.c: Likewise. - * c-c++-common/zero-scratch-regs-10.c: Likewise. - * c-c++-common/zero-scratch-regs-11.c: Likewise. - * gcc.target/s390/zero-scratch-regs-1.c: New test. - -2021-04-16 José Rui Faustino de Sousa - - PR fortran/100094 - * gfortran.dg/PR100094.f90: New test. - -2021-04-16 Christophe Lyon - - PR target/96770 - * gcc.target/arm/pure-code/pr96770.c: Fix scan-assembler-times - with movt/movw. - -2021-04-16 Jakub Jelinek - - PR target/91710 - * gcc.target/aarch64/pr91710.c: New test. - -2021-04-16 José Rui Faustino de Sousa - - PR fortran/100018 - * gfortran.dg/PR10018.f90: New test. - -2021-04-16 Tamar Christina - - PR target/100048 - * gcc.target/aarch64/sve/pr100048.c: New test. - -2021-04-16 Jakub Jelinek - - PR c++/100111 - * g++.dg/cpp0x/constexpr-100111.C: New test. - -2021-04-16 Marek Polacek - - PR c++/99803 - * g++.dg/cpp2a/typename14.C: Don't expect particular error - messages. - * g++.dg/cpp2a/typename19.C: New test. - -2021-04-16 Robin Dapp - - * gcc.dg/gimplefe-40.c: Moved to... - * gcc.dg/vect/gimplefe-40.c: ...here. - * gcc.dg/gimplefe-41.c: Moved to... - * gcc.dg/vect/gimplefe-41.c: ...here. - -2021-04-16 Harald Anlauf - Paul Thomas - - PR fortran/63797 - * gfortran.dg/pr63797.f90: New test. - -2021-04-16 Stefan Schulze Frielinghaus - - * gcc.dg/tree-ssa/pr83403-1.c: Revert - max-completely-peeled-insns to the default value on IBM Z. - * gcc.dg/tree-ssa/pr83403-2.c: Likewise. - -2021-04-16 Patrick Palka - - PR c++/99700 - * g++.dg/cpp2a/constexpr-init21.C: New test. - -2021-04-16 Jakub Jelinek - - PR target/100075 - * gcc.target/aarch64/pr100075.c: New test. - -2021-04-16 Richard Sandiford - - PR rtl-optimization/99596 - * gcc.target/arm/pr99596.c: New test. - -2021-04-16 Richard Earnshaw - - PR target/100067 - * g++.target/arm/arm.exp (dg_runtest_extra_prunes): Update prune - template. - * gcc.target/arm/arm.exp (dg_runtest_extra_prunes): Likewise. - * g++.target/arm/mve.exp (dg_runtest_extra_prunes): Likewise. Fix - missing quotes around switch names. - * gcc.target/arm/mve/mve.exp: (dg_runtest_extra_prunes): Likewise. - -2021-04-16 Jakub Jelinek - - PR target/99767 - * gcc.target/aarch64/pr99767.c: New test. - -2021-04-16 Jakub Jelinek - - PR c++/99850 - * g++.dg/cpp23/lambda-specifiers2.C: New test. - -2021-04-16 Jakub Jelinek - - PR c++/99833 - * g++.dg/cpp1z/pr99833.C: New test. - * g++.dg/cpp2a/pr99833.C: New test. - -2021-04-16 Stefan Schulze Frielinghaus - - * gcc.dg/unroll-and-jam.c: Revert max-completely-peel-times to - the default value on IBM Z. - -2021-04-16 Jason Merrill - - PR c++/100079 - * g++.dg/abi/mangle71.C: Fix expected mangling. - * g++.dg/abi/mangle77.C: New test. - * g++.dg/cpp2a/nontype-class-union1.C: Likewise. - * g++.dg/cpp2a/nontype-class-equiv1.C: Removed. - * g++.dg/cpp2a/nontype-class44.C: New test. - -2021-04-15 Martin Sebor - - PR c/99420 - PR c/99972 - * gcc.dg/Warray-parameter-9.c: New test. - * gcc.dg/Wnonnull-6.c: New test. - * gcc.dg/Wreturn-type3.c: New test. - * gcc.dg/Wunused-result.c: New test. - * gcc.dg/attr-noreturn.c: New test. - * gcc.dg/attr-returns-nonnull.c: New test. - -2021-04-15 Hans-Peter Nilsson - - PR middle-end/84877 - * gcc.dg/pr84877.c: Xfail for cris-*-*. - -2021-04-15 Jason Merrill - - PR c++/80456 - * g++.dg/cpp0x/constexpr-volatile3.C: New test. - -2021-04-15 Martin Sebor - - * gcc.dg/uninit-pr89230-1.c: New test. - * gcc.dg/uninit-pr89230-2.c: Same. - -2021-04-15 Jason Merrill - - PR c++/100101 - * g++.dg/cpp0x/noexcept67.C: New test. - -2021-04-15 Jason Merrill - - PR c++/100091 - * g++.dg/cpp2a/lambda-uneval15.C: New test. - -2021-04-15 Richard Sandiford - - * g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Add - -mtune=generic to the SVE flags. - * g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise. - * gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise. - * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise. - -2021-04-15 Richard Sandiford - - * lib/gcc-defs.exp (aarch64-arch-dg-options): New procedure. - (aarch64-with-arch-dg-options): Likewise. - * g++.target/aarch64/sve/aarch64-sve.exp: Run the tests inside - aarch64-with-arch-dg-options. Move the default architecture - flags to the final dg-runtest argument. - * gcc.target/aarch64/sve/aarch64-sve.exp: Likewise. Dispense with - DEFAULT_CFLAGS. - * gcc.target/aarch64/sve2/aarch64-sve2.exp: Likewise. - -2021-04-15 Jakub Jelinek - - PR testsuite/100073 - * gcc.dg/pr86058.c: Enable also on i?86-*-*. - -2021-04-15 Richard Sandiford - - PR c++/98852 - * g++.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: New file. - * g++.target/aarch64/advsimd-intrinsics/pr98852.C: New file. - -2021-04-15 Richard Sandiford - - PR c/98852 - * gcc.target/aarch64/advsimd-intrinsics/pr98852.c: New test. - -2021-04-15 Jakub Jelinek - - PR target/100056 - * gcc.target/aarch64/pr100056.c: New test. - -2021-04-15 Stefan Schulze Frielinghaus - - * gcc.dg/pr93210.c: Adapt regex in order to also support a - RESULT_DECL as an operand for a RETURN_EXPR. - -2021-04-14 Richard Sandiford - - * gcc.target/aarch64/sve/pr99929_1.c: New file. - * gcc.target/aarch64/sve/pr99929_2.c: Likewise. - -2021-04-14 Jason Merrill - - PR c++/100078 - * g++.dg/template/dependent-tmpl2.C: New test. - -2021-04-14 Jason Merrill - - PR c++/93314 - * g++.dg/parse/uneval1.C: New test. - -2021-04-14 Vladimir N. Makarov - - PR rtl-optimization/100066 - * gcc.target/i386/pr100066.c: New. - -2021-04-14 Martin Sebor - - * gcc.dg/pr86058.c: Limit to just x86_64. - -2021-04-14 Richard Sandiford - - PR target/99246 - * gcc.target/aarch64/sve/acle/general/pr99246.c: New test. - -2021-04-14 Andreas Krebbel - - * gcc.target/s390/zvector/imm-range-error-1.c: New test. - * gcc.target/s390/zvector/vec_msum_u128-1.c: New test. - -2021-04-14 Patrick Palka - - PR c++/83476 - PR c++/99885 - * g++.dg/cpp1z/class-deduction85.C: New test. - * g++.dg/template/ref11.C: New test. - -2021-04-14 Jason Merrill - - PR c++/99478 - * g++.dg/cpp2a/lambda-uneval14.C: New test. - -2021-04-14 Jason Merrill - - PR c++/90674 - * g++.dg/debug/defaulted1.C: New test. - -2021-04-14 Jason Merrill - - PR c++/88742 - * g++.dg/debug/cleanup1.C: New test. - * c-c++-common/Wimplicit-fallthrough-6.c: Adjust diagnostic line. - * c-c++-common/Wimplicit-fallthrough-7.c: Likewise. - * g++.dg/cpp2a/constexpr-dtor3.C: Likewise. - * g++.dg/ext/constexpr-attr-cleanup1.C: Likewise. - * g++.dg/tm/inherit2.C: Likewise. - * g++.dg/tm/unsafe1.C: Likewise. - * g++.dg/warn/Wimplicit-fallthrough-1.C: Likewise. - * g++.dg/gcov/gcov-2.C: Adjust coverage counts. - -2021-04-13 Martin Sebor - - PR tree-optimization/82800 - * g++.dg/warn/uninit-pr82800.C: New test. - -2021-04-13 Martin Sebor - - PR middle-end/86058 - * gcc.dg/pr86058.c: New test. - -2021-04-13 Patrick Palka - - PR c++/99008 - * g++.old-deja/g++.ns/crash3.C: Adjust expected diagnostic. - * g++.old-deja/g++.ns/template7.C: Likewise. - * g++.old-deja/g++.pt/crash8.C: Likewise. - -2021-04-13 Jason Merrill - - PR c++/100032 - * g++.dg/cpp0x/alias-decl-equiv1.C: New test. - -2021-04-13 Jakub Jelinek - - PR c++/97121 - * g++.dg/cpp2a/spaceship-err6.C: New test. - -2021-04-13 Jason Merrill - - PR c++/100054 - * g++.dg/cpp1y/lambda-generic-local-class1.C: New test. - -2021-04-13 Patrick Palka - - PR c++/99008 - * g++.dg/parse/template2.C: Adjust expected diagnostic. - * g++.dg/template/error8.C: Likewise. - * g++.dg/cpp1z/class-deduction84.C: New test. - -2021-04-13 Richard Biener - - PR tree-optimization/100053 - * gcc.dg/torture/pr100053.c: New testcase. - * gcc.dg/tree-ssa/ssa-fre-93.c: Likewise. - -2021-04-13 Jason Merrill - - PR c++/91933 - * g++.dg/cpp0x/constexpr-base7.C: New test. - -2021-04-13 Nathan Sidwell - - PR preprocessor/99446 - * g++.dg/diagnostic/pr72803.C: Adjust expected column. - -2021-04-13 Jakub Jelinek - - PR target/100028 - * gcc.target/aarch64/pr100028.c: New test. - -2021-04-13 Patrick Palka - - PR c++/97134 - * g++.dg/cpp2a/nontype-class43.C: New test. - -2021-04-13 Patrick Palka - - PR c++/99961 - PR c++/99994 - * g++.dg/cpp2a/concepts-uneval1.C: New test. - * g++.dg/cpp2a/concepts-uneval2.C: New test. - -2021-04-13 Hans-Peter Nilsson - - PR analyzer/99212 - * gcc.dg/analyzer/data-model-1.c (test_45): Inverse xfail at - line 971 for cris-*-*. - -2021-04-13 David Malcolm - - PR analyzer/98599 - * gcc.dg/analyzer/pr98599-a.c: New test. - * gcc.dg/analyzer/pr98599-b.c: New test. - -2021-04-12 Jakub Jelinek - - PR rtl-optimization/99905 - * gcc.target/i386/pr99905.c: New test. - -2021-04-12 Jakub Jelinek - - PR debug/99830 - * gcc.dg/pr99830.c: New test. - -2021-04-12 Jason Merrill - - PR c++/93085 - * g++.dg/template/dependent-tmpl1.C: New test. - -2021-04-12 Martin Liska - - PR sanitizer/99877 - * g++.dg/asan/pr99877.C: New test. - -2021-04-12 Cui,Lili - - * gcc.target/i386/funcspec-56.inc: Handle new march. - * g++.target/i386/mv16.C: Handle new march - -2021-04-11 Hafiz Abid Qadeer - - PR middle-end/98088 - * c-c++-common/goacc/collapse-2.c: New. - -2021-04-11 Jason Merrill - - PR c++/97974 - * g++.dg/lookup/pr84962.C: Adjust diagnostic. - * g++.dg/other/anon-union5.C: New test. - -2021-04-10 Jason Merrill - - PR c++/98800 - * g++.dg/gomp/this-1.C: Adjust diagnostic. - * g++.dg/cpp0x/constexpr-this1.C: New test. - -2021-04-10 David Malcolm - - PR analyzer/100011 - * gcc.dg/analyzer/pr100011.c: New test. - -2021-04-10 Jakub Jelinek - - PR c/99990 - * gcc.dg/pr99990.c: New test. - -2021-04-10 H.J. Lu - - PR target/99744 - * gcc.target/i386/pr99744-2.c: New test. - -2021-04-10 Jakub Jelinek - - PR lto/99849 - * gcc.dg/lto/pr99849_0.c: New test. - -2021-04-10 Jakub Jelinek - - PR rtl-optimization/98601 - * gcc.dg/torture/pr98601.c: New test. - -2021-04-10 Jason Merrill - - PR c++/99180 - PR c++/93295 - PR c++/93867 - PR c++/95486 - * g++.dg/cpp2a/class-deduction-alias5.C: New test. - * g++.dg/cpp2a/class-deduction-alias6.C: New test. - * g++.dg/cpp2a/class-deduction-alias7.C: New test. - * g++.dg/cpp2a/class-deduction-alias8.C: New test. - -2021-04-10 Jason Merrill - - PR c++/100006 - * g++.dg/cpp0x/lambda/lambda-variadic13.C: New test. - -2021-04-09 Martin Sebor - - PR middle-end/55288 - * g++.dg/warn/uninit-pr55288.C: New test. - -2021-04-09 Patrick Palka - - PR c++/90215 - * g++.dg/cpp1z/fold-lambda4.C: New test. - -2021-04-09 Marek Polacek - - PR c++/99806 - * g++.dg/concepts/abbrev10.C: New test. - * g++.dg/concepts/abbrev11.C: New test. - -2021-04-09 Richard Sandiford - - * gcc.target/aarch64/pr70398.c: Require a target that can link - static executables. - -2021-04-09 Richard Sandiford - - * g++.target/aarch64/bfloat_cpp_typecheck.C: Remove XFAILs. - -2021-04-09 Richard Sandiford - - * gfortran.dg/vect/vect-8.f90: Expect 24 loops to be vectorized - with SVE. - -2021-04-09 Richard Sandiford - - * g++.dg/tree-ssa/pr83518.C: XFAIL for vect_variable_length. - * gcc.dg/pr96573.c: Likewise. - * gcc.dg/tree-ssa/pr84512.c: Likewise. - * gcc.dg/vect/bb-slp-43.c: Likewise. - * gcc.dg/vect/slp-reduc-11.c: Likewise. - -2021-04-09 Richard Sandiford - - * gcc.dg/vect/pr65947-7.c: Add a noipa attribute. Expect the - loop to vectorized if vect_fold_extract_last. - -2021-04-09 Richard Sandiford - - * gcc.target/aarch64/mem-shift-canonical.c: Use an asm instead - of relying on vectorisation. - -2021-04-09 Richard Sandiford - - PR target/87763 - * gcc.target/aarch64/insv_1.c: XFAIL two scan tests. - -2021-04-09 Richard Sandiford - - PR libfortran/78314 - * gfortran.dg/ieee/ieee_6.f90: Skip for arm* and aarch64*. - * gfortran.dg/ieee/ieee_8.f90: Likewise. - -2021-04-09 Tobias Burnus - - PR fortran/99817 - * gfortran.dg/coarray/dummy_2.f90: New test. - -2021-04-08 David Edelsohn - - * g++.dg/gomp/tls-5.C: Expect tbss failure on AIX. - -2021-04-08 Patrick Palka - - PR c++/99874 - * g++.dg/cpp2a/concepts-lambda16.C: New test. - * g++.dg/cpp2a/concepts-lambda17.C: New test. - -2021-04-08 Patrick Palka - - PR c++/97679 - * g++.dg/cpp2a/concepts-ctad3.C: New test. - -2021-04-08 Richard Sandiford - - * lib/scanasm.exp (scan-lto-assembler): Update expected name - of dump file. - -2021-04-08 Richard Sandiford - - * lib/target-supports.exp - (check_effective_target_stdint_types_mbig_endian): New proc. - * gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c: Require - stdint_types_mbig_endian. - * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: Likewise. - -2021-04-08 Jason Merrill - - PR c++/91849 - * g++.dg/conversion/pr66211.C: Adjust diagnostic. - * g++.dg/conversion/ref7.C: New test. - -2021-04-08 Jakub Jelinek - - PR c++/99859 - * g++.dg/cpp1y/constexpr-99859-1.C: New test. - * g++.dg/cpp1y/constexpr-99859-2.C: New test. - * g++.dg/cpp2a/constexpr-new18.C: New test. - * g++.dg/cpp2a/constexpr-new19.C: New test. - -2021-04-08 Richard Sandiford - - * gcc.dg/vect/pr99102.c: Add -fdump-tree-vect-details. - -2021-04-08 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/func_redef_1.c: Remove - "was here" from error message. - * gcc.target/aarch64/sve/acle/general-c/func_redef_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/func_redef_3.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/func_redef_6.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_3.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_4.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_5.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_6.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_8.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_9.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_10.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/type_redef_13.c: Likewise. - -2021-04-08 Richard Sandiford - - * gcc.target/aarch64/asimd-mull-elem.c: Add +nosve. - * gcc.target/aarch64/pr98772.c: Likewise. - * gcc.target/aarch64/simd/vect_su_add_sub.c: Likewise. - -2021-04-08 Richard Sandiford - - * gcc.target/aarch64/sve/mul_2.c: Adjust negative constants to avoid - conversion to shifts and adds. - -2021-04-08 David Malcolm - - PR analyzer/99042 - PR analyzer/99774 - * gcc.dg/analyzer/pr99042.c: New test. - * gcc.dg/analyzer/pr99774-1.c: New test. - * gcc.dg/analyzer/pr99774-2.c: New test. - -2021-04-08 Iain Buclaw - - * gdc.dg/gdc108.d: Update test. - * gdc.dg/gdc142.d: Likewise. - * gdc.dg/pr90136a.d: Likewise. - * gdc.dg/pr90136b.d: Likewise. - * gdc.dg/pr90136c.d: Likewise. - * gdc.dg/pr95173.d: Likewise. - * gdc.dg/attr_allocsize1.d: New test. - * gdc.dg/attr_allocsize2.d: New test. - * gdc.dg/attr_alwaysinline1.d: New test. - * gdc.dg/attr_cold1.d: New test. - * gdc.dg/attr_exclusions1.d: New test. - * gdc.dg/attr_exclusions2.d: New test. - * gdc.dg/attr_flatten1.d: New test. - * gdc.dg/attr_module.d: New test. - * gdc.dg/attr_noclone1.d: New test. - * gdc.dg/attr_noicf1.d: New test. - * gdc.dg/attr_noinline1.d: New test. - * gdc.dg/attr_noipa1.d: New test. - * gdc.dg/attr_noplt1.d: New test. - * gdc.dg/attr_optimize1.d: New test. - * gdc.dg/attr_optimize2.d: New test. - * gdc.dg/attr_optimize3.d: New test. - * gdc.dg/attr_optimize4.d: New test. - * gdc.dg/attr_restrict1.d: New test. - * gdc.dg/attr_section1.d: New test. - * gdc.dg/attr_symver1.d: New test. - * gdc.dg/attr_target1.d: New test. - * gdc.dg/attr_targetclones1.d: New test. - * gdc.dg/attr_used1.d: New test. - * gdc.dg/attr_used2.d: New test. - * gdc.dg/attr_weak1.d: New test. - * gdc.dg/imports/attributes.d: New test. - -2021-04-08 Jason Merrill - - PR c++/94529 - * g++.dg/template/mem-spec2.C: New test. - -2021-04-08 Marek Polacek - - PR c++/99844 - * g++.dg/cpp2a/explicit16.C: Use c++20. - * g++.dg/cpp0x/noexcept66.C: New test. - * g++.dg/cpp2a/explicit17.C: New test. - -2021-04-08 Alex Coplan - - PR target/99647 - * gcc.c-torture/compile/pr99647.c: New test. - -2021-04-07 Jason Merrill - - PR c++/41723 - * g++.dg/template/friend71.C: New test. - -2021-04-07 Jason Merrill - - PR c++/52625 - * g++.dg/template/friend70.C: New test. - -2021-04-07 Jason Merrill - - PR c++/92918 - * g++.dg/lookup/using66.C: New test. - -2021-04-07 Richard Sandiford - - * lib/gcc.exp (gcc_target_compile): Add -dumpbase "" - when building an executable with testglue. - -2021-04-07 Richard Sandiford - - * gcc.target/aarch64/sve/pr88834.c: Expect the vectorizer to use SLP. - * gcc.target/aarch64/sve/pr88834_ld3.c: New test. - -2021-04-07 Richard Sandiford - - * gcc.dg/vect/slp-21.c: Only expect 2 of the loops to use SLP - if IFN_STORE_LANES is available. - * gcc.dg/vect/vect-complex-5.c: Expect no loops to use SLP if - IFN_STORE_LANES is available. - * gcc.target/aarch64/pr99873_1.c: New test. - * gcc.target/aarch64/pr99873_2.c: Likewise. - * gcc.target/aarch64/pr99873_3.c: Likewise. - * gcc.target/aarch64/sve/pr99873_1.c: Likewise. - * gcc.target/aarch64/sve/pr99873_2.c: Likewise. - * gcc.target/aarch64/sve/pr99873_3.c: Likewise. - -2021-04-07 Richard Biener - - PR tree-optimization/99954 - * gcc.dg/torture/pr99954.c: New testcase. - -2021-04-07 Richard Biener - - PR testsuite/99955 - * gcc.c-torture/execute/pr92618.c: Move may_alias attributes - last. - -2021-04-07 Richard Biener - - PR tree-optimization/99947 - * gcc.dg/torture/pr99947.c: New testcase. - -2021-04-07 Bin Cheng - - PR tree-optimization/98736 - * gcc.c-torture/execute/pr98736.c: New test. - -2021-04-07 Marek Polacek - - PR c++/52202 - * g++.dg/cpp0x/rv-life.C: New test. - -2021-04-06 Jason Merrill - - PR c++/96673 - * g++.dg/cpp1y/nsdmi-aggr13.C: New test. - -2021-04-06 Jason Merrill - - PR c++/99901 - * g++.dg/cpp1z/inline-var9.C: New test. - -2021-04-06 Vladimir N. Makarov - - PR target/99781 - * g++.target/aarch64/sve/pr99781.C: New. - -2021-04-06 H.J. Lu - - * gcc.target/i386/memcpy-strategy-9.c: New test. - * gcc.target/i386/memcpy-strategy-10.c: Likewise. - * gcc.target/i386/memcpy-strategy-11.c: Likewise. - * gcc.target/i386/memset-strategy-7.c: Likewise. - * gcc.target/i386/memset-strategy-8.c: Likewise. - * gcc.target/i386/memset-strategy-9.c: Likewise. - -2021-04-06 Richard Biener - - PR tree-optimization/99880 - * gcc.dg/torture/pr99880.c: New testcase. - -2021-04-06 Nathan Sidwell - - * g++.dg/modules/builtin-3_a.C: Remove dump scans. - * g++.dg/modules/builtin-3_b.C: Remove dump scans. - -2021-04-06 Jakub Jelinek - - PR tree-optimization/96573 - * gcc.dg/pr96573.c: Instead of __builtin_bswap accept also - VEC_PERM_EXPR with bswapping permutation. - -2021-04-06 Richard Biener - - PR tree-optimization/99924 - * gfortran.dg/vect/pr99924.f90: New testcase. - -2021-04-06 Jakub Jelinek - - PR c++/97900 - * g++.dg/ext/vector40.C: Add -Wno-psabi -w to dg-options. - -2021-04-06 Jason Merrill - - PR c++/91241 - * g++.dg/abi/lambda-defarg1.C: New test. - -2021-04-06 Patrick Palka - - PR c++/99899 - * g++.dg/cpp2a/concepts-placeholder7.C: New test. - * g++.dg/cpp2a/concepts-placeholder8.C: New test. - -2021-04-05 Jason Merrill - - PR c++/96311 - * g++.dg/cpp1y/lambda-generic-Wunused.C: New test. - -2021-04-05 Jason Merrill - - * g++.dg/cpp0x/rv-cast6.C: Expect reinterpret_cast error. - * g++.dg/cpp0x/reinterpret_cast2.C: Adjust message. - * g++.old-deja/g++.jason/rvalue3.C: Likewise. - -2021-04-05 Jason Merrill - - PR c++/95317 - * g++.dg/cpp1y/lambda-generic-enum1.C: New test. - -2021-04-05 Jason Merrill - - PR c++/95870 - * g++.dg/cpp0x/lambda/lambda-nsdmi10.C: New test. - -2021-04-05 David Malcolm - - PR analyzer/99906 - * gcc.dg/analyzer/pr99906.c: New test. - -2021-04-05 David Malcolm - - PR analyzer/99886 - * gcc.dg/analyzer/pr99886.c: New test. - -2021-04-05 Jason Merrill - - PR c++/99066 - * g++.dg/cpp0x/extern_template-6.C: New test. - -2021-04-05 Jason Merrill - - PR c++/99201 - * g++.dg/cpp1z/constexpr-if-lambda4.C: New test. - -2021-04-05 Iain Buclaw - - PR d/99914 - * gdc.dg/pr99914.d: New test. - -2021-04-05 Sandra Loosemore - - * gcc.dg/ipa/propmalloc-4.c: Add -fdelete-null-pointer-checks. - * gcc.dg/tree-ssa/evrp11.c: Likewise. - -2021-04-04 Jason Merrill - - PR c++/99643 - * g++.dg/cpp0x/initlist-new5.C: New test. - -2021-04-03 Alexandre Oliva - - * g++.dg/pr94314-3.C: Zero-initialize main loop counter. - -2021-04-03 Alexandre Oliva - - * gcc.dg/ipa/ipa-sra-19.c: Extend -Wno-psabi to ppc-vx7r2. - -2021-04-03 Marek Polacek - - PR c++/91416 - * g++.dg/other/gc7.C: New test. - -2021-04-03 Paul Thomas - - PR fortran/99818 - * gfortran.dg/coarray_48.f90: New test. - -2021-04-03 Jakub Jelinek - - PR tree-optimization/99882 - * gcc.dg/pr99882.c: New test. - -2021-04-03 Jakub Jelinek - - PR rtl-optimization/99863 - * gcc.target/i386/pr99863.c: New test. - -2021-04-03 Jakub Jelinek - - PR testsuite/98125 - * g++.dg/pr93195a.C: Skip on powerpc*-*-* 64-bit. - -2021-04-03 Jason Merrill - - PR c++/91217 - * g++.dg/opt/nrv20.C: New test. - -2021-04-03 Jason Merrill - - PR c++/90664 - * g++.dg/cpp1z/noexcept-type24.C: New test. - -2021-04-03 Jason Merrill - - PR c++/97900 - * g++.dg/ext/vector40.C: New test. - -2021-04-02 Patrick Palka - - PR c++/99869 - * g++.dg/cpp2a/concepts-placeholder6.C: New test. - -2021-04-02 Patrick Palka - - PR c++/99586 - * g++.dg/cpp2a/nontype-class42.C: New test. - -2021-04-02 Jason Merrill - - PR c++/97938 - * g++.dg/cpp2a/lambda-pack-init6.C: New test. - -2021-04-02 Nathan Sidwell - - * g++.dg/modules/pr99283-6_d.H: New. - * g++.dg/modules/pr99283-7-swap.h: New. - * g++.dg/modules/pr99283-7-traits.h: New. - * g++.dg/modules/pr99283-7_a.H: New. - * g++.dg/modules/pr99283-7_b.H: New. - * g++.dg/modules/pr99283-7_c.C: New. - * g++.dg/modules/pr99283-7_d.H: New. - -2021-04-02 Eric Botcazou - - * go.test/test/fixedbugs/issue6036.go: Skip on sparc. - * go.test/test/fixedbugs/issue22200b.go: Likewise. - -2021-04-02 Jakub Jelinek - - PR tree-optimization/99726 - * gcc.target/i386/pr99726.c: Remove -m32 from dg-options. Move - -floop-nest-optimize to dg-additional-options guarded on fgraphite - effective target. - -2021-04-01 Marek Polacek - - PR c++/99831 - * g++.dg/other/gc6.C: New test. - -2021-04-01 Jason Merrill - - PR c++/99583 - * g++.dg/cpp0x/lambda/lambda-variadic12.C: New test. - -2021-04-01 Jason Merrill - - PR c++/98481 - * g++.dg/abi/abi-tag24a.C: New test. - * g++.dg/abi/macro0.C: Adjust expected value. - -2021-04-01 Nathan Sidwell - - PR c++/99283 - * g++.dg/modules/pr99283-6.h: New. - * g++.dg/modules/pr99283-6_a.H: New. - * g++.dg/modules/pr99283-6_b.H: New. - * g++.dg/modules/pr99283-6_c.C: New. - * g++.dg/modules/hdr-init-1_c.C: Adjust scan. - * g++.dg/modules/indirect-3_c.C: Adjust scan. - * g++.dg/modules/indirect-4_c.C: Adjust scan. - * g++.dg/modules/lambda-3_b.C: Adjust scan. - * g++.dg/modules/late-ret-3_c.C: Adjust scan. - * g++.dg/modules/pr99425-1_b.H: Adjust scan. - * g++.dg/modules/pr99425-1_c.C: Adjust scan. - -2021-04-01 Jan Hubicka - - PR ipa/98265 - * gcc.dg/tree-ssa/pr98265.C: New test. - -2021-04-01 Jakub Jelinek - - PR tree-optimization/96573 - * gcc.dg/pr96573.c: New test. - -2021-04-01 Richard Biener - - PR tree-optimization/99856 - * gcc.dg/vect/pr99856.c: New testcase. - -2021-04-01 Martin Jambor - - PR tree-optimization/97009 - * gcc.dg/tree-ssa/pr97009.c: New test. - -2021-04-01 Harald Anlauf - - PR fortran/99840 - * gfortran.dg/transpose_5.f90: New test. - -2021-03-31 David Malcolm - - PR analyzer/99771 - * gcc.dg/analyzer/data-model-10.c: Update expected output. - * gcc.dg/analyzer/malloc-ipa-13.c: Likewise. - * gcc.dg/analyzer/malloc-ipa-13a.c: New test. - * gcc.dg/analyzer/pr99771-1.c: New test. - -2021-03-31 Richard Sandiford - - PR tree-optimization/98268 - * gcc.target/aarch64/sve/pr98268-1.c: New test. - * gcc.target/aarch64/sve/pr98268-2.c: Likewise. - -2021-03-31 Richard Sandiford - - PR tree-optimization/99726 - * gcc.target/i386/pr99726.c: New test. - -2021-03-31 Richard Sandiford - - PR rtl-optimization/97141 - PR rtl-optimization/98726 - * gcc.c-torture/compile/pr97141.c: New test. - * gcc.c-torture/compile/pr98726.c: Likewise. - * gcc.target/aarch64/sve/pr97141.c: Likewise. - * gcc.target/aarch64/sve/pr98726.c: Likewise. - -2021-03-31 Martin Sebor - - PR middle-end/65182 - * gcc.dg/uninit-pr65182.c: New test. - -2021-03-31 Jason Merrill - - PR c++/99445 - * g++.dg/cpp0x/alias-decl-variadic1.C: New test. - -2021-03-31 Christophe Lyon - - PR target/96974 - * g++.target/aarch64/sve/pr96974.C: Expect SLP diagnostic only - under lp64. - -2021-03-31 Christophe Lyon - - PR target/99786 - * gcc.target/arm/pr99786.c: New test. - -2021-03-31 H.J. Lu - - * gcc.target/i386/memcpy-strategy-5.c: New test. - * gcc.target/i386/memcpy-strategy-6.c: Likewise. - * gcc.target/i386/memcpy-strategy-7.c: Likewise. - * gcc.target/i386/memcpy-strategy-8.c: Likewise. - * gcc.target/i386/memset-strategy-3.c: Likewise. - * gcc.target/i386/memset-strategy-4.c: Likewise. - * gcc.target/i386/memset-strategy-5.c: Likewise. - * gcc.target/i386/memset-strategy-6.c: Likewise. - -2021-03-31 Richard Sandiford - - PR target/98119 - * gcc.target/aarch64/sve/pr98119.c: New test. - -2021-03-31 Jakub Jelinek - Richard Sandiford - - PR target/99813 - * g++.target/aarch64/sve/pr99813.C: New test. - -2021-03-31 Jakub Jelinek - - PR testsuite/97680 - * c-c++-common/zero-scratch-regs-6.c: Skip on ia64. - * c-c++-common/zero-scratch-regs-7.c: Likewise. - * c-c++-common/zero-scratch-regs-8.c: Change from dg-skip-if of - selected unsupported triplets to all targets but selected triplets - of supported targets. - * c-c++-common/zero-scratch-regs-9.c: Likewise. - * c-c++-common/zero-scratch-regs-10.c: Likewise. - * c-c++-common/zero-scratch-regs-11.c: Likewise. - -2021-03-31 Patrick Palka - - PR c++/88115 - * g++.dg/cpp0x/alignof7.C: Adjust expected mangling. - -2021-03-31 Patrick Palka - - PR c++/99815 - * g++.dg/cpp2a/concepts-placeholder5.C: New test. - -2021-03-30 David Malcolm - - * gcc.dg/analyzer/symbolic-1.c: Fix typo. - -2021-03-30 Nathan Sidwell - - PR c++/99283 - * g++.dg/modules/pr99283-5.h: New. - * g++.dg/modules/pr99283-5_a.H: New. - * g++.dg/modules/pr99283-5_b.H: New. - * g++.dg/modules/pr99283-5_c.C: New. - -2021-03-30 Jakub Jelinek - - PR c++/99790 - * g++.dg/cpp1z/pr99790.C: New test. - -2021-03-30 Kyrylo Tkachov - - PR target/99822 - * gcc.c-torture/compile/pr99822.c: New test. - -2021-03-30 Xionghu Luo - - PR target/99718 - PR target/99718 - * gcc.target/powerpc/fold-vec-insert-char-p8.c: Update - instruction counts. - * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-double.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. - * gcc.target/powerpc/pr79251.p8.c: Likewise. - * gcc.target/powerpc/pr79251.p9.c: Likewise. - * gcc.target/powerpc/vsx-builtin-7.c: Likewise. - * gcc.target/powerpc/pr79251-run.p7.c: New test. - * gcc.target/powerpc/pr79251.p7.c: New test. - -2021-03-30 H.J. Lu - - PR target/99744 - * gcc.target/i386/pr99744-1.c: New test. - -2021-03-30 Tamar Christina - - PR tree-optimization/99825 - * gfortran.dg/vect/pr99825.f90: New test. - -2021-03-30 Kyrylo Tkachov - - PR target/99808 - * gcc.target/aarch64/pr99808.c: Use ULL constant suffix. - -2021-03-30 Richard Biener - - PR tree-optimization/99824 - * gcc.dg/torture/pr99824.c: New testcase. - -2021-03-30 Richard Sandiford - - PR target/98136 - * g++.dg/pr98136.C: New test. - -2021-03-30 Mihailo Stojanovic - - * gcc.target/aarch64/fcvt_nosimd.c: New test. - -2021-03-29 Martin Sebor - - PR tree-optimization/61869 - * gcc.dg/uninit-pr61869.c: New test. - -2021-03-29 Martin Sebor - - PR tree-optimization/61677 - * gcc.dg/uninit-pr61677.c: New test. - -2021-03-29 Martin Sebor - - PR tree-optimization/61112 - * gcc.dg/uninit-pr61112.c: New test. - -2021-03-29 Jan Hubicka - - PR ipa/99751 - * gcc.c-torture/compile/pr99751.c: Rename from ... - * gcc.c-torture/execute/pr99751.c: ... to this. - -2021-03-29 Jan Hubicka - - * gcc.c-torture/compile/pr99751.c: New test. - -2021-03-29 Jakub Jelinek - - PR fortran/93660 - * gfortran.dg/gomp/declare-simd-coarray-lib.f90: Expect a mixed size - declare simd warning on aarch64. - -2021-03-29 Alex Coplan - - PR target/99216 - * g++.target/aarch64/sve/pr99216.C: New test. - -2021-03-29 Richard Biener - - PR tree-optimization/99807 - * gfortran.dg/vect/pr99807.f90: New testcase. - -2021-03-29 Kyrylo Tkachov - - PR target/99808 - * gcc.target/aarch64/pr99808.c: New test. - -2021-03-29 Jakub Jelinek - - PR tree-optimization/99777 - * g++.dg/torture/pr99777.C: New test. - -2021-03-28 Christophe Lyon - - PR target/96770 - * gcc.target/arm/pure-code/pr96770.c: Improve scan-assembler-times. - -2021-03-28 Paul Thomas - - PR fortran/99602 - * gfortran.dg/pr99602.f90: New test. - * gfortran.dg/pr99602a.f90: New test. - * gfortran.dg/pr99602b.f90: New test. - * gfortran.dg/pr99602c.f90: New test. - * gfortran.dg/pr99602d.f90: New test. - -2021-03-28 Iain Buclaw - - * lib/gdc-utils.exp (gdc-copy-extra): Rename to... - (gdc-copy-file): ... this. Use file copy instead of open/close. - (gdc-convert-test): Save translated dejagnu test to gdc.test - directory, only write dejagnu directives to the test file. - (gdc-do-test): Don't create gdc.test symlink. - -2021-03-28 Iain Buclaw - - * gdc.dg/gdc270a.d: Removed. - * gdc.dg/gdc270b.d: Removed. - -2021-03-26 David Edelsohn - - * gcc.target/powerpc/pr99557.c: New. - -2021-03-26 Martin Sebor - - PR tree-optimization/59970 - * gcc.dg/uninit-pr59970.c: New test. - -2021-03-26 Marek Polacek - - PR c++/98352 - * g++.dg/cpp0x/inh-ctor37.C: Remove dg-error. - * g++.dg/cpp0x/nsdmi17.C: New test. - -2021-03-26 Nathan Sidwell - - PR c++/99283 - * g++.dg/modules/pr99283-2_a.H: New. - * g++.dg/modules/pr99283-2_b.H: New. - * g++.dg/modules/pr99283-2_c.H: New. - * g++.dg/modules/pr99283-3_a.H: New. - * g++.dg/modules/pr99283-3_b.H: New. - * g++.dg/modules/pr99283-4.H: New. - * g++.dg/modules/tpl-alias-1_a.H: Adjust scans. - * g++.dg/modules/tpl-alias-1_b.C: Adjust scans. - -2021-03-26 Vladimir Makarov - - PR target/99766 - * g++.target/aarch64/sve/pr99766.C: New. - -2021-03-26 Iain Buclaw - - PR ipa/99466 - * gcc.dg/tls/pr99466-1.c: New test. - * gcc.dg/tls/pr99466-2.c: New test. - -2021-03-26 Jakub Jelinek - - PR c++/99705 - * g++.dg/cpp0x/new5.C: New test. - -2021-03-26 Tobias Burnus - - PR fortran/99651 - * gfortran.dg/null_11.f90: New test. - -2021-03-25 Martin Sebor - - PR tree-optimization/55060 - * gcc.dg/uninit-pr55060.c: New. - -2021-03-25 Martin Sebor - - PR tree-optimization/48483 - * g++.dg/warn/uninit-pr48483.C: New test. - -2021-03-25 Martin Sebor - - * gcc.dg/uninit-pr44547.c: New. - -2021-03-25 Jakub Jelinek - - PR c++/99672 - * g++.dg/concepts/diagnostic2.C: Adjust expected caret line. - * g++.dg/cpp1y/builtin_location.C (f4, n6): Move #line directives - to match locus changes. - * g++.dg/cpp2a/srcloc1.C: Adjust expected column numbers. - * g++.dg/cpp2a/srcloc2.C: Likewise. - * g++.dg/cpp2a/srcloc15.C: Likewise. - * g++.dg/cpp2a/srcloc16.C: Likewise. - * g++.dg/cpp2a/srcloc19.C: New test. - * g++.dg/modules/adhoc-1_b.C: Adjust expected column numbers - and caret line. - * g++.dg/modules/macloc-1_c.C: Adjust expected column numbers. - * g++.dg/modules/macloc-1_d.C: Likewise. - * g++.dg/plugin/diagnostic-test-expressions-1.C: Adjust expected - caret line. - -2021-03-25 Marek Polacek - - PR c++/94751 - * g++.dg/cpp0x/inh-ctor37.C: New test. - -2021-03-25 Jakub Jelinek - - PR c++/99745 - * g++.dg/cpp0x/variadic181.C: New test. - -2021-03-25 Marek Polacek - - PR c++/99331 - * g++.dg/warn/Wconversion5.C: New test. - -2021-03-25 Stam Markianos-Wright - - PR tree-optimization/96974 - * g++.target/aarch64/sve/pr96974.C: New test. - -2021-03-25 H.J. Lu - - Revert: - 2021-03-25 H.J. Lu - - PR target/98209 - PR target/99744 - * gcc.target/i386/pr98209.c: New test. - * gcc.target/i386/pr99744-1.c: Likewise. - * gcc.target/i386/pr99744-2.c: Likewise. - -2021-03-25 Jakub Jelinek - - PR c++/99565 - * g++.dg/warn/Wduplicated-branches6.C: New test. - * g++.dg/warn/Wduplicated-branches7.C: New test. - -2021-03-25 H.J. Lu - - PR target/98209 - PR target/99744 - * gcc.target/i386/pr98209.c: New test. - * gcc.target/i386/pr99744-1.c: Likewise. - * gcc.target/i386/pr99744-2.c: Likewise. - -2021-03-25 Richard Biener - - PR tree-optimization/99746 - * gfortran.dg/vect/pr99746.f90: New testcase. - -2021-03-25 David Malcolm - - PR analyzer/93695 - PR analyzer/99044 - PR analyzer/99716 - * gcc.dg/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: Remove - xfail. - * gcc.dg/analyzer/pr93695-1.c: New test. - * gcc.dg/analyzer/pr99044-1.c: New test. - * gcc.dg/analyzer/pr99044-2.c: New test. - * gcc.dg/analyzer/pr99716-1.c: New test. - * gcc.dg/analyzer/pr99716-2.c: New test. - * gcc.dg/analyzer/pr99716-3.c: New test. - -2021-03-24 Martin Liska - - PR target/99753 - * gcc.target/i386/pr99753.c: New test. - -2021-03-24 Martin Jambor - - PR ipa/99122 - * gcc.dg/pr99122-3.c: Remove -fno-ipa-cp from options. - -2021-03-24 Christophe Lyon - - PR target/99727 - * gcc.target/arm/pr99727.c: New test. - -2021-03-24 Jakub Jelinek - - PR target/99724 - * gcc.target/arm/pr99724.c: New test. - -2021-03-24 Alexandre Oliva - - * lib/target-supports.exp (check_effective_target_sysconf): New. - * gcc.target/i386/pr95443-1.c: Require it. - * gcc.target/i386/pr95443-2.c: Likewise. - * gcc.target/i386/sse2-mmx-maskmovq.c: Likewise. - * gcc.target/i386/strncmp-1.c: Likewise. - -2021-03-24 Alexandre Oliva - - * gcc.target/i386/pr97313.c: Require effective target feature pie. - * g++.target/i386/pr94185.C: Likewise. - -2021-03-24 Alexandre Oliva - - * gcc.target/i386/funcspec-2.c: Tighten regexps to avoid false - positives with -mcmodel=large. - * gcc.target/i386/funcspec-3.c: Likewise. - -2021-03-24 Alexandre Oliva - - * gcc.target/i386/pr94467-3.c: New. - -2021-03-24 Tobias Burnus - - PR fortran/99369 - * gfortran.dg/longnames.f90: New test. - -2021-03-23 Nathan Sidwell - - PR c++/99283 - * g++.dg/modules/pr99283-1_a.H: New. - * g++.dg/modules/pr99283-1_b.H: New. - -2021-03-23 Ilya Leoshkevich - - * gcc.target/s390/vector/long-double-asm-abi.c: New test. - -2021-03-23 Christophe Lyon - - * lib/target-supports.exp - (check_effective_target_arm_dsp_ok_nocache) - (check_effective_target_arm_dsp_ok, add_options_for_arm_dsp): New. - * gcc.target/arm/acle/dsp_arith.c: Use arm_dsp_ok effective target - and add arm_dsp options. - -2021-03-23 Christophe Lyon - - * lib/target-supports.exp - (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Fix - -mfloat-abi= options order. - (check_effective_target_arm_v8_1m_mve_ok_nocache): Likewise - * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Add - arm_hard_ok effective target and -mfloat-abi=hard additional - option. - * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_uint.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_uint1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_uint2.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_u64.c: Likewise. - * gcc.target/arm/armv8_1m-fp16-move-1.c: Add -mfloat-abi=hard - additional option. - * gcc.target/arm/armv8_1m-fp32-move-1.c: Likewise. - * gcc.target/arm/armv8_1m-fp64-move-1.c: Likewise. - -2021-03-23 Christophe Lyon - - * lib/target-supports.exp - (check_effective_target_arm_v8_2a_i8mm_ok_nocache): Fix - -mfloat-abi= options order. - (check_effective_target_arm_v8_2a_bf16_neon_ok_nocache): Likewise. - * gcc.target/arm/bfloat16_scalar_1_1.c: Add arm_hard_ok effective - target and -mfloat-abi=hard additional option. - * gcc.target/arm/bfloat16_simd_1_1.c: Likewise. - * gcc.target/arm/simd/bf16_ma_1.c: Likewise. - * gcc.target/arm/simd/bf16_mmla_1.c: Likewise. - * gcc.target/arm/simd/vdot-2-1.c: Likewise. - * gcc.target/arm/simd/vdot-2-2.c: Likewise. - -2021-03-23 Christophe Lyon - - * gcc.target/arm/armv8_2-fp16-scalar-2.c: Add arm_hard_ok. - -2021-03-23 Christophe Lyon - - * gcc.target/arm/bfloat16_simd_1_2.c: Add arm_softfp_ok. - * gcc.target/arm/bfloat16_simd_2_2.c: Likewise. - * gcc.target/arm/bfloat16_simd_3_2.c: Likewise. - * gcc.target/arm/pr51968.c: Likewise. - * gcc.target/arm/bfloat16_simd_2_1.c: arm_hard_ok. - * gcc.target/arm/bfloat16_simd_3_1.c: Likewise. - * gcc.target/arm/simd/bf16_vldn_1.c: Likewise. - * gcc.target/arm/simd/bf16_vstn_1.c: Likewise. - -2021-03-23 Christophe Lyon - - * gcc.target/arm/armv8_1m-shift-imm-1.c: Remove -mfloat=abi option. - * gcc.target/arm/armv8_1m-shift-reg-1.c: Likewise. - * gcc.target/arm/bf16_dup.c: Likewise. - * gcc.target/arm/bf16_reinterpret.c: Likewise. - * gcc.target/arm/pr51534.c: Remove -mfloat=abi option. - -2021-03-23 Christophe Lyon - - * gcc.target/arm/simd/vmmla_1.c: Add arm_v8_2a_i8mm options. - -2021-03-23 Christophe Lyon - - * gcc.target/arm/bfloat16_scalar_typecheck.c: Add - arm_v8_2a_fp16_neon and arm_v8_2a_bf16_neon. - * gcc.target/arm/bfloat16_vector_typecheck_1.c: Likewise. - * gcc.target/arm/bfloat16_vector_typecheck_2.c: Likewise. - -2021-03-23 Marek Polacek - - PR c++/99318 - * g++.dg/cpp0x/attributes-namespace6.C: New test. - * g++.dg/cpp0x/gen-attrs-73.C: New test. - -2021-03-23 Tobias Burnus - - PR fortran/93660 - * gfortran.dg/gomp/declare-simd-coarray-lib.f90: New test. - -2021-03-23 Richard Sandiford - - PR target/99540 - * gcc.dg/vect/pr99540.c: New test. - -2021-03-23 Nathan Sidwell - - PR c++/99239 - * g++.dg/modules/pr99239_a.H: New. - * g++.dg/modules/pr99239_b.H: New. - -2021-03-23 Richard Biener - - PR tree-optimization/99721 - * gfortran.dg/vect/pr99721.f90: New testcase. - -2021-03-23 Marcus Comstedt - - * gcc.target/riscv/shift-shift-5.c (sub): Change - order of struct fields depending on byteorder. - -2021-03-23 Jakub Jelinek - - PR c++/99650 - * g++.dg/cpp1z/decomp55.C: New test. - -2021-03-23 Aldy Hernandez - - PR tree-optimization/99296 - * gcc.dg/pr99296.c: New file. - -2021-03-22 Nathan Sidwell - - PR c++/99480 - * g++.dg/modules/pr99480_a.H: New. - * g++.dg/modules/pr99480_b.H: New. - -2021-03-22 Vladimir N. Makarov - - PR target/99581 - * gcc.target/powerpc/pr99581.c: New. - -2021-03-22 Nathan Sidwell - - PR c++/99425 - * g++.dg/modules/pr99425-1.h: New. - * g++.dg/modules/pr99425-1_a.H: New. - * g++.dg/modules/pr99425-1_b.H: New. - * g++.dg/modules/pr99425-1_c.C: New. - * g++.dg/modules/pr99425-2_a.X: New. - * g++.dg/modules/pr99425-2_b.X: New. - * g++.dg/template/pr99425.C: New. - -2021-03-22 Richard Biener - - PR tree-optimization/99694 - * gcc.dg/torture/pr99694.c: New testcase. - -2021-03-22 Kito Cheng - - PR target/99702 - * gcc.target/riscv/pr99702.c: New. - -2021-03-22 Xionghu Luo - - PR target/98914 - * gcc.target/powerpc/pr98914.c: New test. - -2021-03-20 H.J. Lu - - PR target/99679 - * g++.target/i386/pr99679-1.C: New test. - * g++.target/i386/pr99679-2.C: Likewise. - -2021-03-20 Jakub Jelinek - - PR debug/99230 - * gcc.dg/pr99230.c: New test. - -2021-03-19 Jakub Jelinek - - PR c/99588 - * gcc.dg/Wunused-var-5.c: New test. - * gcc.dg/Wunused-var-6.c: New test. - -2021-03-19 Thomas Koenig - - * gfortran.dg/inline_matmul_6.f90: Adjust count for - _gfortran_matmul. - -2021-03-19 Vladimir N. Makarov - - PR target/99663 - * gcc.target/s390/pr99663.c: New. - -2021-03-19 Jakub Jelinek - - PR c++/99456 - * g++.dg/opt/pr99456.C: New test. - * g++.dg/ext/vla22.C: Expect a -Wnarrowing warning for c++11 and - later. - -2021-03-19 Tamar Christina - - PR tree-optimization/99656 - * gfortran.dg/vect/pr99656.f90: New test. - -2021-03-19 H.J. Lu - - PR target/99652 - * gcc.dg/torture/pr99652-1.c: New test. - * gcc.dg/torture/pr99652-2.c: Likewise. - * gcc.target/i386/pr57655.c: Adjusted. - * gcc.target/i386/pr59794-6.c: Likewise. - * gcc.target/i386/pr70738-1.c: Likewise. - * gcc.target/i386/pr96744-1.c: Likewise. - -2021-03-19 Jakub Jelinek - Christophe Lyon - - PR target/99593 - * g++.target/arm/pr99593.C: New test. - -2021-03-19 Eric Botcazou - - * g++.dg/lto/pr89335_0.C: Require the linker plugin. - -2021-03-19 Marek Polacek - - PR c++/99500 - * g++.dg/cpp2a/concepts-err3.C: New test. - -2021-03-18 Martin Sebor - - PR middle-end/99502 - * g++.dg/warn/Warray-bounds-22.C: New test. - * g++.dg/warn/Warray-bounds-23.C: New test. - * g++.dg/warn/Warray-bounds-24.C: New test. - -2021-03-18 Jakub Jelinek - - PR testsuite/99636 - * gcc.dg/strlenopt-80.c: For powerpc*-*-*, only enable for lp64. - -2021-03-18 Jakub Jelinek - - PR testsuite/99626 - * gcc.dg/strlenopt-73.c: Ifdef out test_copy_cond_unequal_length_i64 - on targets other than x86, aarch64, s390 and 64-bit powerpc. Use - test_copy_cond_unequal_length_i128 for __x86_64__ with int128 support - rather than __i386__. - -2021-03-18 Christophe Lyon - - PR testsuite/97680 - * c-c++-common/zero-scratch-regs-10.c: Skip on arm - -2021-03-18 Iain Sandoe - - PR objc++/49070 - * obj-c++.dg/pr49070.mm: New test. - * objc.dg/unnamed-parms.m: New test. - -2021-03-18 Kyrylo Tkachov - - * g++.target/aarch64/sve/aarch64-sve.exp: Add -moverride=tune=none to - sve_flags. - * g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise. - * g++.target/aarch64/sve/acle/aarch64-sve-acle.exp: Likewise. - * gcc.target/aarch64/sve/aarch64-sve.exp: Likewise. - * gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise. - * gcc.target/aarch64/sve/acle/aarch64-sve-acle.exp: Likewise. - -2021-03-18 Jakub Jelinek - - PR middle-end/98099 - * gcc.dg/pr98099.c: Don't compile the test on pdp endian. - For big endian use -fsso-struct=little-endian dg-options. - -2021-03-17 Marek Polacek - - PR c++/97973 - * g++.dg/conversion/real-to-int1.C: New test. - -2021-03-17 Anthony Sharp - Jason Merrill - - * g++.dg/cpp1z/using9.C: New using decl test. - -2021-03-17 Iain Sandoe - - * c-c++-common/asan/strncpy-overflow-1.c: Add _FORTIFY_SOURCE=0 and - -gdwarf-3 to the command line options. Adjust the expected line - numbers for the revised options header. - -2021-03-17 Iain Sandoe - - * c-c++-common/asan/memcmp-1.c: Add _FORTIFY_SOURCE=0 and - -gdwarf-3 to the command line options. Provide Darwin- - specific match lines for the expected output. - -2021-03-17 Kyrylo Tkachov - - * gcc.target/aarch64/acle/rng_2.c: New test. - -2021-03-17 H.J. Lu - - PR target/99504 - * gcc.target/i386/pr99530-1.c: New test. - * gcc.target/i386/pr99530-2.c: Likewise. - * gcc.target/i386/pr99530-3.c: Likewise. - * gcc.target/i386/pr99530-4.c: Likewise. - * gcc.target/i386/pr99530-5.c: Likewise. - * gcc.target/i386/pr99530-6.c: Likewise. - -2021-03-16 Christophe Lyon - - PR target/99542 - * gcc.dg/declare-simd.c (fn2): Expect a warning only under lp64. - -2021-03-16 Jason Merrill - - * g++.dg/cpp2a/nontype-float1.C: New test. - -2021-03-16 Segher Boessenkool - - PR target/98092 - PR target/98092 - * gcc.target/powerpc/pr98092.c: New. - -2021-03-16 Jakub Jelinek - - PR target/99600 - * gcc.target/i386/pr99600.c: New test. - -2021-03-16 Martin Liska - Jason Merrill - - PR c++/99108 - * g++.target/i386/pr99108.C: New test. - -2021-03-16 Martin Liska - - PR target/99592 - * gcc.target/arm/pr99592.c: New test. - -2021-03-16 Ilya Leoshkevich - - * gcc.target/s390/vector/long-double-asm-fprvrmem.c: New test. - -2021-03-16 Nathan Sidwell - - PR c++/99496 - * g++.dg/modules/pr99496_a.H: New. - * g++.dg/modules/pr99496_b.C: New. - -2021-03-16 Jakub Jelinek - - PR target/99563 - * gcc.target/i386/avx-pr99563.c: New test. - -2021-03-16 Jakub Jelinek - - PR target/99542 - * gcc.dg/gomp/pr99542.c: New test. - * gcc.dg/gomp/pr59669-2.c (bar): Don't expect a warning on aarch64. - * gcc.dg/gomp/simd-clones-2.c (setArray): Likewise. - * g++.dg/vect/simd-clone-7.cc (bar): Likewise. - * g++.dg/gomp/declare-simd-1.C (f37): Expect a different warning - on aarch64. - * gcc.dg/declare-simd.c (fn2): Expect a new warning on aarch64. - -2021-03-15 Jakub Jelinek - - PR c++/99601 - * g++.dg/modules/builtin-3_a.C: Fix target selector syntax errors. - * g++.dg/modules/builtin-3_b.C: Likewise. - -2021-03-15 Nathan Sidwell - - PR c++/99601 - * g++.dg/modules/builtin-3_a.C: Fix lp64 x86 detection. - * g++.dg/modules/builtin-3_b.C: Fix lp64 x86 detection. - -2021-03-15 Iain Sandoe - - PR c++/99047 - * g++.dg/coroutines/pr99047.C: New test. - -2021-03-15 Iain Sandoe - - PR c++/98704 - * g++.dg/coroutines/torture/pr98704.C: New test. - -2021-03-15 Iain Sandoe - - PR c++/98480 - * g++.dg/coroutines/pr98480.C: New test. - * g++.dg/coroutines/torture/co-await-24-for-init.C: New test. - * g++.dg/coroutines/torture/co-await-25-for-condition.C: New test. - * g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C: New test. - -2021-03-15 Iain Sandoe - - PR c++/96749 - * g++.dg/coroutines/pr96749-1.C: New test. - * g++.dg/coroutines/pr96749-2.C: New test. - -2021-03-15 Richard Biener - - PR tree-optimization/98834 - * g++.dg/opt/pr98834.C: New testcase. - -2021-03-15 Thomas Koenig - - PR fortran/99345 - * gfortran.dg/do_check_16.f90: New test. - * gfortran.dg/do_check_17.f90: New test. - -2021-03-15 Paul Thomas - - PR fortran/99545 - * gfortran.dg/pr99545.f90: New test. - -2021-03-15 David Edelsohn - - * gcc.target/powerpc/pr99492.c: Fix typo. - -2021-03-14 Harald Anlauf - Paul Thomas - - * gfortran.dg/pr99112.f90: New test. - -2021-03-13 Martin Sebor - - PR tree-optimization/99489 - * gcc.dg/Wstringop-truncation-9.c: New test. - -2021-03-13 Paul Thomas - - PR fortran/99125 - * gfortran.dg/alloc_deferred_comp_1.f90: New test. - -2021-03-13 Jakub Jelinek - - PR tree-optimization/99544 - * gcc.dg/gomp/pr99544.c: New test. - -2021-03-12 Nathan Sidwell - - PR c++/99238 - * g++.dg/modules/pr99238.h: New. - * g++.dg/modules/pr99238_a.H: New. - * g++.dg/modules/pr99238_b.H: New. - -2021-03-12 Tobias Burnus - - PR fortran/99514 - * gfortran.dg/gomp/threadprivate-1.f90: New test. - -2021-03-12 Jakub Jelinek - - PR target/99321 - * gcc.target/i386/avx512vl-pr99321-2.c: New test. - -2021-03-12 Jakub Jelinek - - PR c++/99507 - * g++.dg/cpp2a/consteval19.C: New test. - -2021-03-11 David Malcolm - - PR analyzer/96374 - * gcc.dg/analyzer/dot-output.c: Add -fdump-analyzer-feasibility - to options. - * gcc.dg/analyzer/feasibility-1.c (test_6): Remove xfail. - (test_7): New. - * gcc.dg/analyzer/pr93355-localealias-feasibility-2.c: Remove xfail. - * gcc.dg/analyzer/pr93355-localealias-feasibility-3.c: Remove xfails. - * gcc.dg/analyzer/pr93355-localealias-feasibility.c: Remove - -fno-analyzer-feasibility from options. - * gcc.dg/analyzer/pr93355-localealias.c: Likewise. - * gcc.dg/analyzer/unknown-fns-4.c: Remove xfail. - -2021-03-11 Nathan Sidwell - - PR c++/99248 - * g++.dg/modules/pr99248.h: New. - * g++.dg/modules/pr99248_a.H: New. - * g++.dg/modules/pr99248_b.H: New. - -2021-03-11 Nathan Sidwell - - PR c++/99528 - * g++.dg/modules/pr99528.h: New. - * g++.dg/modules/pr99528_a.H: New. - * g++.dg/modules/pr99528_b.H: New. - * g++.dg/modules/pr99528_c.C: New. - -2021-03-11 Richard Biener - - PR testsuite/98245 - * gcc.dg/vect/bb-slp-46.c: Scan for the scalar compute - instead of verifying the total number of adds. - -2021-03-11 Richard Biener - - PR testsuite/97494 - * gcc.dg/vect/pr97428.c: XFAIL on !vect_hw_misalign. - -2021-03-11 Richard Biener - - PR testsuite/97494 - * gcc.dg/vect/vect-complex-5.c: XFAIL on !vect_hw_misalign. - -2021-03-11 Richard Biener - - PR testsuite/97494 - * gcc.dg/vect/slp-21.c: Adjust for powerpc64*-*-*. - -2021-03-11 Jakub Jelinek - - PR ipa/99517 - * gcc.target/i386/avx2-pr99517-1.c: New test. - * gcc.target/i386/avx2-pr99517-2.c: New test. - -2021-03-10 David Edelsohn - - PR target/99492 - * gcc.target/powerpc/pr99492.c: New testcase. - -2021-03-10 Harald Anlauf - - PR fortran/99205 - * gfortran.dg/data_char_4.f90: New test. - * gfortran.dg/data_char_5.f90: New test. - -2021-03-10 Segher Boessenkool - - * gcc.target/powerpc/pr98959.c: Add int128 and lp64 selectors. - -2021-03-10 Nathan Sidwell - - PR c++/99423 - * g++.dg/modules/pr99423_a.H: New. - * g++.dg/modules/pr99423_b.H: New. - -2021-03-10 Jakub Jelinek - - PR tree-optimization/99305 - PR testsuite/99498 - * g++.dg/opt/pr99305.C: Don't expect cast to unsigned char on - unsigned_char effective targets. - -2021-03-10 Nathan Sidwell - - PR c++/99508 - * g++.dg/ext/pr99508.C: New. - -2021-03-10 John David Anglin - - PR testsuite/99292 - * lib/target-supports.exp (check_effective_target_lra): New. - * gcc.c-torture/compile/asmgoto-2.c: Use LRA target selector. - * gcc.c-torture/compile/asmgoto-5.c: Likewise. - * gcc.c-torture/compile/pr98096.c: Likewise. - * gcc.dg/pr97954.c: Likewise. - -2021-03-10 David Malcolm - - * gcc.dg/analyzer/pr94047.c: Remove "-Wno-analyzer-too-complex". - * gcc.dg/analyzer/zlib-2.c: Likewise. - -2021-03-10 Joel Hutton - - * gcc.dg/vect/pr99102.c: Fix target selector. - -2021-03-10 Joel Hutton - - PR target/99102 - * gcc.dg/vect/pr99102.c: New test. - -2021-03-10 Eric Botcazou - - * gnat.dg/specs/lto25.ads: New test. - -2021-03-09 Jakub Jelinek - - PR tree-optimization/99305 - * g++.dg/opt/pr99305.C: New test. - -2021-03-09 Segher Boessenkool - - * lib/target-supports.exp (check_effective_target_powerpc_sqrt): New. - (check_effective_target_sqrt_insn): Use it. - -2021-03-09 Vladimir N. Makarov - - PR target/99454 - * gcc.target/i386/pr99454.c: New. - -2021-03-09 Eric Botcazou - - * gcc.dg/array-quals-1.c: Pass -fno-pie if supported. - * gcc.dg/loop-9.c: Likewise. - * gfortran.dg/pr95690.f90: Replace *-*-solaris* with sparc*-*-*. - * gnat.dg/opt39.adb: Pass --param option for Aarch64 too. - -2021-03-09 Jakub Jelinek - - PR sanitizer/98920 - * c-c++-common/asan/pr98920.c: Only include regex.h if the header - exists. If REG_STARTEND macro isn't defined, just return 0 from main - instead of the actual test. - -2021-03-09 Martin Liska - - PR target/99464 - * gcc.target/i386/pr99464.c: New test. - -2021-03-09 Joel Brobecker - - * gcc.target/powerpc/undef-bool-2.c: Add - dg-require-effective-target powerpc_vsx_ok directive. - * g++.dg/ext/undef-bool-1.C: Add dg-require-effective-target - powerpc_vsx_ok directive. - -2021-03-08 Harald Anlauf - - PR fortran/49278 - * gfortran.dg/parameter_data.f90: New test. - -2021-03-08 Martin Sebor - - PR middle-end/98266 - * g++.dg/warn/Warray-bounds-15.C: New test. - * g++.dg/warn/Warray-bounds-18.C: New test. - * g++.dg/warn/Warray-bounds-19.C: New test. - * g++.dg/warn/Warray-bounds-20.C: New test. - * g++.dg/warn/Warray-bounds-21.C: New test. - -2021-03-08 Martin Sebor - - PR middle-end/97631 - * c-c++-common/Wstringop-overflow.c: Remove unexpected warnings. - Add an xfail. - * c-c++-common/Wstringop-truncation.c: Add expected warnings. - * gcc.dg/Wstringop-overflow-10.c: Also enable -Wstringop-truncation. - * gcc.dg/Wstringop-overflow-66.c: New test. - * gcc.dg/tree-ssa/strncpy-2.c: Adjust expected warning. - -2021-03-08 Marek Polacek - - PR c++/96268 - * g++.dg/cpp2a/nontype-class41.C: New test. - -2021-03-08 Nathan Sidwell - - PR c++/99436 - * g++.dg/modules/modules.exp (MOD_STD_LIST): Add 2b. - -2021-03-08 Nathan Sidwell - - * g++.dg/modules/pr99468.H: New. - -2021-03-08 Peter Bergner - - PR target/98959 - * gcc.target/powerpc/pr98959.c: New test. - -2021-03-08 Nathan Sidwell - - PR c++/99285 - * g++.dg/modules/pr99285_a.H: New. - * g++.dg/modules/pr99285_b.H: New. - -2021-03-08 Kyrylo Tkachov - - PR target/99437 - * gcc.target/aarch64/simd/pr99437.c: New test. - -2021-03-08 Martin Liska - - PR sanitizer/98920 - * c-c++-common/asan/pr98920.c: New test. - -2021-03-08 Martin Liska - - PR target/99463 - * gcc.target/i386/pr99463-2.c: New test. - * gcc.target/i386/pr99463.c: New test. - -2021-03-08 Ilya Leoshkevich - - * gcc.target/s390/vector/long-double-asm-commutative.c: New - test. - * gcc.target/s390/vector/long-double-asm-earlyclobber.c: New - test. - * gcc.target/s390/vector/long-double-asm-in-out.c: New test. - * gcc.target/s390/vector/long-double-asm-inout.c: New test. - * gcc.target/s390/vector/long-double-asm-matching.c: New test. - * gcc.target/s390/vector/long-double-asm-regmem.c: New test. - * gcc.target/s390/vector/long-double-volatile-from-i64.c: New - test. - -2021-03-08 Tobias Burnus - - PR fortran/97927 - * gfortran.dg/module_variable_3.f90: New test. - -2021-03-07 Jakub Jelinek - - PR target/99321 - * lib/target-supports.exp - (check_effective_target_assembler_march_noavx512bw): New effective - target. - * gcc.target/i386/avx512vl-pr99321-1.c: New test. - -2021-03-06 Patrick Palka - Jakub Jelinek - - PR c++/99287 - * g++.dg/cpp2a/constexpr-99287.C: New test. - -2021-03-06 Patrick Palka - Jakub Jelinek - - PR c++/96330 - * g++.dg/cpp1y/var-templ68.C: New test. - * g++.dg/cpp1y/var-templ68a.C: New test. - -2021-03-06 Patrick Palka - - PR c++/99365 - * g++.dg/cpp2a/concepts-partial-spec9.C: New test. - * g++.dg/cpp2a/concepts-placeholder4.C: New test. - -2021-03-06 Hans-Peter Nilsson - - * gcc.target/cris/pr93372-1.c: Adjust expected assembler result - to allow an eliminated stack-frame. - -2021-03-05 Marek Polacek - - PR c++/99374 - * g++.dg/cpp1z/noexcept-type23.C: New test. - -2021-03-05 Marek Polacek - - PR c++/99120 - * g++.dg/warn/Wshadow-17.C: New test. - -2021-03-05 Jason Merrill - - PR c/99363 - * gcc.dg/attr-flatten-1.c: Adjust. - -2021-03-05 Jakub Jelinek - - PR middle-end/99322 - * c-c++-common/gomp/pr99322.c: New test. - -2021-03-05 Nathan Sidwell - - PR c++/99245 - * g++.dg/modules/pr99245_a.H: New. - * g++.dg/modules/pr99245_b.H: New. - -2021-03-05 Harald Anlauf - - PR libfortran/99218 - * gfortran.dg/matmul_21.f90: New test. - -2021-03-05 Nathan Sidwell - - PR c++/99377 - * g++.dg/modules/pr99377_a.H: New. - * g++.dg/modules/pr99377_b.C: New. - * g++.dg/modules/pr99377_c.C: New. - -2021-03-05 Iain Sandoe - - PR c++/98118 - * g++.dg/coroutines/pr98118.C: New test. - -2021-03-05 Iain Sandoe - - PR c++/95616 - * g++.dg/coroutines/pr95616-0-no-exceptions.C: New test. - * g++.dg/coroutines/pr95616-0.C: New test. - * g++.dg/coroutines/pr95616-1-no-exceptions.C: New test. - * g++.dg/coroutines/pr95616-1.C: New test. - * g++.dg/coroutines/pr95616-2.C: New test. - * g++.dg/coroutines/pr95616-3-no-exceptions.C: New test. - * g++.dg/coroutines/pr95616-3.C: New test. - * g++.dg/coroutines/pr95616-4.C: New test. - * g++.dg/coroutines/pr95616-5.C: New test. - * g++.dg/coroutines/pr95616-6.C: New test. - -2021-03-05 Iain Sandoe - - PR c++/95615 - * g++.dg/coroutines/torture/pr95615-01.C: New test. - * g++.dg/coroutines/torture/pr95615-02.C: New test. - * g++.dg/coroutines/torture/pr95615-03.C: New test. - * g++.dg/coroutines/torture/pr95615-04.C: New test. - * g++.dg/coroutines/torture/pr95615-05.C: New test. - * g++.dg/coroutines/torture/pr95615.inc: New file. - -2021-03-05 Vladimir N. Makarov - - PR target/99378 - * gcc.target/i386/pr99123-2.c: New. - -2021-03-05 Nathan Sidwell - - PR c++/99389 - * g++.dg/modules/pr99389_a.H: New. - * g++.dg/modules/pr99389_b.C: New. - * g++.dg/modules/pr99389_c.C: New. - -2021-03-05 Tobias Burnus - - PR c/99137 - * c-c++-common/goacc/asyncwait-1.c: Update dg-error; add - additional test. - -2021-03-05 Tobias Burnus - - * gfortran.dg/real4-10-real8-10.f90: Add check for real literals - with '_kind' number. - * gfortran.dg/real4-10-real8-16.f90: Likewise. - * gfortran.dg/real4-10-real8-4.f90: Likewise. - * gfortran.dg/real4-10.f90: Likewise. - * gfortran.dg/real4-16-real8-10.f90: Likewise. - * gfortran.dg/real4-16-real8-16.f90: Likewise. - * gfortran.dg/real4-16-real8-4.f90: Likewise. - * gfortran.dg/real4-16.f90: Likewise. - * gfortran.dg/real4-8-real8-10.f90: Likewise. - * gfortran.dg/real4-8-real8-16.f90: Likewise. - * gfortran.dg/real4-8-real8-4.f90: Likewise. - * gfortran.dg/real4-8.f90: Likewise. - * gfortran.dg/real8-10.f90: Likewise. - * gfortran.dg/real8-16.f90: Likewise. - * gfortran.dg/real8-4.f90: Likewise. - -2021-03-05 Hans-Peter Nilsson - - PR debug/66668 - * gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: xfail for cris-*-* - -2021-03-04 Iain Sandoe - - * lib/prune.exp: Prune useless output caused by a linker bug. - -2021-03-04 Jakub Jelinek - - PR middle-end/93235 - * gcc.target/aarch64/pr93235.c: New test. - -2021-03-04 Martin Liska - - PR gcov-profile/99105 - * gcc.dg/tree-prof/indir-call-prof-malloc.c: Use profile - correction as the wrapped malloc is called one more time - from libgcov. - * gcc.dg/tree-prof/pr97461.c: Likewise. - -2021-03-04 Jakub Jelinek - - PR c++/88146 - PR c++/99362 - * g++.dg/cpp2a/nodiscard-constructor.c: Renamed to ... - * g++.dg/cpp2a/nodiscard-constructor1.C: ... this. Remove - -ftrack-macro-expansion=0 from dg-options. Don't use (?n) in - dg-warning regexps, instead replace .* with \[^\n\r]*. - * g++.dg/cpp2a/nodiscard-constructor2.C: New test. - * g++.dg/cpp2a/nodiscard-reason-only-one.C: Remove - -ftrack-macro-expansion=0 from dg-options. - * g++.dg/cpp2a/nodiscard-reason-nonstring.C: Likewise. - * g++.dg/cpp2a/nodiscard-once.C: Likewise. - -2021-03-04 Jakub Jelinek - - PR c/99325 - * gcc.dg/cpp/line11.c: New test. - * gcc.dg/cpp/line12.c: New test. - -2021-03-04 Alex Coplan - - PR target/99381 - * gcc.target/aarch64/pr99381.c: New test. - -2021-03-04 Ilya Leoshkevich - - * gcc.target/s390/mul-signed-overflow-1.c: Compile on old - machines. - * gcc.target/s390/mul-signed-overflow-2.c: Likewise. - -2021-03-04 Nathan Sidwell - - PR c++/99170 - * g++.dg/modules/pr99170-1_a.H: New. - * g++.dg/modules/pr99170-1_b.C: New. - * g++.dg/modules/pr99170-2.h: New. - * g++.dg/modules/pr99170-2_a.C: New. - * g++.dg/modules/pr99170-2_b.C: New. - * g++.dg/modules/pr99170-3_a.H: New. - * g++.dg/modules/pr99170-3_b.C: New. - * g++.dg/modules/inst-2_b.C: Adjust scan. - * g++.dg/modules/inst-4_a.C: Adjust scan. - * g++.dg/modules/inst-4_b.C: Adjust scan. - * g++.dg/modules/member-def-1_b.C: Adjust scan. - * g++.dg/modules/member-def-1_c.C: Adjust scan. - * g++.dg/modules/tpl-spec-1_a.C: Adjust scan. - * g++.dg/modules/tpl-spec-1_b.C: Adjust scan. - * g++.dg/modules/tpl-spec-2_b.C: Adjust scan. - * g++.dg/modules/tpl-spec-2_c.C: Adjust scan. - * g++.dg/modules/tpl-spec-2_d.C: Adjust scan. - * g++.dg/modules/tpl-spec-3_a.C: Adjust scan. - * g++.dg/modules/tpl-spec-3_b.C: Adjust scan. - * g++.dg/modules/tpl-spec-4_a.C: Adjust scan. - * g++.dg/modules/tpl-spec-4_b.C: Adjust scan. - * g++.dg/modules/tpl-spec-5_a.C: Adjust scan. - * g++.dg/modules/tpl-spec-5_b.C: Adjust scan. - -2021-03-04 Tobias Burnus - - PR fortran/99355 - * gfortran.dg/real4-10-real8-10.f90: New test. - * gfortran.dg/real4-10-real8-16.f90: New test. - * gfortran.dg/real4-10-real8-4.f90: New test. - * gfortran.dg/real4-10.f90: New test. - * gfortran.dg/real4-16-real8-10.f90: New test. - * gfortran.dg/real4-16-real8-16.f90: New test. - * gfortran.dg/real4-16-real8-4.f90: New test. - * gfortran.dg/real4-16.f90: New test. - * gfortran.dg/real4-8-real8-10.f90: New test. - * gfortran.dg/real4-8-real8-16.f90: New test. - * gfortran.dg/real4-8-real8-4.f90: New test. - * gfortran.dg/real4-8.f90: New test. - * gfortran.dg/real8-10.f90: New test. - * gfortran.dg/real8-16.f90: New test. - * gfortran.dg/real8-4.f90: New test. - -2021-03-04 Hans-Peter Nilsson - - * gcc.misc-tests/outputs.exp: Enumerate tests. - -2021-03-04 Hans-Peter Nilsson - - * gcc.misc-tests/outputs.exp: Append discriminating - suffixes to tests with duplicate names. - (outest): Assert that each running test has a unique - name. - -2021-03-04 Martin Sebor - - PR middle-end/96963 - PR middle-end/94655 - * gcc.dg/Wstringop-overflow-47.c: Xfail tests. - * gcc.dg/Wstringop-overflow-65.c: New test. - * gcc.dg/Warray-bounds-69.c: Same. - -2021-03-03 Marek Polacek - - PR c++/96474 - * g++.dg/cpp1z/class-deduction83.C: New test. - -2021-03-03 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vcvt_fXX_fXX.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vcvtx.c: - New test. - -2021-03-03 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vmovn_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vqmovn_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vqmovun_high.c: - New test. - -2021-03-03 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vrshrn_high_n.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vshrn_high_n.c: - New test. - -2021-03-03 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vXXXhn_high.inc: - New test template. - * gcc.target/aarch64/advsimd-intrinsics/vaddhn_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vraddhn_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vrsubhn_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vsubhn_high.c: - New test. - -2021-03-03 Jakub Jelinek - - PR c++/82959 - * g++.dg/cpp1z/eval-order10.C: New test. - -2021-03-03 Marek Polacek - - PR c++/97034 - PR c++/99009 - * g++.dg/cpp1z/class-deduction81.C: New test. - * g++.dg/cpp1z/class-deduction82.C: New test. - * g++.dg/cpp2a/class-deduction-aggr8.C: New test. - * g++.dg/cpp2a/class-deduction-aggr9.C: New test. - * g++.dg/cpp2a/class-deduction-aggr10.C: New test. - -2021-03-03 Jason Merrill - - PR c++/95675 - * g++.dg/cpp0x/decltype-call5.C: New test. - * g++.dg/cpp0x/decltype-call6.C: New test. - -2021-03-03 Rainer Orth - - * gcc.target/i386/pr95798-1.c: Add -fomit-frame-pointer to - dg-options. - * gcc.target/i386/pr95798-2.c: Likewise. - -2021-03-03 Nathan Sidwell - - PR c++/99344 - * g++.dg/modules/namespace-2_a.C - * g++.dg/modules/pr99344_a.C - * g++.dg/modules/pr99344_b.C - -2021-03-03 Jakub Jelinek - - PR target/99321 - * gcc.target/i386/pr99321.c: New test. - -2021-03-03 Jakub Jelinek - - PR c/99324 - * gcc.c-torture/compile/pr99324.c: New test. - -2021-03-03 Jakub Jelinek - - PR target/99085 - * gcc.dg/graphite/pr99085.c: New test. - -2021-03-03 Jason Merrill - - PR c++/96078 - * g++.dg/ext/attr-flatten1.C: New test. - -2021-03-02 Hans-Peter Nilsson - - * gcc.misc-tests/outputs.exp: Skip @file -save-temps - tests if target test-framework has -L or -I options. - -2021-03-02 David Malcolm - - PR c/99323 - * gcc.dg/pr99323-1.c: New test. - * gcc.dg/pr99323-2.c: New test. - -2021-03-02 Martin Sebor - - PR c++/99251 - * g++.dg/warn/Wnonnull9.C: Expect no warnings. - * g++.dg/warn/Wnonnull12.C: New test. - -2021-03-02 Eric Botcazou - - * gnat.dg/limited5.adb: New test. - -2021-03-02 Patrick Palka - - PR c++/96443 - PR c++/96960 - * g++.dg/concepts/abbrev9.C: New test. - * g++.dg/cpp2a/concepts-lambda15.C: New test. - * g++.dg/cpp2a/concepts-placeholder3.C: New test. - * g++.dg/cpp2a/concepts-return-req2.C: New test. - * g++.dg/cpp2a/concepts-ts1.C: Add dg-bogus directive to the - call to f15 that we expect to accept. - -2021-03-02 Patrick Palka - - * g++.dg/cpp1z/auto1.C: New test. - -2021-03-02 Andreas Krebbel - - * gcc.target/s390/zvector/vec-nnpa-fp16-convert.c: New test. - * gcc.target/s390/zvector/vec-nnpa-fp32-convert-1.c: New test. - * gcc.target/s390/zvector/vec_convert_from_fp16.c: New test. - * gcc.target/s390/zvector/vec_convert_to_fp16.c: New test. - * gcc.target/s390/zvector/vec_extend_to_fp32_hi.c: New test. - * gcc.target/s390/zvector/vec_extend_to_fp32_lo.c: New test. - * gcc.target/s390/zvector/vec_round_from_fp32.c: New test. - -2021-03-02 Andreas Krebbel - - * lib/target-supports.exp: Add check for nnpa facility. - -2021-03-02 Andreas Krebbel - - * gcc.target/s390/mul-signed-overflow-1.c: Run only on z14. - * gcc.target/s390/mul-signed-overflow-2.c: Run only on z14. - -2021-03-01 Martin Liska - - PR target/99313 - * gcc.target/s390/target-attribute/pr99313.c: New test. - -2021-03-01 Nathan Sidwell - - PR c++/99294 - * g++.dg/modules/pr99294.h: New. - * g++.dg/modules/pr99294_a.C: New. - * g++.dg/modules/pr99294_b.C: New. - -2021-03-01 Eric Botcazou - - * g++.dg/eh/seh-xmm-unwind.C: New test. - -2021-02-28 Iain Sandoe - - * g++.dg/coroutines/pr94879-folly-1.C: Make final suspend - expression components noexcept. - * g++.dg/coroutines/pr94883-folly-2.C: Likewise. - * g++.dg/coroutines/pr95345.C: Likewise. - -2021-02-28 Jason Merrill - - * g++.dg/ext/attr-lambda3.C: Add missing ; - -2021-02-27 Jason Merrill - - PR c++/90333 - * g++.dg/ext/attr-lambda3.C: New test. - -2021-02-26 Alexandre Oliva - - * gcc.target/powerpc/pr67789.c: Revert fpic target requirement - duplication. - * gcc.target/powerpc/pr83629.c: Likewise. - * gcc.target/powerpc/pr84112.c: Likewise. - -2021-02-26 Olivier Hainque - - * gcc.target/powerpc/compress-float-ppc-pic.c: Add - dg-require-effective-target fpic. - * gcc.target/powerpc/ppc-eabi.c: Likewise. - * gcc.target/powerpc/pr26350.c: Likewise. - * gcc.target/powerpc/pr67789.c: Likewise. - * gcc.target/powerpc/pr79439-1.c: Likewise. - * gcc.target/powerpc/pr79439-2.c: Likewise. - * gcc.target/powerpc/pr79439-3.c: Likewise. - * gcc.target/powerpc/pr83629.c: Likewise. - * gcc.target/powerpc/pr84112.c: Likewise. - -2021-02-26 Richard Biener - - PR middle-end/99281 - * g++.dg/pr99218.C: New testcase. - -2021-02-26 Jakub Jelinek - - * g++.dg/cpp23/lambda-specifiers1.C: New test. - -2021-02-26 Jakub Jelinek - - PR c++/95451 - * g++.dg/cpp1y/lambda-generic-95451.C: New test. - -2021-02-26 Jason Merrill - - PR c++/98810 - * g++.dg/cpp2a/nontype-class-defarg1.C: New test. - -2021-02-26 Aaron Sawdey - - * gcc.target/powerpc/pcrel-opt-inc-di.c: New test. - * gcc.target/powerpc/pcrel-opt-ld-df.c: New test. - * gcc.target/powerpc/pcrel-opt-ld-di.c: New test. - * gcc.target/powerpc/pcrel-opt-ld-hi.c: New test. - * gcc.target/powerpc/pcrel-opt-ld-qi.c: New test. - * gcc.target/powerpc/pcrel-opt-ld-sf.c: New test. - * gcc.target/powerpc/pcrel-opt-ld-si.c: New test. - * gcc.target/powerpc/pcrel-opt-ld-vector.c: New test. - * gcc.target/powerpc/pcrel-opt-st-df.c: New test. - * gcc.target/powerpc/pcrel-opt-st-di.c: New test. - * gcc.target/powerpc/pcrel-opt-st-hi.c: New test. - * gcc.target/powerpc/pcrel-opt-st-qi.c: New test. - * gcc.target/powerpc/pcrel-opt-st-sf.c: New test. - * gcc.target/powerpc/pcrel-opt-st-si.c: New test. - * gcc.target/powerpc/pcrel-opt-st-vector.c: New test. - -2021-02-26 Patrick Palka - - PR c++/98990 - * g++.dg/concepts/abbrev8.C: New test. - -2021-02-25 Patrick Palka - - PR c++/99213 - PR c++/94521 - * g++.dg/diagnostic/local1.C: New test. - -2021-02-25 Patrick Palka - - PR c++/99103 - * g++.dg/cpp1z/class-deduction79.C: New test. - * g++.dg/cpp1z/class-deduction80.C: New test. - -2021-02-25 Marek Polacek - - DR 1312 - PR c++/99176 - * g++.dg/cpp0x/constexpr-nullptr-2.C: Adjust dg-error. - * g++.dg/cpp0x/constexpr-cast2.C: New test. - * g++.dg/cpp0x/constexpr-cast3.C: New test. - -2021-02-25 Iain Sandoe - - PR c++/97587 - * g++.dg/coroutines/coro1-refs-and-ctors.h: Add a CTOR with two - reference parms, to distinguish the rvalue ref. variant. - * g++.dg/coroutines/pr97587.C: New test. - -2021-02-25 Iain Sandoe - - PR c++/95822 - * g++.dg/coroutines/pr95822.C: New test. - -2021-02-25 Richard Earnshaw - - * gcc.target/arm/cmse/cmse-18.c: New test. - -2021-02-25 Nathan Sidwell - - PR c++/99166 - * g++.dg/modules/pr99166_a.X: Adjust. - * g++.dg/modules/pr99166_b.C: Adjust. - * g++.dg/modules/pr99166_c.C: Adjust. - * g++.dg/modules/pr99166_d.C: Adjust. - -2021-02-25 Hans-Peter Nilsson - - * gfortran.dg/pr95690.f90: CRIS error appears on line 5. - -2021-02-25 Tamar Christina - - * g++.dg/vect/simd-complex-num-null-node.cc: New test. - -2021-02-25 Vladimir N. Makarov - - PR testsuite/99233 - * gcc.target/powerpc/pr96264.c: Run it only for powerpc64le. - -2021-02-25 Christophe Lyon - - PR middle-end/97172 - * gcc.dg/pr97172-2.c: Add dg-require-effective-target shared. - -2021-02-25 Richard Biener - - PR tree-optimization/99253 - * gcc.dg/vect/pr99253.c: New testcase. - -2021-02-25 Jakub Jelinek - - PR target/95798 - * gcc.target/i386/pr95798-1.c: New test. - * gcc.target/i386/pr95798-2.c: New test. - -2021-02-25 Jakub Jelinek - - PR tree-optimization/80635 - * g++.dg/warn/pr80635-1.C: New test. - * g++.dg/warn/pr80635-2.C: New test. - -2021-02-25 David Malcolm - - PR analyzer/99193 - * gcc.dg/analyzer/pr99193-1.c: New test. - * gcc.dg/analyzer/pr99193-2.c: New test. - * gcc.dg/analyzer/pr99193-3.c: New test. - * gcc.dg/analyzer/realloc-1.c: New test. - -2021-02-24 Nathan Sidwell - - PR c++/98718 - * g++.dg/modules/pr98718_a.C: New. - * g++.dg/modules/pr98718_b.C: New. - -2021-02-24 Iain Sandoe - - * g++.dg/coroutines/co-await-void_type.C: Mark promise - final_suspend call as noexcept. - * g++.dg/coroutines/co-return-syntax-08-bad-return.C: Likewise. - * g++.dg/coroutines/co-return-syntax-10-movable.C: Likewise. - * g++.dg/coroutines/co-return-warning-1.C: Likewise. - * g++.dg/coroutines/co-yield-syntax-08-needs-expr.C: Likewise. - * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: Likewise. - * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: Likewise. - * g++.dg/coroutines/coro-missing-gro.C: Likewise. - * g++.dg/coroutines/coro-missing-promise-yield.C: Likewise. - * g++.dg/coroutines/coro-missing-ret-value.C: Likewise. - * g++.dg/coroutines/coro-missing-ret-void.C: Likewise. - * g++.dg/coroutines/coro-missing-ueh.h: Likewise. - * g++.dg/coroutines/coro1-allocators.h: Likewise. - * g++.dg/coroutines/coro1-refs-and-ctors.h: Likewise. - * g++.dg/coroutines/coro1-ret-int-yield-int.h: Likewise. - * g++.dg/coroutines/pr94682-preview-this.C: Likewise. - * g++.dg/coroutines/pr94752.C: Likewise. - * g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C: Likewise. - * g++.dg/coroutines/pr94879-folly-1.C: Likewise. - * g++.dg/coroutines/pr94883-folly-2.C: Likewise. - * g++.dg/coroutines/pr95050.C: Likewise. - * g++.dg/coroutines/pr95345.C: Likewise. - * g++.dg/coroutines/pr95440.C: Likewise. - * g++.dg/coroutines/pr95591.C: Likewise. - * g++.dg/coroutines/pr95711.C: Likewise. - * g++.dg/coroutines/pr95813.C: Likewise. - * g++.dg/coroutines/symmetric-transfer-00-basic.C: Likewise. - * g++.dg/coroutines/torture/co-await-07-tmpl.C: Likewise. - * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: Likewise. - * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: Likewise. - * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: Likewise. - * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: Likewise. - * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: Likewise. - * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: Likewise. - * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: Likewise. - * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: Likewise. - * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: Likewise. - * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: Likewise. - * g++.dg/coroutines/torture/co-yield-00-triv.C: Likewise. - * g++.dg/coroutines/torture/co-yield-03-tmpl.C: Likewise. - * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: Likewise. - * g++.dg/coroutines/torture/exceptions-test-0.C: Likewise. - * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: Likewise. - * g++.dg/coroutines/torture/func-params-04.C: Likewise. - * g++.dg/coroutines/torture/local-var-06-structured-binding.C: Likewise. - * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: Likewise. - -2021-02-24 Jakub Jelinek - - PR fortran/99226 - * c-c++-common/gomp/pr99226.c: New test. - * gfortran.dg/gomp/pr99226.f90: New test. - -2021-02-24 Vladimir N. Makarov - - PR inline-asm/99123 - * gcc.target/i386/pr99123.c: New. - -2021-02-24 Hans-Peter Nilsson - - * gcc.dg/stack-usage-1.c: Adjust for CRIS. - -2021-02-24 Nathan Sidwell - - PR c++/99072 - * g++.dg/modules/pr99072.H: New. - -2021-02-24 Paul Thomas - - PR fortran/98342 - * gfortran.dg/assumed_rank_21.f90 : New test. - -2021-02-24 Martin Sebor - - PR middle-end/97172 - * gcc.dg/pr97172-2.c: New test. - -2021-02-24 Tamar Christina - - PR tree-optimization/99220 - * g++.dg/vect/pr99220.cc: New test. - -2021-02-24 Tamar Christina - - PR tree-optimization/99149 - * g++.dg/vect/pr99149.cc: Disabled on BE. - -2021-02-24 Iain Sandoe - - PR c++/96251 - * g++.dg/coroutines/pr96251.C: New test. - -2021-02-24 Jakub Jelinek - - PR tree-optimization/99225 - * gcc.c-torture/compile/pr99225.c: New test. - -2021-02-24 Tamar Christina - - PR tree-optimization/99149 - * g++.dg/vect/pr99149.cc: New test. - -2021-02-24 Richard Biener - - PR c/99224 - * gcc.dg/pr99224.c: New testcase. - -2021-02-23 Peter Bergner - - * gcc.target/powerpc/mma-builtin-4.c: Add tests for - __builtin_vsx_assemble_pair and __builtin_vsx_disassemble_pair. - Add __has_builtin tests for built-ins. - Update expected instruction counts. - -2021-02-23 Martin Sebor - - PR c++/99074 - * g++.dg/warn/Wnonnull11.C: New test. - -2021-02-23 Paul Thomas - - PR fortran/99124 - * gfortran.dg/class_defined_operator_2.f03 : New test. - * gfortran.dg/elemental_result_2.f90 : New test. - * gfortran.dg/class_assign_4.f90: Correct the non-conforming - elemental function with an allocatable result with an operator - interface with array dummies and result. - -2021-02-23 Harald Anlauf - - PR fortran/99206 - * gfortran.dg/reshape_zerosize_4.f90: New test. - -2021-02-23 Nathan Sidwell - - PR c++/99208 - * g++.dg/modules/pr99208_a.C: New. - * g++.dg/modules/pr99208_b.C: New. - -2021-02-23 Martin Liska - - PR sanitizer/99168 - * c-c++-common/asan/pr99168.c: New test. - -2021-02-23 Patrick Palka - - PR c++/95468 - * g++.dg/template/non-dependent15.C: New test. - -2021-02-23 Jakub Jelinek - - PR tree-optimization/99204 - * gfortran.dg/pr99204.f90: New test. - -2021-02-23 Kewen Lin - - * gcc.target/powerpc/vec-init-10.c: New test. - -2021-02-23 Hans-Peter Nilsson - - * g++.dg/warn/Wplacement-new-size-1.C, - g++.dg/warn/Wplacement-new-size-2.C, - g++.dg/warn/Wplacement-new-size-6.C: Adjust for - default_packed targets. - -2021-02-22 David Malcolm - - PR analyzer/99196 - * gcc.dg/analyzer/error-1.c: New test. - * gcc.dg/analyzer/error-2.c: New test. - * gcc.dg/analyzer/error-3.c: New test. - -2021-02-22 H.J. Lu - - PR testsuite/99173 - * c-c++-common/attr-retain-5.c: Require R_flag_in_section. - * c-c++-common/attr-retain-6.c: Likewise. - * c-c++-common/attr-retain-7.c: Likewise. - * c-c++-common/attr-retain-8.c: Likewise. - * c-c++-common/attr-retain-9.c: Likewise. - -2021-02-22 Kyrylo Tkachov - - * gcc.target/aarch64/sve/cse_sve_vl_constants_1.c: New test. - -2021-02-22 Hans-Peter Nilsson - - * g++.dg/warn/Warray-bounds-10.C, g++.dg/warn/Warray-bounds-11.C, - g++.dg/warn/Warray-bounds-12.C, g++.dg/warn/Warray-bounds-13.C: - Handle __INT32_TYPE__ being "long int". - -2021-02-22 Hans-Peter Nilsson - - * gcc.target/cris/biap.c: Add a Y+=X*2 to the Y+=X*4. - -2021-02-22 Hans-Peter Nilsson - - * gcc.target/cris/biap-mul.c: New test. - -2021-02-22 Hans-Peter Nilsson - - * gcc.target/cris/torture/sync-reload-mul-1.c: New test. - -2021-02-22 Nathan Sidwell - - PR c++/99174 - * g++.dg/modules/pr99174-1_a.C: New. - * g++.dg/modules/pr99174-1_b.C: New. - * g++.dg/modules/pr99174-1_c.C: New. - * g++.dg/modules/pr99174.H: New. - -2021-02-22 Nathan Sidwell - - PR c++/99153 - * g++.dg/modules/pr99153_a.H: New. - * g++.dg/modules/pr99153_b.H: New. - -2021-02-22 Andre Vieira - - PR rtl-optimization/98791 - * gcc.target/aarch64/sve/pr98791.c: New test. - -2021-02-22 Richard Biener - - PR tree-optimization/99165 - * g++.dg/pr99165.C: New testcase. - -2021-02-21 Harald Anlauf - - * gfortran.dg/intent_optimize_3.f90: New test. - -2021-02-20 David Edelsohn - - * c-c++-common/attr-retain-5.c: Skip on AIX. - * c-c++-common/attr-retain-6.c: Same. - * c-c++-common/attr-retain-7.c: Same. - * c-c++-common/attr-retain-8.c: Same. - * c-c++-common/attr-retain-9.c: Same. - -2021-02-20 Ilya Leoshkevich - - PR target/99134 - * gcc.target/s390/vector/long-double-from-decimal128.c: New test. - * gcc.target/s390/vector/long-double-from-decimal32.c: New test. - * gcc.target/s390/vector/long-double-from-decimal64.c: New test. - * gcc.target/s390/vector/long-double-to-decimal128.c: New test. - * gcc.target/s390/vector/long-double-to-decimal32.c: New test. - * gcc.target/s390/vector/long-double-to-decimal64.c: New test. - -2021-02-19 Nathan Sidwell - - PR c++/98741 - * g++.dg/modules/pr98741_a.H: New. - * g++.dg/modules/pr98741_b.H: New. - * g++.dg/modules/pr98741_c.C: New. - * g++.dg/modules/pr98741_d.C: New. - -2021-02-19 Jerry DeLisle - - PR fortran/98686 - * gfortran.dg/namelist_4.f90: Modify. - * gfortran.dg/namelist_98.f90: New test. - -2021-02-19 Martin Sebor - - PR c/97172 - * gcc.dg/pr97172.c: Add test cases. - -2021-02-19 Nathan Sidwell - - * g++.dg/modules/pr99166_a.X: New. - * g++.dg/modules/pr99166_b.C: New. - * g++.dg/modules/pr99166_c.C: New. - * g++.dg/modules/pr99166_d.C: New. - -2021-02-19 Tobias Burnus - - PR fortran/99010 - * gfortran.dg/coarray/array_temporary-1.f90: New test. - -2021-02-19 Tobias Burnus - - PR fortran/99146 - * gfortran.dg/dtio_36.f90: New test. - -2021-02-19 Richard Biener - - PR middle-end/99122 - * gcc.dg/pr99122-3.c: New testcase. - -2021-02-19 Jakub Jelinek - - PR target/98998 - * gcc.target/arm/pure-code/pr98998.c: New test. - -2021-02-19 Jakub Jelinek - - PR ipa/99034 - * g++.dg/opt/pr99034.C: New test. - -2021-02-19 Tobias Burnus - - PR fortran/99027 - * gfortran.dg/ubound_1.f90: New test. - -2021-02-19 Andre Vieira - - PR target/98657 - * gcc.target/aarch64/sve/pr98657.c: New test. - -2021-02-19 Jason Merrill - - * g++.dg/cpp0x/decltype64.C: Change argument to const&. - -2021-02-19 David Malcolm - - PR jit/99126 - * jit.dg/test-trap.c: New test. - -2021-02-19 Jason Merrill - - PR c++/96926 - * g++.dg/cpp0x/overload4.C: New test. - -2021-02-18 Vladimir N. Makarov - - PR rtl-optimization/96264 - * gcc.target/powerpc/pr96264.c: New. - -2021-02-18 H.J. Lu - - PR target/99113 - * c-c++-common/attr-retain-1.c: New test. - * c-c++-common/attr-retain-2.c: Likewise. - * c-c++-common/attr-retain-3.c: Likewise. - * c-c++-common/attr-retain-4.c: Likewise. - * c-c++-common/attr-retain-5.c: Likewise. - * c-c++-common/attr-retain-6.c: Likewise. - * c-c++-common/attr-retain-7.c: Likewise. - * c-c++-common/attr-retain-8.c: Likewise. - * c-c++-common/attr-retain-9.c: Likewise. - * c-c++-common/pr99113.c: Likewise. - * gcc.c-torture/compile/attr-retain-1.c: Likewise. - * gcc.c-torture/compile/attr-retain-2.c: Likewise. - * c-c++-common/attr-used.c: Don't expect SHF_GNU_RETAIN section. - * c-c++-common/attr-used-2.c: Likewise. - * c-c++-common/attr-used-3.c: Likewise. - * c-c++-common/attr-used-4.c: Likewise. - * c-c++-common/attr-used-9.c: Likewise. - * gcc.c-torture/compile/attr-used-retain-1.c: Likewise. - * gcc.c-torture/compile/attr-used-retain-2.c: Likewise. - * c-c++-common/attr-used-5.c: Don't expect warning for the used - attribute nor SHF_GNU_RETAIN section. - * c-c++-common/attr-used-6.c: Likewise. - * c-c++-common/attr-used-7.c: Likewise. - * c-c++-common/attr-used-8.c: Likewise. - -2021-02-18 Nathan Sidwell - - PR c++/99023 - * g++.dg/modules/modules.exp: Bail on cross-testing. Add support - for .X files. - * g++.dg/modules/pr99023_a.X: New. - * g++.dg/modules/pr99023_b.X: New. - -2021-02-18 Jakub Jelinek - - PR c/99136 - * gcc.dg/pr99136.c: New test. - -2021-02-18 Nathan Sidwell - - PR c++/99023 - * g++.dg/modules/modules.exp: Remove dg-module-headers support - * g++.dg/modules/alias-2_a.H: Delete. - * g++.dg/modules/sys/alias-2_a.H: Delete. - -2021-02-18 Nathan Sidwell - - PR c++/99150 - * g++.dg/modules/pr99023_a.H: Delete. - * g++.dg/modules/pr99023_b.H: Delete. - -2021-02-18 Jakub Jelinek - - PR c++/99132 - * g++.dg/cpp2a/constexpr-virtual18.C: New test. - -2021-02-18 Richard Biener - - PR middle-end/99122 - * gcc.dg/pr99122-1.c: New testcase. - * gcc.dg/pr99122-2.c: Likewise. - -2021-02-18 Hans-Peter Nilsson - - PR tree-optimization/99142 - * gcc.dg/tree-ssa/pr99142.c: New test. - -2021-02-18 Jakub Jelinek - - PR middle-end/99109 - * g++.dg/warn/Warray-bounds-17.C: New test. - -2021-02-18 Jakub Jelinek - - PR target/99104 - * gcc.dg/pr99104.c: New test. - -2021-02-17 David Malcolm - - PR analyzer/94596 - * gcc.dg/analyzer/pr94596.c: New test. - -2021-02-17 Nathan Sidwell - - PR c++/99023 - * g++.dg/modules/pr99023_a.H: New. - * g++.dg/modules/pr99023_b.H: New. - -2021-02-17 David Malcolm - - PR analyzer/98969 - * g++.dg/analyzer/pr99064.C: Convert dg-bogus to dg-warning. - * gcc.dg/analyzer/pr96841.c: Add -Wno-analyzer-too-complex to - options. Remove false leak directive. - * gcc.dg/analyzer/pr98969.c (test_1): Remove xfail from leak - false positive. - (test_3): New. - -2021-02-17 Julian Brown - - * gfortran.dg/goacc/array-with-dt-2.f90: Remove expected errors. - * gfortran.dg/goacc/array-with-dt-6.f90: New test. - * gfortran.dg/goacc/mapping-tests-2.f90: Update expected error. - * gfortran.dg/goacc/ref_inquiry.f90: Update expected errors. - * gfortran.dg/gomp/ref_inquiry.f90: Likewise. - -2021-02-17 Julian Brown - - * gfortran.dg/goacc/array-with-dt-1.f90: New test. - * gfortran.dg/goacc/array-with-dt-3.f90: Likewise. - * gfortran.dg/goacc/array-with-dt-4.f90: Likewise. - * gfortran.dg/goacc/array-with-dt-5.f90: Likewise. - * gfortran.dg/goacc/derived-chartypes-1.f90: Re-enable test. - * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise. - * gfortran.dg/goacc/derived-classtypes-1.f95: Uncomment - previously-broken directives. - -2021-02-17 Jakub Jelinek - - PR sanitizer/99106 - * g++.dg/ubsan/pr99106.C: New test. - -2021-02-17 Nathan Sidwell - - PR c++/99116 - * g++.dg/lookup/pr99116-1.C: New. - * g++.dg/lookup/pr99116-2.C: New. - -2021-02-17 Nathan Sidwell - - PR c++/99071 - * g++.dg/modules/pr99071_a.H: New. - * g++.dg/modules/pr99071_b.H: New. - -2021-02-17 Patrick Palka - - PR debug/96997 - PR c++/94034 - * g++.dg/cpp1y/constexpr-nsdmi7b.C: Adjust expected location of - "call to non-'constexpr' function" error message. - -2021-02-16 Nathan Sidwell - - * g++.dg/modules/pr99050_a.H: New. - * g++.dg/modules/pr99050_b.C: New. - -2021-02-16 Marek Polacek - - PR c++/99062 - * gcc.dg/attr-assume_aligned-4.c: Adjust dg-warning. - * g++.dg/ext/attr-assume-aligned.C: New test. - -2021-02-16 YunQiang Su - - * gcc.target/mips/compact-branches-5.c: Force -fno-PIC. - * gcc.target/mips/compact-branches-6.c: Force -fno-PIC. - -2021-02-16 Tobias Burnus - - * gfortran.dg/goacc/ref_inquiry.f90: New test. - * gfortran.dg/gomp/ref_inquiry.f90: New test. - -2021-02-16 Vladimir N. Makarov - - PR inline-asm/98096 - * gcc.c-torture/compile/pr98096.c: New. - -2021-02-16 Tobias Burnus - - PR fortran/99111 - * gfortran.dg/fmt_nonchar_1.f90: New test. - * gfortran.dg/fmt_nonchar_2.f90: New test. - -2021-02-16 Jakub Jelinek - - PR target/99100 - * gcc.target/i386/pr99100.c: New test. - -2021-02-16 Hans-Peter Nilsson - - * gcc.misc-tests/outputs.exp (outest): Fix typo "is_target". - -2021-02-15 Peter Bergner - - PR rtl-optimization/98872 - * gcc.target/powerpc/pr98872.c: New test. - -2021-02-15 Jakub Jelinek - - PR tree-optimization/99079 - * gcc.dg/fold-modpow2-2.c: New test. - * gcc.c-torture/execute/pr99079.c: New test. - -2021-02-13 Jakub Jelinek - - PR rtl-optimization/98439 - * gcc.target/i386/pr98439.c: New test. - -2021-02-13 Jakub Jelinek - - PR target/96166 - * gcc.target/i386/pr96166.c: New test. - -2021-02-12 Jakub Jelinek - - * gcc.dg/rtl/aarch64/multi-subreg-1.c: Add dg-do compile directive - and restrict the test to aarch64-*-* target only. - -2021-02-12 Nathan Sidwell - - * g++.dg/modules/pr99039_a.C: New. - * g++.dg/modules/pr99039_b.C: New. - -2021-02-12 Nathan Sidwell - - PR c++/99040 - * g++.dg/modules/pr99040_a.C: New. - * g++.dg/modules/pr99040_b.C: New. - * g++.dg/modules/pr99040_c.C: New. - * g++.dg/modules/pr99040_d.C: New. - -2021-02-12 Nathan Sidwell - - PR c++/99039 - PR c++/99040 - * g++.dg/lookup/pr99039.C: New. - -2021-02-12 Steve Kargl - - PR libfortran/95647 - * gfortran.dg/ieee/ieee_12.f90: New test. - -2021-02-12 Richard Sandiford - - * gcc.dg/rtl/aarch64/multi-subreg-1.c: New test. - -2021-02-12 Christophe Lyon - - PR target/98931 - * gcc.target/arm/pr98931.c: Add -mthumb - -2021-02-12 Tobias Burnus - - PR fortran/99043 - * gfortran.dg/assumed_rank_20.f90: New test. - -2021-02-12 Jakub Jelinek - - PR c++/97742 - * g++.dg/cpp2a/concepts-requires24.C: New test. - -2021-02-12 Jason Merrill - - PR c++/97246 - * g++.dg/cpp2a/lambda-generic-variadic21.C: New test. - -2021-02-12 David Malcolm - - PR analyzer/98969 - * g++.dg/analyzer/pr99064.C: New test. - * gcc.dg/analyzer/pr98969.c: New test. - -2021-02-11 Marek Polacek - - PR c++/95888 - * g++.dg/template/deduce10.C: New test. - * g++.dg/template/deduce9.C: New test. - -2021-02-11 Peter Bergner - - PR target/99041 - * g++.target/powerpc/pr99041.C: New test. - -2021-02-11 Jakub Jelinek - - PR c++/99033 - * g++.dg/ext/flexary38.C: New test. - -2021-02-11 Marek Polacek - - PR c++/99063 - * g++.dg/cpp0x/variadic-crash6.C: New test. - -2021-02-11 Patrick Palka - - PR c++/97582 - * g++.dg/cpp0x/lambda/lambda-template17.C: New test. - -2021-02-11 Andrea Corallo - - PR target/98931 - * gcc.target/arm/pr98931.c: New testcase. - -2021-02-11 Joel Hutton - - PR tree-optimization/98772 - * gcc.target/aarch64/pr98772.c: New test. - -2021-02-11 Paul Thomas - - PR fortran/98897 - * gfortran.dg/typebound_call_32.f90: New test. - -2021-02-11 Paul Thomas - - PR fortran/99060 - * gfortran.dg/pr99060.f90: New test. - -2021-02-11 Alexandre Oliva - - * gcc.target/arm/simd/vmmla_1.c: Pass -mfpu=auto. - -2021-02-11 Jerry DeLisle - - PR libfortran/98825 - * gfortran.dg/dollar_edit_descriptor_4.f: New test. - -2021-02-10 Martin Sebor - - PR tree-optimization/92879 - * g++.dg/warn/Warray-bounds-16.C: New test. - -2021-02-10 David Malcolm - - PR preprocessor/96391 - * g++.dg/plugin/location-overflow-test-pr96391.c: New test. - * g++.dg/plugin/plugin.exp (plugin_test_list): Add it, - using the location_overflow_plugin.c from gcc.dg/plugin. - -2021-02-10 Jakub Jelinek - - PR c++/99035 - * g++.dg/ext/weak6.C: New test. - -2021-02-10 Jakub Jelinek - - PR target/99025 - * gcc.target/i386/pr99025.c: New test. - -2021-02-10 Jakub Jelinek - - PR c++/98988 - PR c++/99031 - * g++.dg/cpp2a/constexpr-new16.C: New test. - * g++.dg/cpp2a/constexpr-new17.C: New test. - -2021-02-10 Nathan Sidwell - - PR c++/99030 - * g++.dg/lookup/pr99030.C: New. - -2021-02-10 Jakub Jelinek - - PR middle-end/99007 - * g++.dg/gomp/pr99007.C: New test. - * gcc.dg/gomp/pr99007-1.c: New test. - * gcc.dg/gomp/pr99007-2.c: New test. - * gcc.dg/gomp/pr99007-3.c: New test. - -2021-02-10 Julian Brown - - PR fortran/98979 - * gfortran.dg/goacc/array-with-dt-2.f90: Add expected errors. - * gfortran.dg/goacc/derived-chartypes-1.f90: Skip ICEing test. - * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise. - -2021-02-09 David Malcolm - - PR analyzer/98575 - * gcc.dg/analyzer/file-1.c (test_5): New. - * gcc.dg/analyzer/file-3.c: New test. - -2021-02-09 David Malcolm - - PR analyzer/98575 - * gcc.dg/analyzer/explode-1.c: Remove expected leak warning. - * gcc.dg/analyzer/pr94851-2.c: New test. - * gcc.dg/analyzer/pr98575-1.c: New test. - -2021-02-09 Andre Vieira - - * gcc.target/aarch64/asimd-mul-to-shl-sub.c: New test. - -2021-02-09 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vpXXXq.inc: - New test template. - * gcc.target/aarch64/advsimd-intrinsics/vpaddq.c: New test. - -2021-02-09 Nathan Sidwell - - PR c++/98944 - * g++.dg/modules/pr98944_a.C: New. - * g++.dg/modules/pr98944_b.C: New. - * g++.dg/modules/pr98944_c.C: New. - * g++.dg/modules/pr98944_d.C: New. - -2021-02-09 Jakub Jelinek - - PR middle-end/98465 - * g++.dg/warn/Wstringop-overread-1.C: New test. - -2021-02-09 Jason Merrill - - PR c++/96905 - * g++.dg/cpp2a/consteval-expinst1.C: New test. - -2021-02-09 Jason Merrill - - PR c++/98326 - * g++.dg/cpp1y/lambda-generic-empty1.C: New test. - -2021-02-09 Jason Merrill - - PR c++/98994 - * g++.dg/cpp2a/no_unique_address12.C: New test. - -2021-02-08 Nathan Sidwell - - * g++.dg/modules/pr98531-2.h: New. - * g++.dg/modules/pr98531-2_a.H: New. - * g++.dg/modules/pr98531-2_b.C: New. - * g++.dg/modules/pr98531-3.h: New. - * g++.dg/modules/pr98531-3_a.H: New. - * g++.dg/modules/pr98531-3_b.C: New. - -2021-02-08 Nathan Sidwell - - PR c++/98531 - * g++.dg/modules/pr98531-1.h: New. - * g++.dg/modules/pr98531-1_a.H: New. - * g++.dg/modules/pr98531-1_b.C: New. - * g++.dg/abi/pr98531-1.C: New. - * g++.dg/abi/pr98531-2.C: New. - * g++.dg/abi/pr98531-3.C: New. - * g++.dg/abi/pr98531-4.C: New. - -2021-02-08 Andre Vieira - - PR middle-end/98974 - * gfortran.dg/pr98974.F90: New test. - -2021-02-08 Richard Biener - - PR lto/96591 - * g++.dg/lto/pr96591_0.C: New testcase. - -2021-02-05 Marek Polacek - - PR c++/98947 - * g++.dg/cpp2a/volatile5.C: New test. - -2021-02-05 Marek Polacek - - PR c++/96462 - * g++.dg/cpp2a/using-enum-8.C: New test. - -2021-02-05 Nathan Sidwell - - PR driver/98943 - * c-c++-common/pr98943.c: New. - -2021-02-05 Richard Biener - - PR tree-optimization/98855 - * g++.dg/vect/slp-pr98855.cc: New testcase. - -2021-02-05 Jakub Jelinek - - PR c++/97878 - * g++.dg/cpp1z/decomp54.C: New test. - -2021-02-05 liuhongt - - PR target/98537 - * g++.target/i386/avx512bw-pr98537-1.C: New test. - * g++.target/i386/avx512vl-pr98537-1.C: New test. - * g++.target/i386/avx512vl-pr98537-2.C: New test. - * gcc.target/i386/avx512vl-pr88547-1.c: Adjust testcase, - integer mask comparison should not be generated. - * gcc.target/i386/avx512vl-pr92686-vpcmp-1.c: Remove. - * gcc.target/i386/avx512vl-pr92686-vpcmp-2.c: Ditto. - * gcc.target/i386/avx512vl-pr92686-vpcmp-intelasm-1.c: Ditto. - -2021-02-04 Julian Brown - - * gfortran.dg/goacc/derived-chartypes-1.f90: New test. - * gfortran.dg/goacc/derived-chartypes-2.f90: Likewise. - * gfortran.dg/goacc/derived-chartypes-3.f90: Likewise. - * gfortran.dg/goacc/derived-chartypes-4.f90: Likewise. - -2021-02-04 Julian Brown - - * gfortran.dg/goacc/array-with-dt-2.f90: New test. - -2021-02-04 Julian Brown - - * gfortran.dg/goacc/derived-classtypes-1.f95: New test. - -2021-02-04 Jakub Jelinek - - PR testsuite/98325 - * lib/scanasm.exp (dg-scan-symbol-section): For powerpc*-*-* targets if - $section is .opd, look at .L.$symbol_name's section. - (parse_section_section_of_symbols): Handle .previous directive. - * gcc.dg/array-quals-1.c: Allow .sdata section. - -2021-02-04 Iain Buclaw - - * gdc.dg/intrinsics.d: Update test. - -2021-02-04 Martin Sebor - - PR c/97882 - * gcc.dg/decl-8.c: Adjust text of expected diagnostic. - * gcc.dg/label-decl-4.c: Same. - * gcc.dg/mismatch-decl-1.c: Same. - * gcc.dg/old-style-then-proto-1.c: Same. - * gcc.dg/parm-mismatch-1.c: Same. - * gcc.dg/pr35445.c: Same. - * gcc.dg/redecl-11.c: Same. - * gcc.dg/redecl-12.c: Same. - * gcc.dg/redecl-13.c: Same. - * gcc.dg/redecl-15.c: Same. - * gcc.dg/tls/thr-init-1.c: Same. - * objc.dg/id-1.m: Same. - * objc.dg/tls/diag-3.m: Same. - * gcc.dg/pr97882.c: New test. - * gcc.dg/qual-return-7.c: New test. - * gcc.dg/qual-return-8.c: New test. - -2021-02-04 Jason Merrill - - PR c++/98717 - * g++.dg/cpp2a/concepts-variadic3.C: New test. - -2021-02-04 David Malcolm - - PR c/97932 - * gcc.dg/pr97932.c: New test. - -2021-02-04 emsr <3dw4rd@verizon.net> - - * g++.dg/cpp23/feat-cxx2b.C: __cpp_size_t_suffix == 202011. - -2021-02-04 Jakub Jelinek - - * g++.dg/warn/Wsize_t-literals.C: Expect make_signed_t instead - of make_signed::type in the diagnostics. - -2021-02-04 Tom Greenslade (thomgree) - - PR c++/90926 - * g++.dg/cpp1y/nsdmi-aggr12.C: New test. - -2021-02-04 Tobias Burnus - - * gfortran.dg/goacc/substring.f90: New test. - * gfortran.dg/gomp/substring.f90: New test. - -2021-02-04 Martin Liska - - * gcc.target/i386/prefer-vector-width-attr.c: New test. - -2021-02-04 Jason Merrill - - PR c++/98802 - * g++.dg/cpp1z/class-deduction78.C: New test. - -2021-02-04 Jason Merrill - - PR c++/95192 - * g++.dg/cpp0x/pr84630.C: Call b(). - * g++.dg/cpp2a/lambda-uneval13.C: New test. - * g++.dg/ext/attr-expr1.C: New test. - -2021-02-03 Jakub Jelinek - - PR preprocessor/98882 - * gcc.dg/cpp/pr98882.c: New test. - -2021-02-03 Jason Merrill - - * g++.dg/cpp0x/alias-decl-dr1558.C: Pass --param - hash-table-verification-limit=10000. - -2021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net> - - * g++.dg/cpp0x/udlit-shadow-neg.C: Test for 'z' and 'zu' shadowing. - * g++.dg/cpp23/feat-cxx2b.C: New test. - * g++.dg/cpp23/size_t-literals.C: New test. - * g++.dg/warn/Wsize_t-literals.C: New test. - -2021-02-03 Jakub Jelinek - - PR c++/97804 - * g++.dg/cpp2a/no_unique_address11.C: New test. - -2021-02-03 Marek Polacek - - PR c++/98899 - * g++.dg/cpp0x/noexcept65.C: New test. - -2021-02-03 Tobias Burnus - - PR fortran/98913 - * gfortran.dg/coarray/array_temporary.f90: New test. - -2021-02-03 Jakub Jelinek - - PR middle-end/97487 - * gcc.dg/pr97487-1.c: New test. - * gcc.dg/pr97487-2.c: New test. - -2021-02-03 Jakub Jelinek - - PR middle-end/97971 - * gcc.target/i386/pr97971.c: New test. - -2021-02-03 Jakub Jelinek - - PR tree-optimization/98287 - * gcc.dg/pr98287.c: New test. - -2021-02-03 Tamar Christina - - PR tree-optimization/98928 - * gcc.target/i386/pr98928.c: New test. - -2021-02-02 Martin Liska - - PR target/97510 - * gcc.target/i386/pr97510.c: New test. - -2021-02-02 Jason Merrill - - PR c++/98929 - * g++.dg/cpp1z/class-deduction-decltype1.C: New test. - -2021-02-02 Kyrylo Tkachov - - * gcc.target/aarch64/narrow_high-intrinsics.c: Adjust sqxtun2 scan. - -2021-02-02 Paul Thomas - - PR fortran/91862 - * gfortran.dg/pr91862.f90: New test. - -2021-02-02 Kyrylo Tkachov - - * gcc.target/aarch64/arg-type-diagnostics-1.c: Return result from foo. - -2021-02-02 Jakub Jelinek - - PR tree-optimization/98848 - * gcc.dg/vect/pr98848.c: New test. - * gcc.dg/vect/pr92205.c: Remove xfail. - -2021-02-02 Jakub Jelinek - - PR tree-optimization/97960 - * g++.dg/torture/pr97960.C: New test. - -2021-02-02 Kito Cheng - - PR target/98743 - * g++.dg/opt/pr98743.C: New. - -2021-02-02 Christophe Lyon - - * gcc.target/arm/simd/mve-vorn.c: Add vorn tests. - -2021-02-02 Alexandre Oliva - - * gcc.dg/asan/nested-1.c: New. - -2021-02-02 David Malcolm - - PR analyzer/93355 - PR analyzer/96374 - * gcc.dg/analyzer/conditionals-3.c: Add "__analyzer_" - prefix to support subroutines where necessary. - * gcc.dg/analyzer/data-model-1.c: Likewise. - * gcc.dg/analyzer/feasibility-1.c (called_by_test_6a): New. - (test_6a): New. - * gcc.dg/analyzer/params.c: Add "__analyzer_" prefix to support - subroutines where necessary. - * gcc.dg/analyzer/pr96651-2.c: Likewise. - * gcc.dg/analyzer/signal-4b.c: Likewise. - * gcc.dg/analyzer/single-field.c: Likewise. - * gcc.dg/analyzer/torture/conditionals-2.c: Likewise. - -2021-02-02 David Malcolm - - PR analyzer/93355 - PR analyzer/96374 - * gcc.dg/analyzer/pr93355-localealias-feasibility-2.c: New test. - * gcc.dg/analyzer/pr93355-localealias-feasibility-3.c: New test. - -2021-02-01 Kyrylo Tkachov - - * gcc.target/aarch64/narrow_high-intrinsics.c: Adjust rshrn2 - assembly scan. - -2021-02-01 David Malcolm - - PR analyzer/98918 - * gcc.dg/analyzer/pr98918.c: New test. - -2021-02-01 Sergei Trofimovich - - PR tree-optimization/98499 - * g++.dg/pr98499.C: new test. - -2021-02-01 Kyrylo Tkachov - - * gcc.target/aarch64/simd/vmovl_high_1.c: New test. - -2021-02-01 Martin Sebor - - PR middle-end/97172 - * gcc.dg/pr97172.c: New test. - -2021-02-01 Martin Sebor - - PR c++/98835 - * g++.dg/Wclass-memaccess-6.C: New test. - -2021-02-01 Patrick Palka - - PR c++/98295 - * g++.dg/cpp0x/constexpr-98295.C: New test. - -2021-02-01 Marek Polacek - - PR c++/98355 - * g++.dg/ext/builtin-has-attribute2.C: New test. - -2021-02-01 Jason Merrill - - PR c++/98570 - * g++.dg/cpp0x/alias-decl-targ1.C: New test. - -2021-02-01 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high.inc: - New test template. - * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high_lane.inc: - New test template. - * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high_laneq.inc: - New test template. - * gcc.target/aarch64/advsimd-intrinsics/vmlXl_high_n.inc: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlal_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlal_high_lane.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlal_high_laneq.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlal_high_n.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high_lane.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high_laneq.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmlsl_high_n.c: - New test. - -2021-02-01 Jonathan Wright - - * gcc.target/aarch64/advsimd-intrinsics/vmull_high.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmull_high_lane.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmull_high_laneq.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vmull_high_n.c: - New test. - -2021-02-01 Tamar Christina - - * gcc.target/aarch64/advsimd-intrinsics/smlal-smlsl-mull-optimized.c: New test. - -2021-02-01 Patrick Palka - - PR c++/84494 - * g++.dg/cpp1y/constexpr-84494.C: New test. - -2021-02-01 Xing GUO - - * gcc.target/riscv/attribute-18.c: Add -mriscv-attribute option. - -2021-02-01 Xionghu Luo - - * gcc.target/powerpc/pr79251.p8.c: Update store count regex. - * gcc.target/powerpc/pr79251.p9.c: Likewise. - -2021-01-31 Iain Sandoe - - * c-c++-common/attr-used-5.c: Skip for Darwin. - * c-c++-common/attr-used-6.c: Likewise. - * c-c++-common/attr-used-7.c: Likewise. - * c-c++-common/attr-used-8.c: Likewise. - * c-c++-common/attr-used-9.c: Likewise. - -2021-01-30 David Edelsohn - - * gcc.target/powerpc/pr79251.p8.c: Update ilp32 store counts. - * gcc.target/powerpc/pr79251.p9.c: Same. - -2021-01-30 Jakub Jelinek - - * gcc.target/i386/20051216-1.c: New test. - -2021-01-30 Jakub Jelinek - - PR testsuite/98243 - * gcc.dg/gomp/simd-2.c: Add -msse2 on x86. Restrict - scan-tree-dump-times to x86 and aarch64 targets. - * gcc.dg/gomp/simd-3.c: Likewise. - -2021-01-29 Michael Meissner - - PR testsuite/98870 - * gcc.target/powerpc/ppc-fortran/ieee128-math.f90: Fix the - expected result. - -2021-01-29 Will Schmidt - - * gcc.target/powerpc/pr91903.c: Fix dg-require stanza. - -2021-01-29 Vladimir N. Makarov - - PR target/97701 - * gcc.target/aarch64/pr97701.c: Modify. - -2021-01-29 David Malcolm - - * gcc.dg/analyzer/combined-conditionals-1.c: New test. - -2021-01-29 Vladimir N. Makarov - - PR target/97701 - * gcc.target/aarch64/pr97701.c: New. - -2021-01-29 Will Schmidt - - * gcc.target/powerpc/pr91903.c: New test. - * gcc.target/powerpc/builtins-1.fold.h: Update. - * gcc.target/powerpc/builtins-2.c: Update. - -2021-01-29 Nathan Sidwell - - PR c++/98843 - * g++.dg/modules/pr98843_a.C: New. - * g++.dg/modules/pr98843_b.H: New. - * g++.dg/modules/pr98843_c.C: New. - -2021-01-29 Kyrylo Tkachov - - * gcc.target/aarch64/simd/vaddlv_1.c: New test. - -2021-01-29 Bin Cheng - Richard Biener - - PR tree-optimization/97627 - * g++.dg/pr97627.C: New testcase. - -2021-01-29 Jakub Jelinek - - PR target/98849 - * gcc.c-torture/compile/pr98849.c: New test. - -2021-01-29 Jakub Jelinek - - PR debug/98331 - * gcc.dg/pr98331.c: New test. - -2021-01-29 Xionghu Luo - - * gcc.target/powerpc/pr79251.p8.c: Move TEST_VEC_INSERT_ALL - to ... - * gcc.target/powerpc/pr79251.h: ...this. - * gcc.target/powerpc/pr79251.p9.c: Likewise. - * gcc.target/powerpc/pr79251-run.c: Move run_test to pr79251.h. - Rename to... - * gcc.target/powerpc/pr79251-run.p8.c: ...this. - * gcc.target/powerpc/pr79251-run.p9.c: New test. - -2021-01-29 Marek Polacek - - PR c++/96137 - * g++.dg/parse/error63.C: New test. - -2021-01-28 Jakub Jelinek - - PR c++/98841 - * g++.dg/warn/effc5.C: New test. - -2021-01-28 Marek Polacek - - PR c++/94775 - * g++.dg/cpp0x/alignas19.C: New test. - * g++.dg/warn/Warray-bounds15.C: New test. - -2021-01-28 Christophe Lyon - - PR target/98730 - * gcc.target/arm/simd/vceqzq_p64.c: Update expected result. - -2021-01-28 David Edelsohn - - * gfortran.dg/ISO_Fortran_binding_18.c: Include - ../../../libgfortran/ISO_Fortran_binding.h rather than - ISO_Fortran_binding.h. - -2021-01-28 Michael Meissner - - * gcc.target/powerpc/float128-longdouble-math.c: New test. - * gcc.target/powerpc/float128-longdouble-stdio.c: New test. - * gcc.target/powerpc/float128-math.c: Adjust test for new name - being generated. Add support for running test on power10. Add - support for running if long double defaults to 64-bits. - -2021-01-28 Jakub Jelinek - - PR c++/33661 - PR c++/98847 - * g++.target/i386/pr98847.C: New test. - -2021-01-28 Kyrylo Tkachov - - * gcc.target/aarch64/narrow_high-intrinsics.c: Fix shrn2 scan. - -2021-01-28 Nathan Sidwell - - PR c++/98770 - * g++.dg/modules/pr98770_a.C: New. - * g++.dg/modules/pr98770_b.C: New. - -2021-01-28 Harald Anlauf - - PR fortran/86470 - * gfortran.dg/gomp/pr86470.f90: New test. - -2021-01-28 Xionghu Luo - - PR target/98827 - * gcc.target/powerpc/fold-vec-insert-char-p8.c: Adjust ilp32. - * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-double.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. - * gcc.target/powerpc/pr79251.p8.c: Likewise. - * gcc.target/powerpc/pr79251.p9.c: Likewise. - * gcc.target/powerpc/vsx-builtin-7.c: Likewise. - * gcc.target/powerpc/pr79251-run.c: Build and run with vsx - option. - -2021-01-28 Xing GUO - - * gcc.target/riscv/attribute-18.c: New test. - -2021-01-27 Harris Snyder - - * gfortran.dg/ISO_Fortran_binding_18.c: New test. - * gfortran.dg/ISO_Fortran_binding_18.f90: New test. - -2021-01-27 Vladimir N. Makarov - - PR rtl-optimization/97684 - * gcc.target/i386/pr97684.c: New. - -2021-01-27 Jason Merrill - - PR c++/97874 - * g++.dg/lookup/using4.C: No error in C++20. - * g++.dg/cpp0x/decltype37.C: Adjust message. - * g++.dg/template/crash75.C: Adjust message. - * g++.dg/template/crash76.C: Adjust message. - * g++.dg/cpp0x/inh-ctor36.C: New test. - * g++.dg/cpp1z/inh-ctor39.C: New test. - * g++.dg/cpp2a/using-enum-7.C: New test. - -2021-01-27 Jakub Jelinek - - PR target/98853 - * gcc.c-torture/execute/pr98853-1.c: New test. - * gcc.c-torture/execute/pr98853-2.c: New test. - -2021-01-27 Richard Biener - - PR tree-optimization/98854 - * gcc.dg/vect/bb-slp-pr98854.c: New testcase. - -2021-01-27 Paul Thomas - - PR fortran/93924 - PR fortran/93925 - * gfortran.dg/proc_ptr_52.f90 : New test. - -2021-01-27 liuhongt - - PR target/98833 - * gcc.target/i386/pr98833.c: New test. - -2021-01-27 Jakub Jelinek - - * gcc.target/i386/m128-check.h (CHECK_EXP): Remove - optimize ("no-strict-aliasing") attribute. - * gcc.target/i386/sse-andnps-1.c (TEST): Copy e into float[4] - array to avoid violating TBAA. - * gcc.target/i386/sse2-andpd-1.c (TEST): Copy e.d into double[2] - array to avoid violating TBAA. - * gcc.target/i386/sse-andps-1.c (TEST): Copy e.f into float[4] - array to avoid violating TBAA. - * gcc.target/i386/sse2-andnpd-1.c (TEST): Copy e into double[2] - array to avoid violating TBAA. - -2021-01-27 Paul Thomas - - PR fortran/98472 - * gfortran.dg/elemental_function_5.f90 : New test. - -2021-01-27 Jakub Jelinek - - PR tree-optimization/97260 - * gcc.dg/tree-ssa/pr97260.c: New test. - -2021-01-26 Paul Fee - - * lib/target-supports.exp (check_effective_target_c++2a): - Check for C++2a or C++23. - (check_effective_target_c++20_down): New. - (check_effective_target_c++23_only): New. - (check_effective_target_c++23): New. - * g++.dg/cpp23/cplusplus.C: New. - -2021-01-26 Jason Merrill - - PR c++/97474 - * g++.dg/torture/pr97474.C: New test. - -2021-01-26 Jason Merrill - - PR c++/97566 - * g++.dg/cpp2a/no_unique_address10.C: New test. - * g++.dg/cpp2a/no_unique_address9.C: New test. - -2021-01-26 Jakub Jelinek - - * gcc.target/powerpc/m128-check.h (CHECK_EXP): Remove - optimize ("no-strict-aliasing") attribute. - * gcc.target/powerpc/sse-andnps-1.c (TEST): Copy e into float[4] - array to avoid violating TBAA. - * gcc.target/powerpc/sse2-andpd-1.c (TEST): Copy e.d into double[2] - array to avoid violating TBAA. - * gcc.target/powerpc/sse-andps-1.c (TEST): Copy e.f into float[4] - array to avoid violating TBAA. - * gcc.target/powerpc/sse2-andnpd-1.c (TEST): Copy e into double[2] - array to avoid violating TBAA. - -2021-01-26 Jakub Jelinek - - PR target/98681 - * gcc.c-torture/execute/pr98681.c: New test. - -2021-01-26 Thomas Koenig - - PR fortran/67539 - * gfortran.dg/elemental_assignment_1.f90: New test. - -2021-01-26 Tobias Burnus - - * g++.dg/modules/modules.exp: Remove unused CXX_MODULE_PATH; - add previously missing space in '$ident link'. - -2021-01-26 Jakub Jelinek - - PR middle-end/98807 - * gcc.dg/pr98807.c: Add -Wno-psabi -w to dg-options. - -2021-01-26 Alexandre Oliva - - * gnat.dg/asan1.adb: New test. - * gnat.dg/asan1_pkg.ads: New additional source. - -2021-01-25 Harald Anlauf - - PR fortran/70070 - * gfortran.dg/pr70070.f90: New test. - -2021-01-25 Martin Sebor - - PR c++/98646 - * g++.dg/warn/Wnonnull5.C: Adjust text of an expected warning. - * g++.dg/warn/Wnonnull10.C: New test. - * g++.dg/warn/Wnonnull9.C: New test. - -2021-01-25 Thomas Koenig - - * gfortran.dg/associate_57.f90: New test. - -2021-01-25 Thomas Koenig - - PR fortran/96843 - * gfortran.dg/interface_assignment_7.f90: New test. - -2021-01-25 Jason Merrill - - PR c++/98463 - * g++.dg/cpp2a/no_unique_address8.C: New test. - -2021-01-25 Richard Biener - - PR middle-end/98807 - * gcc.dg/pr98807.c: New testcase. - -2021-01-25 Eric Botcazou - - * gnat.dg/thunk2.adb, gnat.dg/thunk2.ads: New test. - * gnat.dg/thunk2_pkg.ads: New helper. - -2021-01-25 Steve Kargl - - PR fortran/98517 - * gfortran.dg/charlen_18.f90 : New test. - -2021-01-23 Anthony Sharp - - * g++.dg/lookup/scoped1.C: Modified testcase to run successfully - with changes. - * g++.dg/tc1/dr142.C: Same as above. - * g++.dg/tc1/dr52.C: Same as above. - * g++.old-deja/g++.brendan/visibility6.C: Same as above. - * g++.old-deja/g++.brendan/visibility8.C: Same as above. - * g++.old-deja/g++.jason/access8.C: Same as above. - * g++.old-deja/g++.law/access4.C: Same as above. - * g++.old-deja/g++.law/visibility12.C: Same as above. - * g++.old-deja/g++.law/visibility4.C: Same as above. - * g++.old-deja/g++.law/visibility8.C: Same as above. - * g++.old-deja/g++.other/access4.C: Same as above. - -2021-01-23 Patrick Palka - - PR c++/88548 - PR c++/97399 - * g++.dg/cpp0x/this2.C: New test. - * g++.dg/template/pr97399.C: New test. - -2021-01-23 David Edelsohn - - * gcc.target/powerpc/fold-vec-insert-char-p9.c: Adjust ilp32. - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Same. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Same. - * gcc.target/powerpc/fold-vec-insert-longlong.c: Same. - * gcc.target/powerpc/fold-vec-insert-short-p9.c: Same. - * gcc.target/powerpc/pr79251.p9.c: Same. - -2021-01-22 Marek Polacek - - PR c++/96623 - * g++.dg/cpp0x/noexcept64.C: New test. - -2021-01-22 David Edelsohn - - * g++.dg/eh/spbp.C: Remove skip on AIX. - -2021-01-22 Jakub Jelinek - - * gcc.target/powerpc/m128-check.h (CHECK_EXP, CHECK_FP_EXP): Fix a - typo, UINON_TYPE to UNION_TYPE. - -2021-01-22 Jakub Jelinek - - * gcc.target/i386/m128-check.h (CHECK_EXP, CHECK_FP_EXP): Fix a typo, - UINON_TYPE to UNION_TYPE. - * gcc.target/i386/m256-check.h (CHECK_FP_EXP): Likewise. - * gcc.target/i386/m512-check.h (CHECK_ROUGH_EXP): Likewise. - -2021-01-22 Jakub Jelinek - - * gcc.target/powerpc/m128-check.h (check_##UINON_TYPE): Add - optimize ("no-strict-aliasing") attribute. - -2021-01-22 Jason Merrill - - PR c++/98744 - * g++.dg/init/elide7.C: New test. - -2021-01-22 Jakub Jelinek - - PR sanitizer/95693 - * g++.dg/ubsan/pr95693.C: New test. - -2021-01-22 Marek Polacek - - PR c++/98545 - * g++.dg/abi/mangle76.C: New test. - -2021-01-22 Paul Thomas - - PR fortran/98565 - * gfortran.dg/associated_target_7.f90 : New test. - -2021-01-22 Martin Jambor - - PR tree-optimization/47059 - * gcc.dg/tree-ssa/pr47059.c: New test. - -2021-01-22 Kyrylo Tkachov - - PR tree-optimization/98766 - * gcc.dg/pr98766.c: New test. - -2021-01-22 Nathan Sidwell - - PR testsuite/98795 - * g++.dg/modules/modules.exp (module_cmi_p): Avoid - embedded absolute paths. - (module_do_it): Append $std to test name. - -2021-01-22 Richard Biener - - PR middle-end/98793 - * gcc.dg/pr98793.c: New testcase. - -2021-01-22 Xionghu Luo - - * gcc.target/powerpc/pr79251.p8.c: New test. - * gcc.target/powerpc/fold-vec-insert-char-p8.c: Adjust - instruction counts. - * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-double.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. - * gcc.target/powerpc/vsx-builtin-7.c: Likewise. - -2021-01-22 Xionghu Luo - - * gcc.target/powerpc/pr79251.p9.c: New test. - * gcc.target/powerpc/pr79251-run.c: New test. - * gcc.target/powerpc/pr79251.h: New header. - -2021-01-22 Richard Biener - - PR middle-end/98773 - * gcc.dg/torture/pr98773.c: New testcase. - -2021-01-22 Jakub Jelinek - - PR tree-optimization/90248 - * gcc.dg/tree-ssa/copy-sign-1.c: Don't expect any copysign - builtins. - * gcc.dg/pr90248.c: New test. - -2021-01-22 Jakub Jelinek - - PR tree-optimization/98255 - * gcc.dg/pr98255.c: New test. - -2021-01-22 Richard Biener - - PR tree-optimization/98786 - * gcc.dg/torture/pr98786.c: New testcase. - -2021-01-22 Prathamesh Kulkarni - - PR target/98636 - * gcc.target/arm/pr98636.c: New test. - -2021-01-22 liuhongt - - PR target/96891 - PR target/98348 - * gcc.target/i386/avx512bw-pr96891-1.c: New test. - * gcc.target/i386/avx512f-pr96891-1.c: New test. - * gcc.target/i386/avx512f-pr96891-2.c: New test. - * gcc.target/i386/avx512f-pr96891-3.c: New test. - * g++.target/i386/avx512f-pr96891-1.C: New test. - * gcc.target/i386/bitwise_mask_op-3.c: Adjust testcase. - -2021-01-22 Marek Polacek - - PR c++/97966 - * g++.dg/cpp0x/noexcept63.C: New test. - -2021-01-21 David Edelsohn - - * g++.dg/cpp2a/lambda-uneval1.C: Ignore preceding "l" and - intervening period. - * g++.dg/cpp2a/lambda-uneval5.C: Ignore preceding "l" and - explicitly check for intervening space, tab or period. - -2021-01-21 Vladimir N. Makarov - - PR rtl-optimization/98777 - * gcc.target/riscv/pr98777.c: New. - -2021-01-21 Patrick Palka - - PR c++/71879 - * g++.dg/cpp0x/decltype-71879.C: New test. - -2021-01-21 Jakub Jelinek - - PR c++/98672 - * g++.dg/cpp1y/constexpr-98672.C: New test. - -2021-01-21 Andrea Corallo - - PR target/96372 - * lib/target-supports.exp - (check_effective_target_arm_thumb2_no_arm_v8_1_lob): Define proc. - * gcc.target/arm/ivopts.c: Use target - 'arm_thumb2_no_arm_v8_1_lob'. - -2021-01-21 Nathan Sidwell - - PR c++/98530 - * g++.dg/modules/stat-mem-1.h: New. - * g++.dg/modules/stat-mem-1_a.H: New. - * g++.dg/modules/stat-mem-1_b.C: New. - -2021-01-21 Paul Thomas - - PR fortran/96320 - * gfortran.dg/module_procedure_5.f90 : New test. - * gfortran.dg/module_procedure_6.f90 : New test. - -2021-01-21 Richard Biener - - PR testsuite/97299 - * gcc.dg/vect/slp-reduc-3.c: Amend target selectors. - -2021-01-21 Richard Biener - - PR testsuite/98241 - * gcc.dg/pr78973.c: Remove ilp32 XFAIL. - -2021-01-21 Richard Biener - - * gcc.dg/Walloca-2.c: Un-XFAIL. - -2021-01-21 liuhongt - - PR rtl-optimization/98694 - * gcc.target/i386/pr98694.c: New test. - -2021-01-20 Andrew MacLeod - - * gcc.dg/torture/ftrapv-2.c: Make overflow instruction unremovable. - -2021-01-20 Kyrylo Tkachov - - * gcc.target/aarch64/vdup_lane_2.c: Scan for fmov rather than - dup. - -2021-01-20 Vladimir N. Makarov - - PR rtl-optimization/98722 - * g++.target/s390/pr98722.C: New. - -2021-01-20 Eugene Rozenfeld - - PR tree-optimization/96674 - * gcc.dg/pr96674.c: New tests. - -2021-01-20 Patrick Palka - - PR c++/95434 - * g++.dg/cpp2a/lambda-generic9.C: New test. - -2021-01-20 Patrick Palka - - PR c++/82613 - * g++.dg/parse/access12.C: New test. - * g++.dg/template/access35.C: New test. - -2021-01-20 Richard Sandiford - - PR tree-optimization/98535 - * gcc.target/aarch64/sve/pr98535.c: New file. - -2021-01-20 Tobias Burnus - - PR fortran/98763 - * gfortran.dg/gomp/task-detach-1.f90: Use integer(1) to avoid - missing diagnostic issues with c_intptr_t == default integer kind. - -2021-01-20 Jakub Jelinek - - PR tree-optimization/98721 - * gcc.dg/pr98721-1.c: New test. - * gcc.dg/pr98721-2.c: New test. - -2021-01-20 Richard Biener - - PR tree-optimization/98758 - * gcc.dg/torture/pr98758.c: New testcase. - -2021-01-20 Jakub Jelinek - - PR c++/98742 - * c-c++-common/gomp/task-detach-2.c: New test. - -2021-01-20 Tobias Burnus - - PR fortran/98757 - PR fortran/98476 - * gfortran.dg/gomp/is_device_ptr-2.f90: Fix dg-error. - -2021-01-19 David Edelsohn - - * gcc.dg/cpp/ucs.c: Expect Invalid warning for 2byte wchar. - * gcc.dg/debug/dwarf2/inline6.c: Remove skip AIX. - * gcc.dg/debug/dwarf2/lang-c11.c: Remove skip AIX. - * gcc.dg/debug/dwarf2/pr41445-7.c: Remove skip AIX. - * gcc.dg/debug/dwarf2/pr41445-8.c: Remove skip AIX. - * gcc.dg/tree-ssa/builtin-sprintf-warn-20.c: Require 4byte wchar. - -2021-01-19 Marek Polacek - - PR c++/98659 - * g++.dg/template/deduce8.C: New test. - -2021-01-19 Marek Polacek - - PR c++/98687 - * g++.dg/lookup/using64.C: New test. - * g++.dg/lookup/using65.C: New test. - -2021-01-19 Martin Sebor - - PR middle-end/98664 - * gcc.dg/Wvla-larger-than-4.c: Adjust expected output. - * gcc.dg/plugin/diagnostic-test-inlining-3.c: Same. - * g++.dg/warn/Wfree-nonheap-object-5.C: New test. - * gcc.dg/Wfree-nonheap-object-4.c: New test. - -2021-01-19 Patrick Palka - - PR c++/41437 - PR c++/58993 - * g++.dg/opt/pr87974.C: Adjust. - * g++.dg/template/access34.C: New test. - * g++.dg/template/friend68.C: New test. - * g++.dg/template/friend69.C: New test. - -2021-01-19 Marek Polacek - - PR c++/98333 - * g++.dg/cpp0x/noexcept62.C: New test. - -2021-01-19 Will Schmidt - - * gcc.target/powerpc/pr88233.c: Update dg- stanzas. - -2021-01-19 Kyrylo Tkachov - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h - (CHECK_CUMULATIVE_SAT): Delete. - (CHECK_CUMULATIVE_SAT_NAMED): Likewise. Deleted related - variables. - * gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: - Remove uses of the above. - * gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqmovn.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqmovun.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_lane.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrdmulh_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshl_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshlu_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshrn_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshrun_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise. - -2021-01-19 Jeff Law - - * gcc.dg/debug/dwarf2/dwarf-float.c: Force dwarf-4 generation - and update expected output. - -2021-01-19 Richard Biener - - PR ipa/98330 - * g++.dg/pr98330.C: New testcase. - * gcc.dg/pr98330.c: Likewise. - -2021-01-19 Richard Biener - - PR ipa/97673 - * gfortran.dg/pr97673.f90: New testcase. - -2021-01-19 Tobias Burnus - - PR fortran/98476 - * gfortran.dg/gomp/map-3.f90: Update expected scan-dump-tree. - * gfortran.dg/gomp/is_device_ptr-2.f90: New test. - * gfortran.dg/gomp/use_device_ptr-1.f90: New test. - -2021-01-19 Martin Jambor - - PR ipa/98690 - * g++.dg/ipa/pr98690.C: New test. - -2021-01-18 Jeff Law - - * gcc.dg/debug/dwarf2/pr41445-7.c: Fix expected output. - -2021-01-18 Patrick Palka - - * g++.dg/cpp1z/class-deduction77.C: New test. - -2021-01-18 Jakub Jelinek - - PR tree-optimization/98727 - * gcc.c-torture/execute/pr98727.c: New test. - -2021-01-18 John David Anglin - - PR testsuite/97987 - * gcc.c-torture/compile/asmgoto-2.c: Skip on hppa. - * gcc.c-torture/compile/asmgoto-5.c: Likewise. - -2021-01-18 John David Anglin - - * g++.dg/no-stack-protector-attr-3.C: Don't compile on hppa*-*-*. - * g++.dg/no-stack-protector-attr.C: Likewise. - -2021-01-18 David Malcolm - - * gcc.dg/analyzer/attr-malloc-1.c: New test. - * gcc.dg/analyzer/attr-malloc-2.c: New test. - * gcc.dg/analyzer/attr-malloc-4.c: New test. - * gcc.dg/analyzer/attr-malloc-5.c: New test. - * gcc.dg/analyzer/attr-malloc-6.c: New test. - * gcc.dg/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: New test. - * gcc.dg/analyzer/attr-malloc-misuses.c: New test. - -2021-01-18 Richard Biener - - PR testsuite/97494 - * gcc.dg/vect/slp-11b.c: Adjust. - -2021-01-18 Christophe Lyon - - PR target/71233 - * gcc.target/arm/simd/vceqz_p64.c: Use arm_crypto options. - * gcc.target/arm/simd/vceqzq_p64.c: Likewise. - -2021-01-18 Richard Biener - - PR testsuite/97299 - * gcc.dg/vect/slp-reduc-3.c: Guard VEC_PERM_EXPR scan. - -2021-01-18 David Edelsohn - - * gcc.target/powerpc/fold-vec-extract-char.p7.c: Adjust addi count. - * gcc.target/powerpc/fold-vec-extract-double.p7.c: Same. - * gcc.target/powerpc/fold-vec-extract-float.p7.c: Same. - * gcc.target/powerpc/fold-vec-extract-float.p8.c: Same. - * gcc.target/powerpc/fold-vec-extract-int.p7.c: Same. - * gcc.target/powerpc/fold-vec-extract-int.p8.c: Same. - * gcc.target/powerpc/fold-vec-extract-short.p7.c: Same. - * gcc.target/powerpc/fold-vec-extract-short.p8.c: Same. - * gcc.target/powerpc/sse-andnps-1.c: Restrict to LE. - * gcc.target/powerpc/sse-movhps-1.c: Restrict to LE. - * gcc.target/powerpc/sse-movlps-1.c: Restrict to LE. - * gcc.target/powerpc/sse2-andnpd-1.c: Restrict to LE. - -2021-01-17 David Edelsohn - - * g++.dg/debug/dwarf2/inline-ns-2.C: Skip on AIX. - * g++.dg/debug/dwarf2/inline-var-2.C: Skip on AIX. - * g++.dg/debug/dwarf2/inline-var-3.C: Skip on AIX. - * g++.dg/debug/dwarf2/lang-cpp11.C: Skip on AIX. - * g++.dg/debug/dwarf2/lang-cpp14.C: Skip on AIX. - * g++.dg/debug/dwarf2/lang-cpp17.C: Skip on AIX. - * g++.dg/debug/dwarf2/lang-cpp20.C: Skip on AIX. - * gcc.dg/debug/dwarf2/inline6.c: Skip on AIX. - * gcc.dg/debug/dwarf2/lang-c11.c: Skip on AIX. - * gcc.dg/debug/dwarf2/pr41445-7.c: Skip on AIX. - * gcc.dg/debug/dwarf2/pr41445-8.c: Skip on AIX. - -2021-01-17 Martin Jambor - - PR ipa/98222 - * gcc.dg/ipa/pr98222.c: New test. - -2021-01-16 Jakub Jelinek - - * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: Include - ../../../libgfortran/ISO_Fortran_binding.h rather than - ISO_Fortran_binding.h. - -2021-01-16 Kwok Cheung Yeung - - * c-c++-common/gomp/task-detach-1.c: New. - * g++.dg/gomp/task-detach-1.C: New. - * gcc.dg/gomp/task-detach-1.c: New. - * gfortran.dg/gomp/task-detach-1.f90: New. - -2021-01-16 Jakub Jelinek - - PR tree-optimization/96669 - * gcc.dg/tree-ssa/pr96669-1.c: Adjust regexp. - * gcc.dg/tree-ssa/pr96669-2.c: New test. - -2021-01-16 Jakub Jelinek - - PR tree-optimization/96271 - * gcc.target/i386/pr96271.c: New test. - -2021-01-15 Carl Love - - * gcc.target/powerpc/builtins-1-p10-runnable.c: New test file. - -2021-01-15 Harris Snyder - - * gfortran.dg/iso_fortran_binding_uint8_array.f90: New test. - * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: New test. - -2021-01-15 Nathan Sidwell - - PR c++/98538 - * g++.dg/template/pr98538.C: New. - -2021-01-15 Nathan Sidwell - - PR preprocessor/95253 - * g++.dg/modules/dep-1_a.C: Adjust expected output. - * g++.dg/modules/dep-1_b.C: Likewise. - * g++.dg/modules/dep-2.C: Likewise. - -2021-01-15 Jakub Jelinek - - PR tree-optimization/96669 - * gcc.dg/tree-ssa/pr96669-1.c: New test. - -2021-01-15 Jakub Jelinek - - PR tree-optimization/96681 - * gcc.dg/tree-ssa/pr96681.c: New test. - -2021-01-15 Jason Merrill - - PR c++/98642 - * g++.dg/cpp1z/elide5.C: New test. - -2021-01-15 Jason Merrill - - * g++.dg/cpp1z/elide4.C: New test. - -2021-01-15 Jason Merrill - - PR c++/63707 - * g++.dg/cpp0x/initlist-array13.C: New test. - -2021-01-15 Alexandre Oliva - - * gcc.dg/analyzer/alloca-leak.c: Drop alloca.h, use builtin. - * gcc.dg/analyzer/data-model-1.c: Likewise. - * gcc.dg/analyzer/malloc-1.c: Likewise. - * gcc.dg/analyzer/malloc-paths-8.c: Likewise. - -2021-01-15 Jakub Jelinek - - PR tree-optimization/96671 - * gcc.dg/tree-ssa/pr96671-1.c: New test. - * gcc.dg/tree-ssa/pr96671-2.c: New test. - -2021-01-15 Jakub Jelinek - - PR tree-optimization/98597 - * gcc.dg/uninit-38.c: Expect a space in between type name and asterisk. - Expect for now a (char *) cast for VLAs. - * gcc.dg/uninit-40.c: New test. - -2021-01-15 Nathan Sidwell - - PR c++/98591 - * g++.dg/modules/pr98591.H: New file. - -2021-01-15 Richard Sandiford - - PR target/88836 - * gcc.target/aarch64/sve/acle/general/ldff1_8.c: New test. - * gcc.target/aarch64/sve/ptest_1.c: Likewise. - -2021-01-15 Marius Hillenbrand - - * gcc.target/s390/s390.exp: Call lib atomic-dg.exp to link - libatomic into testcases in gcc.target/s390/md. - * gcc.target/s390/md/atomic_exchange-1.c: Remove no unnecessary - -latomic. - -2021-01-15 Christophe Lyon - - PR target/71233 - * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Add tests for - vceqz_p64, vceqq_p64 and vceqzq_p64. - * gcc.target/arm/simd/vceqz_p64.c: New test. - * gcc.target/arm/simd/vceqzq_p64.c: New test. - -2021-01-15 Christophe Lyon - - Revert: - 2021-01-15 Christophe Lyon - - PR target/71233 - * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Add tests for - vceqz_p64, vceqq_p64 and vceqzq_p64. - -2021-01-15 Martin Liska - - * lib/gcov.exp: Use 'env python3' for execution of pytests. - Check that pytest accepts all needed options first. - Improve formatting of PASS/FAIL lines. - -2021-01-15 Richard Biener - - PR testsuite/96147 - * gcc.dg/vect/bb-slp-32.c: Align p. - -2021-01-15 Richard Biener - - PR testsuite/96147 - * gcc.dg/vect/bb-slp-9.c: Scan for a vector load transform. - -2021-01-15 Richard Biener - - PR testsuite/96147 - * gcc.dg/vect/slp-45.c: Key scanning on - vect_hw_misalign. - -2021-01-15 Richard Biener - - PR testsuite/96147 - * gcc.dg/vect/slp-43.c: Remove ! vect_hw_misalign scan. - -2021-01-15 Christophe Lyon - - PR target/71233 - * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Add tests for - vceqz_p64, vceqq_p64 and vceqzq_p64. - -2021-01-15 Richard Biener - - PR testsuite/96098 - * gcc.dg/vect/bb-slp-pr68892.c: Remove. - -2021-01-15 Christophe Lyon - - * gcc.target/arm/simd/mve-vshr.c: Add tests for vshr. - -2021-01-15 Christophe Lyon - - * gcc.target/arm/simd/mve-vshl.c: Add tests for vshl. - -2021-01-15 Richard Biener - - PR tree-optimization/98685 - * gcc.dg/vect/bb-slp-pr98685.c: New testcase. - -2021-01-15 Tamar Christina - - * gcc.dg/vect/complex/complex-mla-template.c: Fix sed. - * gcc.dg/vect/complex/complex-mls-template.c: Likewise. - -2021-01-14 David Malcolm - - * gcc.dg/plugin/diagnostic-test-show-locus-GCC_EXTRA_DIAGNOSTIC_OUTPUT-fixits-v1.c: - New file. - * gcc.dg/plugin/diagnostic-test-show-locus-GCC_EXTRA_DIAGNOSTIC_OUTPUT-fixits-v2.c: - New file. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them. - -2021-01-14 Tamar Christina - - * gcc.dg/vect/complex/complex-mla-template.c: New test. - * gcc.dg/vect/complex/complex-mls-template.c: New test. - * gcc.dg/vect/complex/complex-mul-template.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mla-double.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mla-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mls-double.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mls-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mul-double.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mul-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: New test. - -2021-01-14 Marek Polacek - - * g++.dg/template/pr98372.C: Only run in C++14 and up. - -2021-01-14 Harald Anlauf - - * substr_10.f90: New test. - * substr_9.f90: New test. - -2021-01-14 Alexandre Oliva - - * gcc.dg/analyzer/sigsetjmp-5.c: Use sigjmp_buf. - * gcc.dg/analyzer/sigsetjmp-6.c: Likewise. - -2021-01-14 Alexandre Oliva - - * gcc.dg/analyzer/sensitive-1.c: Declare getpass. - -2021-01-14 Harald Anlauf - - PR fortran/98661 - * gfortran.dg/pr98661.f90: New test. - -2021-01-14 Harald Anlauf - - Revert: - 2021-01-14 Harald Anlauf - - PR fortran/98661 - * gfortran.dg/pr98661.f90: New test. - -2021-01-14 Harald Anlauf - - PR fortran/98661 - * gfortran.dg/pr98661.f90: New test. - -2021-01-14 Martin Liska - - * g++.dg/gcov/gcov-17.C: New test. - * g++.dg/gcov/test-gcov-17.py: New test. - -2021-01-14 H.J. Lu - - PR target/98667 - * gcc.target/i386/pr98667-1.c: New file. - * gcc.target/i386/pr98667-2.c: Likewise. - * gcc.target/i386/pr98667-3.c: Likewise. - -2021-01-14 Richard Biener - - PR tree-optimization/98674 - * gcc.dg/vect/pr98674.c: New testcase. - -2021-01-14 H.J. Lu - - PR target/98676 - * gcc.target/i386/pr95021-1.c: Add -mpreferred-stack-boundary=4 - -mno-stackrealign. - * gcc.target/i386/pr95021-3.c: Likewise. - -2021-01-14 Nathan Sidwell - - PR c++/98372 - * g++.dg/cpp0x/constexpr-52830.C: Restore dg-ice - * g++.dg/template/pr98372.C: New. - -2021-01-14 Jakub Jelinek - - PR target/98670 - * gcc.target/i386/pr98670.c: New test. - -2021-01-14 Jakub Jelinek - - PR tree-optimization/96688 - * gcc.dg/tree-ssa/pr96688.c: New test. - * gcc.dg/tree-ssa/reassoc-37.c: Adjust scan-tree-dump regex. - * gcc.target/i386/pr66821.c: Likewise. - -2021-01-14 Richard Sandiford - - * gcc.target/aarch64/sve/cost_model_11.c: New test. - * gcc.target/aarch64/sve/mask_struct_load_5.c: Use - -fno-vect-cost-model. - -2021-01-14 Kyrylo Tkachov - - * gcc.target/aarch64/narrow_high-intrinsics.c: Update uqxtn2 and - sqxtn2 scan-assembler-times. - -2021-01-14 Kyrylo Tkachov - - * gcc.target/aarch64/narrow_high-intrinsics.c: Adjust - scan-assembler-times for xtn2. - -2021-01-13 Marek Polacek - - PR c++/98231 - * g++.dg/lookup/using63.C: New test. - -2021-01-13 Jakub Jelinek - - PR tree-optimization/96691 - * gcc.dg/tree-ssa/pr96691.c: New test. - -2021-01-13 Richard Biener - - PR tree-optimization/92645 - * gcc.target/i386/pr92645-7.c: New testcase. - * gcc.dg/tree-ssa/ssa-fre-54.c: Adjust. - * gcc.dg/pr69047.c: Likewise. - -2021-01-13 Richard Sandiford - - * gcc.target/aarch64/sve/mls_2.c: New test. - * g++.target/aarch64/sve/cond_mls_1.C: Likewise. - * g++.target/aarch64/sve/cond_mls_2.C: Likewise. - * g++.target/aarch64/sve/cond_mls_3.C: Likewise. - * g++.target/aarch64/sve/cond_mls_4.C: Likewise. - * g++.target/aarch64/sve/cond_mls_5.C: Likewise. - -2021-01-13 Richard Sandiford - - * gcc.target/aarch64/sve/mla_2.c: New test. - * g++.target/aarch64/sve/cond_mla_1.C: Likewise. - * g++.target/aarch64/sve/cond_mla_2.C: Likewise. - * g++.target/aarch64/sve/cond_mla_3.C: Likewise. - * g++.target/aarch64/sve/cond_mla_4.C: Likewise. - * g++.target/aarch64/sve/cond_mla_5.C: Likewise. - -2021-01-13 Richard Biener - - PR tree-optimization/92645 - * gcc.target/i386/pr92645-6.c: New testcase. - -2021-01-13 Richard Sandiford - - * gcc.target/aarch64/sve/sel_1.c: Require aarch64_variant_pcs. - * gcc.target/aarch64/sve/sel_2.c: Likewise. - * gcc.target/aarch64/sve/sel_3.c: Likewise. - -2021-01-13 Jakub Jelinek - - PR target/95905 - * gcc.target/i386/pr95905-2.c: Use scan-assembler-times instead of - scan-assembler. Add tests with zero vector as first __builtin_shuffle - operand. - * gcc.target/i386/pr95905-3.c: New test. - * gcc.target/i386/pr95905-4.c: New test. - -2021-01-13 Martin Liska - - PR tree-optimization/98455 - * gcc.dg/tree-ssa/pr98455.c: New test. - -2021-01-13 Richard Biener - - PR tree-optimization/98640 - * gcc.dg/torture/pr98640.c: New testcase. - -2021-01-13 Jakub Jelinek - - PR target/96938 - * gcc.target/i386/pr96938.c: New test. - -2021-01-13 Jakub Jelinek - - PR target/95905 - * gcc.target/i386/pr95905-1.c: New test. - * gcc.target/i386/pr95905-2.c: New test. - -2021-01-13 Julian Brown - - * gcc.target/gcn/fpdiv.c: New test. - -2021-01-12 Martin Sebor - - PR c/98597 - PR c/98592 - * g++.dg/warn/Wuninitialized-13.C: New test. - gcc.dg/uninit-39.c: New test. - # - * gcc.dg/uninit-39.c: New file. - -2021-01-12 Christophe Lyon - - PR target/97875 - * gcc.target/arm/simd/mve-vneg.c: Update test. - -2021-01-12 Vladimir N. Makarov - - PR target/97969 - * gcc.target/arm/pr97969.c: New. - -2021-01-12 Patrick Palka - - PR c++/98611 - * g++.dg/cpp2a/concepts-ctad1.C: New test. - * g++.dg/cpp2a/concepts-ctad2.C: New test. - -2021-01-12 Richard Biener - - PR tree-optimization/98550 - * g++.dg/opt/pr98550.C: New testcase. - -2021-01-12 Jakub Jelinek - - PR tree-optimization/98629 - * gcc.c-torture/compile/pr98629.c: New test. - -2021-01-12 Jakub Jelinek - - PR tree-optimization/95731 - * gcc.dg/tree-ssa/pr95731.c: New test. - * gcc.c-torture/execute/pr95731.c: New test. - -2021-01-12 Marek Polacek - - PR c++/98620 - * g++.dg/warn/Wmissing-field-initializers-2.C: New test. - -2021-01-12 David Malcolm - - PR analyzer/98628 - * gcc.dg/analyzer/pr98628.c: New test. - -2021-01-11 Richard Sandiford - - * gcc.target/aarch64/sve/asrdiv_4.c: New test. - * gcc.target/aarch64/sve/cond_asrd_1.c: Likewise. - * gcc.target/aarch64/sve/cond_asrd_1_run.c: Likewise. - * gcc.target/aarch64/sve/cond_asrd_2.c: Likewise. - * gcc.target/aarch64/sve/cond_asrd_2_run.c: Likewise. - * gcc.target/aarch64/sve/cond_asrd_3.c: Likewise. - * gcc.target/aarch64/sve/cond_asrd_3_run.c: Likewise. - -2021-01-11 Richard Sandiford - - * g++.target/aarch64/sve/cond_bic_1.C: New test. - * g++.target/aarch64/sve/cond_bic_2.C: Likewise. - * g++.target/aarch64/sve/cond_bic_3.C: Likewise. - * g++.target/aarch64/sve/cond_bic_4.C: Likewise. - -2021-01-11 Richard Sandiford - - * gcc.target/aarch64/sve/mul_highpart_3.c: New test. - -2021-01-11 Richard Sandiford - - * g++.target/aarch64/sve/abd_1.C: New test. - * g++.target/aarch64/sve/cond_abd_1.C: Likewise. - * g++.target/aarch64/sve/cond_abd_2.C: Likewise. - * g++.target/aarch64/sve/cond_abd_3.C: Likewise. - * g++.target/aarch64/sve/cond_abd_4.C: Likewise. - -2021-01-11 Richard Sandiford - - * gcc.target/aarch64/sve/adr_6.c: New test. - -2021-01-11 Richard Sandiford - - * g++.target/aarch64/sve/cond_arith_1.C: New test. - * g++.target/aarch64/sve/cond_arith_2.C: Likewise. - * g++.target/aarch64/sve/cond_arith_3.C: Likewise. - * g++.target/aarch64/sve/cond_arith_4.C: Likewise. - * g++.target/aarch64/sve/cond_shift_1.C: New test. - * g++.target/aarch64/sve/cond_shift_2.C: Likewise. - * g++.target/aarch64/sve/cond_shift_3.C: Likewise. - * g++.target/aarch64/sve/cond_shift_4.C: Likewise. - -2021-01-11 Richard Sandiford - - PR testsuite/98602 - * g++.target/aarch64/sve/max_1.C: New test. - * g++.target/aarch64/sve/min_1.C: Likewise. - * gcc.target/aarch64/sve/mul_2.c: Likewise. - -2021-01-11 Richard Sandiford - - * gcc.target/aarch64/sve/shift_2.c: New test. - -2021-01-11 Jakub Jelinek - - PR c++/98481 - * g++.dg/abi/abi-tag24.C: New test. - -2021-01-11 Richard Biener - - PR tree-optimization/91403 - * gcc.dg/vect/pr91403.c: New testcase. - -2021-01-11 Bernd Edlinger - - PR testsuite/98225 - * gcc.misc-tests/outputs.exp: Unset MAKEFLAGS. - Expect .ld1_args only when GNU LD is used. - Add an exception for *.gcc_args files. - -2021-01-11 Jakub Jelinek - - PR tree-optimization/95867 - * gcc.dg/tree-ssa/pr95867.c: New test. - -2021-01-11 Jakub Jelinek - - PR tree-optimization/95852 - * gcc.target/i386/pr95852-3.c: New test. - * gcc.target/i386/pr95852-4.c: New test. - -2021-01-11 Jakub Jelinek - - PR tree-optimization/95852 - * gcc.target/i386/pr95852-1.c: New test. - * gcc.target/i386/pr95852-2.c: New test. - -2021-01-11 Martin Liska - - PR gcov-profile/98273 - * lib/gcov.exp: Add run-gcov-pytest function which runs pytest. - * g++.dg/gcov/pr98273.C: New test. - * g++.dg/gcov/gcov.py: New test. - * g++.dg/gcov/test-pr98273.py: New test. - -2021-01-09 Maciej W. Rozycki - - * gcc.target/vax/cmpelim-eq-notsi.c: Use subtraction from a - constant then rather than addition. - * gcc.target/vax/cmpelim-le-notsi.c: Likewise. - * gcc.target/vax/cmpelim-lt-notsi.c: Likewise. - -2021-01-09 Jakub Jelinek - - PR c++/98556 - * c-c++-common/pr98556.c: New test. - -2021-01-09 Jakub Jelinek - - PR rtl-optimization/98603 - * gcc.target/i386/pr98603.c: New test. - * gcc.target/aarch64/pr98603.c: New test. - -2021-01-09 Alexandre Oliva - - PR debug/97714 - * gcc.dg/debug/pr97714.c: New. - -2021-01-08 H.J. Lu - - PR target/98482 - * gcc.target/i386/pr98482-1.c: Require lp64. - * gcc.target/i386/pr98482-2.c: Likewise. - -2021-01-08 Ilya Leoshkevich - - * gcc.target/s390/vector/long-double-vx-macro-off-on.c: New test. - * gcc.target/s390/vector/long-double-vx-macro-on-off.c: New test. - -2021-01-08 Patrick Palka - - PR c++/98551 - * g++.dg/cpp0x/constexpr-pmf2.C: New test. - -2021-01-08 Patrick Palka - - PR c++/98515 - * g++.dg/template/access32.C: New test. - * g++.dg/template/access33.C: New test. - -2021-01-08 H.J. Lu - - PR target/98482 - * gcc.target/i386/pr98482-2.c: Updated. - -2021-01-08 Richard Biener - - PR tree-optimization/98544 - * gcc.dg/vect/bb-slp-pr98544.c: New testcase. - -2021-01-08 H.J. Lu - - PR target/98482 - * gcc.target/i386/pr98482-1.c: New test. - * gcc.target/i386/pr98482-1.c: Likewise. - * gcc.target/i386/pr98482-2.c: New file. - -2021-01-08 Jakub Jelinek - - PR target/98585 - * gcc.target/i386/pr98585.c: New test. - -2021-01-08 Richard Sandiford - - * gcc.target/aarch64/sve/cnot_2.c: New test. - * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise. - * gcc.target/aarch64/sve/cond_cnot_4_run.c: Likewise. - * gcc.target/aarch64/sve/cond_cnot_5.c: Likewise. - * gcc.target/aarch64/sve/cond_cnot_5_run.c: Likewise. - * gcc.target/aarch64/sve/cond_cnot_6.c: Likewise. - * gcc.target/aarch64/sve/cond_cnot_6_run.c: Likewise. - -2021-01-08 Richard Sandiford - - * gcc.target/aarch64/sve/cond_uxt_5.c: New test. - * gcc.target/aarch64/sve/cond_uxt_5_run.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_6.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_6_run.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_7.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_7_run.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_8.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_8_run.c: Likewise. - -2021-01-08 Tamar Christina - - * lib/target-supports.exp - (check_effective_target_aarch64_asm_sve2_ok): New. - * g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Use it. - * gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise. - -2021-01-08 Kyrylo Tkachov - - * gcc.target/aarch64/usaba_1.c: New test. - -2021-01-08 Paul Thomas - - PR fortran/93794 - * gfortran.dg/deferred_character_35.f90 : New test. - -2021-01-08 Paul Thomas - - PR fortran/98458 - * gfortran.dg/implied_do_3.f90 : New test. - -2021-01-08 Kito Cheng - - * gcc.dg/array-quals-1.c: Allow srodata. - -2021-01-08 Kito Cheng - - * gcc.target/riscv/predef-10.c: New. - * gcc.target/riscv/predef-11.c: New. - * gcc.target/riscv/predef-12.c: New. - * gcc.target/riscv/predef-13.c: New. - -2021-01-07 Jakub Jelinek - - PR c++/98329 - * g++.dg/cpp2a/bit-cast10.C: New test. - -2021-01-07 Martin Sebor - - PR middle-end/98578 - * gcc.dg/plugin/gil-1.c: Adjust expected output. - * gcc.dg/uninit-pr98578.c: New test. - -2021-01-07 Marek Polacek - - PR c++/98441 - * g++.dg/cpp0x/auto55.C: New test. - -2021-01-07 David Malcolm - - PR analyzer/98580 - * gcc.dg/analyzer/pr98580-a.c: New test. - * gcc.dg/analyzer/pr98580-b.c: New test. - -2021-01-07 Paul Thomas - - PR fortran/93701 - * gfortran.dg/associate_54.f90: New test. - * gfortran.dg/associate_55.f90: New test. - * gfortran.dg/associate_56.f90: New test. - -2021-01-07 Jakub Jelinek - - PR target/98567 - * gcc.target/i386/pr98567-1.c: New test. - * gcc.target/i386/pr98567-2.c: New test. - -2021-01-07 Richard Sandiford - - * gcc.target/aarch64/sve/cond_unary_5.c: New test. - * gcc.target/aarch64/sve/cond_unary_5_run.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_6.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_6_run.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_7.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_7_run.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_8.c: Likewise. - * gcc.target/aarch64/sve/cond_unary_8_run.c: Likewise. - -2021-01-07 Richard Sandiford - - PR tree-optimization/98560 - * gcc.dg/vect/pr98560-2.c: New test. - -2021-01-07 Richard Sandiford - - PR tree-optimization/98560 - * gcc.dg/vect/pr98560-1.c: New test. - -2021-01-07 Jakub Jelinek - - PR tree-optimization/98568 - * g++.dg/torture/pr98568.C: New test. - -2021-01-07 Hongyu Wang - - * gcc.target/i386/pr92658-avx512bw.c: Add - -mprefer-vector-width=512 to avoid impact of different default - mtune which gcc is built with. - * gcc.target/i386/pr92658-avx512bw-2.c: Ditto. - -2021-01-07 David Malcolm - - PR analyzer/97074 - * gcc.dg/analyzer/pr97074.c: New test. - -2021-01-07 David Malcolm - - PR analyzer/98564 - * gcc.dg/analyzer/pr98564.c: New test. - -2021-01-06 Vladimir N. Makarov - - PR rtl-optimization/97978 - * gcc.target/i386/pr97978.c: New. - -2021-01-06 Martin Sebor - - PR c++/95768 - * g++.dg/pr95768.C: New test. - * g++.dg/warn/Wuninitialized-12.C: New test. - * gcc.dg/uninit-38.c: New test. - -2021-01-06 Martin Sebor - - PR c++/98305 - * g++.dg/warn/Wmismatched-new-delete-3.C: New test. - -2021-01-06 Iain Sandoe - - PR c++/96504 - * g++.dg/coroutines/torture/pr95519-05-gro.C: Use suspend_always - as the final suspend point so that we can check that the state - machine has reached the expected point. - -2021-01-06 Marek Polacek - - PR testsuite/98566 - * g++.dg/warn/Wmismatched-dealloc.C: Use target c++14 in - dg-error. - -2021-01-06 Alexandre Oliva - - * g++.dg/opt/store-merging-2.C: Add the required alignment. - -2021-01-06 Richard Biener - - PR tree-optimization/95582 - * gcc.dg/pr95582.c: New testcase. - -2021-01-06 Richard Biener - - PR tree-optimization/98513 - * gcc.dg/tree-ssa/pr98513.c: New testcase. - -2021-01-06 David Malcolm - - PR analyzer/97072 - * gcc.dg/analyzer/pr97072.c: New test. - -2021-01-06 David Malcolm - - PR analyzer/98073 - * gcc.dg/analyzer/pr98073.c: New test. - -2021-01-06 David Malcolm - - PR analyzer/98223 - * gcc.dg/analyzer/pr94851-1.c: Remove xfail. - -2021-01-05 Ilya Leoshkevich - - * gcc.target/s390/s390.exp: Replace %% with %. - -2021-01-05 Steve Kargl - - * gfortran.dg/dec_math.f90: xfail on i?86-*-freebsd* - -2021-01-05 H.J. Lu - - PR target/98495 - * gcc.target/i386/sse2-mmx-pextrw.c (compute_correct_result): Use - unsigned short to compute pextrw result. - -2021-01-05 Patrick Palka - - * g++.dg/template/partial5.C: Adjust directives to expect the - same errors across all dialects. - * g++.dg/cpp1z/nontype-auto17.C: New test. - * g++.dg/cpp1z/nontype-auto18.C: New test. - * g++.dg/template/ttp33.C: New test. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/94802 - * gcc.target/i386/pr94802.c: New test. - * gcc.dg/Wstrict-overflow-25.c: Remove xfail. - -2021-01-05 Richard Biener - - PR tree-optimization/98516 - * gcc.dg/vect/bb-slp-pr98516-1.c: New testcase. - * gcc.dg/vect/bb-slp-pr98516-2.c: Likewise. - -2021-01-05 Jakub Jelinek - - PR c++/98469 - * g++.dg/cpp2a/bit-cast8.C: New test. - * g++.dg/cpp2a/bit-cast9.C: New test. - -2021-01-05 Marek Polacek - - PR c++/82099 - * g++.dg/cpp1z/class-deduction76.C: Remove dg-ice. - * g++.dg/cpp0x/noexcept61.C: New test. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/96928 - * gcc.dg/tree-ssa/pr96928.c: New test. - * gcc.target/i386/ifcvt-onecmpl-abs-1.c: Remove -fdump-rtl-ce1, - instead of scanning rtl dump for ifcvt message check assembly - for xor instruction. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/96930 - * g++.dg/tree-ssa/pr96930.C: New test. - -2021-01-05 Jakub Jelinek - - PR tree-optimization/96239 - * gcc.dg/tree-ssa/pr96239.c: New test. - -2021-01-05 Uroš Bizjak - - PR target/98522 - * gcc.target/i386/pr98522.c: New test. - -2021-01-05 Nathan Sidwell - - * g++.dg/modules/mod-decl-1.C: Adjust. - * g++.dg/modules/p0713-2.C: Adjust. - * g++.dg/modules/p0713-3.C: Adjust. - -2021-01-05 H.J. Lu - - PR target/98495 - * gcc.target/i386/pr98495-1.c: New test. - * gcc.target/i386/pr98495-2.c: New test. - * gcc.target/i386/pr98495-3.c: New test. - * gcc.target/i386/pr98495-4.c: New test. - * gcc.target/i386/pr98495-5.c: New test. - -2021-01-05 liuhongt - - * gcc.target/i386/sse2-pr98461-2.c: New test. - -2021-01-05 Richard Sandiford - - PR rtl-optimization/97144 - * gcc.c-torture/compile/pr97144.c: New test. - * gcc.target/aarch64/sve/pr97144.c: Likewise. - -2021-01-05 Richard Sandiford - - PR rtl-optimization/98403 - * g++.dg/opt/pr98403.C: New test. - -2021-01-05 Jakub Jelinek - - PR rtl-optimization/98334 - * gcc.target/i386/pr98334.c: New test. - -2021-01-05 Jerome Lambourg - - * g++.dg/cpp1y/constexpr-66093.C: Fix bounds issue. - -2021-01-05 David Malcolm - - PR analyzer/98293 - * gcc.dg/analyzer/pr98293.c: New test. - -2021-01-04 Martin Uecker - - PR c/98029 - * gcc.dg/pr98029.c: New test. - -2021-01-04 Nathan Sidwell - - * g++.dg/modules/binding-1_a.H: New. - * g++.dg/modules/binding-1_b.H: New. - * g++.dg/modules/binding-1_c.C: New. - * g++.dg/modules/binding-2.H: New. - * g++.dg/modules/builtin-3_a.C: New. - * g++.dg/modules/global-2_a.C: New. - * g++.dg/modules/global-2_b.C: New. - * g++.dg/modules/global-3_a.C: New. - * g++.dg/modules/global-3_b.C: New. - * g++.dg/modules/hello-1_a.C: New. - * g++.dg/modules/hello-1_b.C: New. - * g++.dg/modules/iostream-1_a.H: New. - * g++.dg/modules/iostream-1_b.C: New. - * g++.dg/modules/part-5_a.C: New. - * g++.dg/modules/part-5_b.C: New. - * g++.dg/modules/part-5_c.C: New. - * g++.dg/modules/stdio-1_a.H: New. - * g++.dg/modules/stdio-1_b.C: New. - * g++.dg/modules/string-1_a.H: New. - * g++.dg/modules/string-1_b.C: New. - * g++.dg/modules/string-view1.C: New. - * g++.dg/modules/string-view2.C: New. - * g++.dg/modules/tinfo-1.C: New. - * g++.dg/modules/tinfo-2_a.H: New. - * g++.dg/modules/tinfo-2_b.C: New. - * g++.dg/modules/tname-spec-1_a.H: New. - * g++.dg/modules/tname-spec-1_b.C: New. - * g++.dg/modules/xtreme-header-1.h: New. - * g++.dg/modules/xtreme-header-1_a.H: New. - * g++.dg/modules/xtreme-header-1_b.C: New. - * g++.dg/modules/xtreme-header-1_c.C: New. - * g++.dg/modules/xtreme-header-2.h: New. - * g++.dg/modules/xtreme-header-2_a.H: New. - * g++.dg/modules/xtreme-header-2_b.C: New. - * g++.dg/modules/xtreme-header-2_c.C: New. - * g++.dg/modules/xtreme-header-3.h: New. - * g++.dg/modules/xtreme-header-3_a.H: New. - * g++.dg/modules/xtreme-header-3_b.C: New. - * g++.dg/modules/xtreme-header-3_c.C: New. - * g++.dg/modules/xtreme-header-4.h: New. - * g++.dg/modules/xtreme-header-4_a.H: New. - * g++.dg/modules/xtreme-header-4_b.C: New. - * g++.dg/modules/xtreme-header-4_c.C: New. - * g++.dg/modules/xtreme-header-5.h: New. - * g++.dg/modules/xtreme-header-5_a.H: New. - * g++.dg/modules/xtreme-header-5_b.C: New. - * g++.dg/modules/xtreme-header-5_c.C: New. - * g++.dg/modules/xtreme-header-6.h: New. - * g++.dg/modules/xtreme-header-6_a.H: New. - * g++.dg/modules/xtreme-header-6_b.C: New. - * g++.dg/modules/xtreme-header-6_c.C: New. - * g++.dg/modules/xtreme-header.h: New. - * g++.dg/modules/xtreme-header_a.H: New. - * g++.dg/modules/xtreme-header_b.C: New. - * g++.dg/modules/xtreme-tr1.h: New. - * g++.dg/modules/xtreme-tr1_a.H: New. - * g++.dg/modules/xtreme-tr1_b.C: New. - -2021-01-04 Richard Sandiford - - PR tree-optimization/95401 - * g++.dg/vect/pr95401.cc: New test. - * g++.dg/vect/pr95401a.cc: Likewise. - -2021-01-04 Richard Biener - - PR tree-optimization/98308 - * gcc.dg/vect/pr98308.c: New testcase. - -2021-01-04 Jakub Jelinek - - PR tree-optimization/95771 - * gcc.target/i386/pr95771.c: New test. - -2021-01-04 Richard Biener - - PR tree-optimization/98464 - * g++.dg/opt/pr98464.C: New testcase. - -2021-01-04 Richard Biener - - PR tree-optimization/98282 - * g++.dg/opt/pr98282.C: New testcase. - -2021-01-04 Richard Sandiford - - PR target/89057 - * gcc.target/aarch64/pr89057.c: New test. - -2021-01-04 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/prfb.c: Test for a MUL VL range of - [-32, 31]. - * gcc.target/aarch64/sve/acle/asm/prfh.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfw.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfd.c: Likewise. - -2021-01-04 Martin Liska - - * README: Convert to utf8 from iso8859. - -2021-01-04 Martin Liska - - * gcc.target/avr/avr.exp: Run dos2unix on the file. - -2021-01-04 Richard Biener - - PR tree-optimization/98291 - * gcc.dg/vect/slp-reduc-11.c: New testcase. - * gcc.dg/vect/vect-reduc-in-order-4.c: Adjust. - -2021-01-04 Jakub Jelinek - - PR tree-optimization/96782 - * gcc.dg/tree-ssa/pr96782.c: New test. - -2021-01-04 Bernd Edlinger - - * gcc.misc-tests/outputs.exp: Adjust testcase. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -2021-01-01 Joel Brobecker - - * lib/target-supports.exp - (check_effective_target_arm_fp16_alternative_ok_nocache): - Return zero for *-*-vxworks7r* targets. - * gcc.target/arm/aapcs/vfp22.c: Require arm_fp16_alternative_ok. - * gcc.target/arm/aapcs/vfp23.c: Likewise. - * gcc.target/arm/aapcs/vfp24.c: Likewise. - * gcc.target/arm/aapcs/vfp25.c: Likewise. - -2021-01-01 Jerome Lambourg - - * g++.dg/init/new26.C: Fix overriding of the delete operator - for c++14 profile. - -2021-01-01 Jerome Lambourg - - * g++.dg/tls/pr79288.C: Skip on vxworks_kernel (TLS model - not supported). - -2021-01-01 Joel Brobecker - - * gcc.target/arm/memset-inline-2.c: Add -mno-long-calls to - the test's dg-options. - * gcc.target/arm/pr78255-2.c: Likewise. - -2021-01-01 Jerome Lambourg - - * g++.old-deja/g++.mike/p658.C: Also undefine OK on VxWorks RTP. - -2021-01-01 Jerome Lambourg - - * g++.dg/opt/20050511-1.C: Work around UINT32 in vxworks rtp - headers too. - -2021-01-01 Jerome Lambourg - - * g++.old-deja/g++.pt/const2.C: Skip on vxworks kernel. - -2021-01-01 Jerome Lambourg - - * g++.dg/warn/miss-format-1.C: Remove vxworks-specific test - directives. - -2021-01-01 Jerome Lambourg - - * g++.dg/tree-ssa/copyprop.C: Undefine ERROR if defined. - -2021-01-01 Jerome Lambourg - - * g++.dg/other/anon5.C: Skip on vxworks kernel. - -2021-01-01 Jerome Lambourg - - * gcc.dg/vxworks/initpri1.c: Tigthen VxWorks version check. - * gcc.dg/vxworks/initpri2.c: Likewise. - -2021-01-01 Joel Brobecker - - * gcc.dg/intmax_t-1.c: Do not expect an error on *-*-vxworks7r* - targets. - -2021-01-01 Olivier Hainque - - * gcc.dg/pthread-init-1.c: Fix the VxWorks xfail filters. - * gcc.dg/pthread-init-2.c: Ditto. - -2021-01-01 Olivier Hainque - - * lib/target-supports.exp (check_weak_available, - check_fork_available, check_effective_target_lto, - check_effective_target_mempcpy): Add vxworks filters. - -2021-01-01 Alexandre Oliva - - * gcc.target/arm/mve/intrinsics/mve_libcall1.c: Pass an - explicit -mno-long-calls. - * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise. - -2021-01-01 Alexandre Oliva - - * g++.target/arm/no_unique_address_1.C: Add -mno-long-calls. - * g++.target/arm/no_unique_address_2.C: Likewise. - -2021-01-01 Alexandre Oliva - - * gcc.target/arm/headmerge-1.c: Add -mno-long-calls. - * gcc.target/arm/headmerge-2.c: Likewise. - -2021-01-01 Alexandre Oliva - - * gcc.target/arm/fp16-aapcs-2.c: Use -mno-long-calls. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 3525401..3a4f03c 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,384 +1,5 @@ -2021-12-31 Iain Sandoe - - * runtime/string.c (gfc_itoa): Use _Static_assert directly - instead of via the static_assert macro. - -2021-12-29 Francois-Xavier Coudert - - * ieee/ieee_helper.c: Fix enum values. - -2021-12-27 Francois-Xavier Coudert - - PR libfortran/98076 - * runtime/string.c (gfc_itoa): Use two args for static_assert(). - -2021-12-26 Francois-Xavier Coudert - - PR libfortran/98076 - * runtime/string.c (itoa64, itoa64_pad19): New helper functions. - (gfc_itoa): On targets with 128-bit integers, call fast - 64-bit functions to avoid many slow divisions. - -2021-12-25 Francois-Xavier Coudert - - PR libfortran/81986 - PR libfortran/99191 - * libgfortran.h: Remove gfc_xtoa(), adjust gfc_itoa() and - GFC_ITOA_BUF_SIZE. - * io/write.c (write_decimal): conversion parameter is always - gfc_itoa(), so remove it. Protect from overflow. - (xtoa): Move gfc_xtoa and update its name. - (xtoa_big): Renamed from ztoa_big for consistency. - (write_z): Adjust to new function names. - (write_i, write_integer): Remove last arg of write_decimal. - * runtime/backtrace.c (error_callback): Comment on the use of - gfc_itoa(). - * runtime/error.c (gfc_xtoa): Move to io/write.c. - * runtime/string.c (gfc_itoa): Take an unsigned argument, - remove the handling of negative values. - -2021-12-22 Francois-Xavier Coudert - - * kinds-override.h: Move GFC_REAL_16_IS_* macros... - * mk-kinds-h.sh: ... here. - -2021-12-19 Francois-Xavier Coudert - - * configure.host: Add aarch64-apple-darwin support. - * config/fpu-aarch64.h: New file. - -2021-12-18 François-Xavier Coudert - - * libgfortran.h: include ctype.h, provide safe macros. - * io/format.c: use safe macros. - * io/list_read.c: use safe macros. - * io/read.c: use safe macros. - * io/write.c: use safe macros. - * runtime/environ.c: use safe macros. - -2021-12-16 Francois-Xavier Coudert - - * io/file_pos.c: Fix error code. - -2021-12-16 Francois-Xavier Coudert - - * intrinsics/time_1.h: Prefer clock_gettime() over - gettimeofday(). - * intrinsics/date_and_time.c: Fix timezone wrapping. - -2021-12-14 Harald Anlauf - - PR libfortran/103634 - * intrinsics/pack_generic.c (pack_internal): Handle case when the - array argument of PACK has one or more extents of size zero to - avoid invalid reads. - -2021-10-18 Tobias Burnus - - PR fortran/102086 - PR fortran/92189 - PR fortran/92621 - PR fortran/101308 - PR fortran/101309 - PR fortran/101635 - PR fortran/92482 - * ISO_Fortran_binding.h (CFI_type_cfunptr): Make unique type again. - * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc, - gfc_desc_to_cfi_desc): Add comment that those are no longer called - by new code. - -2021-09-27 Tobias Burnus - - PR fortran/94070 - * intrinsics/size.c (size0, size1): Comment that now not - used by newer compiler code. - -2021-09-26 Tobias Burnus - - PR fortran/101334 - * intrinsics/associated.c (associated): Also check for same rank. - -2021-09-22 Tobias Burnus - - PR fortran/55534 - * configure.ac (AM_FCFLAGS): Revert r12-3722 by removing - -Wno-missing-include-dirs. - * configure: Regenerate. - -2021-09-21 Tobias Burnus - - PR fortran/55534 - * configure.ac (AM_FCFLAGS): Add -Wno-missing-include-dirs. - * configure: Regenerate. - -2021-09-17 Sandra Loosemore - - * ISO_Fortran_binding.h: Update comments. - * runtime/ISO_Fortran_binding.c: Likewise. - -2021-09-17 Sandra Loosemore - Tobias Burnus - - * ISO_Fortran_binding.h: Only include float.h if the C compiler - doesn't have predefined __LDBL_* and __DBL_* macros. Handle - LDBL_MANT_DIG == 53 for FreeBSD. - -2021-09-13 Andreas Schwab - - * ISO_Fortran_binding.h (CFI_type_long_double) - (CFI_type_long_double_Complex) [LDBL_MANT_DIG == 64 && - LDBL_MIN_EXP == -16382 && LDBL_MAX_EXP == 16384]: Define. - -2021-09-07 Tobias Burnus - - * Makefile.am (gfor_built_src): Depend on - include/ISO_Fortran_binding.h not on ISO_Fortran_binding.h. - (ISO_Fortran_binding.h): Rename make target to ... - (include/ISO_Fortran_binding.h): ... this. - * Makefile.in: Regenerate. - -2021-09-07 Sandra Loosemore - - * ISO_Fortran_binding-1-tmpl.h: Deleted. - * ISO_Fortran_binding-2-tmpl.h: Deleted. - * ISO_Fortran_binding-3-tmpl.h: Deleted. - * ISO_Fortran_binding.h: New file to replace the above. - * Makefile.am (gfor_cdir): Remove MULTISUBDIR. - (ISO_Fortran_binding.h): Simplify to just copy the file. - * Makefile.in: Regenerated. - * mk-kinds-h.sh: Revert pieces no longer needed for - ISO_Fortran_binding.h. - -2021-09-02 Sandra Loosemore - José Rui Faustino de Sousa - - PR fortran/100907 - PR fortran/100911 - PR fortran/100914 - PR fortran/100915 - PR fortran/100917 - * ISO_Fortran_binding-1-tmpl.h (CFI_type_cfunptr): Make equivalent - to CFI_type_cptr. - * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Fix - handling of CFI_type_cptr and CFI_type_cfunptr. Additional error - checking and code cleanup. - (gfc_desc_to_cfi_desc): Likewise. Also correct kind mapping - for character, complex, and long double types. - -2021-08-27 Iain Sandoe - - * Makefile.am: Use configured libm availability. - * Makefile.in: Regenerate. - * configure: Regenerate. - * configure.ac: Use libtool macro to find libm availability. - * libgfortran.spec.in: Use configured libm availability. - -2021-08-10 Tobias Burnus - - PR libfortran/101305 - PR fortran/101660 - PR testsuite/101847 - * Makefile.am (ISO_Fortran_binding.h): Create include/ in the build dir - and copy the include file to it. - (clean-local): Add for removing the 'include' directory. - * Makefile.in: Regenerate. - -2021-07-28 Sandra Loosemore - - PR libfortran/101317 - * runtime/ISO_Fortran_binding.c: Include . - (CFI_address): Tidy error messages and comments. - (CFI_allocate): Likewise. - (CFI_deallocate): Likewise. - (CFI_establish): Likewise. Add new checks for validity of - elem_len when it's used, plus type argument and extents. - (CFI_is_contiguous): Tidy error messages and comments. - (CFI_section): Likewise. Refactor some repetitive code to - make it more understandable. - (CFI_select_part): Likewise. - (CFI_setpointer): Likewise. Check that source is not an - unallocated allocatable array or an assumed-size array. - -2021-07-28 Sandra Loosemore - - PR libfortran/101310 - * runtime/ISO_Fortran_binding.c (CFI_section): Fix the base - address computation and simplify the code. - -2021-07-28 Sandra Loosemore - - PR libfortran/101305 - * runtime/ISO_Fortran_binding.c (CFI_establish): Special-case - CFI_type_cptr and CFI_type_cfunptr. Correct size of long double - on targets where it has kind 10. - -2021-07-28 Sandra Loosemore - Tobias Burnus - - PR libfortran/101305 - * ISO_Fortran_binding.h: Fix hard-coded sizes and split into... - * ISO_Fortran_binding-1-tmpl.h: New file. - * ISO_Fortran_binding-2-tmpl.h: New file. - * ISO_Fortran_binding-3-tmpl.h: New file. - * Makefile.am: Add rule for generating ISO_Fortran_binding.h. - Adjust pathnames to that file. - * Makefile.in: Regenerated. - * mk-kinds-h.sh: New file. - * runtime/ISO_Fortran_binding.c: Fix include path. - -2021-07-26 José Rui Faustino de Sousa - Tobias Burnus - - PR fortran/93308 - PR fortran/93963 - PR fortran/94327 - PR fortran/94331 - PR fortran/97046 - * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Add code - to verify the descriptor. Correct bounds calculation. - (gfc_desc_to_cfi_desc): Add code to verify the descriptor. - -2021-07-22 Sandra Loosemore - - * runtime/ISO_Fortran_binding.c (CFI_allocate): Don't use elem_len - for CFI_type_signed_char. - (CFI_select_part): Likewise. - -2021-07-01 Tobias Burnus - Sandra Loosemore - - * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): - Initialize version field to 0. - (gfc_desc_to_cfi_desc): Initialize version field to CFI_VERSION. - -2021-06-29 Julian Brown - - PR target/96306 - * configure.ac: Remove stanza that removes KIND=16 integers for AMD GCN. - * configure: Regenerate. - -2021-06-22 Sandra Loosemore - Tobias Burnus - - PR fortran/93524 - * runtime/ISO_Fortran_binding.c (CFI_allocate): Fix - sm computation. - -2021-06-08 Martin Liska - - * intrinsics/chmod.c (chmod_internal): Fix typo. - * io/transfer.c (read_sf): Likewise. - -2021-06-05 José Rui Faustino de Sousa - - PR fortran/100120 - * intrinsics/associated.c (associated): have associated verify if - the "span" matches insted of the "elem_len". - * libgfortran.h (GFC_DESCRIPTOR_SPAN): add macro to retrive the - descriptor "span". - -2021-05-22 Andre Vehreschild - - PR fortran/98301 - * caf/libcaf.h (_gfortran_caf_random_init): New function. - * caf/single.c (_gfortran_caf_random_init): New function. - * gfortran.map: Added fndecl. - * intrinsics/random_init.f90: Implement random_init. - -2021-05-05 Tobias Burnus - - * intrinsics/chmod.c (chmod_internal): Only declare mode_mask var - if HAVE_UMASK. - -2021-05-02 Tobias Burnus - - PR libgomp/100352 - * io/transfer.c (st_read_done_worker, st_write_done_worker): Add new - arg whether to unlock unit. - (st_read_done, st_write_done): Call it with true. - * io/async.c (async_io): Call it with false. - * io/io.h (st_write_done_worker, st_read_done_worker): Update prototype. - -2021-03-12 Tobias Burnus - - * io/transfer.c (st_read_done_worker, st_write_done_worker): - Call unlock_unit here, add unit_lock lock around newunit_free call. - (st_read_done, st_write_done): Only call unlock_unit when not - calling the worker function. - * io/unit.c (set_internal_unit): Don't reset the unit_number - to the same number as this cause race warnings. - -2021-03-05 Harald Anlauf - - PR libfortran/99218 - * m4/matmul_internal.m4: Invoke tuned matmul only for rank(b)>1. - * generated/matmul_c10.c: Regenerated. - * generated/matmul_c16.c: Likewise. - * generated/matmul_c4.c: Likewise. - * generated/matmul_c8.c: Likewise. - * generated/matmul_i1.c: Likewise. - * generated/matmul_i16.c: Likewise. - * generated/matmul_i2.c: Likewise. - * generated/matmul_i4.c: Likewise. - * generated/matmul_i8.c: Likewise. - * generated/matmul_r10.c: Likewise. - * generated/matmul_r16.c: Likewise. - * generated/matmul_r4.c: Likewise. - * generated/matmul_r8.c: Likewise. - * generated/matmulavx128_c10.c: Likewise. - * generated/matmulavx128_c16.c: Likewise. - * generated/matmulavx128_c4.c: Likewise. - * generated/matmulavx128_c8.c: Likewise. - * generated/matmulavx128_i1.c: Likewise. - * generated/matmulavx128_i16.c: Likewise. - * generated/matmulavx128_i2.c: Likewise. - * generated/matmulavx128_i4.c: Likewise. - * generated/matmulavx128_i8.c: Likewise. - * generated/matmulavx128_r10.c: Likewise. - * generated/matmulavx128_r16.c: Likewise. - * generated/matmulavx128_r4.c: Likewise. - * generated/matmulavx128_r8.c: Likewise. - -2021-03-03 Vittorio Zecca - Tobias Burnus - - PR libfortran/81986 - * runtime/string.c (gfc_itoa): Cast to unsigned before - negating. - -2021-02-12 Steve Kargl - - PR libfortran/95647 - * ieee/ieee_arithmetic.F90: Flip interfaces of operators .eq. to - == and .ne. to /= . - -2021-02-11 Jerry DeLisle - - PR libfortran/98825 - * io/transfer.c (next_record_w): Insert check for seen_dollar and if - so, skip issueing next record. - -2021-01-27 Harris Snyder - - * runtime/ISO_Fortran_binding.c (CFI_establish): fixed - strides for rank >2 arrays. - -2021-01-15 Harris Snyder - - * runtime/ISO_Fortran_binding.c (CFI_establish): Fixed signed - char arrays. Signed char or uint8_t arrays would cause - crashes unless an element size is specified. - -2021-01-05 Samuel Thibault - - * configure: Re-generate. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7e04665..3a4f03c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,9013 +1,5 @@ -2021-12-15 François Dumont - - * include/bits/stl_iterator.h - (std::pointer_traits<__gnu_cxx::__normal_iterator<>>): Remove. - (std::__to_address(const __gnu_cxx::__normal_iterator<>&)): New for C++11 to C++17. - * include/debug/safe_iterator.h - (std::__to_address(const __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<>, - _Sequence>&)): New for C++11 to C++17. - * testsuite/24_iterators/normal_iterator/to_address.cc: Add check on std::vector::iterator - to validate both __gnu_cxx::__normal_iterator<> __to_address overload in normal mode and - __gnu_debug::_Safe_iterator in _GLIBCXX_DEBUG mode. - -2021-12-15 Jakub Jelinek - - PR libstdc++/71557 - * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): - Compare characters other than format specifiers and whitespace - case insensitively. - (_M_extract_name): Compare characters case insensitively. - * testsuite/22_locale/time_get/get/char/71557.cc: New test. - * testsuite/22_locale/time_get/get/wchar_t/71557.cc: New test. - -2021-12-14 Jonathan Wakely - - PR libstdc++/103687 - * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Restore - original locale before returning. - * testsuite/22_locale/time_get/get_time/char/2.cc: Check for %p - in locale's T_FMT and adjust accordingly. - * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise. - -2021-12-14 Jonathan Wakely - - PR libstdc++/102447 - * include/bits/regex_compiler.h (_Compiler::_BracketState): New - class. - (_Compiler::_BrackeyMatcher): New alias template. - (_Compiler::_M_expression_term): Change pair - parameter to _BracketState. Process first character for - ECMAScript syntax as well as POSIX. - * include/bits/regex_compiler.tcc - (_Compiler::_M_insert_bracket_matcher): Pass _BracketState. - (_Compiler::_M_expression_term): Use _BracketState to store - state between calls. Improve handling of dashes in ranges. - * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: - Add more tests for ranges containing dashes. Check invalid - ranges with character class at the beginning. - -2021-12-14 Jonathan Wakely - - * include/ext/pointer.h (_Relative_pointer_impl::_UIntPtrType): - Rename to uintptr_t and define as __UINTPTR_TYPE__. - -2021-12-14 Jonathan Wakely - - * include/bits/regex_constants.h (__syntax_option, __match_flag): - Remove. - (syntax_option_type, match_flag_type): Define enumerators. - Use to initialize globals. Add constexpr to compound assignment - operators. - * include/bits/regex_error.h (error_type): Add comment. - * testsuite/28_regex/constants/constexpr.cc: Remove comment. - * testsuite/28_regex/constants/error_type.cc: Improve comment. - * testsuite/28_regex/constants/match_flag_type.cc: Check bitmask - requirements. - * testsuite/28_regex/constants/syntax_option_type.cc: Likewise. - -2021-12-14 Jonathan Wakely - - * include/bits/regex_compiler.tcc (_Compiler::_M_match_token): - Use reserved name for parameter. - * testsuite/17_intro/names.cc: Check "token". - -2021-12-13 Jonathan Wakely - - * scripts/make_exports.pl: Replace '?' with '.' when turning - a glob into a regex. - -2021-12-13 Jonathan Wakely - - * include/bits/ranges_base.h (ranges::size, ranges::empty): Add - explicit check for unbounded arrays before using ranges::begin. - * testsuite/std/ranges/access/empty.cc: Check handling of unbounded - arrays. - * testsuite/std/ranges/access/size.cc: Likewise. - -2021-12-13 Jonathan Wakely - - PR libstdc++/103664 - * include/bits/regex.h (__regex_replace): Declare. - (regex_replace): Use it. - * include/bits/regex.tcc (__regex_replace): Replace regex_replace - definition with __regex_replace. - * testsuite/28_regex/algorithms/regex_replace/char/103664.cc: New test. - -2021-12-11 Jason Merrill - - PR c++/103534 - * include/bits/basic_string.h (append (basic_string)): Call pointer - append instead of _M_append directly. - -2021-12-10 Jakub Jelinek - - PR libstdc++/71367 - * config/locale/dragonfly/time_members.cc (_M_initialize_timepunct): - Initialize "C" _M_am_pm_format to %I:%M:%S %p rather than empty - string. - * config/locale/gnu/time_members.cc (_M_initialize_timepunct): - Likewise. - * config/locale/generic/time_members.cc (_M_initialize_timepunct): - Likewise. - * include/bits/locale_facets_nonio.h (_M_am_pm_format): New method. - * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Handle - %r. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_am_pm_format - with const _CharT** argument, ensure it isn't exported in GLIBCXX_3.4. - * testsuite/22_locale/time_get/get/char/71367.cc: New test. - * testsuite/22_locale/time_get/get/wchar_t/71367.cc: New test. - -2021-12-10 Jakub Jelinek - - PR libstdc++/78714 - * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): - Mention in function comment it interprets strptime format string - rather than strftime. Handle %a and %A the same by accepting both - full and abbreviated names. Similarly handle %h, %b and %B the same. - Handle %d and %e the same by accepting possibly optional single space - and 1 or 2 digits. For %I store tm_hour 0 instead of tm_hour 12. For - %t and %n skip any whitespace. Handle %p and %%. For whitespace in - the string skip any whitespace. - (_M_extract_num): For __len == 2 accept 1 or 2 digits rather than - always 2. Don't punt early if __value * __mult is larget than __max - or smaller than __min - __mult, instead punt if __value > __max. - At the end verify __value is in between __min and __max and punt - otherwise. - (_M_extract_name): Allow non-unique names or names which are prefixes - of other names. Don't recompute lengths of names for every character. - * testsuite/22_locale/time_get/get/char/3.cc: New test. - * testsuite/22_locale/time_get/get/wchar_t/3.cc: New test. - * testsuite/22_locale/time_get/get_date/char/12791.cc (test01): Use - 62 instead 60 and expect 6 to be accepted and thus *ret01 == '2'. - * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc (test01): - Similarly. - * testsuite/22_locale/time_get/get_time/char/2.cc (test02): Add " PM" - to the string. - * testsuite/22_locale/time_get/get_time/char/5.cc (test01): Expect - tm_hour 1 rather than 0. - * testsuite/22_locale/time_get/get_time/wchar_t/2.cc (test02): Add - " PM" to the string. - * testsuite/22_locale/time_get/get_time/wchar_t/5.cc (test01): Expect - tm_hour 1 rather than 0. - -2021-12-10 Jonathan Wakely - - PR libstdc++/103638 - * include/bits/atomic_timed_wait.h: Check _GLIBCXX_HAS_GTHREADS - before using std::mutex and std::__condvar. - -2021-12-10 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add _GLIBCXX_ - prefix to NO_SLEEP macro. - * config.h.in: Regenerate. - * configure: Regenerate. - -2021-12-10 Jonathan Wakely - - * include/bits/char_traits.h: Change pragma push to pop. - -2021-12-10 Thomas Rodgers - - PR libstdc++/102994 - * include/bits/atomic_base.h (__atomic_base<_PTp*>::wait()): - Add const qualifier. - * include/std/atomic (atomic<_Tp*>::wait(), atomic_wait()): - Likewise. - * testsuite/29_atomics/atomic/wait_notify/102994.cc: - New test. - -2021-12-09 Jonathan Wakely - - * include/bits/stl_iterator.h (operator==, operator<=>): Define - overloads for homogeneous specializations of reverse_iterator, - __normal_iterator and move_iterator. - -2021-12-09 Jonathan Wakely - - * testsuite/20_util/scoped_allocator/69293_neg.cc: Remove - dg-error for c++20. - -2021-12-09 Jonathan Wakely - - PR libstdc++/85813 - * libsupc++/exception_ptr.h (__dest_thunk): Add macro for - destructor calling convention. - (make_exception_ptr): Enable non-throwing implementation for - -fno-exceptions and for non-standard calling conventions. Use - always_inline attribute on the useless no-rtti no-exceptions - definition. - * testsuite/18_support/exception_ptr/64241.cc: Add -fno-rtti so - the no-op implementation is still used. - -2021-12-09 Jonathan Wakely - - PR libstdc++/103630 - * libsupc++/exception_ptr.h (exception_ptr): Fix exception - specifications on inline definitions. - (make_exception_ptr): Decay the template parameter. Use typeid - of the static type. - * testsuite/18_support/exception_ptr/103630.cc: New test. - -2021-12-09 Jonathan Wakely - - PR libstdc++/59769 - * config/io/basic_file_stdio.cc (fopen_mode): Add support for - exclusive mode. - * include/bits/ios_base.h (_S_noreplace): Define new enumerator. - (ios_base::__noreplace): Define. - (ios_base::noreplace): Define for C++23. - * include/std/version (__cpp_lib_ios_noreplace): Define. - * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: New test. - * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: New test. - -2021-12-09 Jonathan Wakely - - PR libstdc++/103382 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Do not export old - symbol if .symver renaming is supported. - (GLIBCXX_3.4.30): Export new symbol if .symver renaming is - supported. - * doc/xml/manual/evolution.xml: Document change. - * doc/html/manual/api.html: Regenerate. - * include/bits/std_mutex.h (__condvar::wait, __condvar::wait_until): - Remove noexcept. - * include/std/condition_variable (condition_variable::wait): - Likewise. - * src/c++11/condition_variable.cc (condition_variable::wait): - Likewise. - * src/c++11/compatibility-condvar.cc (__nothrow_wait_cv::wait): - Define nothrow wrapper around std::condition_variable::wait and - export the old symbol as an alias to it. - * testsuite/30_threads/condition_variable/members/103382.cc: New test. - -2021-12-09 Jonathan Wakely - - PR libstdc++/92300 - * include/bits/stl_map.h (insert(Pair&&), emplace(Args&&...)): - Check whether the arguments can be looked up directly without - constructing a temporary node first. - * include/bits/stl_pair.h (__is_pair): Move to here, from ... - * include/bits/uses_allocator_args.h (__is_pair): ... here. - * testsuite/23_containers/map/modifiers/emplace/92300.cc: New test. - * testsuite/23_containers/map/modifiers/insert/92300.cc: New test. - -2021-12-09 Jonathan Wakely - - * include/bits/cow_string.h (basic_string::_M_leak_hard): Do not - reallocate an empty string. - -2021-12-09 Jonathan Wakely - - PR libstdc++/103332 - PR libstdc++/102958 - PR libstdc++/103483 - * include/bits/char_traits.h: Suppress stringop and array-bounds - warnings. - -2021-12-09 Jonathan Wakely - - PR libstdc++/64135 - * config/allocator/new_allocator_base.h: Include - instead of . - (__allocator_base): Use std::__new_allocator instead of - __gnu_cxx::new_allocator. - * doc/xml/manual/allocator.xml: Document new default base class - for std::allocator. - * doc/xml/manual/evolution.xml: Likewise. - * doc/html/*: Regenerate. - * include/Makefile.am: Add bits/new_allocator.h. - * include/Makefile.in: Regenerate. - * include/experimental/memory_resource (new_delete_resource): - Use std::__new_allocator instead of __gnu_cxx::new_allocator. - * include/ext/new_allocator.h (new_allocator): Derive from - std::__new_allocator. Move implementation to ... - * include/bits/new_allocator.h: New file. - * testsuite/20_util/allocator/64135.cc: New test. - -2021-12-08 Jonathan Wakely - - * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release()): - Make shift width conditional on __double_word condition. - -2021-12-08 François Dumont - - * include/std/deque (erase_if): Use _GLIBCXX_STD_C container reference and - __niter_wrap to limit _GLIBCXX_DEBUG mode impact. - * include/std/vector (erase_if): Likewise. - -2021-12-08 Maged Michael - Jonathan Wakely - - * include/bits/c++config (_GLIBCXX_TSAN): Define macro - indicating that TSan is in use. - * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release): - Replace definition in primary template with explicit - specializations for _S_mutex and _S_atomic policies. - (_Sp_counted_base<_S_mutex>::_M_release): New specialization. - (_Sp_counted_base<_S_atomic>::_M_release): New specialization, - using a single atomic load to access both reference counts at - once. - (_Sp_counted_base::_M_release_last_use): New member function. - -2021-12-07 Tamar Christina - - Revert: - 2021-11-19 Tamar Christina - - PR libstdc++/103305 - * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit, - space, print, graph, cntrl, punct, alnum, blank): Use short or long - names depending on if short ones are defined. - -2021-12-04 Jonathan Wakely - - PR libstdc++/103549 - * include/bits/regex.h (match_results): Give names to template - parameters in first declaration. - (match_results::_M_begin): Add default member-initializer. - -2021-12-03 Jonathan Wakely - - * include/bits/stl_tree.h (_Rb_tree::_Auto_node): Define new - RAII helper for creating and inserting new nodes. - (_Rb_tree::_M_insert_node): Use trailing-return-type to simplify - out-of-line definition. - (_Rb_tree::_M_insert_lower_node): Likewise. - (_Rb_tree::_M_insert_equal_lower_node): Likewise. - (_Rb_tree::_M_emplace_unique): Likewise. Use _Auto_node. - (_Rb_tree::_M_emplace_equal): Likewise. - (_Rb_tree::_M_emplace_hint_unique): Likewise. - (_Rb_tree::_M_emplace_hint_equal): Likewise. - -2021-12-02 Jonathan Wakely - - * src/c++11/cow-stdexcept.cc [_GLIBCXX_FULLY_DYNAMIC_STRING] - (logic_error, runtime_error): Remove custom definitions. - -2021-12-02 Jonathan Wakely - - PR libstdc++/103340 - PR libstdc++/103400 - PR libstdc++/103381 - * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Remove mt, bitmap - and pool options. - * configure: Regenerate. - * config/allocator/bitmap_allocator_base.h: Removed. - * config/allocator/mt_allocator_base.h: Removed. - * config/allocator/pool_allocator_base.h: Removed. - * doc/xml/manual/allocator.xml: Update. - * doc/xml/manual/configure.xml: Update. - * doc/xml/manual/evolution.xml: Document removal. - * doc/xml/manual/mt_allocator.xml: Editorial tweaks. - * doc/html/manual/*: Regenerate. - -2021-12-02 Jonathan Wakely - - * include/bits/cow_string.h (basic_string::_M_is_leaked()): - Revert change to check __is_single_threaded() before using - atomic load. - -2021-12-01 Jonathan Wakely - - PR libstdc++/103501 - * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&, false_type)): - Clear container if elements have been moved-from. - * testsuite/23_containers/map/allocator/move_cons.cc: Expect - moved-from container to be empty. - * testsuite/23_containers/multimap/allocator/move_cons.cc: - Likewise. - * testsuite/23_containers/multiset/allocator/103501.cc: New test. - * testsuite/23_containers/set/allocator/103501.cc: New test. - -2021-12-01 Jonathan Wakely - - * doc/doxygen/user.cfg.in (PREDEFINED): Change macro name. - * include/bits/allocator.h (allocate, deallocate): Use - std::__is_constant_evaluated() unconditionally, instead of - checking whether std::is_constant_evaluated() (or the built-in) - can be used. - * include/bits/basic_string.h: Check new macro. call - std::is_constant_evaluated() directly in C++20-only code that is - guarded by a suitable macro. - * include/bits/basic_string.tcc: Likewise. - * include/bits/c++config (__is_constant_evaluated): Define. - (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Replace with ... - (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED): New macro. - * include/bits/char_traits.h (char_traits): Replace conditional - calls to std::is_constant_evaluated with unconditional calls to - std::__is_constant_evaluated. - * include/bits/cow_string.h: Use new macro. - * include/bits/ranges_algobase.h (__copy_or_move): Replace - conditional calls to std::is_constant_evaluated with unconditional - calls to std::__is_constant_evaluated. - (__copy_or_move_backward, __fill_n_fn): Likewise. - * include/bits/ranges_cmp.h (ranges::less): Likewise. - * include/bits/stl_algobase.h (lexicographical_compare_three_way): - Likewise. - * include/bits/stl_bvector.h: Call std::is_constant_evaluated - directly in C++20-only code that is guarded by a suitable macro. - * include/bits/stl_construct.h (_Construct, _Destroy, _Destroy_n): - Replace is_constant_evaluated with __is_constant_evaluated. - * include/bits/stl_function.h (greater, less, greater_equal) - (less_equal): Replace __builtin_is_constant_evaluated and - __builtin_constant_p with __is_constant_evaluated. - * include/bits/stl_vector.h: Call std::is_constant_evaluated() - in C++20-only code. - * include/debug/helper_functions.h (__check_singular): Use - __is_constant_evaluated instead of built-in, or remove check - entirely. - * include/std/array (operator<=>): Use __is_constant_evaluated - unconditionally. - * include/std/bit (__bit_ceil): Likewise. - * include/std/type_traits (is_constant_evaluated): Define using - 'if consteval' if possible. - * include/std/version: Use new macro. - * libsupc++/compare: Use __is_constant_evaluated instead of - __builtin_is_constant_evaluated. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error lines. - -2021-12-01 Jonathan Wakely - - * include/bits/cow_string.h (basic_string::_M_is_leaked): Use - non-atomic load when __is_single_threaded() is true. - (basic_string::_M_is_shared): Likewise. - (basic_string::(basic_string&&)) [_GLIBCXX_FULLY_DYNAMIC_STRING]: - Use non-atomic store when rvalue is not shared. - -2021-12-01 Jonathan Wakely - - * src/c++17/fs_path.cc (path::_M_split_cmpts()): Remove - micro-optimization for "/" path. - * src/filesystem/path.cc (path::_M_split_cmpts()): Only access - the contents of _M_pathname using const member functions. - -2021-11-30 Jonathan Wakely - - * testsuite/21_strings/basic_string/cons/char/moveable.cc: Allow - moved-from string to be non-empty. - * testsuite/21_strings/basic_string/cons/char/moveable2.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc: - Construct empty string before setting oom flag. - * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc: - Likewise. - -2021-11-30 Jonathan Wakely - - * include/bits/cow_string.h (basic_string(basic_string&&)): Fix - mem-initializer for _GLIBCXX_FULLY_DYNAMIC_STRING==0 case. - * testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc: - Remove outdated comment. - * testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc: - Likewise. - -2021-11-30 Jonathan Wakely - - * src/c++20/sstream-inst.cc (_GLIBCXX_USE_CXX11_ABI): Define to - select new ABI. - -2021-11-30 Jonathan Wakely - - * include/bits/stl_vector.h (vector::_S_do_relocate): Remove - C++20 constexpr specifier. - (vector::_S_relocate) [__cpp_if_constexpr]: Call __relocate_a - directly without tag dispatching. - -2021-11-30 Jonathan Wakely - - PR libstdc++/103453 - * config/allocator/malloc_allocator_base.h - (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define for Clang. - * config/allocator/new_allocator_base.h - (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Likewise. - -2021-11-30 Jonathan Wakely - - * doc/xml/manual/debug_mode.xml: Replace "his or her" with "their". - * doc/html/manual/debug_mode_design.html: Regenerate. - -2021-11-30 Jakub Jelinek - - * include/std/bit (byteswap): Add [[nodiscard]]. - -2021-11-28 Jakub Jelinek - - * include/std/bit (__cpp_lib_byteswap, byteswap): Define. - * include/std/version (__cpp_lib_byteswap): Define. - * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: New test. - * testsuite/26_numerics/bit/bit.byteswap/version.cc: New test. - -2021-11-26 Jonathan Wakely - - * testsuite/24_iterators/move_iterator/dr3265.cc: Fix test to - account for LWG 3435 resolution. - -2021-11-26 Jonathan Wakely - - * include/bits/stl_uninitialized.h (__relocate_a_1): Do not use - memmove during constant evaluation. - * include/bits/stl_vector.h (vector::_S_use_relocate()): Do not - check is_constant_evaluated in always-constexpr function. - -2021-11-26 Jonathan Wakely - - PR libstdc++/96592 - * include/std/tuple (tuple::is_constructible): Remove. - -2021-11-26 Jonathan Wakely - - * testsuite/29_atomics/atomic_float/1.cc: Reorder directives. - -2021-11-26 Jonathan Wakely - - * testsuite/23_containers/unordered_map/modifiers/move_assign.cc: - Change dg-do compile to run. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: - Likewise. - -2021-11-26 Jonathan Wakely - - * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: - Remove xfail selector. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: - Likewise. - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: - Likewise. - * testsuite/23_containers/span/101411.cc: Likewise. - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: - Likewise. - * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: - Likewise. - -2021-11-26 Jonathan Wakely - - * testsuite/20_util/pointer_traits/lwg3545.cc: Move to_address - tests to ... - * testsuite/20_util/to_address/lwg3545.cc: ... here. Add -std - option before checking effective target. - -2021-11-25 Jonathan Wakely - - * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: - Remove dg-error for C++11_only error. - -2021-11-25 Jonathan Wakely - - PR libstdc++/96416 - * include/bits/ptr_traits.h (pointer_traits): Reimplement to be - SFINAE-friendly (LWG 3545). - * testsuite/20_util/pointer_traits/lwg3545.cc: New test. - * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line. - * testsuite/20_util/to_address/lwg3545.cc: New test. - -2021-11-25 Jonathan Wakely - - PR libstdc++/101608 - * include/bits/ranges_algobase.h (__fill_n_fn): Check for - constant evaluation before using memset. - * testsuite/25_algorithms/fill_n/constrained.cc: Check - byte-sized values as well. - -2021-11-24 Jonathan Wakely - - * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for - debug mode. - * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. - -2021-11-24 Jonathan Wakely - - * testsuite/lib/libstdc++.exp: Rename effective target keywords - to avoid dashes in the name. - * testsuite/*: Update effective targe keywords. - -2021-11-23 Jonathan Wakely - - PR libstdc++/103086 - * testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr - with non-empty pointer and non-empty deleter. - -2021-11-23 Jonathan Wakely - - * testsuite/18_support/50594.cc: Check effective target. - * testsuite/20_util/allocator/1.cc: Likewise. - * testsuite/20_util/allocator/overaligned.cc: Likewise. - * testsuite/23_containers/unordered_map/96088.cc: Likewise. - * testsuite/23_containers/unordered_multimap/96088.cc: Likewise. - * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. - * testsuite/23_containers/unordered_set/96088.cc: Likewise. - * testsuite/ext/throw_allocator/check_delete.cc: Likewise. - * testsuite/ext/throw_allocator/check_new.cc: Likewise. - * testsuite/lib/libstdc++.exp (check_effective_target_std_allocator_new): - Define new proc. - -2021-11-23 Jonathan Wakely - - PR libstdc++/103381 - * include/ext/bitmap_allocator.h: Include - instead of . - -2021-11-22 Jonathan Wakely - - * include/bits/c++config (_GLIBCXX14_DEPRECATED): Fix condition - checking for C++14. - -2021-11-20 François Dumont - - * include/bits/erase_if.h (__erase_nodes_if): Add _UnsafeContainer template - parameter. Use it to get iterators to work with. - * include/debug/macros.h (__glibcxx_check_erase2): New. - * include/debug/map.h (map<>::erase(_Base_const_iterator)): New. - (map<>::erase(const_iterator)): Use latter. - * include/debug/multimap.h (multimap<>::erase(_Base_const_iterator)): New. - (multimap<>::erase(const_iterator)): Use latter. - * include/debug/multiset.h (multiset<>::erase(_Base_const_iterator)): New. - (multiset<>::erase(const_iterator)): Use latter. - * include/debug/set.h (set<>::erase(_Base_const_iterator)): New. - (set<>::erase(const_iterator)): Use latter. - * include/debug/unordered_map (unordered_map<>::erase(_Base_const_iterator)): New. - (unordered_multimap<>::erase(const_iterator)): New. - * include/debug/unordered_set (unordered_set<>::erase(_Base_const_iterator)): New. - (unordered_multiset<>::erase(const_iterator)): New. - * include/experimental/map (erase_if): Adapt. - * include/experimental/set (erase_if): Adapt. - * include/experimental/unordered_map (erase_if): Adapt. - * include/experimental/unordered_set (erase_if): Adapt. - * include/std/map (erase_if): Adapt. - * include/std/set (erase_if): Adapt. - * include/std/unordered_map (erase_if): Adapt. - * include/std/unordered_set (erase_if): Adapt. - -2021-11-19 Jonathan Wakely - - * testsuite/27_io/basic_istringstream/cons/char/1.cc: Check all - constructors. - * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: - Likewise. - -2021-11-19 Jonathan Wakely - - * src/c++98/locale_init.cc (_S_initialize_once): Check if - initialization has already been done. - (_S_initialize): Replace __gthread_active_p with - __is_single_threaded. Use __builtin_expect. - -2021-11-19 Jonathan Wakely - - PR libstdc++/103295 - * include/bits/basic_string.tcc (_M_construct): Use the - traits assign member to write into allcoated memory. - -2021-11-19 Iain Sandoe - - * testsuite/lib/prune.exp: Prune dsymutil (ld64) warning. - -2021-11-19 Jonathan Wakely - - PR libstdc++/103332 - PR libstdc++/102958 - * testsuite/21_strings/basic_string/capacity/char/1.cc: Add - -Wno-stringop-overflow. - * testsuite/21_strings/basic_string/operators/char/1.cc: - Likewise. - * testsuite/experimental/filesystem/path/factory/u8path-char8_t.cc: - Add -Wno-stringop-overread. - -2021-11-19 Jonathan Wakely - - PR libstdc++/103295 - * include/bits/basic_string.h (_Alloc_traits): Replace typedef - with struct for C++20 mode. - * include/bits/basic_string.tcc (_M_replace): Use _Alloc_traits - for allocation. - * include/bits/char_traits.h (__gnu_cxx::char_traits::assign): - Use std::_Construct during constant evaluation. - (__gnu_cxx::char_traits::assign(CharT*, const CharT*, size_t)): - Likewise. Replace std::fill_n with memset or manual loop. - (__gnu_cxx::char_traits::copy): Likewise, replacing std::copy - with memcpy. - * include/ext/vstring.h: Include for - std::min. - * include/std/string_view: Likewise. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Add constexpr test. - -2021-11-19 Tamar Christina - - PR libstdc++/103305 - * config/os/newlib/ctype_base.h (upper, lower, alpha, digit, xdigit, - space, print, graph, cntrl, punct, alnum, blank): Use short or long - names depending on if short ones are defined. - -2021-11-18 Jonathan Wakely - - * include/bits/char_traits.h (__gnu_cxx::char_traits::move): - Do not compare unrelated pointers during constant evaluation. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Improve tests for char_traits::move. - -2021-11-18 Jonathan Wakely - - * acinclude.m4: Replace AC_CACHE_VAL with AC_CACHE_CHECK. - * configure: Regenerate. - -2021-11-17 Jonathan Wakely - - * include/experimental/internet (address): Use std::_Construct - to initialize union members. - -2021-11-17 Jonathan Wakely - - * include/bits/basic_string.h (_M_construct_aux): Only define - for C++98. Remove constexpr. - (_M_construct_aux_2): Likewise. - (_M_construct(InputIter, InputIter)): Remove. - (basic_string(const basic_string&)): Call _M_construct with - iterator category argument. - (basic_string(const basic_string&, size_type, const Alloc&)): - Likewise. - (basic_string(const basic_string&, size_type, size_type)): - Likewise. - (basic_string(const charT*, size_type, const Alloc&)): Likewise. - Check for null pointer. - (basic_string(const charT*, const Alloc&)): Likewise. - (basic_string(initializer_list, const Alloc&)): Call - _M_construct with iterator category argument. - (basic_string(const basic_string&, const Alloc&)): Likewise. - (basic_string(basic_string&&, const Alloc&)): Likewise. - (basic_string(_InputIter, _InputIter, const Alloc&)): Likewise - for C++11 and later, call _M_construct_aux for C++98. - * include/bits/basic_string.tcc - (_M_construct(I, I, input_iterator_tag)): Replace try-block with - RAII type. - (_M_construct(I, I, forward_iterator_tag)): Likewise. Remove - __is_null_pointer check. - -2021-11-17 Jonathan Wakely - - PR libstdc++/103295 - * include/bits/basic_string.h (_M_use_local_data()): New - member function to make local buffer the active member. - (assign(const basic_string&)): Use it. - * include/bits/basic_string.tcc (_M_construct, reserve()): - Likewise. - -2021-11-17 Jonathan Wakely - - PR libstdc++/103240 - * libsupc++/tinfo2.cc (type_info::before): Use unadjusted name - to check for the '*' prefix. - * testsuite/util/testsuite_shared.cc: Add type_info object for - use in new test. - * testsuite/18_support/type_info/103240.cc: New test. - -2021-11-16 Jonathan Wakely - - * include/bits/basic_string.h (operator<=>): Use constexpr - unconditionally. - * testsuite/21_strings/basic_string/modifiers/constexpr.cc: - Require cxx11-abit effective target. - * testsuite/21_strings/headers/string/synopsis.cc: Add - conditional constexpr to declarations, and adjust relational - operators for C++20. - -2021-11-16 Patrick Palka - - * src/c++17/ryu/MERGE: Update the commit hash. - * src/c++17/ryu/d2s_intrinsics.h: Merge from Ryu's master - branch. - -2021-11-16 Jonathan Wakely - - * include/bits/basic_string.h (basic_string, operator""s): Add - constexpr for C++20. - (basic_string::basic_string(basic_string&&)): Only copy - initialized portion of the buffer. - (basic_string::basic_string(basic_string&&, const Alloc&)): - Likewise. - * include/bits/basic_string.tcc (basic_string): Add constexpr - for C++20. - (basic_string::swap(basic_string&)): Only copy initialized - portions of the buffers. - (basic_string::_M_replace): Add constexpr implementation that - doesn't depend on pointer comparisons. - * include/bits/cow_string.h: Adjust comment. - * include/ext/type_traits.h (__is_null_pointer): Add constexpr. - * include/std/string (erase, erase_if): Add constexpr. - * include/std/version (__cpp_lib_constexpr_string): Update - value. - * testsuite/21_strings/basic_string/cons/char/constexpr.cc: - New test. - * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: - New test. - * testsuite/21_strings/basic_string/literals/constexpr.cc: - New test. - * testsuite/21_strings/basic_string/modifiers/constexpr.cc: New test. - * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc: - New test. - * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc: - New test. - * testsuite/21_strings/basic_string/version.cc: New test. - -2021-11-16 Jonathan Wakely - - * include/bits/stl_bvector.h (swap(_Bit_reference, _Bit_reference)) - (swap(_Bit_reference, bool&), swap(bool&, _Bit_reference)): - Define as hidden friends of _Bit_reference. - -2021-11-16 Jonathan Wakely - - * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc: - Fix reads past the end of strings. - * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: - Likewise. - * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc: - Likewise. - -2021-11-16 Jonathan Wakely - - * testsuite/21_strings/basic_string/allocator/71964.cc: Fix - typo. - * testsuite/23_containers/set/allocator/71964.cc: Likewise. - -2021-11-15 Jason Merrill - - * testsuite/20_util/to_address/1_neg.cc: Adjust error. - * testsuite/26_numerics/random/concept.cc: Adjust asserts. - -2021-11-15 François Dumont - - * include/bits/hashtable_policy.h: - (_Hash_code_base<>::_M_hash_code(const _Hash&, const _Hash_node_value<_Value, true>&)): New. - (_Hash_code_base<>::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): New. - * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Use latter. - (_Hashtable<>::_M_merge_multi): Likewise. - * testsuite/23_containers/unordered_multiset/modifiers/merge.cc (test05): New test. - * testsuite/23_containers/unordered_set/modifiers/merge.cc (test04): New test. - -2021-11-15 Jason Merrill - - * src/c++17/memory_resource.cc: Add missing constexpr. - * include/experimental/internet: Only mark copy constructor - as constexpr with __cpp_constexpr_dynamic_alloc. - -2021-11-14 François Dumont - - * include/debug/safe_container.h (_Safe_container<>::_M_safe): Remove. - * include/debug/deque (deque::operator=(initializer_list<>)): Replace - _M_base() call with _Base:: call. - (deque::operator[](size_type)): Likewise. - * include/debug/forward_list (forward_list(forward_list&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (forward_list::operator=(initializer_list<>)): Remove _M_base() calls. - (forward_list::splice_after, forward_list::merge): Likewise. - * include/debug/list (list(list&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (list::operator=(initializer_list<>)): Remove _M_base() calls. - (list::splice, list::merge): Likewise. - * include/debug/map.h (map(map&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (map::operator=(initializer_list<>)): Remove _M_base() calls. - * include/debug/multimap.h (multimap(multimap&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (multimap::operator=(initializer_list<>)): Remove _M_base() calls. - * include/debug/set.h (set(set&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (set::operator=(initializer_list<>)): Remove _M_base() calls. - * include/debug/multiset.h (multiset(multiset&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (multiset::operator=(initializer_list<>)): Remove _M_base() calls. - * include/debug/string (basic_string(basic_string&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (basic_string::operator=(initializer_list<>)): Remove _M_base() call. - (basic_string::operator=(const _CharT*), basic_string::operator=(_CharT)): Likewise. - (basic_string::operator[](size_type), basic_string::operator+=(const basic_string&)): - Likewise. - (basic_string::operator+=(const _Char*), basic_string::operator+=(_CharT)): Likewise. - * include/debug/unordered_map (unordered_map(unordered_map&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (unordered_map::operator=(initializer_list<>), unordered_map::merge): - Remove _M_base() calls. - (unordered_multimap(unordered_multimap&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (unordered_multimap::operator=(initializer_list<>), unordered_multimap::merge): - Remove _M_base() calls. - * include/debug/unordered_set (unordered_set(unordered_set&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (unordered_set::operator=(initializer_list<>), unordered_set::merge): - Remove _M_base() calls. - (unordered_multiset(unordered_multiset&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (unordered_multiset::operator=(initializer_list<>), unordered_multiset::merge): - Remove _M_base() calls. - * include/debug/vector (vector(vector&&, const allocator_type&)): - Remove _M_safe() and _M_base() calls. - (vector::operator=(initializer_list<>)): Remove _M_base() calls. - (vector::operator[](size_type)): Likewise. - -2021-11-13 Jonathan Wakely - - * include/Makefile.am: Add spanstream header. - * include/Makefile.in: Regenerate. - * include/precompiled/stdc++.h: Add spanstream header. - * include/std/version (__cpp_lib_spanstream): Define. - * include/std/spanstream: New file. - * testsuite/27_io/spanstream/1.cc: New test. - * testsuite/27_io/spanstream/version.cc: New test. - -2021-11-13 Hans-Peter Nilsson - - PR libstdc++/103166 - * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM): - Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_COMPILE. - * configure: Regenerate. - -2021-11-12 Jonathan Wakely - - PR libstdc++/59675 - * acinclude.m4 (libtool_VERSION): Bump version. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Add version and - export new symbol. - * configure: Regenerate. - * include/bits/c++config (__replacement_assert): Remove, declare - __glibcxx_assert_fail instead. - * src/c++11/debug.cc (__glibcxx_assert_fail): New function to - replace __replacement_assert, writing to stderr instead of - stdout. - * testsuite/util/testsuite_abi.cc: Update latest version. - -2021-11-12 Jonathan Wakely - Josh Marshall - - * include/bits/alloc_traits.h (_Destroy): Make constexpr for - C++20 mode. - * include/bits/allocator.h (__shrink_to_fit::_S_do_it): - Likewise. - * include/bits/stl_algobase.h (__fill_a1): Declare _Bit_iterator - overload constexpr for C++20. - * include/bits/stl_bvector.h (_Bit_type, _S_word_bit): Move out - of inline namespace. - (_Bit_reference, _Bit_iterator_base, _Bit_iterator) - (_Bit_const_iterator, _Bvector_impl_data, _Bvector_base) - (vector>): Add constexpr to every member function. - (_Bvector_base::_M_allocate): Initialize storage during constant - evaluation. - (vector::_M_initialize_value): Use __fill_bvector_n - instead of memset. - (__fill_bvector_n): New helper function to replace memset during - constant evaluation. - * include/bits/stl_uninitialized.h (__uninitialized_copy): - Move logic to ... - (__do_uninit_copy): New function. - (__uninitialized_fill): Move logic to ... - (__do_uninit_fill): New function. - (__uninitialized_fill_n): Move logic to ... - (__do_uninit_fill_n): New function. - (__uninitialized_copy_a): Add constexpr. Use __do_uninit_copy. - (__uninitialized_move_a, __uninitialized_move_if_noexcept_a): - Add constexpr. - (__uninitialized_fill_a): Add constexpr. Use __do_uninit_fill. - (__uninitialized_fill_n_a): Add constexpr. Use - __do_uninit_fill_n. - (__uninitialized_default_n, __uninitialized_default_n_a) - (__relocate_a_1, __relocate_a): Add constexpr. - * include/bits/stl_vector.h (_Vector_impl_data, _Vector_impl) - (_Vector_base, vector): Add constexpr to every member function. - (_Vector_impl::_S_adjust): Disable ASan annotation during - constant evaluation. - (_Vector_base::_S_use_relocate): Disable bitwise-relocation - during constant evaluation. - (vector::_Temporary_value): Use a union for storage. - * include/bits/vector.tcc (vector, vector): Add constexpr - to every member function. - * include/std/vector (erase_if, erase): Add constexpr. - * testsuite/23_containers/headers/vector/synopsis.cc: Add - constexpr for C++20 mode. - * testsuite/23_containers/vector/bool/cmp_c++20.cc: Change to - compile-only test using constant expressions. - * testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust - namespace for _S_word_bit. - * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: - Likewise. - * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/cons/89164.cc: Adjust errors - for C++20 and move C++17 test to ... - * testsuite/23_containers/vector/cons/89164_c++17.cc: ... here. - * testsuite/23_containers/vector/bool/capacity/constexpr.cc: New test. - * testsuite/23_containers/vector/bool/cons/constexpr.cc: New test. - * testsuite/23_containers/vector/bool/element_access/constexpr.cc: New test. - * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: New test. - * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: New test. - * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: New test. - * testsuite/23_containers/vector/capacity/constexpr.cc: New test. - * testsuite/23_containers/vector/cons/constexpr.cc: New test. - * testsuite/23_containers/vector/data_access/constexpr.cc: New test. - * testsuite/23_containers/vector/element_access/constexpr.cc: New test. - * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: New test. - * testsuite/23_containers/vector/modifiers/constexpr.cc: New test. - * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: New test. - -2021-11-11 Jonathan Wakely - - * include/debug/deque (deque::operator=(const deque&)): Remove - definition. - * include/debug/list (list::operator=(const list&)): Likewise. - * include/debug/map.h (map::operator=(const map&)): Likewise. - * include/debug/multimap.h (multimap::operator=(const multimap&)): - Likewise. - * include/debug/multiset.h (multiset::operator=(const multiset&)): - Likewise. - * include/debug/set.h (set::operator=(const set&)): Likewise. - * include/debug/string (basic_string::operator=(const basic_string&)): - Likewise. - * include/debug/vector (vector::operator=(const vector&)): - Likewise. - (_Safe_vector::operator=(const _Safe_vector&)): Define for - C++98 as well. - -2021-11-11 Jonathan Wakely - - * include/std/memory_resource (memory_resource::allocate): - Implicitly create objects in the returned storage. - -2021-11-11 Jonathan Wakely - - * include/bits/stl_bvector.h (vector::data()): Give - protected access, and delete for C++11 and later. - -2021-11-10 Jonathan Wakely - - PR libstdc++/100117 - * testsuite/17_intro/headers/c++1998/49745.cc: Explicitly list - all C++ headers instead of including - -2021-11-10 Jonathan Wakely - - PR libstdc++/100748 - PR libstdc++/103133 - * config/os/gnu-linux/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): - Define for glibc 2.34 and later. - -2021-11-09 François Dumont - - * include/bits/hashtable_policy.h (__distance_fw): Replace class keyword with - typename. - * include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Remove noexcept - qualification. Use const_iterator for node extraction/reinsert. - (_Hashtable<>::_M_merge_multi): Likewise. Compute new hash code before extract. - * include/debug/safe_container.h (_Safe_container<>): Make all methods - protected. - * include/debug/safe_unordered_container.h - (_Safe_unordered_container<>::_UContInvalidatePred<_ExtractKey, _Source>): New. - (_Safe_unordered_container<>::_UMContInvalidatePred<_ExtractKey, _Source>): New. - (_Safe_unordered_container<>::_UContMergeGuard<_Source, _InvalidatePred>): New. - (_Safe_unordered_container<>::_S_uc_guard<_ExtractKey, _Source>): New. - (_Safe_unordered_container<>::_S_umc_guard<_ExtractKey, _Source>): New. - (_Safe_unordered_container<>::_M_invalide_all): Make public. - (_Safe_unordered_container<>::_M_invalide_if): Likewise. - (_Safe_unordered_container<>::_M_invalide_local_if): Likewise. - * include/debug/unordered_map - (unordered_map<>::mapped_type, pointer, const_pointer): New typedef. - (unordered_map<>::reference, const_reference, difference_type): New typedef. - (unordered_map<>::get_allocator, empty, size, max_size): Add usings. - (unordered_map<>::bucket_count, max_bucket_count, bucket): Add usings. - (unordered_map<>::hash_function, key_equal, count, contains): Add usings. - (unordered_map<>::operator[], at, rehash, reserve): Add usings. - (unordered_map<>::merge): New. - (unordered_multimap<>::mapped_type, pointer, const_pointer): New typedef. - (unordered_multimap<>::reference, const_reference, difference_type): New typedef. - (unordered_multimap<>::get_allocator, empty, size, max_size): Add usings. - (unordered_multimap<>::bucket_count, max_bucket_count, bucket): Add usings. - (unordered_multimap<>::hash_function, key_equal, count, contains): Add usings. - (unordered_multimap<>::rehash, reserve): Add usings. - (unordered_multimap<>::merge): New. - * include/debug/unordered_set - (unordered_set<>::mapped_type, pointer, const_pointer): New typedef. - (unordered_set<>::reference, const_reference, difference_type): New typedef. - (unordered_set<>::get_allocator, empty, size, max_size): Add usings. - (unordered_set<>::bucket_count, max_bucket_count, bucket): Add usings. - (unordered_set<>::hash_function, key_equal, count, contains): Add usings. - (unordered_set<>::rehash, reserve): Add usings. - (unordered_set<>::merge): New. - (unordered_multiset<>::mapped_type, pointer, const_pointer): New typedef. - (unordered_multiset<>::reference, const_reference, difference_type): New typedef. - (unordered_multiset<>::get_allocator, empty, size, max_size): Add usings. - (unordered_multiset<>::bucket_count, max_bucket_count, bucket): Add usings. - (unordered_multiset<>::hash_function, key_equal, count, contains): Add usings. - (unordered_multiset<>::rehash, reserve): Add usings. - (unordered_multiset<>::merge): New. - * testsuite/23_containers/unordered_map/debug/merge1_neg.cc: New test. - * testsuite/23_containers/unordered_map/debug/merge2_neg.cc: New test. - * testsuite/23_containers/unordered_map/debug/merge3_neg.cc: New test. - * testsuite/23_containers/unordered_map/debug/merge4_neg.cc: New test. - * testsuite/23_containers/unordered_multimap/debug/merge1_neg.cc: New test. - * testsuite/23_containers/unordered_multimap/debug/merge2_neg.cc: New test. - * testsuite/23_containers/unordered_multimap/debug/merge3_neg.cc: New test. - * testsuite/23_containers/unordered_multimap/debug/merge4_neg.cc: New test. - * testsuite/23_containers/unordered_multiset/debug/merge1_neg.cc: New test. - * testsuite/23_containers/unordered_multiset/debug/merge2_neg.cc: New test. - * testsuite/23_containers/unordered_multiset/debug/merge3_neg.cc: New test. - * testsuite/23_containers/unordered_multiset/debug/merge4_neg.cc: New test. - * testsuite/23_containers/unordered_set/debug/merge1_neg.cc: New test. - * testsuite/23_containers/unordered_set/debug/merge2_neg.cc: New test. - * testsuite/23_containers/unordered_set/debug/merge3_neg.cc: New test. - * testsuite/23_containers/unordered_set/debug/merge4_neg.cc: New test. - * testsuite/util/testsuite_abi.h: [_GLIBCXX_DEBUG] Use normal unordered - container implementation. - -2021-11-09 Jonathan Wakely - - * testsuite/26_numerics/random/random_device/cons/token.cc: - Print results of random_device_available checks. - -2021-11-09 Jonathan Wakely - - PR libstdc++/103146 - * src/c++11/random.cc: Check __powerpc64__ not __powerpc__. - -2021-11-09 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM): - Define. - * configure.ac (GLIBCXX_CHECK_GETENTROPY, GLIBCXX_CHECK_ARC4RANDOM): - Use them. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/c++11/random.cc (random_device): Add getentropy and - arc4random as sources. - * testsuite/26_numerics/random/random_device/cons/token.cc: - Check new tokens. - * testsuite/26_numerics/random/random_device/entropy.cc: - Likewise. - -2021-11-09 Jonathan Wakely - - * testsuite/26_numerics/random/random_device/cons/token.cc: - Retry if random devices produce the same value. - -2021-11-09 Rasmus Villemoes - - * config/os/vxworks/os_defines.h (_GLIBCXX_HAVE_TLS): Only - define for VxWorks >= 6.6. - -2021-11-05 Jonathan Wakely - - * include/bits/range_access.h (begin(valarray), end(valarray)): - Add noexcept. - -2021-11-05 Jonathan Wakely - - * include/std/tuple (tuple_size_v): Fix pack expansion. - -2021-11-05 Jonathan Wakely - - * src/c++11/random.cc (__x86_rdrand, __x86_rdseed): Add - [[unlikely]] attribute. - -2021-11-05 Jonathan Wakely - - * src/c++11/random.cc [__powerpc__] (USE_DARN): Define. - (__ppc_darn): New function to use POWER9 DARN instruction. - (Which): Add 'darn' enumerator. - (which_source): Check for __ppc_darn. - (random_device::_M_init): Support "darn" and "hw" tokens. - (random_device::_M_getentropy): Add darn to switch. - * testsuite/26_numerics/random/random_device/cons/token.cc: - Check "darn" token. - * testsuite/26_numerics/random/random_device/entropy.cc: - Likewise. - -2021-11-05 Jonathan Wakely - - * testsuite/lib/gdb-test.exp: Add target selector support to the - dg-final directives. - * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for - C++20. - * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. - * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Tweak - comment. - -2021-11-04 Jonathan Wakely - - PR libstdc++/103086 - * python/libstdcxx/v6/printers.py (_tuple_impl_get): New helper - for accessing the tuple element stored in a _Tuple_impl node. - (tuple_get): New function for accessing a tuple element. - (unique_ptr_get): New function for accessing a unique_ptr. - (UniquePointerPrinter, StdPathPrinter): Use unique_ptr_get. - * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Cast - tuple to its base class before accessing _M_head_impl. - -2021-11-04 Jonathan Wakely - - * doc/xml/manual/evolution.xml: Document deprecations. - * doc/html/*: Regenerate. - * libsupc++/exception (unexpected_handler, unexpected) - (get_unexpected, set_unexpected): Add deprecated attribute. - Do not define without _GLIBCXX_USE_DEPRECATED for C++17 and up. - * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Disable - deprecated warnings. - * libsupc++/eh_ptr.cc (std::rethrow_exception): Likewise. - * libsupc++/eh_terminate.cc: Likewise. - * libsupc++/eh_throw.cc (__cxa_init_primary_exception): - Likewise. - * libsupc++/unwind-cxx.h (struct __cxa_exception): Use - terminate_handler instead of unexpected_handler. - (struct __cxa_dependent_exception): Likewise. - (__unexpected): Likewise. - * testsuite/18_support/headers/exception/synopsis.cc: Add - dg-warning for deprecated warning. - * testsuite/18_support/exception_ptr/60612-unexpected.cc: - Disable deprecated warnings. - * testsuite/18_support/set_unexpected.cc: Likewise. - * testsuite/18_support/unexpected_handler.cc: Likewise. - -2021-11-04 Jonathan Wakely - - * include/bits/utility.h (__find_uniq_type_in_pack): Move - definition to here, ... - * include/std/tuple (__find_uniq_type_in_pack): ... from here. - * include/std/variant (__detail__variant::__index_of): Remove. - (__detail::__variant::__exactly_once): Define using - __find_uniq_type_in_pack instead of __index_of. - (get, get_if, variant::__index_of): Likewise. - -2021-11-04 Jonathan Wakely - - * include/bits/stl_pair.h (tuple_size_v): Define partial - specializations for std::pair. - * include/bits/utility.h (_Nth_type): Move definition here - and define primary template. - (tuple_size_v): Move definition here. - * include/std/array (tuple_size_v): Define partial - specializations for std::array. - * include/std/tuple (tuple_size_v): Move primary template to - . Define partial specializations for - std::tuple. - (tuple_element): Change definition to use _Nth_type. - * include/std/variant (_Nth_type): Move to . - (variant_alternative, variant): Adjust qualification of - _Nth_type. - * testsuite/20_util/tuple/element_access/get_neg.cc: Prune - additional errors from _Nth_type. - -2021-11-04 Jonathan Wakely - - * include/std/variant (__detail::__variant::__emplace): New - function template. - (_Copy_assign_base::operator=): Reorder conditions to match - bulleted list of effects in the standard. Use __emplace instead - of _M_reset followed by _Construct. - (_Move_assign_base::operator=): Likewise. - (__construct_by_index): Remove. - (variant::emplace): Use __emplace instead of _M_reset followed - by __construct_by_index. - (variant::swap): Hoist valueless cases out of visitor. Use - __emplace to replace _M_reset followed by _Construct. - -2021-11-04 Jonathan Wakely - - * include/std/variant (_Nth_type): Define partial - specializations to reduce number of instantiations. - (variant_size_v): Define partial specializations to avoid - instantiations. - (variant_alternative): Use _Nth_type. Add static assert. - (__tuple_count, __tuple_count_v): Replace with ... - (__count): New variable template. - (_Variant_union): Add deleted constructor. - (variant::__to_type): Use _Nth_type. - (variant::emplace): Use _Nth_type. Add deleted overloads for - invalid types and indices. - -2021-11-04 Jonathan Wakely - - PR libstdc++/102912 - * include/std/variant (_Variant_storage::__index_of): Remove. - (__variant_construct_single): Remove. - (__variant_construct): Remove. - (_Copy_ctor_base::_Copy_ctor_base(const _Copy_ctor_base&)): Do - construction directly instead of using __variant_construct. - (_Move_ctor_base::_Move_ctor_base(_Move_ctor_base&&)): Likewise. - (_Move_ctor_base::_M_destructive_move()): Remove. - (_Move_ctor_base::_M_destructive_copy()): Remove. - (_Copy_assign_base::operator=(const _Copy_assign_base&)): Do - construction directly instead of using _M_destructive_copy. - (variant::swap): Do construction directly instead of using - _M_destructive_move. - * testsuite/20_util/variant/102912.cc: New test. - -2021-11-03 Jonathan Wakely - - PR libstdc++/66742 - * include/bits/list.tcc (list::sort): Use mutable iterators for - comparisons. - * include/bits/stl_list.h (_Scratch_list::_Ptr_cmp): Likewise. - * testsuite/23_containers/list/operations/66742.cc: Check - non-const comparisons. - -2021-11-03 Jonathan Wakely - - * include/std/valarray (valarray::valarray()): Add noexcept. - (valarray::operator[]): Likewise. - -2021-11-01 Jonathan Wakely - - * include/debug/stl_iterator.h (__valid_range): Add constexpr - for C++20. Qualify call to avoid ADL. - (__get_distance, __can_advance, __unsafe, __base): Likewise. - * testsuite/25_algorithms/move/constexpr.cc: Also check with - std::reverse_iterator arguments. - -2021-11-01 Jonathan Wakely - - * include/std/span (span(Range&&)): Reorder constraints. - -2021-11-01 Jonathan Wakely - - PR libstdc++/103022 - * include/std/valarray (begin, end): Do not dereference an empty - valarray. Add noexcept and [[nodiscard]]. - * testsuite/26_numerics/valarray/range_access.cc: Check empty - valarray. Check iterator properties. Run as well as compiling. - * testsuite/26_numerics/valarray/range_access2.cc: Likewise. - * testsuite/26_numerics/valarray/103022.cc: New test. - -2021-10-29 Jonathan Wakely - - * testsuite/23_containers/stack/deduction.cc: Fix typo. - -2021-10-26 Martin Sebor - - * testsuite/21_strings/basic_string/capacity/1.cc: Also suppress - -Wstringop-overread. - * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: Same. - -2021-10-26 Rainer Orth - - * testsuite/28_regex/basic_regex/84110.cc (test01) - [__cpp_exceptions]: Disambiguate extended. - -2021-10-26 Rainer Orth - - * testsuite/17_intro/names.cc [__sun__] (r, x): Undef. - -2021-10-22 Jonathan Wakely - - PR libstdc++/102894 - * include/std/any (make_any): Add SFINAE constraint. - * testsuite/20_util/any/102894.cc: New test. - -2021-10-21 Jonathan Wakely - - * doc/doxygen/stdheader.cc: Refactor. Use C++23. Add new - headers. - * scripts/run_doxygen: Fix post-processing of #include - directives in man pages. Use new xg++ to compile helper program. - -2021-10-21 Jonathan Wakely - - * include/bits/mofunc_impl.h: Add doxygen comments. - * include/std/functional: Likewise. - -2021-10-21 Jonathan Wakely - - * include/bits/alloc_traits.h: Suppress doxygen documentation. - * include/bits/allocated_ptr.h: Likewise. - * include/bits/enable_special_members.h: Likewise. - * include/bits/hashtable.h: Likewise. - * include/bits/hashtable_policy.h: Likewise. - * include/bits/uses_allocator.h: Likewise. - * include/bits/node_handle.h: Document node handles and suppress - documentation for protected members. - * include/std/any: Suppress documentation for implementation - details. - -2021-10-21 Patrick Palka - - PR libstdc++/102358 - * include/bits/stl_iterator.h (__niter_base): Make constexpr - for C++20. - (__miter_base): Likewise. - * testsuite/25_algorithms/move/constexpr.cc: New test. - -2021-10-21 Patrick Palka - - * include/std/ranges (istream_view): Replace this function - template with an alias template as per P2432R1. - (wistream_view): Define as per P2432R1. - (views::_Istream, views::istream): Likewise. - * testsuite/std/ranges/istream_view.cc (test07): New test. - -2021-10-21 Patrick Palka - - * include/bits/ranges_util.h (views::_Drop): Forward declare. - (subrange): Befriend views::_Drop. - (subrange::_S_store_size): Declare constexpr instead of just - const, remove obsolete comment. - * include/std/ranges (views::__detail::__is_empty_view): Define. - (views::__detail::__is_basic_string_view): Likewise. - (views::__detail::__is_subrange): Likewise. - (views::__detail::__is_iota_view): Likewise. - (views::__detail::__can_take_view): Rename template parm _Tp to _Dp. - (views::_Take): Rename template parm _Tp to _Dp, make it non-deducible - and fix it to range_difference_t<_Range>. Implement P1739R4 and - LWG 3407 changes. - (views::__detail::__can_drop_view): Rename template parm _Tp to _Dp. - (views::_Drop): As with views::_Take. - (views::_Counted): Implement P1739R4 changes. - * include/std/span (__detail::__is_std_span): Rename to ... - (__detail::__is_span): ... this and turn it into a variable - template. - (__detail::__is_std_array): Turn it into a variable template. - (span::span): Adjust uses of __is_std_span and __is_std_array - accordingly. - * testsuite/std/ranges/adaptors/p1739.cc: New test. - -2021-10-21 Patrick Palka - - * include/bits/stl_iterator.h (common_iterator::__arrow_proxy): - Make fully constexpr as per LWG 3595. - (common_iterator::__postfix_proxy): Likewise. - -2021-10-21 Patrick Palka - - * include/std/ranges (lazy_split_view::base): Add forward_range - constraint as per LWG 3591. - (lazy_split_view::begin, lazy_split_view::end): Also check - simpleness of _Pattern as per LWG 3592. - (split_view::base): Relax copyable constraint as per LWG 3590. - -2021-10-21 Patrick Palka - - * include/std/ranges (join_view::__iter_cat::_S_iter_cat): Adjust - criteria for returning bidirectional_iterator_tag as per LWG 3535. - (join_view::_Iterator::_S_iter_concept): Likewise. - -2021-10-21 Patrick Palka - - * include/bits/ranges_base.h (viewable_range): Adjust as per - LWG 3481. - * testsuite/std/ranges/adaptors/all.cc (test07): New test. - -2021-10-21 Jonathan Wakely - - PR libstdc++/102863 - * include/std/optional (optional::and_then, optional::transform): - Remove requires-clause. - * testsuite/20_util/optional/monadic/and_then.cc: Check - overload resolution doesn't cause errors. - * testsuite/20_util/optional/monadic/transform.cc: Likewise. - -2021-10-20 Jonathan Wakely - - * testsuite/20_util/optional/monadic/transform.cc: Check that - an rvalue result is not materialized too soon. - -2021-10-19 Patrick Palka - - * include/std/ranges (iota_view::_Iterator::operator+): Adjust - definition as per LWG 3580. - (iota_view::_Iterator::operator-): Likewise. - -2021-10-19 Patrick Palka - - * include/std/ranges (basic_istream_view::_M_object): Value - initialize as per LWG 3568. - -2021-10-19 Patrick Palka - - * include/bits/ranges_util.h - (__detail::__uses_nonqualification_pointer_conversion): Define - and use it ... - (__detail::__convertible_to_nonslicing): ... here, as per LWG 3470. - * testsuite/std/ranges/subrange/1.cc: New test. - -2021-10-19 Patrick Palka - - * include/std/ranges (iota_view::_Iterator): Befriend iota_view. - (iota_view::_Sentinel): Likewise. - (iota_view::iota_view): Add three overloads, each taking an - iterator/sentinel pair as per LWG 3523. - * testsuite/std/ranges/iota/iota_view.cc (test06): New test. - -2021-10-19 Patrick Palka - - * include/bits/ranges_base.h (view_interface): Forward declare. - (__detail::__is_derived_from_view_interface_fn): Declare. - (__detail::__is_derived_from_view_interface): Define as per LWG 3549. - (enable_view): Adjust as per LWG 3549. - * include/bits/ranges_util.h (view_interface): Don't derive from - view_base. - * include/std/ranges (filter_view): Revert r11-3504 change. - (transform_view): Likewise. - (take_view): Likewise. - (take_while_view): Likewise. - (drop_view): Likewise. - (drop_while_view): Likewise. - (join_view): Likewise. - (lazy_split_view): Likewise. - (split_view): Likewise. - (reverse_view): Likewise. - * testsuite/std/ranges/adaptors/sizeof.cc: Update expected sizes. - * testsuite/std/ranges/view.cc (test_view::test_view): Remove - this default ctor since views no longer need to be default initable. - (test01): New test. - -2021-10-19 Jonathan Wakely - - * src/c++11/random.cc (which_source): New helper function. - (random_device::_M_getentropy()): Use which_source and return - suitable values for sources other than device files. - * testsuite/26_numerics/random/random_device/entropy.cc: New test. - -2021-10-19 Jonathan Wakely - - * doc/Makefile.am (stamp-html-doxygen, stamp-html-doxygen) - (stamp-latex-doxygen, stamp-man-doxygen): Fix recipes for - relative ${top_srcdir}. - * doc/Makefile.in: Regenerate. - -2021-10-19 Jonathan Wakely - - * include/std/variant (_Uninitialized): Use an empty struct - for the unused union member, instead of char. - -2021-10-19 Jonathan Wakely - - * include/bits/stl_stack.h (stack(Iterator, Iterator)): Remove - non-deducible template parameter from deduction guide. - * testsuite/23_containers/stack/deduction.cc: Check new C++23 - deduction guides. - -2021-10-19 Jonathan Wakely - - * include/std/optional (_Optional_payload_base::_Storage): Add - constructor taking a callable function to invoke. - (_Optional_payload_base::_M_apply): New function. - (__cpp_lib_monadic_optional): Define for C++23. - (optional::and_then, optional::transform, optional::or_else): - Define for C++23. - * include/std/ranges (__detail::__cached): Remove. - (__detail::__non_propagating_cache): Remove use of __cached for - contained value. Use _Optional_payload_base::_M_construct and - _Optional_payload_base::_M_apply to set the contained value. - * include/std/version (__cpp_lib_monadic_optional): Define. - * testsuite/20_util/optional/monadic/and_then.cc: New test. - * testsuite/20_util/optional/monadic/or_else.cc: New test. - * testsuite/20_util/optional/monadic/or_else_neg.cc: New test. - * testsuite/20_util/optional/monadic/transform.cc: New test. - * testsuite/20_util/optional/monadic/version.cc: New test. - -2021-10-19 Jonathan Wakely - - PR libstdc++/102825 - * include/bits/mofunc_impl.h (move_only_function): Remove - invalid base initializer. - * testsuite/20_util/move_only_function/cons.cc: Instantiate - constructors to check bodies. - -2021-10-15 Jonathan Wakely - - * include/bits/fs_path.h (path::_S_convert(T)): Avoid recursive - call to function with deduced return type. - -2021-10-15 Jonathan Wakely - - * include/bits/basic_string.h (__cpp_lib_string_resize_and_overwrite): - Define for C++23. - (basic_string::resize_and_overwrite): Declare. - * include/bits/basic_string.tcc (basic_string::resize_and_overwrite): - Define. - * include/std/version (__cpp_lib_resize_and_overwrite): Define - for C++23. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - New test. - -2021-10-15 Jonathan Wakely - - PR libstdc++/101263 - * include/std/ranges (__cached): New wrapper struct. - (__non_propagating_cache): Use __cached for contained value. - (__non_propagating_cache::_M_emplace_deref): Add constexpr. Use - std::construct_at instead of placement new. - * testsuite/std/ranges/adaptors/join.cc: Check constexpr works. - -2021-10-15 Jonathan Wakely - - * include/std/variant (__cpp_lib_variant): Update value for - C++20. - (__variant_cast, __variant_construct): Add constexpr for C++20. - (__variant_construct_single, __construct_by_index) Likewise. Use - std::_Construct instead of placement new. - (_Uninitialized) [__cplusplus >= 202002]: Replace - buffer with a union and define a destructor. - (_Variadic_union) [__cplusplus >= 202002]: Add a specialization - for non-trivial destruction. - (_Variant_storage::__index_of): New helper variable template. - (_Variant_storage::~_Variant_storage()): Add constexpr. - (_Variant_storage::_M_reset()): Likewise. - (_Copy_ctor_base, _Move_ctor_base): Likewise. - (_Copy_assign_base, _Move_assign_base): Likewise. - (variant, swap): Likewise. - * include/std/version (__cpp_lib_variant): Update value for - C++20. - * testsuite/20_util/optional/version.cc: Check for exact value - in C++17. - * testsuite/20_util/variant/87619.cc: Increase timeout for - C++20 mode. - * testsuite/20_util/variant/constexpr.cc: New test. - * testsuite/20_util/variant/version.cc: New test. - -2021-10-15 Jonathan Wakely - - * include/std/variant (__detail::__variant::__get_storage): - Remove unused function. - (__variant_construct_by_index): Set index after construction is - complete. Rename to ... - (__detail::__variant::__construct_by_index): ... this. - (variant): Use new name for __variant_construct_by_index friend - declaration. Remove __get_storage friend declaration. - (variant::emplace): Use new name and remove try-blocks. - -2021-10-15 Jonathan Wakely - - * include/std/variant (_Variant_storage::_M_storage()): Remove. - (__detail::__variant::__get_storage): Remove. - (variant): Remove friend declaration of __get_storage. - -2021-10-15 Jason Merrill - - * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: - * testsuite/20_util/integer_comparisons/greater_neg.cc: - * testsuite/20_util/integer_comparisons/less_equal_neg.cc: - Adjust expected message. - * testsuite/lib/prune.exp: Prune 'in constexpr expansion'. - -2021-10-14 Jonathan Wakely - - * include/std/variant (__variant::__get(in_place_index_t, U&&)): - Rename to __get_n and remove first argument. Replace pair of - overloads with a single function using 'if constexpr'. - (__variant::__get(Variant&&)): Adjust to use __get_n. - -2021-10-14 Jonathan Wakely - - * include/bits/fs_path.h (path(path&&)): Make unconditionally - noexcept. - (path::_S_convert(T)): Add condtional noexcept. - -2021-10-14 Jonathan Wakely - - PR libstdc++/102743 - * include/bits/fs_path.h (path::_S_convert(T)): Fix condition - for returning the same string unchanged. - -2021-10-14 Jonathan Wakely - - * include/bits/regex.h: Check __cpp_inline_variables instead of - __cplusplus. - -2021-10-14 Jonathan Wakely - - * testsuite/20_util/is_layout_compatible/version.cc: Check - correct macro. - -2021-10-14 Jonathan Wakely - - * include/bits/stl_construct.h (_Construct): Use - std::construct_at when constant evaluated. - * include/std/optional (_Storage, _Optional_payload, optional): - Add constexpr as specified by P2231R1. - * include/std/version (__cpp_lib_optional): Update value for - C++20. - * testsuite/20_util/optional/requirements.cc: Check feature test - macro. - * testsuite/20_util/optional/constexpr/assign.cc: New test. - * testsuite/20_util/optional/constexpr/cons/conv.cc: New test. - * testsuite/20_util/optional/constexpr/modifiers.cc: New test. - * testsuite/20_util/optional/constexpr/swap.cc: New test. - * testsuite/20_util/optional/version.cc: New test. - -2021-10-13 Jonathan Wakely - - * include/bits/fs_path.h (__detail::__is_contiguous): Add - partial specializations for pointers and __normal_iterator. - -2021-10-13 Jonathan Wakely - - * testsuite/27_io/filesystem/path/construct/102592.C: Moved to... - * testsuite/27_io/filesystem/path/construct/102592.cc: ...here. - * testsuite/28_regex/match_results/102667.C: Moved to... - * testsuite/28_regex/match_results/102667.cc: ...here. - -2021-10-13 Jonathan Wakely - - * include/bits/fs_path.h (__detail::__is_contiguous): New - variable template to identify contiguous iterators. - (__detail::__unified_char8_t): New alias template to decide when - to treat char8_t as char without encoding conversion. - (__detail::__effective_range(const basic_string&)): Use - std::char_traits for returned string view. - (__detail::__effective_range(const basic_string_view&)): - Likewise. - (__detail::__effective_range(const Source&)): Use - __is_contiguous to detect mode cases of contiguous iterators. - Use __unified_char8_t to return a std::string instead of - std::u8string. - -2021-10-13 Jonathan Wakely - - PR libstdc++/102592 - * include/bits/fs_path.h (path::path(Iter, Iter, format)) - (path::append(Iter, Iter), path::concat(Iter, Iter)): Call - __string_from_range directly, instead of two-argument overload - of _S_convert. - (path::_S_convert(Iter, Iter)): Remove. - * testsuite/27_io/filesystem/path/construct/102592.C: New test. - -2021-10-13 Jonathan Wakely - - * include/bits/c++config (__terminate): Add extern "C++". - -2021-10-12 Jonathan Wakely - - * testsuite/20_util/tuple/comparison_operators/overloaded.cc: - Restore test for operator<. - * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: - Adjust expected errors for C++20. - -2021-10-12 Jonathan Wakely - - PR libstdc++/101960 - * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Define as - defauled. - * testsuite/20_util/tuple/cons/101960.cc: Check tuples with - array elements before the last element. - -2021-10-12 Jonathan Wakely - - * include/bits/stl_iterator_base_funcs.h (__advance): Add - deleted overload to improve diagnostics. - (__distance): Likewise. - -2021-10-11 Jonathan Wakely - - * include/bits/atomic_timed_wait.h: Remove unused header. - * include/bits/c++config (std:__terminate): Define. - * include/bits/semaphore_base.h: Remove and use - __terminate instead of terminate. - * include/bits/std_thread.h: Likewise. - * libsupc++/eh_terminate.cc (std::terminate): Use qualified-id - to call __cxxabiv1::__terminate. - -2021-10-11 Jonathan Wakely - - * include/bits/regex.h (basic_regex::assign(Iter, Iter)): Avoid - std::__to_address by using poitner directly or using base() - member of __normal_iterator. - -2021-10-11 Jonathan Wakely - - * testsuite/18_support/numeric_limits/lowest.cc: Use - numeric_limits::is_integer instead of is_integral::value. - -2021-10-11 Jonathan Wakely - - PR libstdc++/89927 - * include/bits/regex.h (basic_regex(const _Ch_type*, size_t)): - Add __glibcxx_requires_string_len assertion. - (basic_regex::assign(InputIterator, InputIterator)): Add - __glibcxx_requires_valid_range assertion. - * include/bits/regex_scanner.tcc (_Scanner::_M_advance()) - (_Scanner::_M_scan_normal()): Use string literal in assertions. - -2021-10-11 Jonathan Wakely - - PR libstdc++/102667 - * include/bits/regex.h (match_result::empty()): Optimize by - calling the base function directly. - (match_results::end()): Check _Base_type::empty() not empty(). - * testsuite/28_regex/match_results/102667.C: New test. - -2021-10-08 Jonathan Wakely - - PR libstdc++/98725 - * testsuite/18_support/numeric_limits/lowest.cc: Remove use of - _GLIBCXX_USE_WCHAR_T. - * testsuite/18_support/numeric_limits/min_max.cc: Replace use of - _GLIBCXX_USE_WCHAR_T with checks for WCHAR_MIN and WCHAR_MAX. - * testsuite/20_util/from_chars/1_neg.cc: Remove use of - _GLIBCXX_USE_WCHAR_T. - * testsuite/20_util/function_objects/searchers.cc: Likewise. Use - char_traits::length instead of wcslen. - * testsuite/20_util/hash/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_arithmetic/value.cc: Likewise. - * testsuite/20_util/is_compound/value.cc: Likewise. - * testsuite/20_util/is_floating_point/value.cc: Likewise. - * testsuite/20_util/is_fundamental/value.cc: Likewise. - * testsuite/20_util/is_integral/value.cc: Likewise. - * testsuite/20_util/is_signed/value.cc: Likewise. - * testsuite/20_util/is_unsigned/value.cc: Likewise. - * testsuite/20_util/is_void/value.cc: Likewise. - * testsuite/20_util/make_signed/requirements/typedefs-1.cc: - Likewise. - * testsuite/20_util/make_signed/requirements/typedefs-2.cc: - Likewise. - * testsuite/20_util/make_signed/requirements/typedefs-3.cc: - Likewise. - * testsuite/20_util/make_signed/requirements/typedefs-4.cc: - Likewise. - * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: - Likewise. - * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: - Likewise. - * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: - Likewise. - * testsuite/20_util/to_chars/3.cc: Likewise. - * testsuite/20_util/type_identity/requirements/typedefs.cc: - Likewise. - * testsuite/21_strings/basic_string/hash/debug.cc: Likewise. - * testsuite/21_strings/basic_string/hash/hash.cc: Likewise. - * testsuite/21_strings/basic_string/literals/types-char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string/literals/types.cc: Likewise. - * testsuite/21_strings/basic_string/literals/values-char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string/literals/values.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/64422.cc: - Likewise. - * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/citerators.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/typedefs.cc: - Likewise. - * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/types.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/values.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: - Likewise. - * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Likewise. - * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise. - * testsuite/25_algorithms/fill/4.cc: Likewise. - * testsuite/25_algorithms/fill_n/1.cc: Likewise. - * testsuite/experimental/functional/searchers.cc: Likewise. Use - char_traits::length instead of wcslen. - * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc: - Likewise. - * testsuite/experimental/string_view/literals/types-char8_t.cc: - Likewise. - * testsuite/experimental/string_view/literals/types.cc: - Likewise. - * testsuite/experimental/string_view/literals/values-char8_t.cc: - Likewise. - * testsuite/experimental/string_view/literals/values.cc: - Likewise. - * testsuite/experimental/string_view/range_access/wchar_t/1.cc: - Likewise. - * testsuite/experimental/string_view/requirements/typedefs.cc: - Likewise. - * testsuite/experimental/string_view/typedefs.cc: Likewise. - * testsuite/ext/vstring/range_access.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: - Likewise. - * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: - Likewise. - * testsuite/tr1/4_metaprogramming/is_compound/value.cc: - Likewise. - * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: - Likewise. - * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: - Likewise. - * testsuite/tr1/4_metaprogramming/is_integral/value.cc: - Likewise. - * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise. - * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: - Likewise. - * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise. - * testsuite/tr1/6_containers/hash/24799.cc: Likewise. - -2021-10-08 Jonathan Wakely - - PR libstdc++/98725 - * include/std/ostream (operator<<(basic_ostream&, wchar_t)) - (operator<<(basic_ostream&, const wchar_t*)): Always - define as deleted. Do not check _GLIBCXX_USE_WCHAR_T. - -2021-10-08 Jonathan Wakely - - PR libstdc++/98725 - * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): - Define unconditionally. Do not check _GLIBCXX_USE_WCHAR_T. - -2021-10-08 Jonathan Wakely - - PR libstdc++/98725 - * include/c_global/cstddef [!_GLIBCXX_USE_WCHAR_T] - (__byte_operand): Define specialization. - * include/std/type_traits (__make_signed) - (__make_unsigned): Remove redundant check for - __WCHAR_TYPE__ being defined. - * include/tr1/type_traits [!_GLIBCXX_USE_WCHAR_T] - (__is_integral_helper): Likewise. - -2021-10-08 Jonathan Wakely - - PR libstdc++/98725 - * include/ext/rc_string_base.h [!_GLIBCXX_USE_WCHAR_T] - (__rc_string_base): Define member function. - * include/ext/vstring.h [!_GLIBCXX_USE_WCHAR_T] - (hash<__gnu_cxx::__wvstring>): Define specialization. - * include/ext/vstring_fwd.h [!_GLIBCXX_USE_WCHAR_T] (__wvstring) - (__wsso_string, __wrc_string): Declare typedefs. - -2021-10-08 Jonathan Wakely - - PR libstdc++/98725 - * include/bits/char_traits.h (char_traits): Define - explicit specialization unconditionally. - * include/bits/basic_string.h (hash): Define - unconditionally. Do not check _GLIBCXX_USE_WCHAR_T. - * include/bits/stringfwd.h (wstring): Likewise. - * include/debug/string (wstring): Likewise. - * include/experimental/string_view (experimental::wstring_view) - (hash): Likewise. - * include/std/string (pmr::wstring, hash): - Likewise. - * include/std/string_view (wstring_view, hash): - Likewise. - -2021-10-08 Jonathan Wakely - - * testsuite/27_io/basic_filebuf/close/81256.cc: Moved to... - * testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc: ...here. - -2021-10-08 Jonathan Wakely - - * testsuite/22_locale/conversions/buffer/1.cc: Check - _GLIBCXX_USE_WCHAR_T. - * testsuite/22_locale/conversions/buffer/3.cc: Likewise. Add - test using char16_t. - * testsuite/22_locale/conversions/string/1.cc: Check - _GLIBCXX_USE_WCHAR_T. - * testsuite/27_io/filesystem/path/generic/generic_string.cc: - Likewise. - * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: - Likewise. - * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise. - * testsuite/27_io/filesystem/path/native/string-char8_t.cc: - Likewise. - * testsuite/27_io/filesystem/path/native/string.cc: Likewise. - * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: - Likewise. - * testsuite/experimental/filesystem/path/generic/generic_string.cc: - Likewise. - * testsuite/experimental/filesystem/path/native/alloc.cc: - Likewise. - * testsuite/experimental/filesystem/path/native/string-char8_t.cc: - Likewise. - * testsuite/experimental/filesystem/path/native/string.cc: - Likewise. - -2021-10-08 Jonathan Wakely - - * testsuite/26_numerics/bit/bit.rotate/rotr.cc: - * testsuite/util/testsuite_common_types.h: - -2021-10-08 Jonathan Wakely - - * testsuite/18_support/numeric_limits/40856.cc: Replace use of - _GLIBCXX_USE_INT128. - * testsuite/18_support/numeric_limits/dr559.cc: Likewise. - * testsuite/18_support/numeric_limits/lowest.cc: Likewise. - * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. - * testsuite/20_util/is_floating_point/value.cc: Likewise. - * testsuite/20_util/is_integral/value.cc: Likewise. - * testsuite/20_util/is_signed/value.cc: Likewise. - * testsuite/20_util/is_unsigned/value.cc: Likewise. - * testsuite/20_util/make_signed/requirements/typedefs-1.cc: - Likewise. - * testsuite/20_util/make_signed/requirements/typedefs-2.cc: - Likewise. - * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: - Likewise. - * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: - Likewise. - * testsuite/20_util/type_identity/requirements/typedefs.cc: - Likewise. - * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: - Likewise. - * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. - -2021-10-08 Jonathan Wakely - - * include/bits/hashtable_policy.h (_Select1st): Replace use of - std::get. - (_Select2nd): Remove. - (_NodeBuilder::_S_build): Use _NodeGenerator::__node_type - typedef instead of deducing it. Remove unnecessary piecewise - construction. - (_ReuseOrAllocNode): Make __node_type public. - (_Map_base): Adjust partial specialization to be able to extract - the mapped_type without using tuple_element. - (_Map_base::at): Define inline - * testsuite/23_containers/unordered_map/requirements/53339.cc: - Remove XFAIL. - * testsuite/23_containers/unordered_multimap/requirements/53339.cc: - Likewise. - -2021-10-08 Jonathan Wakely - - * include/bits/hashtable.h: Move static assertion to destructor. - * include/bits/hashtable_policy.h: Deduce value type from node - type without instantiating it. - -2021-10-08 Jonathan Wakely - - * src/c++11/limits.cc: Fail if __cpp_inline_variables is - defined. - -2021-10-08 Jonathan Wakely - - PR libstdc++/92546 - * include/bits/ranges_algobase.h: Replace with a - subset of the headers it includes. - -2021-10-08 Jonathan Wakely - - * include/experimental/deque (erase, erase_if): Revert changes - to avoid debug mode overhead. - * include/experimental/map (erase, erase_if): Likewise. - * include/experimental/set (erase, erase_if): Likewise. - * include/experimental/unordered_map (erase, erase_if): - Likewise. - * include/experimental/unordered_set (erase, erase_if): - Likewise. - * include/experimental/vector (erase, erase_if): Likewise. - * include/std/deque (erase, erase_if): Likewise. - * include/std/map (erase, erase_if): Likewise. - * include/std/set (erase, erase_if): Likewise. - * include/std/unordered_map (erase, erase_if): Likewise. - * include/std/unordered_set (erase, erase_if): Likewise. - * include/std/vector (erase, erase_if): Likewise. - -2021-10-08 Jonathan Wakely - - * include/std/chrono (__detail::__units_suffix_misc): New - helper function. - (__detail::__units_suffix): Likewise. - (chrono::operator<<(basic_ostream&, const duration&)): Define. - * testsuite/20_util/duration/io.cc: New test. - -2021-10-07 Jonathan Wakely - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/std/chrono (duration, time_point, system_clock) - (steady_clock, high_resolution_clock, chrono_literals, sys_time) - (file_clock, file_time): Move to ... - * include/bits/chrono.h: New file. - * include/bits/atomic_futex.h: Include new header instead of - . - * include/bits/atomic_timed_wait.h: Likewise. - * include/bits/fs_fwd.h: Likewise. - * include/bits/semaphore_base.h: Likewise. - * include/bits/this_thread_sleep.h: Likewise. - * include/bits/unique_lock.h: Likewise. - * include/experimental/bits/fs_fwd.h: Likewise. - * include/experimental/chrono: Likewise. - * include/experimental/io_context: Likewise. - * include/experimental/netfwd: Likewise. - * include/experimental/timer: Likewise. - * include/std/condition_variable: Likewise. - * include/std/mutex: Likewise. - * include/std/shared_mutex: Likewise. - -2021-10-07 Jonathan Wakely - - PR libstdc++/102377 - * include/bits/atomic_wait.h (__waiter_pool_base:_S_align): - Hardcode to 64 instead of using non-constant constant. - -2021-10-07 Jonathan Wakely - - * include/bits/erase_if.h (__erase_nodes_if): Remove redundant - __niter_base calls. - * include/std/string (erase, erase_if): Likewise. - * include/std/deque (erase, erase_if): Access non-debug - container directly. - * include/std/map (erase, erase_if): Likewise. - * include/std/set (erase, erase_if): Likewise. - * include/std/unordered_map (erase, erase_if): Likewise. - * include/std/unordered_set (erase, erase_if): Likewise. - * include/std/vector (erase, erase_if): Likewise. - * include/experimental/deque (erase, erase_if): Likewise. - * include/experimental/map (erase, erase_if): Likewise. - * include/experimental/set (erase, erase_if): Likewise. - * include/experimental/unordered_map (erase, erase_if): - Likewise. - * include/experimental/unordered_set (erase, erase_if): - Likewise. - * include/experimental/vector (erase, erase_if): Likewise. - -2021-10-06 Jonathan Wakely - - * include/Makefile.am: Add new headers. - * include/Makefile.in: Regenerate. - * include/std/functional: Include . - * include/std/version (__cpp_lib_move_only_function): Define. - * include/bits/mofunc_impl.h: New file. - * include/bits/move_only_function.h: New file. - * testsuite/20_util/move_only_function/call.cc: New test. - * testsuite/20_util/move_only_function/cons.cc: New test. - * testsuite/20_util/move_only_function/move.cc: New test. - * testsuite/20_util/move_only_function/version.cc: New test. - -2021-10-05 Jonathan Wakely - - * testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc: - New test. - * testsuite/23_containers/span/trivially_copyable.cc: New test. - -2021-10-05 Jonathan Wakely - - * include/bits/utility.h (__is_in_place_type_v): Define - variable template to detect in_place_type_t specializations. - (__is_in_place_type): Replace class template with alias - template using __is_in_place_type_v. - * include/std/any (any(T&&)): Check __is_in_place_type first and - avoid instantiating is_copy_constructible unnecessarily. - -2021-10-05 Jonathan Wakely - - * testsuite/20_util/integer_comparisons/greater.cc: New test. - -2021-10-05 Jonathan Wakely - - * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: - Check result matches non-volatile pointer. - -2021-10-05 Jonathan Wakely - - PR c++/102535 - * testsuite/20_util/is_trivially_constructible/value.cc: Adjust - expected value for C++20. - -2021-10-05 Jonathan Wakely - - * include/bits/std_function.h (_Any_data::_M_access): Add - noexcept. - (_Function_base::_Base_manager::_M_get_pointer): Likewise. - (_Function_base::_Base_manager::_M_not_empty_function): - Likewise. - -2021-10-05 Jonathan Wakely - - * include/std/ostream (operator<<(const volatile void*)): - Add new overload, as per P1147R1. - * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: - New test. - -2021-10-05 Jonathan Wakely - - * include/bits/stl_queue.h - (__cpp_lib_adaptor_iterator_pair_constructor): Set to correct - value. - * include/bits/stl_stack.h - (__cpp_lib_adaptor_iterator_pair_constructor): Likewise. - * include/std/version - (__cpp_lib_adaptor_iterator_pair_constructor): Likewise. - * testsuite/23_containers/queue/cons_from_iters.cc: Update - expected value. - * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. - -2021-10-04 Jonathan Wakely - - * include/bits/forward_list.h (forward_list): Use non-deduced - context for allocator parameter of allocator-extended copy and - move constructors. - * include/bits/stl_bvector.h (vector): Likewise. - * include/bits/stl_deque.h (deque): Likewise. - * include/bits/stl_list.h (list): Likewise. - * include/bits/stl_map.h (map): Likewise. - * include/bits/stl_multimap.h (multimap): Likewise. - * include/bits/stl_multiset.h (multiset): Likewise. - * include/bits/stl_set.h (set): Likewise. - * include/bits/stl_vector.h (vector): Likewise. - * include/bits/stl_queue.h (queue, priority_queue): Do not - constrain Allocator template parameter of deduction guides that - have a Container parameter. - * include/bits/stl_stack.h (stack): Likewise. - * include/debug/deque (__gnu_debug::deque): Use non-deduced - context for allocator parameter of allocator-extended copy and - move constructors. - * include/debug/list (__gnu_debug::list): Likewise. - * include/debug/map.h (__gnu_debug::map): Likewise. - * include/debug/multimap.h (__gnu_debug::multimap): Likewise. - * include/debug/multiset.h (__gnu_debug::multiset): Likewise. - * include/debug/set.h (__gnu_debug::set): Likewise. - * include/debug/vector (__gnu_debug::vector): Likewise. - * testsuite/23_containers/deque/cons/deduction.cc: Test class - template argument deduction with non-deduced allocator - arguments. - * testsuite/23_containers/forward_list/cons/deduction.cc: - Likewise. - * testsuite/23_containers/list/cons/deduction.cc: Likewise. - * testsuite/23_containers/map/cons/deduction.cc: Likewise. - * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. - * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. - * testsuite/23_containers/priority_queue/deduction.cc: Likewise. - * testsuite/23_containers/queue/deduction.cc: Likewise. - * testsuite/23_containers/set/cons/deduction.cc: Likewise. - * testsuite/23_containers/stack/deduction.cc: Likewise. - * testsuite/23_containers/unordered_map/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_set/cons/deduction.cc: - Likewise. - * testsuite/23_containers/vector/cons/deduction.cc: Likewise. - -2021-10-04 Jonathan Wakely - - * include/std/variant (__detail::__variant::__as): Add missing - noexcept to first overload. - -2021-10-04 Jonathan Wakely - - * include/bits/basic_string.h (basic_string(nullptr_t)): Define - as deleted. - (operator=(nullptr_t)): Likewise. - * include/bits/cow_string.h (basic_string(nullptr_t)): Likewise. - (operator=(nullptr_t)): Likewise. - * include/std/string_view (basic_string_view(nullptr_t)): - Likewise. - * testsuite/21_strings/basic_string/cons/char/nullptr.cc: New test. - * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: - Change dg-warning to dg-error. - * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: - Likewise. - -2021-10-02 Jonathan Wakely - - * src/c++17/fs_ops.cc (create_directory): Fix typo in enum name. - * src/filesystem/ops-common.h (__last_system_error): Add - explicit cast to avoid narrowing conversion. - (do_space): Fix type in function name. - -2021-10-01 Jonathan Wakely - - PR libstdc++/102100 - * include/Makefile.am (c++config.h): Define - _GLIBCXX_VERBOSE_ASSERT based on configure output. - * include/Makefile.in: Regenerate. - * include/bits/c++config: Fix condition for verbose assertions. - -2021-10-01 Jonathan Wakely - - PR libstdc++/92546 - * include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to - unwrap debug iterators. - * include/bits/refwrap.h: Do not error if included in C++03. - * include/bits/stl_algo.h (__remove_if): Move to ... - * include/bits/stl_algobase.h (__remove_if): ... here. - * include/std/deque (erase, erase_if): Use __remove_if instead of - remove and remove_if. - * include/std/string (erase, erase_if): Likewise. - * include/std/vector (erase, erase_if): Likewise. - -2021-10-01 Jonathan Wakely - - PR libstdc++/66742 - * include/bits/list.tcc (list::sort()): Use _Scratch_list - objects for splicing and merging. - (list::sort(StrictWeakOrdering)): Likewise. - * include/bits/stl_list.h (__detail::_Scratch_list): New type. - * src/c++98/list.cc (_List_node_base::_M_transfer): Add - assertion for --enable-libstdcxx-debug library. - * testsuite/23_containers/list/operations/66742.cc: New test. - -2021-10-01 Jonathan Wakely - - PR libstdc++/100612 - * include/std/thread (__pmf_expects_stop_token): New variable - template to detect a pointer to member function that needs a - stop_token to be added to the arguments. - (jthread::__S_create): Use __pmf_expects_stop_token. - (jthread::__S_create_pmf): New function. - * testsuite/30_threads/jthread/100612.cc: New test. - -2021-10-01 Jonathan Wakely - - * include/bits/stl_queue.h - (__cpp_lib_adaptor_iterator_pair_constructor): Define for C++23, as - per P1425R4. - (queue(InputIterator, InputIterator)): Likewise. - (queue(InputIterator, InputIterator, const Alloc&)): Likewise. - * include/bits/stl_stack.h - (__cpp_lib_adaptor_iterator_pair_constructor): Likewise. - (stack(InputIterator, InputIterator)): Likewise. - (stack(InputIterator, InputIterator, const Alloc&)): Likewise. - * include/std/version (__cpp_lib_adaptor_iterator_pair_constructor): - Define. - * testsuite/23_containers/queue/cons_from_iters.cc: New test. - * testsuite/23_containers/stack/cons_from_iters.cc: New test. - -2021-10-01 Jonathan Wakely - - * include/bits/stl_queue.h (priority_queue): Add - allocator-extended overloads for constructors taking iterator. - * testsuite/23_containers/priority_queue/lwg3506.cc: New test. - -2021-10-01 Jonathan Wakely - - * include/bits/stl_queue.h (priority_queue): Construct sequence - from iterators when no sequence argument is present (LWG 3529). - * testsuite/23_containers/priority_queue/lwg3529.cc: New test. - -2021-10-01 Jonathan Wakely - - * include/bits/stl_queue.h (priority_queue): Constrain - constructors with InputIterator parameters (LWG 3522). - * testsuite/23_containers/priority_queue/lwg3522.cc: New test. - -2021-10-01 Jonathan Wakely - - * include/bits/ranges_base.h (ranges::distance): Split overload - into two (LWG 3392). - * testsuite/24_iterators/range_operations/lwg3392.cc: New test. - -2021-10-01 Jonathan Wakely - - * testsuite/30_threads/thread/cons/3.cc: Remove derivation from - std::unary_function. - * testsuite/30_threads/thread/cons/4.cc: Likewise. - * testsuite/30_threads/thread/cons/5.cc: Likewise. - -2021-10-01 Jonathan Wakely - - * testsuite/ext/pb_ds/example/basic_multimap.cc: Remove - unnecesary derivation from std::unary_function. - * testsuite/ext/pb_ds/example/erase_if.cc: Likewise. - * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise. - * testsuite/ext/pb_ds/example/hash_initial_size.cc: Likewise. - * testsuite/ext/pb_ds/example/hash_load_set_change.cc: Likewise. - * testsuite/ext/pb_ds/example/hash_mod.cc: Likewise. - * testsuite/ext/pb_ds/example/hash_resize.cc: Likewise. - * testsuite/ext/pb_ds/example/hash_shift_mask.cc: Likewise. - * testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc: - Likewise. - * testsuite/ext/pb_ds/example/ranged_hash.cc: Likewise. - * testsuite/ext/pb_ds/example/store_hash.cc: Likewise. - -2021-10-01 Jonathan Wakely - - * src/c++11/functexcept.cc (__throw_out_of_range_fmt): Do not - expand the format string for freestanding, or non-vebose, or if - we're just going to abort anyway. - * src/c++11/snprintf_lite.cc: Remove unused header and - declaration. - -2021-10-01 Jonathan Wakely - - * include/std/variant (__do_visit): Use variant_npos instead of - literal -1 that requires a narrowing conversion. - -2021-10-01 Jonathan Wakely - - PR libstdc++/99327 - * src/filesystem/ops-common.h (__unsupported): New function to - return a suitable error code for missing functionality. - (posix::off_t): New typedef. - (posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op - fallback implementations. - (do_copy_file): Replace uses of errc::not_supported. - * src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir) - (fs::create_directory, fs::create_directory_symlink) - (fs::create_hard_link, fs::create_symlink, fs::current_path) - (fs::equivalent, do_stat, fs::file_size, fs::hard_link_count) - (fs::last_write_time, fs::permissions, fs::read_symlink): - Replace uses of errc::not_supported. - (fs::resize_file): Qualify off_t. - * src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir) - (fs::create_directory, fs::create_directory_symlink) - (fs::create_hard_link, fs::create_symlink, fs::current_path) - (fs::equivalent, do_stat, fs::file_size, fs::last_write_time) - (fs::permissions, fs::read_symlink, fs::system_complete): - Replace uses of errc::not_supported. - (fs::resize_file): Qualify off_t and enable unconditionally. - * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise. - -2021-10-01 Jonathan Wakely - - * src/filesystem/ops-common.h (last_error): New helper function. - (filesystem::do_space): Use last_error(). - * src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link) - (fs::equivalent, fs::remove, fs::temp_directory_path): Use - last_error(). - * src/filesystem/ops.cc (fs::create_hard_link) - (fs::remove, fs::temp_directory_path): Likewise. - -2021-10-01 Jonathan Wakely - - * include/std/type_traits (__conditional): New class template - for internal uses of std::conditional. - (__conditional_t): New alias template to replace conditional_t. - (__and_, __or_, __result_of_memfun, __result_of_memobj): Use - __conditional_t instead of conditional::type. - * include/bits/atomic_base.h (__atomic_impl::_Diff): Likewise. - * include/bits/hashtable.h (_Hashtable): Likewise. - * include/bits/hashtable_policy.h (_Node_iterator, _Insert_base) - (_Local_iterator): Likewise. Replace typedefs with - using-declarations. - * include/bits/move.h (move_if_noexcept): Use __conditional_t. - * include/bits/parse_numbers.h (_Select_int_base): Likewise. - * include/bits/ptr_traits.h (__make_not_void): Likewise. - * include/bits/ranges_algobase.h (__copy_or_move_backward) - (__copy_or_move): Likewise. - * include/bits/ranges_base.h (borrowed_iterator_t): Likewise. - * include/bits/ranges_util.h (borrowed_subrange_t): Likewise. - * include/bits/regex_compiler.h (_BracketMatcher): Use - __conditional_t. Replace typedefs with using-declarations. - * include/bits/shared_ptr_base.h (__shared_count): Use - __conditional_t. - * include/bits/stl_algobase.h (__copy_move, __copy_move_backward): - Likewise. - * include/bits/stl_iterator.h (__detail::__clamp_iter_cat) - (reverse_iterator::iterator_concept) - (__make_move_if_noexcept_iterator) - (iterator_traits>) - (iterator_traits>): Likewise. - * include/bits/stl_pair.h (_PCC, pair::operator=): Likewise. - * include/bits/stl_tree.h (_Rb_tree::insert_return_type) - (_Rb_tree::_M_clone_node): Likewise. - * include/bits/unique_ptr.h (unique_ptr(unique_ptr&&)): - Likewise. - * include/bits/uses_allocator.h (__uses_alloc): Likewise. - (__is_uses_allocator_predicate): Likewise. - * include/debug/functions.h (__foreign_iterator_aux2): Likewise. - * include/experimental/any (any::_Manager, __any_caster): - Likewise. - * include/experimental/executor (async_completion): Likewise. - * include/experimental/functional (__boyer_moore_base_t): - Likewise. - * include/std/any (any::_Manager): Likewise. - * include/std/functional (__boyer_moore_base_t): Likewise. - * include/std/ranges (borrowed_iterator_t) - (borrowed_subrange_t, __detail::__maybe_present_t) - (__detail::__maybe_const_t, split_view): Likewise. - * include/std/tuple (__empty_not_final, tuple::operator=): - Likewise. - * include/std/variant (__detail::__variant::__get_t): Likewise. - -2021-10-01 Jonathan Wakely - - PR libstdc++/78113 - * include/std/variant (__do_visit): Use a switch when we have a - single variant with a small number of alternatives. - -2021-10-01 Jonathan Wakely - - PR libstdc++/90943 - * include/std/variant (__cpp_lib_variant): Update value. - (__detail::__variant::__as): New helpers implementing the - as-variant exposition-only function templates. - (visit, visit): Use __as to upcast the variant parameters. - * include/std/version (__cpp_lib_variant): Update value. - * testsuite/20_util/variant/visit_inherited.cc: New test. - -2021-10-01 Jonathan Wakely - - * include/bits/stl_iterator.h (__normal_iterator): Simplify - converting constructor and do not require _Container::pointer. - -2021-10-01 Jonathan Wakely - - * include/bits/cow_string.h [_GLIBCXX_FULLY_DYNAMIC_STRING] - (basic_string(basic_string&&)): Add noexcept and avoid - allocation, by sharing rep with the rvalue string. - -2021-10-01 Jonathan Wakely - - * include/bits/stl_iterator.h (common_iterator::__arrow_proxy) - (common_iterator::__postfix_proxy): Add noexcept. - -2021-10-01 Jonathan Wakely - - PR libstdc++/94418 - * include/bits/stl_iterator.h (reverse_iterator): Use - conditional noexcept on constructors and assignment operators. - * testsuite/24_iterators/reverse_iterator/noexcept.cc: New test. - -2021-10-01 Jonathan Wakely - - PR libstdc++/100153 - * include/bits/vector.tcc (vector::_M_shrink_to_fit()): - When size() is zero just deallocate and reset. - -2021-10-01 Jonathan Wakely - - PR libstdc++/96733 - * include/bits/stl_algo.h (clamp): Use std::min and std::max. - -2021-10-01 Jonathan Wakely - - * include/bits/regex.h (basic_regex::multiline): Define for - non-strict C++11 and C++14 modes. - * include/bits/regex_constants.h (regex_constants::multiline): - Add _GLIBCXX_RESOLVE_LIB_DEFECTS comment. - -2021-10-01 Jonathan Wakely - - * testsuite/25_algorithms/is_permutation/2.cc: Include . - -2021-10-01 Jonathan Wakely - - * include/bits/stream_iterator.h (istream_iterator): Add - noexcept to constructors and non-throwing member functions and - friend functions. - (ostream_iterator): Likewise. - -2021-10-01 Jonathan Wakely - - * include/bits/boost_concept_check.h (_Is_vector_bool_iterator): - New trait to identify vector iterators, including debug - ones. - (_ForwardIteratorReferenceConcept): Add default template - argument using _Is_vector_bool_iterator and use it in partial - specialization for the vector cases. - (_Mutable_ForwardIteratorReferenceConcept): Likewise. - * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error - line number. - -2021-10-01 Jonathan Wakely - - * include/bits/list.tcc (list::merge): Remove call to size() and - try-catch block. Use _Finalize_merge instead. - * include/bits/stl_list.h (list::_Finalize_merge): New - scope guard type to update _M_size members after a merge. - -2021-09-30 Jonathan Wakely - - * include/bits/regex.h (basic_regex::multiline): Fix #if - condition. - -2021-09-29 Jonathan Wakely - - * include/bits/regex.h (basic_regex::multiline): Define constant - for C++17. - * include/bits/regex_constants.h (regex_constants::multiline): - Define constant for C++17. - (regex_constants::__multiline): Define duplicate constant for - internal use in C++11 and C++14. - * include/bits/regex_executor.h (_Executor::_M_match_multiline()): - New member function. - (_Executor::_M_is_line_terminator(_CharT)): New member function. - (_Executor::_M_at_begin(), _Executor::_M_at_end()): Use new - member functions to support multiline matches. - * testsuite/28_regex/algorithms/regex_match/multiline.cc: New test. - -2021-09-29 Jonathan Wakely - - * include/bits/regex_compiler.h (_Compiler::_S_validate): New - function. - * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Use - _S_validate to check flags. - * include/bits/regex_error.h (_S_grammar): New error code for - internal use. - * testsuite/28_regex/basic_regex/ctors/grammar.cc: New test. - -2021-09-29 Jonathan Wakely - - PR libstdc++/84110 - * include/bits/regex_error.h (regex_constants::_S_null): New - error code for internal use. - * include/bits/regex_scanner.tcc (_Scanner::_M_scan_normal()): - Check for null character. - * testsuite/28_regex/basic_regex/84110.cc: New test. - -2021-09-29 Jonathan Wakely - - * include/bits/regex.h (__detail::__is_contiguous_iter): Move - here from . - (basic_regex::_M_compile): New function to compile an NFA from - a regular expression string. - (basic_regex::basic_regex): Use _M_compile instead of delegating - to other constructors. - (basic_regex::operator=(const basic_regex&)): Define as - defaulted. - (basic_regex::operator=(initializer_list)): Use _M_compile. - (basic_regex::assign(const basic_regex&)): Use copy assignment. - (basic_regex::assign(basic_regex&&)): Use move assignment. - (basic_regex::assign(const C*, flag_type)): Use _M_compile - instead of constructing a temporary string. - (basic_regex::assign(const C*, size_t, flag_type)): Likewise. - (basic_regex::assign(const basic_string&, flag_type)): - Use _M_compile instead of constructing a temporary basic_regex. - (basic_regex::assign(InputIter, InputIter, flag_type)): Avoid - constructing a temporary string for contiguous iterators of the - right value type. - * include/bits/regex_compiler.h (__is_contiguous_iter): Move to - . - (__enable_if_contiguous_iter, __disable_if_contiguous_iter) - (__compile_nfa): Remove. - * testsuite/28_regex/basic_regex/assign/exception_safety.cc: New - test. - * testsuite/28_regex/basic_regex/ctors/char/other.cc: New test. - -2021-09-28 Jonathan Wakely - - * include/bits/atomic_timed_wait.h (__platform_wait_until_impl): - Return false for ETIMEDOUT and true otherwise. - -2021-09-28 François Dumont - - * testsuite/20_util/default_delete/48631_neg.cc: Adapt dg-prune-output message - to also match message with '__8' in it. - -2021-09-28 Jonathan Wakely - - * include/bits/regex_automaton.h (_NFA_base::_SizeT): Remove. - * include/bits/regex_compiler.h (_Compiler::_IterT): Remove. - * include/bits/regex_compiler.tcc: Likewise. - * include/bits/regex_scanner.h (_Scanner::_IterT): Remove. - * include/bits/regex_scanner.tcc: Likewise. - -2021-09-28 Jonathan Wakely - - * include/bits/regex_compiler.tcc: Add line break in empty while - statement. - * include/bits/regex_executor.tcc: Avoid unused parameter - warning. - -2021-09-28 Jonathan Wakely - - * include/bits/regex.h (basic_regex, swap): Add noexcept to - non-throwing functions. - * include/bits/regex_automaton.h (_State_base, _State) - (_NFA_base): Likewise. - * include/bits/regex_compiler.h (_Compiler): Likewise. - * include/bits/regex_error.h (regex_error::code()): Likewise. - * include/bits/regex_scanner.h (_Scanner): Likewise. - -2021-09-28 Jonathan Wakely - - * include/bits/atomic_wait.h (_GLIBCXX_HAVE_PLATFORM_WAIT): - Define before first attempt to check it. - -2021-09-28 Jonathan Wakely - - * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc: - Do not check non-default constructible sequences when - _GLIBCXX_CONCEPT_CHECKS is defined. - * testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1_c++98.cc: - Likewise. - * testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/23_containers/queue/requirements/explicit_instantiation/1_c++98.cc: - Likewise. - * testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++98.cc: - Likewise. - -2021-09-28 Jonathan Wakely - - * testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc: - Do not test implicit allocator rebinding when _GLIBCXX_CONCEPT_CHECKS - is defined. - * testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/list/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/list/requirements/explicit_instantiation/5.cc: - Likewise. - * testsuite/23_containers/map/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/map/requirements/explicit_instantiation/5.cc: - Likewise. - * testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc: - Likewise. - * testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc: - Likewise. - * testsuite/23_containers/set/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/set/requirements/explicit_instantiation/5.cc: - Likewise. - * testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc: - Likewise. - * testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc: - Likewise. - -2021-09-28 Jonathan Wakely - - * include/bits/boost_concept_check.h (_ForwardIteratorConcept) - (_BidirectionalIteratorConcept, _RandomAccessIteratorConcept): - Check result types of iterator operations. - (_Mutable_ForwardIteratorConcept): Check that iterator's - reference type is a reference to its value type. - (_Mutable_BidirectionalIteratorConcept): Do not require the - value type to be assignable. - (_Mutable_RandomAccessIteratorConcept): Likewise. - * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error - line number. - -2021-09-28 Jonathan Wakely - - * testsuite/25_algorithms/copy/34595.cc: Add missing operation - for type used as an iterator. - * testsuite/25_algorithms/unique_copy/check_type.cc: Likewise. - -2021-09-28 Jonathan Wakely - - * testsuite/20_util/is_nothrow_swappable/value.h: Use custom - comparison function for priority_queue of type with no - relational operators. - * testsuite/20_util/is_swappable/value.h: Likewise. - * testsuite/24_iterators/output/concept.cc: Add operator< to - type used in set. - -2021-09-28 Jonathan Wakely - - * include/bits/boost_concept_check.h (_OutputIteratorConcept): - Use a function to preserve value category of the type. - * include/bits/stl_algobase.h (copy, move, fill_n): Use a - reference as the second argument for _OutputIteratorConcept. - (copy_backward, move_backward): Use _OutputIteratorConcept - instead of _ConvertibleConcept. - -2021-09-28 Jonathan Wakely - - * include/bits/stl_iterator.h (pointer_traits): Define partial - specialization for __normal_iterator. - * testsuite/24_iterators/normal_iterator/to_address.cc: New test. - -2021-09-28 Jonathan Wakely - - * include/bits/move.h (forward(remove_reference_t&&)): - Improve text of static_assert. - * testsuite/20_util/forward/c_neg.cc: Adjust dg-error. - * testsuite/20_util/forward/f_neg.cc: Likewise. - -2021-09-28 Jonathan Wakely - - PR libstdc++/102499 - * include/bits/fs_path.h (path::begin, path::end): Add noexcept - to declarations, to match definitions. - -2021-09-24 Jonathan Wakely - - * include/bits/range_access.h (cbegin, cend): Remove redundant - 'inline' specifier. - -2021-09-23 Jonathan Wakely - - * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: - Remove dg-error lines for C++20-only errors. - -2021-09-23 Jonathan Wakely - - * testsuite/19_diagnostics/headers/system_error/93151.cc: - Disable PCH. - -2021-09-23 Jonathan Wakely - - * src/c++11/system_error.cc (system_error_category) [_WIN32]: - Map Windows error codes to generic POSIX error numbers. Use - FormatMessage instead of strerror. - * testsuite/19_diagnostics/error_category/system_category.cc: - Adjust for new behaviour on Windows. - -2021-09-23 Jonathan Wakely - - * src/c++11/system_error.cc (generic_error_category): Define - class and virtual functions as 'final'. - (generic_error_category::equivalent(int, const error_condition&)): - Override. - (system_error_category): Define class and virtual functions as - 'final'. - (system_error_category::equivalent(int, const error_condition&)): - Override. - (generic_category_instance, system_category_instance): Use - constinit union to make the objects immortal. - -2021-09-23 Jonathan Wakely - - PR libstdc++/102425 - * src/c++11/system_error.cc - (system_error_category::default_error_condition): Add 0 to - switch. - * testsuite/19_diagnostics/error_category/102425.cc: New test. - -2021-09-17 Jonathan Wakely - - * include/bits/fs_path.h (path::iterator): Add noexcept to all - member functions and friend functions. - (distance): Add noexcept. - (advance): Add noexcept and inline. - * include/experimental/bits/fs_path.h (path::iterator): - Add noexcept to all member functions. - -2021-09-17 Jonathan Wakely - - PR libstdc++/102270 - * include/std/tuple (_Tuple_impl): Add constexpr to constructor - missed in previous patch. - * testsuite/20_util/tuple/cons/102270.C: Moved to... - * testsuite/20_util/tuple/cons/102270.cc: ...here. - * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add - constexpr to constructor so it can be used for C++20 tests. - -2021-09-17 Jonathan Wakely - - * testsuite/26_numerics/valarray/dr630-3.C: Moved to... - * testsuite/26_numerics/valarray/dr630-3.cc: ...here. - * testsuite/27_io/basic_iostream/cons/16251.C: Moved to... - * testsuite/27_io/basic_iostream/cons/16251.cc: ...here. - -2021-09-16 Jonathan Wakely - - * src/Makefile.am (stamp-debug): Add all Makefiles as - prerequisites. - * src/Makefile.in: Regenerate. - -2021-09-16 Jonathan Wakely - - * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Increase - timeout factor to 3. - * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. - -2021-09-16 Jonathan Wakely - - * doc/xml/manual/using.xml: Generalize to apply to more than - just -std=c++11. - * doc/html/manual/using_macros.html: Regenerate. - -2021-09-16 Jonathan Wakely - - * include/std/optional (nullptr_t): Make constructor noexcept. - -2021-09-16 Jonathan Wakely - - * include/bits/fs_path.h (advance): Remove non-deducible - template parameter. - -2021-09-16 Jonathan Wakely - - PR libstdc++/102270 - * include/std/tuple (_Head_base, _Tuple_impl): Add - _GLIBCXX20_CONSTEXPR to allocator-extended constructors. - (tuple<>::swap(tuple&)): Add _GLIBCXX20_CONSTEXPR. - * testsuite/20_util/tuple/cons/102270.C: New test. - -2021-09-16 Jonathan Wakely - - PR libstdc++/102280 - * include/std/span (span(Range&&)): Add constraint to deduction - guide. - -2021-09-16 Jonathan Wakely - - * src/c++98/Makefile.am: Use CXXCOMPILE not LTCXXCOMPILE. - * src/c++98/Makefile.in: Regenerate. - -2021-09-16 Jonathan Wakely - - * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] - (to_string): Add noexcept if the type width is 32 bits or less. - -2021-09-16 Jonathan Wakely - - * include/bits/unique_ptr.h (__uniq_ptr_impl::_M_ptr) - (__uniq_ptr_impl::_M_deleter): Add noexcept. - -2021-09-16 Thomas Rodgers - - PR libstdc++/101761 - * testsuite/29_atomics/atomic_ref/wait_notify.cc (test): Use - va and vb as arguments to wait/notify, remove unused bb local. - -2021-09-15 Hugo Beauzée-Luyssen - - * crossconfig.m4: Check for TLS support on mingw. - * configure: Regenerate. - -2021-09-13 Jason Merrill - - * include/std/version: Define __cpp_lib_hardware_interference_size. - * libsupc++/new: Define hardware interference size variables. - -2021-09-10 Jonathan Wakely - - * testsuite/experimental/net/internet/resolver/ops/lookup.cc: - Fix invalid hostname to only match the .invalid TLD. - -2021-09-02 Jonathan Wakely - - * include/bits/atomic_base.h (__atomic_base::compare_exchange_weak): - Add new functions. - * include/std/atomic (atomic::compare_exchange_weak): Use - it. - -2021-09-02 Jonathan Wakely - - * include/std/atomic: Tweak whitespace. - -2021-09-02 Jonathan Wakely - - PR c++/102177 - * include/bits/atomic_base.h (__is_valid_cmpexch_failure_order): - New function to check if a memory order is valid for the failure - case of compare exchange operations. - (__atomic_base::compare_exchange_weak): Simplify assertions - by using __is_valid_cmpexch_failure_order. - (__atomic_base::compare_exchange_strong): Likewise. - (__atomic_base::compare_exchange_weak): Likewise. - (__atomic_base::compare_exchange_strong): Likewise. - (__atomic_impl::compare_exchange_weak): Add assertion. - (__atomic_impl::compare_exchange_strong): Likewise. - * include/std/atomic (atomic::compare_exchange_weak): Likewise. - (atomic::compare_exchange_strong): Likewise. - -2021-09-02 Jonathan Wakely - - * include/std/functional (invoke_r): Define. - * include/std/version (__cpp_lib_invoke_r): Define. - * testsuite/20_util/function_objects/invoke/version.cc: Check - for __cpp_lib_invoke_r as well as __cpp_lib_invoke. - * testsuite/20_util/function_objects/invoke/4.cc: New test. - -2021-08-31 Jonathan Wakely - - PR libstdc++/98421 - * include/std/span (span(Iter, size_type), span(Iter, Iter)): - Add valid range checks. - * testsuite/23_containers/span/cons_1_assert_neg.cc: New test. - * testsuite/23_containers/span/cons_2_assert_neg.cc: New test. - -2021-08-31 Jonathan Wakely - - * configure.ac: Fix checks for F_GETFL, F_SETFL and O_NONBLOCK. - * configure: Regenerate. - -2021-08-31 Jonathan Wakely - - * src/c++11/system_error.cc (error_category::~error_category()): - Remove noexcept-specifier. - (system_error::~system_error()): Likewise. - * testsuite/19_diagnostics/error_category/noexcept.cc: New test. - * testsuite/19_diagnostics/system_error/noexcept.cc: New test. - -2021-08-31 Jonathan Wakely - - PR libstdc++/102074 - * include/bits/atomic_timed_wait.h (__timed_waiter_pool) - [!_GLIBCXX_HAVE_PLATFORM_TIMED_WAIT]: Add missing return. - -2021-08-31 Jonathan Wakely - - * include/experimental/internet (__make_resolver_error_code): - Handle EAI_SYSTEM errors. - (basic_resolver_results): Use __make_resolver_error_code. Use - Glibc NI_MAXHOST and NI_MAXSERV values for buffer sizes. - -2021-08-31 Jonathan Wakely - - * testsuite/experimental/net/internet/resolver/ops/lookup.cc: - Try other service if "http" fails. - -2021-08-31 Jonathan Wakely - - * testsuite/17_intro/names.cc: Undefine some more names used - by Solaris system headers. - -2021-08-30 Jason Merrill - - PR c++/96286 - * testsuite/30_threads/promise/requirements/lwg3466.cc: - Remove dg-prune-outputs. - -2021-08-28 Jonathan Wakely - - * include/bits/alloc_traits.h (allocator_traits): Add explicit - specialization for allocator. Improve doxygen comments. - * include/bits/allocator.h (allocator): Restore for the - versioned namespace. - (allocator::construct, allocator::destroy): Remove. - * include/ext/extptr_allocator.h (_Extptr_allocator): - Add default constructor and converting constructor. - -2021-08-28 Jonathan Wakely - - * include/bits/stl_uninitialized.h: Fix typo in comment. - -2021-08-28 Jonathan Wakely - - PR libstdc++/99876 - * src/c++17/fs_ops.cc (fs::absolute): Call non-throwing form, - to avoid unnecessary current_path() call. - -2021-08-28 Jonathan Wakely - - * include/bits/std_function.h (function::function(F&&)): Give - name to defaulted template parameter, to improve diagnostics. - Use markdown for more doxygen comments. - -2021-08-26 Jonathan Wakely - - * include/bits/std_function.h (function): Adjust doxygen - comments. - * include/bits/unique_ptr.h (make_unique_for_overwrite): - Change parameter name to match doxygen comment. - -2021-08-26 Jonathan Wakely - - * include/bits/std_function.h (_function_base::_Base_manager): - Replace _M_init_functor with a function template using a - forwarding reference, and a pair of _M_create function - templates. Reuse _M_create for the clone operation. - (function::_Decay_t): New alias template. - (function::_Callable): Simplify by using _Decay. - (function::function(F)): Change parameter to forwarding - reference, as per LWG 2447. Add noexcept-specifier. Simplify - constraints. - (function::operator=(F&&)): Add noexcept-specifier. - * testsuite/20_util/function/cons/lwg2774.cc: New test. - * testsuite/20_util/function/cons/noexcept.cc: New test. - -2021-08-26 Jonathan Wakely - - * include/bits/std_function.h (function::function(F)): Add - static assertions to check constructibility requirements. - -2021-08-26 Jonathan Wakely - - PR libstdc++/100285 - * configure.ac: Check for O_NONBLOCK. - * configure: Regenerate. - * include/experimental/internet: Include for - Windows. Use preprocessor conditions around more constants. - * include/experimental/socket: Use preprocessor conditions - around more constants. - * testsuite/experimental/net/internet/resolver/base.cc: Only use - constants when the corresponding C macro is defined. - * testsuite/experimental/net/socket/basic_socket.cc: Likewise. - * testsuite/experimental/net/socket/socket_base.cc: Likewise. - Make preprocessor checks more fine-grained. - -2021-08-25 Jonathan Wakely - - * testsuite/17_intro/names.cc: Check 'sz'. - -2021-08-25 Jonathan Wakely - - * testsuite/17_intro/names.cc: Adjust for Windows. - -2021-08-25 Jonathan Wakely - - * include/std/valarray: Uglify 'func' parameters. - * testsuite/17_intro/names.cc: Add 'func' to checks. - -2021-08-25 Jonathan Wakely - - PR libstdc++/102064 - * include/bits/stl_uninitialized.h (_GLIBCXX_USE_ASSIGN_FOR_INIT): - Define macro to check conditions for optimizing trivial cases. - (__check_constructible): New function to do static assert. - (uninitialized_copy, uninitialized_fill, uninitialized_fill_n): - Use new macro. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc: - Adjust dg-error pattern. - * testsuite/23_containers/vector/cons/89164.cc: Likewise. Add - C++17-specific checks from 89164_c++17.cc. - * testsuite/23_containers/vector/cons/89164_c++17.cc: Removed. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc: - New test. - -2021-08-25 Jonathan Wakely - - PR libstdc++/102048 - * include/ext/rope (rope::erase(size_type)): Remove broken - function. - -2021-08-24 Jonathan Wakely - - * doc/xml/manual/status_cxx2020.xml: Update table. - * doc/html/manual/status.html: Regenerate. - -2021-08-24 Jonathan Wakely - - * include/std/type_traits (is_layout_compatible): Define. - (is_corresponding_member): Define. - * include/std/version (__cpp_lib_is_layout_compatible): Define. - * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: - New test. - * testsuite/20_util/is_layout_compatible/value.cc: New test. - * testsuite/20_util/is_layout_compatible/version.cc: New test. - * testsuite/20_util/is_pointer_interconvertible/with_class.cc: - New test. - * testsuite/23_containers/span/layout_compat.cc: Do not use real - std::is_layout_compatible trait if available. - -2021-08-24 Jonathan Wakely - - * src/c++11/cxx11-shim_facets.cc: Fix mismatched class-key in - explicit instantiation definitions. - -2021-08-23 Jonathan Wakely - - * include/std/ranges (basic_istream_view): Add default template - argument. - * testsuite/std/ranges/istream_view.cc: Check it. - -2021-08-23 Jonathan Wakely - - * libsupc++/dyncast.cc (__dynamic_cast): Add __builtin_expect to - precondition check. - -2021-08-23 Jonathan Wakely - - PR libstdc++/90787 - * testsuite/util/testsuite_fs.h (permissions_are_testable): - Define as inline. - -2021-08-20 Jonathan Wakely - - PR libstdc++/90787 - * testsuite/27_io/filesystem/iterators/directory_iterator.cc: - Use new __gnu_test::permissions_are_testable() function. - * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: - Likewise. - * testsuite/27_io/filesystem/operations/exists.cc: Likewise. - * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. - * testsuite/27_io/filesystem/operations/remove.cc: Likewise. - * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise. - * testsuite/27_io/filesystem/operations/status.cc: Likewise. - * testsuite/27_io/filesystem/operations/symlink_status.cc: - Likewise. - * testsuite/27_io/filesystem/operations/temp_directory_path.cc: - Likewise. - * testsuite/experimental/filesystem/iterators/directory_iterator.cc: - Likewise. - * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc: - Likewise. - * testsuite/experimental/filesystem/operations/exists.cc: - Likewise. - * testsuite/experimental/filesystem/operations/is_empty.cc: - Likewise. - * testsuite/experimental/filesystem/operations/remove.cc: - Likewise. - * testsuite/experimental/filesystem/operations/remove_all.cc: - Likewise. - * testsuite/experimental/filesystem/operations/temp_directory_path.cc: - Likewise. - * testsuite/util/testsuite_fs.h (__gnu_test::permissions_are_testable): - New function to guess whether testing permissions will work. - -2021-08-19 Jonathan Wakely - - * doc/xml/manual/status_cxx2020.xml: Move row earlier in table. - * doc/html/manual/status.html: Regenerate. - -2021-08-19 Jonathan Wakely - - * doc/doxygen/user.cfg.in: Update to Doxygen 1.9.2 - -2021-08-19 Jonathan Wakely - - PR libstdc++/101965 - * include/std/charconv (__to_chars_i): Remove redundant check. - -2021-08-19 Jonathan Wakely - - PR libstdc++/101960 - * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Use base - class' move constructor. Define as defaulted for versioned - namespace. - * testsuite/20_util/tuple/cons/101960.cc: New test. - -2021-08-19 Jonathan Wakely - - PR libstdc++/100139 - * doc/xml/manual/status_cxx2020.xml: Add P1739R4 to status table. - * doc/html/manual/status.html: Regenerate. - -2021-08-19 Jonathan Wakely - - * include/bits/shared_ptr.h: Add @since and @headerfile tags. - * include/bits/unique_ptr.h: Add @headerfile tags. - -2021-08-19 Jonathan Wakely - - * src/filesystem/ops-common.h (filesystem::file_time): Improve - overflow check by using system_clock::duration::max(). - -2021-08-19 Jonathan Wakely - - * include/bits/stl_tree.h: Tweak whitespace. - -2021-08-18 Jonathan Wakely - - * include/bits/unique_ptr.h (default_delete): Add @since tag. - (unique_ptr, unique_ptr): Likewise. Improve @brief. - (make_unique, make_unique_for_overwrite): Likewise. Add @tparam, - @param, and @returns. - (_MakeUniq): Move to __detail namespace. Add alias template - helpers. - -2021-08-18 Jonathan Wakely - - * include/bits/stl_function.h: Improve doxygen comments. - -2021-08-18 Jonathan Wakely - - * doc/doxygen/user.cfg.in (PREDEFINED): Enable doxygen - processing for C++20 components and components that depend on - compiler features. - * include/bits/stl_algo.h (random_shuffle): Use @deprecated. - * include/std/type_traits: Improve doxygen comments for C++20 - traits. - -2021-08-18 Jonathan Wakely - - * include/ext/type_traits.h (__promote_2, __promote_3) - (__promote_4): Redfine as alias templates using __promoted_t. - * include/std/complex (__promote_2): Remove partial - specializations for std::complex. - -2021-08-18 Jonathan Wakely - - * include/bits/stl_algo.h (min(initializer_list)) - (min(initializer_list, Compare)): Call __min_element directly to - avoid redundant debug checks for valid ranges. - (max(initializer_list), max(initializer_list, Compare)): - Likewise, for __max_element. - (minmax(initializer_list), minmax(initializer_list, Compare)): - Likewise, for __minmax_element. - -2021-08-18 Jonathan Wakely - - * include/debug/deque (deque(size_type, const T&, const A&)): - Prevent class template argument deduction and replace with a - deduction guide. - * include/debug/forward_list (forward_list(size_type, const T&, const A&)): - Likewise. - * include/debug/list (list(size_type, const T&, const A&)): - Likewise. - * include/debug/vector (vector(size_type, const T&, const A&)): - Likewise. - -2021-08-18 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Use - 'std::vector::reference' as type name, not _Bit_reference. - (build_libstdcxx_dictionary): Register printers for vector - types in debug mode too. - * testsuite/libstdc++-prettyprinters/simple.cc: Adjust expected - output for invalid _Bit_reference. Use vector::reference - instead of _Bit_reference. - * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. - -2021-08-17 Thomas Schwinge - - * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose, - continued. - -2021-08-17 Luc Michel - Marc Poulhies - - * testsuite/lib/gdb-test.exp (gdb_version_check) - (gdb_version_check_xmethods): Only check the GDB version for - local native targets. - -2021-08-17 Antony Polukhin - Jonathan Wakely - - * include/bits/random.tcc (seed_seq::seed_seq): Reserve capacity - if distance is O(1). - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2021-08-17 Jonathan Wakely - - * testsuite/26_numerics/random/seed_seq/cons/range.cc: Check - construction from input iterators. - -2021-08-17 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdErrorCatPrinter): Remove. - -2021-08-17 Jonathan Wakely - - PR libstdc++/101923 - * include/bits/std_function.h (function(function&&)): Check for - non-empty parameter before doing any work. - -2021-08-17 Jonathan Wakely - - * include/bits/cow_string.h (basic_string::contains): Do not - define for -std=gnu++20. - -2021-08-17 Jonathan Wakely - - * include/bits/ranges_util.h (__not_same_as): Rename to - __different_from. - * include/std/ranges (__not_same_as): Likewise. - -2021-08-17 Jonathan Wakely - - * include/std/utility (exchange): Add noexcept-specifier. - * testsuite/20_util/exchange/noexcept.cc: New test. - -2021-08-17 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define. - (build_libstdcxx_dictionary): Register printer for - std::error_code and std::error_condition. - * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it. - -2021-08-16 Jonathan Wakely - - PR libstdc++/101937 - * src/c++11/debug.cc (PrintContext::_M_indent): Replace with a - static data member. - (print_word): Use qualified-id to access it. - -2021-08-16 Jonathan Wakely - - * python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local): - Install another copy of the GDB hook. - * python/Makefile.in: Regenerate. - -2021-08-12 Jonathan Wakely - - PR libstdc++/101870 - * include/c_global/cmath (hypot): Use __promoted_t. - (lerp): Add new overload accepting any arithmetic types. - * include/ext/type_traits.h (__promoted_t): New alias template. - * testsuite/26_numerics/lerp.cc: Moved to... - * testsuite/26_numerics/lerp/1.cc: ...here. - * testsuite/26_numerics/lerp/constexpr.cc: New test. - * testsuite/26_numerics/lerp/version.cc: New test. - -2021-08-12 Jonathan Wakely - - * testsuite/26_numerics/lerp.cc: Add header name to #error. - * testsuite/26_numerics/midpoint/integral.cc: Likewise. - * testsuite/26_numerics/midpoint/version.cc: New test. - -2021-08-12 Jonathan Wakely - - * include/experimental/random (experimental::randint): Add - nodiscard attribute. - -2021-08-12 Jonathan Wakely - - * src/c++98/locale_init.cc: Require C++11. - * src/c++98/localename.cc: Likewise. - * src/c++98/misc-inst.cc: Require C++98. - -2021-08-11 Jonathan Wakely - - PR libstdc++/101866 - * testsuite/experimental/random/randint.cc: Loop and retry if - reseed() produces the same sequence. - -2021-08-11 Jonathan Wakely - - * include/std/type_traits (__cpp_lib_is_pointer_interconvertible) - (is_pointer_interconvertible_base_of_v) - (is_pointer_interconvertible_base_of): Define for C++20. - * include/std/version (__cpp_lib_is_pointer_interconvertible): - Define. - * testsuite/23_containers/span/layout_compat.cc: Use correct - feature test macro for std::is_layout_compatible_v. - * testsuite/20_util/is_pointer_interconvertible/value.cc: New test. - * testsuite/20_util/is_pointer_interconvertible/version.cc: New test. - -2021-08-09 Jonathan Wakely - - * include/bits/regex.h (basic_regex::transform_primary): Use - _GLIBCXX_STD_C::vector for local variable. - * include/bits/regex.tcc (__regex_algo_impl): Use reference to - _GLIBCXX_STD_C::vector base class of match_results. - * include/bits/regex_automaton.tcc (_StateSeq:_M_clone): Use - _GLIBCXX_STD_C::map and _GLIBCXX_STD_C::deque for local - variables. - * include/bits/regex_compiler.h (_BracketMatcher): Use - _GLIBCXX_STD_C::vector for data members. - * include/bits/regex_executor.h (_Executor): Likewise. - * include/std/regex [_GLIBCXX_DEBUG]: Include . - -2021-08-09 François Dumont - - * include/debug/safe_container.h - (_Safe_container(_Safe_container&&, const _Alloc&, std::true_type)): New. - (_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)): New. - (_Safe_container(_Safe_container&&, const _Alloc&)): Use latters. - -2021-08-09 Jonathan Wakely - - * testsuite/23_containers/unordered_map/cons/default.cc: Add - equality comparison operators to allocator. - * testsuite/23_containers/unordered_set/cons/default.cc: - Likewise. - -2021-08-08 François Dumont - - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Replace 'failed_assertion' - dg-prune-output reason with 'builtin_unreachable'. - * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: Likewise. - -2021-08-08 Hans-Peter Nilsson - - * testsuite/std/ranges/iota/max_size_type.cc: Set - dg-timeout-factor to 4. - -2021-08-06 Jonathan Wakely - - * libsupc++/compare (compare_three_way, strong_order) - (weak_order, partial_order, compare_strong_order_fallback) - (compare_weak_order_fallback, compare_partial_order_fallback): - Move nodiscard attributes to correct location. - -2021-08-05 Jonathan Wakely - - PR libstdc++/101782 - * include/bits/ranges_base.h (ranges::begin, ranges::end) - (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize) - (ranges::empty, ranges::data): Move attribute after the - declarator-id instead of at the end of the declarator. - * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator): - Move attributes back to the start of the function declarator, - but move the requires-clause to the end. - (common_iterator): Move attribute after the declarator-id. - * include/bits/stl_queue.h (queue): Remove ill-formed attributes - from friend declaration that are not definitions. - * include/std/ranges (views::all, views::filter) - (views::transform, views::take, views::take_while, - views::drop) (views::drop_while, views::join, - views::lazy_split) (views::split, views::counted, - views::common, views::reverse) (views::elements): Move - attributes after the declarator-id. - -2021-08-05 Jonathan Wakely - - * libsupc++/compare (partial_ordering, weak_ordering) - (strong_ordering, is_eq, is_neq, is_lt, is_lteq, is_gt, is_gteq) - (compare_three_way, strong_order, weak_order, partial_order) - (compare_strong_order_fallback, compare_weak_order_fallback) - (compare_partial_order_fallback, __detail::__synth3way): Add - nodiscard attribute. - * testsuite/18_support/comparisons/categories/zero_neg.cc: Add - -Wno-unused-result to options. - -2021-08-05 Jonathan Wakely - - PR libstdc++/101782 - * include/bits/ranges_base.h (ranges::begin, ranges::end) - (ranges::rbegin, ranges::rend, ranges::size, ranges::ssize) - (ranges::empty, ranges::data): Move attribute to the end of - the declarator. - * include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator) - (common_iterator): Likewise for non-member operator functions. - * include/std/ranges (views::all, views::filter) - (views::transform, views::take, views::take_while, views::drop) - (views::drop_while, views::join, views::lazy_split) - (views::split, views::counted, views::common, views::reverse) - (views::elements): Likewise. - * testsuite/std/ranges/access/101782.cc: New test. - -2021-08-04 Jonathan Wakely - - * include/bits/forward_list.h: Add [[nodiscard]] to functions - with no side-effects. - * include/bits/stl_bvector.h: Likewise. - * include/bits/stl_deque.h: Likewise. - * include/bits/stl_list.h: Likewise. - * include/bits/stl_queue.h: Likewise. - * include/bits/stl_stack.h: Likewise. - * include/bits/stl_vector.h: Likewise. - * include/debug/deque: Likewise. - * include/debug/forward_list: Likewise. - * include/debug/list: Likewise. - * include/debug/safe_iterator.h: Likewise. - * include/debug/vector: Likewise. - * include/std/array: Likewise. - * testsuite/23_containers/array/creation/3_neg.cc: Use - -Wno-unused-result. - * testsuite/23_containers/array/debug/back1_neg.cc: Cast result - to void. - * testsuite/23_containers/array/debug/back2_neg.cc: Likewise. - * testsuite/23_containers/array/debug/front1_neg.cc: Likewise. - * testsuite/23_containers/array/debug/front2_neg.cc: Likewise. - * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc: - Likewise. - * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc: - Likewise. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - * testsuite/23_containers/deque/cons/clear_allocator.cc: Cast - result to void. - * testsuite/23_containers/deque/debug/invalidation/4.cc: - Likewise. - * testsuite/23_containers/deque/types/1.cc: Use - -Wno-unused-result. - * testsuite/23_containers/list/types/1.cc: Cast result to void. - * testsuite/23_containers/priority_queue/members/7161.cc: - Likewise. - * testsuite/23_containers/queue/members/7157.cc: Likewise. - * testsuite/23_containers/vector/59829.cc: Likewise. - * testsuite/23_containers/vector/ext_pointer/types/1.cc: - Likewise. - * testsuite/23_containers/vector/ext_pointer/types/2.cc: - Likewise. - * testsuite/23_containers/vector/types/1.cc: Use - -Wno-unused-result. - -2021-08-04 Jonathan Wakely - - * include/bits/iterator_concepts.h (iter_move): Add - [[nodiscard]]. - * include/bits/range_access.h (begin, end, cbegin, cend) - (rbegin, rend, crbegin, crend, size, data, ssize): Likewise. - * include/bits/ranges_base.h (ranges::begin, ranges::end) - (ranges::cbegin, ranges::cend, ranges::rbegin, ranges::rend) - (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize) - (ranges::empty, ranges::data, ranges::cdata): Likewise. - * include/bits/stl_iterator.h (reverse_iterator, __normal_iterator) - (back_insert_iterator, front_insert_iterator, insert_iterator) - (move_iterator, move_sentinel, common_iterator) - (counted_iterator): Likewise. - * include/bits/stl_iterator_base_funcs.h (distance, next, prev): - Likewise. - * include/bits/stream_iterator.h (istream_iterator) - (ostream_iterartor): Likewise. - * include/bits/streambuf_iterator.h (istreambuf_iterator) - (ostreambuf_iterator): Likewise. - * include/std/ranges (views::single, views::iota, views::all) - (views::filter, views::transform, views::take, views::take_while) - (views::drop, views::drop_while, views::join, views::lazy_split) - (views::split, views::counted, views::common, views::reverse) - (views::elements): Likewise. - * testsuite/20_util/rel_ops.cc: Use -Wno-unused-result. - * testsuite/24_iterators/move_iterator/greedy_ops.cc: Likewise. - * testsuite/24_iterators/normal_iterator/greedy_ops.cc: - Likewise. - * testsuite/24_iterators/reverse_iterator/2.cc: Likewise. - * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: - Likewise. - * testsuite/21_strings/basic_string/range_access/char/1.cc: - Cast result to void. - * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/range_access/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: - Likewise. - * testsuite/23_containers/array/range_access.cc: Likewise. - * testsuite/23_containers/deque/range_access.cc: Likewise. - * testsuite/23_containers/forward_list/range_access.cc: - Likewise. - * testsuite/23_containers/list/range_access.cc: Likewise. - * testsuite/23_containers/map/range_access.cc: Likewise. - * testsuite/23_containers/multimap/range_access.cc: Likewise. - * testsuite/23_containers/multiset/range_access.cc: Likewise. - * testsuite/23_containers/set/range_access.cc: Likewise. - * testsuite/23_containers/unordered_map/range_access.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/range_access.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/range_access.cc: - Likewise. - * testsuite/23_containers/unordered_set/range_access.cc: - Likewise. - * testsuite/23_containers/vector/range_access.cc: Likewise. - * testsuite/24_iterators/customization_points/iter_move.cc: - Likewise. - * testsuite/24_iterators/istream_iterator/sentinel.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: - Likewise. - * testsuite/24_iterators/move_iterator/dr2061.cc: Likewise. - * testsuite/24_iterators/operations/prev_neg.cc: Likewise. - * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise. - * testsuite/24_iterators/range_access/range_access.cc: - Likewise. - * testsuite/24_iterators/range_operations/100768.cc: Likewise. - * testsuite/26_numerics/valarray/range_access2.cc: Likewise. - * testsuite/28_regex/range_access.cc: Likewise. - * testsuite/experimental/string_view/range_access/char/1.cc: - Likewise. - * testsuite/experimental/string_view/range_access/wchar_t/1.cc: - Likewise. - * testsuite/ext/vstring/range_access.cc: Likewise. - * testsuite/std/ranges/adaptors/take.cc: Likewise. - * testsuite/std/ranges/p2259.cc: Likewise. - -2021-08-03 Jonathan Wakely - - * include/bits/random.tcc (linear_congruential_engine): Do not - define static constexpr members when they are implicitly inline. - * include/std/ratio (ratio, __ratio_multiply, __ratio_divide) - (__ratio_add, __ratio_subtract): Likewise. - * include/std/type_traits (integral_constant): Likewise. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2021-08-03 Jonathan Wakely - - * testsuite/util/testsuite_common_types.h: Replace uses of - tr1::unordered_map and tr1::unordered_set with their C++11 - equivalents. - * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust - dg-error line number. - * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. - * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: - Likewise. - * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: - Likewise. - * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: - Likewise. - * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: - Likewise. - * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: - Likewise. - -2021-08-03 Jonathan Wakely - - * include/std/memory_resource (polymorphic_allocator::delete_object): - Call destructor directly instead of using destroy. - (allocator_traits>): Define partial - specialization. - -2021-08-03 Jonathan Wakely - - * testsuite/20_util/function_objects/binders/3113.cc: Remove - trailing whitespace. - * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. - * testsuite/25_algorithms/headers/algorithm/synopsis.cc: - Likewise. - * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: - Likewise. - -2021-08-03 Jonathan Wakely - - * doc/xml/manual/evolution.xml: Document deprecation. - * doc/html/*: Regenerate. - * include/bits/c++config (_GLIBCXX14_DEPRECATED): Define. - (_GLIBCXX14_DEPRECATED_SUGGEST): Define. - * include/bits/stl_algo.h (random_shuffle): Deprecate for C++14 - and later. - * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust - for C++11 and C++14 changes to std::random_shuffle and - std::shuffle. - * testsuite/25_algorithms/random_shuffle/1.cc: Add options to - use deprecated algorithms. - * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: - Likewise. - -2021-08-03 Jonathan Wakely - - * testsuite/23_containers/forward_list/operations/3.cc: - Use lambda instead of std::bind2nd. - * testsuite/20_util/function_objects/binders/3113.cc: Add - options for testing deprecated features. - * testsuite/20_util/pair/cons/99957.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. - * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise. - * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise. - * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: - Likewise. - * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: - Likewise. - * testsuite/lib/dg-options.exp (dg_add_options_using-deprecated): - New proc. - -2021-08-03 Jonathan Wakely - - * include/bits/regex_executor.h (_State_info): Replace - unique_ptr with array of bool. - * include/bits/regex_executor.tcc: Likewise. - * include/bits/regex_scanner.tcc: Replace std::strchr with - __builtin_strchr. - * include/std/regex: Replace standard headers with smaller - internal ones. - * testsuite/28_regex/traits/char/lookup_classname.cc: Include - for strlen. - * testsuite/28_regex/traits/char/lookup_collatename.cc: - Likewise. - -2021-08-03 Jonathan Wakely - - * include/bits/locale_conv.h (__detail::_Scoped_ptr): Define new - RAII class template. - (wstring_convert, wbuffer_convert): Use __detail::_Scoped_ptr - instead of unique_ptr. - -2021-08-02 Patrick Palka - - PR libstdc++/101599 - * include/bits/ranges_algo.h (__reverse_copy_fn::operator()): - Add missing std::move in return statement. - (__partition_copy_fn::operator()): Rename templtae parameter - _O2 to _Out2. Uglify function parameters out_true and out_false. - * include/bits/ranges_algobase.h (__copy_or_move): Add missing - std::move to recursive call that unwraps a __normal_iterator - output iterator. - * testsuite/25_algorithms/copy/constrained.cc (test06): New test. - * testsuite/25_algorithms/move/constrained.cc (test05): New test. - -2021-08-02 Patrick Palka - - PR libstdc++/101589 - * include/std/ranges (lazy_split_view::_InnerIter::base): Make - the const& overload unconstrained and return a const reference - as per LWG 3533. Make unconditionally noexcept. - (elements_view::base): Revert accidental r12-569 change. - (elements_view::_Iterator::base): Make the const& overload - unconstrained and return a const reference as per LWG 3533. - Make unconditionally noexcept. - -2021-08-02 Patrick Palka - - PR libstdc++/101483 - * include/std/ranges (join_view::_Iterator::_Iterator): Add - missing std::move. - -2021-08-02 Jonathan Wakely - - PR libstdc++/101709 - * src/filesystem/ops-common.h (get_temp_directory_from_env): - Add error_code parameter. - * src/c++17/fs_ops.cc (fs::temp_directory_path): Pass error_code - argument to get_temp_directory_from_env and check it. - * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. - -2021-08-02 Jonathan Wakely - - * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: - Add dg-error for c++11_only target. - -2021-07-30 Jonathan Wakely - - PR libstdc++/65018 - * configure.ac: Check for secure_getenv. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/filesystem/ops-common.h (get_temp_directory_from_env): New - helper function to obtain path from the environment. - * src/c++17/fs_ops.cc (fs::temp_directory_path): Use new helper. - * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. - * testsuite/27_io/filesystem/operations/temp_directory_path.cc: - Print messages if test cannot be run. - * testsuite/experimental/filesystem/operations/temp_directory_path.cc: - Likewise. Fix incorrect condition. Use "TMP" to work with - Windows as well as POSIX. - -2021-07-29 Hans-Peter Nilsson - - * src/c++17/memory_resource.cc: Use __exchange instead - of std::exchange. - -2021-07-27 Jonathan Wakely - - * include/experimental/optional (__throw_bad_optional_access): - Replace GNU attribute with C++11 attribute. - (optional::value, optional::value_or): Use if statements - instead of conditional expressions. - * include/std/optional (__throw_bad_optional_access) - (optional::value, optional::value_or): Likewise. - -2021-07-27 Marek Polacek - - DR 1512 - PR c++/99701 - * testsuite/20_util/tuple/comparison_operators/overloaded.cc: - Move a line... - * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: - ...here. New test. - -2021-07-27 Jonathan Wakely - - * include/bits/cow_string.h: Consistently use tab for - indentation. - -2021-07-27 Jonathan Wakely - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] - (basic_string): Move definition of Copy-on-Write string to - new file. - * include/bits/basic_string.tcc: Likewise. - * include/bits/cow_string.h: New file. - -2021-07-27 Jonathan Wakely - - * include/std/algorithm: Do not include . - * include/std/functional: Likewise. - * include/std/regex: Include instead of - . - * include/debug/map.h: Likewise. - * include/debug/multimap.h: Likewise. - * include/debug/multiset.h: Likewise. - * include/debug/set.h: Likewise. - * include/debug/vector: Likewise. - * include/bits/fs_path.h: Likewise. - * include/bits/unique_ptr.h: Do not include . - * include/experimental/any: Likewise. - * include/experimental/executor: Likewise. - * include/experimental/memory: Likewise. - * include/experimental/optional: Likewise. - * include/experimental/socket: Use __exchange instead - of std::exchange. - * src/filesystem/ops-common.h: Likewise. - * testsuite/20_util/default_delete/48631_neg.cc: Adjust expected - errors to not use a hardcoded line number. - * testsuite/20_util/default_delete/void_neg.cc: Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: - Include for std::as_const. - * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: - Likewise. - * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: - Adjust dg-error line number. - -2021-07-27 Jonathan Wakely - - * include/Makefile.am: Add bits/utility.h header. - * include/Makefile.in: Regenerate. - * include/bits/utility.h: New file. - * include/std/utility (tuple_size, tuple_element): Move - to new header. - * include/std/type_traits (__is_tuple_like_impl>): - Move to . - (_Index_tuple, _Build_index_tuple, integer_sequence): Likewise. - (in_place_t, in_place_index_t, in_place_type_t): Likewise. - * include/bits/ranges_util.h: Include new header instead of - . - * include/bits/stl_pair.h (tuple_size, tuple_element): Move - partial specializations for std::pair here. - (get): Move overloads for std::pair here. - * include/std/any: Include new header instead of . - * include/std/array: Likewise. - * include/std/memory_resource: Likewise. - * include/std/optional: Likewise. - * include/std/variant: Likewise. - * include/std/tuple: Likewise. - (__is_tuple_like_impl>): Move here. - (get) Declare overloads for std::array. - * include/std/version (__cpp_lib_tuples_by_type): Change type - to long. - * testsuite/20_util/optional/84601.cc: Include . - * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: - Likewise. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - * testsuite/std/ranges/access/cbegin.cc: Include . - * testsuite/std/ranges/access/cend.cc: Likewise. - * testsuite/std/ranges/access/end.cc: Likewise. - * testsuite/std/ranges/single_view.cc: Likewise. - -2021-07-23 Jonathan Wakely - - * include/std/future: Include instead of - . - -2021-07-23 Jonathan Wakely - - * include/bits/stl_relops.h: Update documentation comments. - -2021-07-22 Jonathan Wakely - - PR libstdc++/101583 - * include/bits/hashtable.h (_Hashtable): Replace mixin with - _Enable_default_ctor. Construct it explicitly in all - non-forwarding, non-defaulted constructors. - * testsuite/23_containers/unordered_map/cons/default.cc: Check - non-default constructors can be used. - * testsuite/23_containers/unordered_set/cons/default.cc: - Likewise. - -2021-07-22 David Edelsohn - - * config/os/aix/os_defines.h (__LIBC_NO_CPP_MATH_OVERLOADS__): Define. - -2021-07-22 Jonathan Wakely - - PR libstdc++/94295 - * include/ext/new_allocator.h (_GLIBCXX_OPERATOR_NEW) - (_GLIBCXX_OPERATOR_DELETE, _GLIBCXX_SIZED_DEALLOC): Define. - (allocator::allocate, allocator::deallocate): Use new macros. - -2021-07-22 Jonathan Wakely - - PR libstdc++/101571 - * include/bits/ranges_uninitialized.h (_DestroyGuard): Change - constructor parameter to reference and use addressof. - * testsuite/util/testsuite_iterators.h: Define deleted operator& - overloads for test iterators. - -2021-07-22 Jonathan Wakely - - * include/bits/std_function.h (_Function_base): Add - default member initializers and define constructor as defaulted. - (function::_M_invoker): Add default member initializer. - -2021-07-22 Jonathan Wakely - - PR libstdc++/100682 - * doc/xml/manual/debug_mode.xml: Update documentation about - debug capability of std::array. - * doc/html/*: Regenerate. - * include/debug/array: New file. - -2021-07-21 Jonathan Wakely - - PR libstdc++/101542 - * include/ext/rope (sequence_buffer): Add move constructor and - move assignment operator. - * testsuite/ext/rope/101542.cc: New test. - -2021-07-20 Jonathan Wakely - - PR libstdc++/101510 - * src/c++17/fs_ops.cc (fs::create_directories): Use status - instead of symlink_status. - * src/filesystem/ops.cc (fs::create_directories): Likewise. - * testsuite/27_io/filesystem/operations/create_directories.cc: - Check symlink to existing directory. - * testsuite/27_io/filesystem/operations/create_directory.cc: Do - not test with symlinks on Windows. - * testsuite/experimental/filesystem/operations/create_directories.cc: - Check symlink to existing directory. - * testsuite/experimental/filesystem/operations/create_directory.cc: - Do not test with symlinks on Windows. - -2021-07-20 Jonathan Wakely - - PR libstdc++/100863 - * include/bits/hashtable.h (_Hashtable): Conditionally delete - default constructor by deriving from _Enable_special_members. - * testsuite/23_containers/unordered_map/cons/default.cc: New test. - * testsuite/23_containers/unordered_set/cons/default.cc: New test. - -2021-07-20 Jonathan Wakely - - PR libstdc++/101510 - * src/c++17/fs_ops.cc (create_dir): Adjust whitespace. - * testsuite/27_io/filesystem/operations/create_directory.cc: - Test creating directory with name of existing symlink to - directory. - * testsuite/experimental/filesystem/operations/create_directory.cc: - Likewise. - -2021-07-16 Jonathan Wakely - - * include/std/tuple (get): Add deleted overload for bad - index. - * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust - expected errors. - -2021-07-16 Jonathan Wakely - - * include/bits/max_size_type.h (numeric_limits<__max_size_type>): - Use __int_traits unconditionally. - -2021-07-16 Jonathan Wakely - - * include/bits/random.h (_Shift::__value): Use constexpr. - (_Select_uint_least_t::type): Use using-declaration. - (_Mod): Likewise. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2021-07-16 Jonathan Wakely - - * include/bits/cpp_type_traits.h (__INT_N): Use __extension__ - instead of diagnostic pragmas. - * include/bits/functional_hash.h: Likewise. - * include/bits/iterator_concepts.h (__is_signed_int128) - (__is_unsigned_int128): Likewise. - * include/bits/max_size_type.h (__max_size_type): Likewise. - (numeric_limits<__max_size_type>): Likewise. - * include/bits/std_abs.h (abs): Likewise. - * include/bits/stl_algobase.h (__size_to_integer): Likewise. - * include/bits/uniform_int_dist.h (uniform_int_distribution): - Likewise. - * include/ext/numeric_traits.h (_GLIBCXX_INT_N_TRAITS): - Likewise. - * include/std/type_traits (__is_integral_helper) - (__is_signed_integer, __is_unsigned_integer) - (__make_unsigned, __make_signed): Likewise. - * include/std/limits (__INT_N): Add __extension__ keyword. - * include/bits/random.h (_Select_uint_least_t) - (random_device): Likewise. - -2021-07-16 Patrick Palka - - PR libstdc++/101231 - * include/std/ranges (_CachedPosition::_M_get): For non-forward - ranges, just call __builtin_unreachable. - * testsuite/std/ranges/istream_view.cc (test05): New test. - -2021-07-16 Patrick Palka - - PR libstdc++/101214 - * include/std/ranges (split_view::split_view): Use std::move. - (split_view::_Iterator::_Iterator): Remove redundant - default_initializable constraint. - (split_view::_Sentinel::_Sentinel): Declare. - * testsuite/std/ranges/adaptors/split.cc (test02): New test. - -2021-07-16 Marek Polacek - - * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Add - dg-error. - -2021-07-16 Jonathan Wakely - - * include/bits/unique_ptr.h: Adjust doxygen markup. - -2021-07-16 Jonathan Wakely - - PR libstdc++/101307 - * include/std/type_traits: Adjust doxygen markup. - -2021-07-16 Jonathan Wakely - - * include/bits/cpp_type_traits.h: Add diagnostic pragmas around - uses of non-standard integer types. - * include/bits/functional_hash.h: Likewise. - * include/bits/iterator_concepts.h: Likewise. - * include/bits/max_size_type.h: Likewise. - * include/bits/std_abs.h: Likewise. - * include/bits/stl_algobase.h: Likewise. - * include/bits/uniform_int_dist.h: Likewise. - * include/ext/numeric_traits.h: Likewise. - * include/std/type_traits: Likewise. - -2021-07-15 Jonathan Wakely - - PR libstdc++/101427 - * include/std/tuple (tuple_element): Improve static_assert text. - (__get_helper): Add deleted overload. - (get(tuple&&), get(const tuple&&)): Use - __get_helper directly. - (__get_helper2): Remove. - (__find_uniq_type_in_pack): New constexpr helper function. - (get): Use __find_uniq_type_in_pack and __get_helper instead - of __get_helper2. - * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust - expected errors. - * testsuite/20_util/tuple/element_access/101427.cc: New test. - -2021-07-15 Jonathan Wakely - - PR libstdc++/101429 - * include/bits/c++config (__replacement_assert): Add noexcept. - [!_GLIBCXX_VERBOSE] (__glibcxx_assert_impl): Use __builtin_abort - instead of __replacement_assert. - -2021-07-14 Jonathan Wakely - - * include/std/string_view (basic_string_view(It, End)): Add - noexcept-specifier. - * testsuite/21_strings/basic_string_view/cons/char/range.cc: - Check noexcept-specifier. Also check construction without CTAD. - -2021-07-13 Jonathan Wakely - - PR c++/101361 - * include/std/string_view (ends_with): Use traits_type::compare - directly. - -2021-07-13 Jonathan Wakely - - * include/std/string_view: Only include - once, and only for C++20 and later. - -2021-07-12 Jonathan Wakely - - PR libstdc++/101411 - * include/std/span (as_writable_bytes): Add requires-clause. - * testsuite/23_containers/span/101411.cc: New test. - -2021-07-09 Matheus Castanho - - * include/std/mutex (__lock_impl): Check - _GLIBCXX_HAS_GTHREADS before using __gthread_yield. - -2021-07-02 Jonathan Wakely - - PR libstdc++/101271 - * include/bits/unique_ptr.h (unique_ptr::operator[]): - Remove noexcept-specifier. - (unique_ptr::_S_nothrow_deref): Remove. - * testsuite/20_util/unique_ptr/lwg2762.cc: Remove checks for - operator[]. - -2021-07-01 Jonathan Wakely - - * doc/doxygen/doxygroups.cc: Fix docs for std::literals. - * doc/doxygen/user.cfg.in: Exclude the Networking TS header. - Add some more predefined macros. - * include/bits/fs_fwd.h: Move @addtogroup commands inside - namespaces. Add better documentation. - * include/bits/fs_path.h: Likewise. - * include/experimental/bits/fs_fwd.h: Likewise. - * include/experimental/bits/fs_path.h: Likewise. - * include/ext/throw_allocator.h: Fix typo and improve docs. - * include/std/chrono: Move @addtogroup commands. - * include/std/system_error: Move @addtogroup commands. - * libsupc++/exception: Improve documentation. - * libsupc++/exception.h: Add @since documentation. - -2021-06-30 Jonathan Wakely - - PR libstdc++/101258 - * doc/doxygen/user.cfg.in (INPUT): Add . - (COLS_IN_ALPHA_INDEX): Remove obsolete tag. - (PREDEFINED): Add/fix some more macros that need to be expanded. - * include/bits/random.h: Stop Doxygen from documenting internal - implementation details. - * include/bits/random.tcc: Likewise. - * include/bits/this_thread_sleep.h: Fix @file name. - * include/experimental/bits/simd.h: Add to Doxygen group. Do not - document internal implementation details. - * include/experimental/bits/simd_detail.h: Do not document - internal implementation details. - * include/experimental/simd: Define Doxygen groups. - * include/experimental/type_traits: Improve documentation for - the header file. Define groups. Use @since commands. - * include/std/scoped_allocator (scoped_allocator_adaptor): Move - declaration before undocumented region. - * include/std/type_traits (true_type, false_type): Use using - declaration instead of typedef. - (is_invocable_v, is_nothrow_invocable_v, is_invocable_r_v) - (is_nothrow_invocable_r_v): Move definitions next to other C++17 - variable templates. - Do not document internal implementation details. Move misplaced - group-end command. Define group for variable templates. - * include/std/variant: Do not document internal implementation - details. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2021-06-30 Jonathan Wakely - - * include/experimental/simd: Do not define anything pre-C++17. - -2021-06-30 Jonathan Wakely - - * include/bits/random.tcc [__cpp_inline_variables]: Remove - redundant definitions of static constexpr member variables. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2021-06-28 Jonathan Wakely - - * include/bits/streambuf.tcc (__copy_streambufs_eof): Remove - explicit instantiation declarations. - * src/c++11/streambuf-inst.cc (__copy_streambufs_eof): Remove - explicit instantiation definitions. - -2021-06-28 Jonathan Wakely - - PR libstdc++/97088 - * testsuite/17_intro/names.cc: Fix #if condition for names used - by newlib headers. - -2021-06-28 Jonathan Wakely - - PR libstdc++/101236 - * include/bits/unique_ptr.h (unique_ptr::operator[]): - Fail gracefully if element_type is incomplete. - * testsuite/20_util/unique_ptr/cons/incomplete.cc: Clarify that - the standard doesn't require this test to work for array types. - * testsuite/20_util/unique_ptr/lwg2762.cc: Check that incomplete - types can be used with array specialization. - * testsuite/20_util/unique_ptr/101236.cc: New test. - -2021-06-28 Jonathan Wakely - - * doc/xml/manual/intro.xml: Document LWG 415 change. - * doc/html/manual/bugs.html: Regenerate. - * include/bits/istream.tcc (ws): Create sentry and catch - exceptions. - * testsuite/27_io/basic_istream/ws/char/lwg415.cc: New test. - * testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc: New test. - -2021-06-25 Jonathan Wakely - - * include/bits/ostream.tcc (basic_ostream::write): Call sputn - directly instead of using _M_write. Do setstate(__err) all - outside the try-catch block. - * include/std/ostream (basic_ostream::_M_write): Declare - private. Use __ostream_insert. Do not define for the versioned - namespace. - -2021-06-25 Jonathan Wakely - - * doc/xml/manual/intro.xml: Document LWG 581 change. - * doc/html/manual/bugs.html: Regenerate. - * include/bits/basic_ios.tcc: Whitespace. - * include/bits/ostream.tcc (basic_ostream::flush()): Construct - sentry. - * testsuite/27_io/basic_ostream/flush/char/2.cc: Check - additional cases. - * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc: - Likewise. - * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise. - * testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc: - Likewise. - -2021-06-25 Jonathan Wakely - - * include/bits/ostream.tcc (sentry): Only set failbit if badbit - is set, not if eofbit is set. - (tellp, seekp, seekp): Create sentry object. Do not set badbit - on exceptions. - * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: - Adjust expected behaviour. - * testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc: - Likewise. - * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: - Likewise. - * testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc: - Likewise. - * testsuite/27_io/basic_ostream/seekp/char/n3168.cc: New test. - * testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc: New test. - * testsuite/27_io/basic_ostream/tellp/char/n3168.cc: New test. - * testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc: New test. - -2021-06-25 Jonathan Wakely - - * include/std/syncstream (basic_syncbuf::swap()): Remove - noexcept, as per LWG 3498. - -2021-06-25 Jonathan Wakely - - PR libstdc++/97088 - * testsuite/17_intro/names.cc: Undef more names for newlib and - also for arm-none-linux-gnueabi. - * testsuite/experimental/names.cc: Disable PCH. - -2021-06-25 Matthias Kretz - - * include/experimental/bits/simd.h (__bit_cast): Implement via - __builtin_bit_cast #if available. - (__proposed::simd_bit_cast): Add overloads for simd and - simd_mask, which use __builtin_bit_cast (or __bit_cast #if not - available), which return an object of the requested type with - the same bits as the argument. - * include/experimental/bits/simd_math.h: Use simd_bit_cast - instead of __bit_cast to allow casts to fixed_size_simd. - (copysign): Remove branch that was only required if __bit_cast - cannot be constexpr. - * testsuite/experimental/simd/tests/bits/test_values.h: Switch - from __bit_cast to __proposed::simd_bit_cast since the former - will not cast fixed_size objects anymore. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd_math.h - (_GLIBCXX_SIMD_MATH_CALL2_): Rename arg2_ to __arg2. - (_GLIBCXX_SIMD_MATH_CALL3_): Rename arg2_ to __arg2 and arg3_ to - __arg3. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd.h (__execute_on_index_sequence) - (__execute_on_index_sequence_with_return) - (__call_with_n_evaluations, __call_with_subscripts): Add flatten - attribute. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd_x86.h (_S_trunc, _S_floor) - (_S_ceil): Set bit 8 (_MM_FROUND_NO_EXC) on AVX and SSE4.1 - roundp[sd] calls. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd_x86.h (_S_ldexp): The AVX512F - implementation doesn't require a _VecBltnBtmsk ABI tag, it - requires either a 64-Byte input (in which case AVX512F must be - available) or AVX512VL. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd_math.h: Undefine internal - macros after use. - (frexp): Move #if to a more sensible position and reformat - preceding code. - (logb): Call _SimdImpl::_S_logb for fixed_size instead of - duplicating the code here. - (modf): Simplify condition. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd_math.h (fabs): Remove - fabs(simd) overload. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd_converter.h - (_SimdConverter::operator()): Pass _SimdTuple by const-ref. - * include/experimental/bits/simd_fixed_size.h - (_GLIBCXX_SIMD_FIXED_OP): Pass binary operator _SimdTuple - arguments by const-ref. - (_S_masked_unary): Pass _SimdTuple by const-ref. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd_fixed_size.h - (_AbisInSimdTuple): Removed. - -2021-06-24 Matthias Kretz - - * include/experimental/bits/simd.h: Add missing operator~ - overload for simd to __float_bitwise_operators. - * include/experimental/bits/simd_builtin.h - (_SimdImplBuiltin::_S_complement): Bitcast to int (and back) to - implement complement for floating-point vectors. - * include/experimental/bits/simd_fixed_size.h - (_SimdImplFixedSize::_S_copysign): New function, forwarding to - copysign implementation of _SimdTuple members. - * include/experimental/bits/simd_math.h (copysign): Call - _SimdImpl::_S_copysign for fixed_size arguments. Simplify - generic copysign implementation using the new ~ operator. - -2021-06-24 Jonathan Wakely - - * testsuite/experimental/simd/README.md: Fix typos. - -2021-06-24 Jonathan Wakely - - * include/bits/shared_ptr_base.h (__shared_ptr_access::operator[]): - Add noexcept. - * include/bits/unique_ptr.h (unique_ptr::operator*): Add - conditional noexcept as per LWG 2762. - * testsuite/20_util/shared_ptr/observers/array.cc: Check that - dereferencing cannot throw. - * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. - * testsuite/20_util/optional/observers/lwg2762.cc: New test. - * testsuite/20_util/unique_ptr/lwg2762.cc: New test. - -2021-06-23 Patrick Palka - - PR c++/101174 - * testsuite/23_containers/multiset/cons/deduction.cc: - Uncomment CTAD example that was rejected by this bug. - * testsuite/23_containers/set/cons/deduction.cc: Likewise. - -2021-06-23 Jonathan Wakely - - * include/std/chrono (chrono::year::is_leap()): Fix incorrect - logic in comment. - -2021-06-23 Matthias Kretz - - * testsuite/experimental/simd/README.md: New file. - -2021-06-23 Matthias Kretz - - * testsuite/experimental/simd/driver.sh: Rewrite output - verbosity logic. Add -p/--percentage option. Allow -v/--verbose - to be used twice. Add -x and -o short options. Parse long - options with = instead of separating space generically. Parce - contracted short options. Make unrecognized options an error. - If same-line output is active, trap on EXIT to increment the - progress (only with --percentage), erase the line and print the - current status. - * testsuite/experimental/simd/generate_makefile.sh: Initialize - helper files for progress account keeping. Update help target - for changes to DRIVEROPTS. - -2021-06-23 Matthias Kretz - - * testsuite/Makefile.am (check-simd): Remove -fno-tree-vrp flag - and associated warning. - * testsuite/Makefile.in: Regenerate. - -2021-06-23 Cassio Neri - Jonathan Wakely - Ulrich Drepper - - * include/std/chrono (chrono::year::is_leap()): Optimize. - -2021-06-23 Patrick Palka - - PR c++/86439 - * testsuite/23_containers/map/cons/deduction.cc: Replace ambiguous - CTAD examples. - * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. - * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. - Mention one of the replaced examples is broken due to PR101174. - * testsuite/23_containers/set/cons/deduction.cc: Likewise. - * testsuite/23_containers/unordered_map/cons/deduction.cc: Replace - ambiguous CTAD examples. - * testsuite/23_containers/unordered_multimap/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise. - -2021-06-23 Jonathan Wakely - - * include/std/mutex (__detail::__try_lock_impl): Rename - parameter to avoid clashing with newlib's __lockable macro. - (try_lock): Add 'inline' specifier. - * testsuite/17_intro/names.cc: Add check for __lockable. - * testsuite/30_threads/try_lock/5.cc: Add options for pthreads. - -2021-06-22 Jonathan Wakely - Matthias Kretz - - * include/std/mutex (lock): Replace recursion with iteration - when lockables all have the same type. - (__detail::__try_lock_impl): Likewise. Pass lockables as - parameters, instead of a tuple. Always lock the first one, and - recurse for the rest. - (__detail::__lock_impl): Adjust call to __try_lock_impl. - (__detail::__try_to_lock): Remove. - * testsuite/30_threads/lock/3.cc: Check that mutexes are locked. - * testsuite/30_threads/lock/4.cc: Also test non-heterogeneous - arguments. - * testsuite/30_threads/unique_lock/cons/60497.cc: Also check - std::try_lock. - * testsuite/30_threads/try_lock/5.cc: New test. - -2021-06-22 Jonathan Wakely - - * include/std/memory (declare_reachable, undeclare_reachable) - (declare_no_pointers, undeclare_no_pointers, get_pointer_safety) - (pointer_safety): Only define for C++11 to C++20 inclusive. - * testsuite/20_util/pointer_safety/1.cc: Do not run for C++23. - -2021-06-22 Jonathan Wakely - - * include/bits/random.h (seed_seq): Constrain initializer-list - constructor. - * include/bits/random.tcc (seed_seq): Add template parameter. - * testsuite/26_numerics/random/seed_seq/cons/default.cc: Check - for noexcept. - * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Check - constraints. - -2021-06-22 Thomas Rodgers - - PR libstdc++/100806 - * include/bits/semaphore_base.h (__atomic_semaphore::_M_release): - Force _M_release() to wake all waiting threads. - * testsuite/30_threads/semaphore/100806.cc: New test. - -2021-06-21 Jonathan Wakely - - * include/std/mutex (__try_to_lock): Move to __detail namespace. - (struct __try_lock_impl): Replace with ... - (__detail::__try_lock_impl(tuple&)): New - function templates to implement std::try_lock. - (try_lock): Use new __try_lock_impl. - (__detail::__lock_impl(int, int&, L0&, L1&...)): New function - template to implement std::lock. - (lock): Use __lock_impl. - -2021-06-21 Patrick Palka - - * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value. - -2021-06-20 Patrick Palka - - * include/std/ranges (__non_propagating_cache::operator bool): - Define for split_view::begin(). - (split_view): Define as per P2210. - (views::__detail::__can_split_view): Define. - (views::_Split, views::split): Define. - * testsuite/std/ranges/adaptors/100577.cc (test01, test02): - Test views::split. - * testsuite/std/ranges/adaptors/split.cc: New test. - * testsuite/std/ranges/p2325.cc (test08a): New test. - * testsuite/std/ranges/p2367.cc (test01): Test views::split. - -2021-06-20 Patrick Palka - - * include/std/ranges: Rename views::split to views::lazy_split, - split_view to lazy_split_view, etc. throughout. - * testsuite/std/ranges/*: Likewise. - * testsuite/std/ranges/adaptors/lazy_split.cc: New file. - * testsuite/std/ranges/adaptors/lazy_split_neg.cc: New file. - -2021-06-20 Patrick Palka - - * include/std/ranges (split_view::_OuterIter::__at_end): - Check _M_trailing_empty. - (split_view::_OuterIter::_M_trailing_empty): Define this - data member. - (split_view::_OuterIter::operator++): Set _M_trailing_empty - appropriately. - (split_view::_OuterIter::operator==): Compare - _M_trailing_empty. - * testsuite/std/ranges/adaptors/100479.cc (test03): Expect two - split parts instead of one. - * testsuite/std/ranges/adaptors/split.cc (test11): New test. - -2021-06-20 Patrick Palka - - * include/std/ranges (split_view::_InnerIter::base): Define as - per P2210. - -2021-06-19 Patrick Palka - - * include/std/ranges (transform_view::_Iterator::_S_iter_concept): - Consider _Base instead of _Vp as per LWG 3555. - (elements_view::_Iterator::_S_iter_concept): Likewise. - -2021-06-19 Patrick Palka - - * include/std/ranges (split_view::_OuterIter::value_type::begin): - Remove the non-const overload, and remove the copyable constraint - on the const overload as per LWG 3553. - -2021-06-19 Patrick Palka - - * include/bits/stl_iterator.h - (__detail::__common_iter_use_postfix_proxy): Add - move_constructible constraint as per LWG 3546. - (common_iterator::__postfix_proxy): Adjust initializer of - _M_keep as per LWG 3546. - -2021-06-18 Patrick Palka - - PR libstdc++/100387 - * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite - to limit comparison complexity to 3*N/2. - (__minmax_element_fn::operator()): Likewise. - (shift_right): Avoid premature std::move of __result. - * testsuite/25_algorithms/minmax/constrained.cc (test04, test05): - New tests. - * testsuite/25_algorithms/minmax_element/constrained.cc (test02): - Likewise. - -2021-06-18 Patrick Palka - - * include/std/concepts (convertible_to): Just use declval as per - LWG 3557. - -2021-06-18 Jonathan Wakely - - PR libstdc++/95833 - * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace - incorrect static_assert with ones matching the 'Mandates' - conditions in the standard. - * testsuite/26_numerics/reduce/95833.cc: New test. - -2021-06-18 Jonathan Wakely - - * testsuite/21_strings/basic_string/cons/char/1.cc: Use - diagnostic pragma to suppress -Wstringop-overread error. - -2021-06-18 Patrick Palka - - * include/bits/ranges_algo.h (__find_fn, find, __find_if_fn) - (find_if, __find_if_not_fn, find_if_not, _in_in_result) - (__mismatch_fn, mismatch, __search_fn, search): Move to ... - * include/bits/ranges_util.h: ... here. - * include/std/ranges (__detail::find, __detail::find_if) - (__detail::find_if_not, __detail::mismatch): Remove. - (filter_view): Use ranges::find_if instead. - (drop_while_view): Use ranges::find_if_not instead. - (split_view): Use ranges::find and ranges::mismatch instead. - -2021-06-18 Patrick Palka - - * include/bits/iterator_concepts.h (weakly_incrementable): Remove - default_initializable requirement. - * include/bits/ranges_base.h (ranges::view): Likewise. - * include/bits/ranges_util.h (subrange): Constrain the default - ctor. - * include/bits/stl_iterator.h (back_insert_iterator): Remove the - default ctor. - (front_insert_iterator): Likewise. - (insert_iterator): Likewise. Remove NSDMIs. - (common_iterator): Constrain the default ctor. - (counted_iterator): Likewise. - * include/bits/stream_iterator.h (ostream_iterator): Remove the - default ctor. - * include/std/ranges (__detail::__box::operator=): Handle - self-assignment in the primary template. - (__detail::__box): In the partial specialization: adjust - constraints as per P2325. Add specialized operator= for the - case when the wrapped type is not copyable. Constrain the - default ctor. Avoid list-initialization. - (single_view): Constraint the default ctor. - (iota_view): Relax semiregular constraint to copyable. - Constrain the default ctor. - (iota_view::_Iterator): Constraint the default ctor. - (basic_istream_view): Remove the default ctor. Remove NSDMIs. - Remove redundant checks for empty _M_stream. - (basic_istream_view::_Iterator): Likewise. - (ref_view): Remove the default ctor. Remove NSDMIs. - (ref_view::_Iterator): Constrain the default ctor. - (__detail::__non_propagating_cache::operator=): Define overload - for assigning from a value of the underlying type. - (filter_view): Likewise. - (filter_view::_Iterator): Likewise. - (transform_view): Likewise. - (transform_view::_Iterator): Likewise. - (take_view): Likewise. - (take_view::_Iterator): Likewise. - (take_while_view): Likewise. - (take_while_view::_Iterator): Likewise. - (drop_while_view): Likewise. - (drop_while_view::_Iterator): Likewise. - (join_view): Likewise. - (split_view::_OuterIter::__current): Adjust after changing the - type of _M_current. - (split_view::_M_current): Wrap it in a __non_propagating_cache. - (split_view::split_view): Constrain the default ctor. - (common_view): Constrain the default ctor. - (reverse_view): Likewise. - (elements_view): Likewise. - * include/std/span (enable_view>): - Define this partial specialization to true unconditionally. - * include/std/version (__cpp_lib_ranges): Adjust value. - * testsuite/24_iterators/back_insert_iterator/constexpr.cc: - Don't attempt to default construct a back_insert_iterator. - * testsuite/24_iterators/front_insert_iterator/constexpr.cc: - Don't attempt to default construct a front_insert_iterator. - * testsuite/24_iterators/insert_iterator/constexpr.cc: - Don't attempt to default construct an insert_iterator. - * testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc: - Remove this test for default constructibility of ostream_iterator. - * testsuite/std/ranges/97600.cc: Don't attempt to default - construct a basic_istream_view. - * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: - Rename to ... - * testsuite/std/ranges/adaptors/detail/copyable_box.cc: ... this. - (test02): Adjust now that __box is copyable-box not - semiregular-box. - (test03): New test. - * testsuite/std/ranges/p2325.cc: New test. - * testsuite/std/ranges/single_view.cc (test06): New test. - * testsuite/std/ranges/view.cc: Adjust now that view doesn't - require default_initializable. - -2021-06-17 Jonathan Wakely - - PR libstdc++/91488 - * include/bits/basic_string.h (__cpp_lib_constexpr_string): Only - define when is_constant_evaluated is available. - * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): - Likewise. - (__constant_string_p, __constant_array_p): Remove. - (char_traits): Use is_constant_evaluated directly. - * include/std/version (__cpp_lib_constexpr_char_traits) - (__cpp_lib_constexpr_string): Only define when - is_constant_evaluated is available. - -2021-06-17 Patrick Palka - - PR libstdc++/100940 - * include/std/ranges (__adaptor::_Partial): For the "simple" - forwarding partial specializations, also require that - the extra arguments are trivially copyable. - * testsuite/std/ranges/adaptors/100577.cc (test04): New test. - -2021-06-17 Patrick Palka - - PR libstdc++/100940 - * include/std/ranges (__adaptor::_RangeAdaptor): Document the - template form of _S_has_simple_extra_args. - (__adaptor::__adaptor_has_simple_extra_args): Add _Args template - parameter pack. Try to treat _S_has_simple_extra_args as a - variable template parameterized by _Args. - (__adaptor::_Partial): Pass _Arg/_Args to the constraint - __adaptor_has_simple_extra_args. - (views::_Take::_S_has_simple_extra_args): Templatize according - to the type of the extra argument. - (views::_Drop::_S_has_simple_extra_args): Likewise. - (views::_Split::_S_has_simple_extra_args): Define. - * testsuite/std/ranges/adaptors/100577.cc (test01, test02): - Adjust after changes to _S_has_simple_extra_args mechanism. - (test03): Define. - -2021-06-16 Jonathan Wakely - - * include/bits/iterator_concepts.h (__decay_copy): Name type. - -2021-06-16 Jonathan Wakely - - * include/bits/ranges_base.h (ranges::begin, ranges::end) - (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend) - (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize) - (ranges::empty, ranges::data, ranges::cdata): Remove final - keywords and deleted operator& overloads. - * testsuite/24_iterators/customization_points/iter_move.cc: Use - new is_customization_point_object function. - * testsuite/24_iterators/customization_points/iter_swap.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: - Likewise. - * testsuite/std/ranges/access/begin.cc: Likewise. - * testsuite/std/ranges/access/cbegin.cc: Likewise. - * testsuite/std/ranges/access/cdata.cc: Likewise. - * testsuite/std/ranges/access/cend.cc: Likewise. - * testsuite/std/ranges/access/crbegin.cc: Likewise. - * testsuite/std/ranges/access/crend.cc: Likewise. - * testsuite/std/ranges/access/data.cc: Likewise. - * testsuite/std/ranges/access/empty.cc: Likewise. - * testsuite/std/ranges/access/end.cc: Likewise. - * testsuite/std/ranges/access/rbegin.cc: Likewise. - * testsuite/std/ranges/access/rend.cc: Likewise. - * testsuite/std/ranges/access/size.cc: Likewise. - * testsuite/std/ranges/access/ssize.cc: Likewise. - * testsuite/util/testsuite_iterators.h - (is_customization_point_object): New function. - -2021-06-15 Jonathan Wakely - - * include/bits/ranges_base.h (ranges::begin, ranges::end) - (ranges::cbegin, ranges::cend, ranges::rbeing, ranges::rend) - (ranges::crbegin, ranges::crend, ranges::size, ranges::ssize) - (ranges::empty, ranges::data, ranges::cdata): Make types final. - Add deleted operator& overloads. - (ranges::advance, ranges::distance, ranges::next, ranges::prev): - Likewise. - * testsuite/std/ranges/headers/ranges/synopsis.cc: Replace - ill-formed & expressions with using-declarations. Add checks for - other function objects. - -2021-06-15 Jonathan Wakely - - * include/bits/ranges_util.h (view_interface): Add noexcept to - empty, operator bool, data and size members. - (subrange): Add noexcept to constructors. - * include/std/ranges (single_view, ref_view): Add noexcept to - constructors. - (views::single, views::all): Add noexcept. - * testsuite/std/ranges/adaptors/all.cc: Check noexcept. - * testsuite/std/ranges/single_view.cc: Likewise. - -2021-06-15 Jonathan Wakely - - * include/bits/ranges_util.h (subrange): Add __size_type typedef - and use it to simplify declarations. - (subrange(i, s, n)): Remove assertion. - * testsuite/std/ranges/subrange/constexpr.cc: New test. - -2021-06-15 Jonathan Wakely - - * include/bits/iterator_concepts.h (__cust_access::__decay_copy): - Replace with function object. - (__cust_access::__member_begin, ___cust_access::_adl_begin): Use - __decay_copy unqualified. - * include/bits/ranges_base.h (__member_end, __adl_end): - Likewise. Use __range_iter_t for type of ranges::begin. - (__member_rend): Use correct value category for rbegin argument. - (__member_data): Use __decay_copy unqualified. - (__begin_data): Use __range_iter_t for type of ranges::begin. - -2021-06-14 Jonathan Wakely - - * include/bits/ranges_base.h (ranges::empty): Check whether - conversion to bool can throw. - * testsuite/std/ranges/access/empty.cc: Check for correct - noexcept-specifier. - -2021-06-14 Jonathan Wakely - - PR libstdc++/100894 - * include/std/type_traits (__common_ref_impl): Only - use the type if it's a reference. - * testsuite/20_util/common_reference/100894.cc: New test. - -2021-06-14 Jonathan Wakely - - * testsuite/experimental/filesystem/path/native/conv_c++23.cc: - Add dg-require-filesystem-ts directive. - -2021-06-14 Jonathan Wakely - - PR libstdc++/101034 - * include/std/any (any(in_place_t, initializer_list, A&&...)) - (any::emplace(initializer_list, A&&...)): Fix constraint - to use lvalue. - * testsuite/20_util/any/cons/101034.cc: New test. - -2021-06-14 Jonathan Wakely - - * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add - -std=gnu++17 option. - -2021-06-14 Jonathan Wakely - - PR libstdc++/101056 - * libsupc++/compare (compare_partial_order_fallback): Add - constraint using reversed parameter order, as per LWG 3465. - * testsuite/18_support/comparisons/algorithms/fallback.cc: - Adjust expected result. - -2021-06-14 Jonathan Wakely - - * libsupc++/compare (__decayed_same_as): New helper concept. - (strong_order, weak_order, partial_order): Constrain with new - concept instead of using static_assert. - (compare_strong_order_fallback, compare_weak_order_fallback) - (compare_partial_order_fallback): Likewise. Do not deduce return - types. Remove redundant if-constexpr checks. - * testsuite/18_support/comparisons/algorithms/fallback.cc: New test. - -2021-06-14 Jonathan Wakely - - PR libstdc++/101055 - * include/std/tuple: Use reserved form of attribute name. - * testsuite/17_intro/headers/c++2011/all_attributes.cc: Add - check for no_unique_address. - * testsuite/17_intro/headers/c++2014/all_attributes.cc: - Likewise. - * testsuite/17_intro/headers/c++2017/all_attributes.cc: - Likewise. - -2021-06-11 Jonathan Wakely - - * include/bits/fs_path.h (operator==, operator<=>): Use new - _S_compare function. - (path::_S_compare): New function to call path::compare in a - context where path::iterator is complete. - * include/experimental/bits/fs_path.h (operator<, operator==): - Define after path::iterator is complete. - * testsuite/27_io/filesystem/path/native/conv_c++23.cc: New - test. - * testsuite/experimental/filesystem/path/native/conv_c++23.cc: - New test. - -2021-06-09 Thomas Rodgers - - * testsuite/29_atomics/atomic_ref/wait_notify.cc: Guard - test logic with constexpr check for is_always_lock_free. - -2021-06-09 Jonathan Wakely - - PR libstdc++/100982 - * include/std/optional (optional::operator=(const optional&)): - Fix value category used in is_assignable check. - * testsuite/20_util/optional/assignment/100982.cc: New test. - -2021-06-09 Jonathan Wakely - - * include/bits/allocator.h (allocator::is_always_equal): Deprecate. - * include/bits/iterator_concepts.h (indirectly_readable_traits): - Add LWG issue number to comment. - * include/std/memory_resource (polymorphic_allocator::release): - Deprecate. - * testsuite/20_util/allocator/requirements/typedefs.cc: Add - dg-warning for deprecation. Also check std::allocator. - -2021-06-08 Thomas Rodgers - - PR libstdc++/100889 - * include/bits/atomic_base.h (atomic_ref<_Tp*>::wait): - Change parameter type from _Tp to _Tp*. - * testsuite/29_atomics/atomic_ref/wait_notify.cc: Extend - coverage of types tested. - -2021-06-08 Thomas Rodgers - - * include/std/barrier (__tree_barrier::_M_arrive): Remove - unnecessary hasher instantiation. - -2021-06-08 Jonathan Wakely - - * include/experimental/propagate_const (swap): Constrain. - * testsuite/experimental/propagate_const/swap/lwg3413.cc: New test. - -2021-06-07 Avi Kivity - - PR libstdc++/100900 - * include/std/ranges (elements_view::__iter_cat::_S_iter_cat): - Add missing typename. - -2021-06-07 Jonathan Wakely - - PR libstdc++/98842 - * include/std/optional (operator<=>(const optional& const U&)): - Add missing constraint and add workaround for template - recursion. - * testsuite/20_util/optional/relops/three_way.cc: Check that - type without equality comparison cannot be compared when wrapped - in std::optional. - -2021-06-05 Jonathan Wakely - - PR libstdc++/100824 - * include/bits/ranges_base.h (_SSize): Return signed type. - * testsuite/std/ranges/access/ssize.cc: Check with __int128. - -2021-06-04 Jonathan Wakely - - * include/bits/ranges_base.h (_SSize): Return the result of - ranges::size converted to the wider of make-signed-like-t and - ptrdiff_t, rather than the ranges different type. - * testsuite/std/ranges/access/ssize.cc: Adjust expected result - for an iota_view that uses an integer class type for its - difference_type. - -2021-06-04 Jonathan Wakely - - PR libstdc++/100824 - * include/bits/ranges_base.h (__member_data): Use __decay_copy. - * testsuite/std/ranges/access/data.cc: Add testcase from PR. - -2021-06-04 Jonathan Wakely - - PR libstdc++/100824 - * include/bits/iterator_concepts.h (__detail::__decay_copy) - (__detail::__member_begin, __detail::__adl_begin): Move to - namespace ranges::__cust_access. - (__detail::__ranges_begin): Likewise, and rename to __begin. - Remove redundant static assertion. - * include/bits/ranges_base.h (_Begin, _End, _RBegin, _REnd): - Use lvalue in noexcept specifier. - (__as_const): Add non-deduced parameter for value category. - (_CBegin, _CEnd, _CRBegin, _CREnd, _CData): Adjust uses of - __as_const. - (__member_size, __adl_size, __member_empty, __size0_empty): - (__eq_iter_empty, __adl_data): Use lvalue objects in - requirements. - (__sentinel_size): Likewise. Add check for conversion to - unsigned-like. - (__member_data): Allow non-lvalue types to satisfy the concept, - but use lvalue object in requirements. - (_Size, _SSize): Remove forwarding to always use an lvalue. - (_Data): Likewise. Add static assertion for arrays. - * testsuite/std/ranges/access/cdata.cc: Adjust expected - behaviour for rvalues. Add negative tests for ill-formed - expressions. - * testsuite/std/ranges/access/data.cc: Likewise. - * testsuite/std/ranges/access/empty.cc: Adjust expected - behaviour for rvalues. - * testsuite/std/ranges/access/size.cc: Likewise. - -2021-06-04 Tim Adye - - * include/std/any (any::_Manager::_S_access): New static - function to access the contained value. - (any::emplace, __any_caster): Use _S_access member of the - manager type. - -2021-06-04 Jonathan Wakely - - * doc/xml/manual/status_cxx2020.xml: - * doc/html/*: Regenerate. - * include/bits/hashtable.h (__cpp_lib_generic_unordered_lookup): - Define. - * include/std/version (__cpp_lib_generic_unordered_lookup): - Define. - * testsuite/23_containers/unordered_map/operations/1.cc: Check - feature test macro. - * testsuite/23_containers/unordered_set/operations/1.cc: - Likewise. - -2021-06-03 Patrick Palka - - * include/bits/ranges_algo.h (__detail::__can_reread_output): - Factor out this concept from ... - (__unique_copy_fn::operator()): ... here. Use the concept - throughout. - * testsuite/std/ranges/range.cc: Remove now ill-formed use - of range_value_t on an output_range. - * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): - Define value_type, pointer and reference member types to void. - -2021-06-03 Patrick Palka - - PR libstdc++/100577 - * include/std/ranges (_RangeAdaptorClosure): Document - _S_has_simple_call_op mechanism. - (_RangeAdaptor): Document _S_has_simple_extra_args mechanism. - (__closure_has_simple_call_op): New concept. - (__adaptor_has_simple_extra_args): Likewise. - (_Partial<_Adaptor, _Args...>): New partial specialization. - (_Partial<_Adaptor, _Arg>): Likewise. - (_Pipe<_Lhs, _Rhs>): Likewise. - (views::_All::_S_has_simple_call_op): Define to true. - (views::_Filter::_S_has_simple_extra_args): Likewise. - (views::_Transform::_S_has_simple_extra_args): Likewise. - (views::_Take::_S_has_simple_extra_args): Likewise. - (views::_TakeWhile::_S_has_simple_extra_args): Likewise. - (views::_Drop::_S_has_simple_extra_args): Likewise. - (views::_DropWhile::_S_has_simple_extra_args): Likewise. - (views::_Join::_S_has_simple_call_op): Likewise. - (views::_Split): Document why we don't define - _S_has_simple_extra_args to true for this adaptor. - (views::_Common::_S_has_simple_call_op): Define to true. - (views::_Reverse::_S_has_simple_call_op): Likewise. - (views::_Elements::_S_has_simple_call_op): Likewise. - * testsuite/std/ranges/adaptors/100577.cc: New test. - -2021-06-02 Jonathan Wakely - - PR libstdc++/100863 - PR libstdc++/65816 - * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): - Value-initialize subobject. - * testsuite/23_containers/unordered_map/allocator/default_init.cc: - Remove XFAIL. - * testsuite/23_containers/unordered_set/allocator/default_init.cc: - Remove XFAIL. - -2021-06-02 Jonathan Wakely - - PR libstdc++/96088 - * testsuite/23_containers/unordered_map/96088.cc: Adjust - expected number of allocations. - * testsuite/23_containers/unordered_set/96088.cc: Likewise. - -2021-06-02 Jonathan Wakely - - * doc/xml/manual/status_cxxis29124.xml: Improve punctuation. - * doc/xml/manual/status_cxxtr1.xml: Likewise. - * doc/xml/manual/status_cxxtr24733.xml: Likewise. - * doc/html/*: Regenerate. - -2021-06-01 Patrick Palka - - PR c++/65816 - * testsuite/23_containers/deque/allocator/default_init.cc, - testsuite/23_containers/forward_list/allocator/default_init.cc, - testsuite/23_containers/list/allocator/default_init.cc, - testsuite/23_containers/map/allocator/default_init.cc, - testsuite/23_containers/set/allocator/default_init.cc, - testsuite/23_containers/vector/allocator/default_init.cc, - testsuite/23_containers/vector/bool/allocator/default_init.cc: - Remove xfail. - -2021-06-01 Jonathan Wakely - - * testsuite/23_containers/unordered_map/96088.cc: Change - effective target to c++17. - * testsuite/23_containers/unordered_set/96088.cc: Likewise. - -2021-06-01 Jonathan Wakely - - * testsuite/22_locale/ctype/is/string/89728_neg.cc: Only test - isblank for C++11 and later. - -2021-06-01 Jonathan Wakely - - PR libstdc++/100833 - * include/bits/ranges_base.h (ranges::advance(iter, n, sentinel)): - Fix return value for no-op case. - * testsuite/24_iterators/range_operations/advance.cc: Test - return values of three-argument overload. - -2021-06-01 Jonathan Wakely - - PR libstdc++/99453 - * python/Makefile.am: Use archive name for printer hook if no - dynamic library name is available. - * python/Makefile.in: Regenerate. - -2021-05-30 Gerald Pfeifer - - * doc/xml/manual/abi.xml: Remove dead reference to "Intel - Compilers for Linux: Compatibility with GNU Compilers" article. - * doc/html/manual/abi.html: Regenerate. - -2021-05-26 François Dumont - - * include/debug/formatter.h - (_Error_formatter::_Parameter::_Named): New. - (_Error_formatter::_Parameter::_Type): Inherit latter. - (_Error_formatter::_Parameter::_M_integer): Likewise. - (_Error_formatter::_Parameter::_M_string): Likewise. - * src/c++11/debug.cc: Include . - (_Print_func_t): New. - (print_raw(PrintContext&, const char*, ptrdiff_t)): New. - (print_word): Use '%.*s' format in fprintf to render only expected number of chars. - (pretty_print(PrintContext&, const char*, _Print_func_t)): New. - (print_type): Rename in... - (print_type_info): ...this. Use pretty_print. - (print_address, print_integer): New. - (print_named_name, print_iterator_constness, print_iterator_state): New. - (print_iterator_seq_type): New. - (print_named_field, print_type_field, print_instance_field, print_iterator_field): New. - (print_field): Use latters. - (print_quoted_named_name, print_type_type, print_type, print_instance): New. - (print_string(PrintContext&, const char*, const _Parameter*, size_t)): - Change signature to... - (print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)): - ...this and adapt. Remove intermediate buffer to render input string. - (print_string(PrintContext&, const char*, ptrdiff_t)): New. - -2021-05-26 Jonathan Wakely - - PR libstdc++/100768 - * include/bits/ranges_base.h (advance, distance, next, prev): - Replace function templates with function objects. - * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: - Adjust for changes to function objects. - * testsuite/std/ranges/adaptors/elements.cc: Add using - declarations for names from namespace ranges. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - * testsuite/24_iterators/range_operations/100768.cc: New test. - -2021-05-24 François Dumont - - PR libstdc++/96088 - * include/bits/hashtable_policy.h (_Select2nd): New. - (_NodeBuilder<>): New. - (_ReuseOrAllocNode<>::operator()): Use variadic template args. - (_AllocNode<>::operator()): Likewise. - * include/bits/hashtable.h - (_Hashtable<>::__node_builder_t): New. - (_Hashtable<>::_M_insert_unique<>(_Kt&&, _Arg&&, const _NodeGenerator&)): - New. - (_Hashtable<>::_S_forward_key): New. - (_Hashtable<>::_M_insert): Use latter. - (_Hashtable<>::_M_insert(const_iterator, _Arg&&, const _NodeGenerator&, false_type)): - Instantiate node first, compute hash code second. - * testsuite/23_containers/unordered_map/96088.cc: New test. - * testsuite/23_containers/unordered_multimap/96088.cc: New test. - * testsuite/23_containers/unordered_multiset/96088.cc: New test. - * testsuite/23_containers/unordered_set/96088.cc: New test. - * testsuite/util/replacement_memory_operators.h - (counter::_M_increment): New. - (counter::_M_decrement): New. - (counter::reset()): New. - -2021-05-24 Patrick Palka - - PR libstdc++/100479 - * include/std/ranges (__detail::__non_propagating_cache): Move - definition up to before that of _CachedPosition. Make base - class _Optional_base protected instead of private. Add const - overload for operator*. - (__detail::_CachedPosition): Rewrite the partial specialization - for forward ranges as a derived class of __non_propagating_cache. - Remove the size constraint on the partial specialization for - random access ranges. Add copy/move/copy-assignment/move-assignment - members to the offset partial specialization for random - access ranges that propagate the cached value but additionally - invalidate it in the source object on move. - * testsuite/std/ranges/adaptors/100479.cc: New test. - -2021-05-24 Jonathan Wakely - - * testsuite/25_algorithms/inplace_merge/constrained.cc: Qualify - call to ranges::next. - * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. - * testsuite/25_algorithms/is_sorted_until/constrained.cc: - Likewise. - * testsuite/25_algorithms/swap_ranges/1.cc: Qualify call to - swap_ranges. - -2021-05-21 Patrick Palka - - PR libstdc++/100606 - * include/std/ranges (drop_while_view::begin): Assert the - precondition added by LWG 3490. - -2021-05-21 Patrick Palka - - PR libstdc++/100690 - * include/std/ranges (iota_view::_Sentinel::_M_distance_from): - Split out this member function from ... - (iota_view::_Sentinel::operator-): ... here, for sake of access - control. - * testsuite/std/ranges/iota/iota_view.cc (test05): New test. - -2021-05-20 Jonathan Wakely - - * include/bits/random.tcc (__representable_as_double) - (__p1_representable_as_double): Add "" to static asserts. - -2021-05-20 Jonathan Wakely - - PR libstdc++/100676 - * include/bits/c++config (__glibcxx_assert_1): Rename to ... - (__glibcxx_constexpr_assert): ... this. - (__glibcxx_assert_impl): Use __glibcxx_constexpr_assert. - (__glibcxx_assert): Define as either __glibcxx_constexpr_assert - or __glibcxx_assert_impl. - (__glibcxx_assert_2): Remove - * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): Use - __glibcxx_constexpr_assert instead of __glibcxx_assert_1. - * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: - Adjust expected error. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: - Likewise. - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: - Likewise. - * testsuite/23_containers/span/back_neg.cc: Likewise. - * testsuite/23_containers/span/front_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_neg.cc: Likewise. - -2021-05-20 Patrick Palka - - PR libstdc++/100639 - * include/bits/stl_iterator.h (reverse_iterator::difference_type): - In C++20 mode, define in terms of iter_difference_t as per P0896R4. - (reverse_iterator::reference): Likewise, but with iter_reference_t. - (reverse_iterator::value_type): Likewise, but with iter_value_t. - * testsuite/std/ranges/adaptors/reverse.cc (test08): New test. - * testsuite/24_iterators/reverse_iterator/100639.cc: New test. - -2021-05-20 Joern Rennecke - - PR libstdc++/100361 - * include/std/charconv (to_chars): Hide the overloads for - floating-point types for 16 bit targets. - * src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets. - * testsuite/20_util/to_chars/double.cc: Run this test only on - size32plus targets. - * testsuite/20_util/to_chars/float.cc: Likewise. - * testsuite/20_util/to_chars/long_double.cc: Likewise. - -2021-05-18 Patrick Palka - - PR libstdc++/100631 - * include/std/ranges (elements_view::_Sentinel::operator-): Use - _M_distance_from in the other operator- overload too. - * testsuite/std/ranges/adaptors/elements.cc (test06): Augment test. - -2021-05-18 Thomas Schwinge - - * testsuite/lib/prune.exp: Add note about 'dg-note'. - -2021-05-18 Patrick Palka - - PR libstdc++/100475 - * include/std/ranges (__box::__box): Use non-list-initialization - in member initializer list of in-place constructor of the - partial specialization for semiregular types. - (__box::operator->): Use std::__addressof. - * testsuite/std/ranges/adaptors/detail/semiregular_box.cc - (test02): New test. - * testsuite/std/ranges/single_view.cc (test04): New test. - -2021-05-18 Patrick Palka - - PR libstdc++/100621 - * include/std/ranges (reverse_view::_S_needs_cached_begin): - Set to true if the underlying non-common random-access range - doesn't have a sized sentinel. - -2021-05-18 Patrick Palka - - PR libstdc++/100631 - * include/std/ranges (elements_view::_Iterator): Also befriend - _Sentinel. - (elements_view::_Sentinel::_M_equal): Templatize. - (elements_view::_Sentinel::_M_distance_from): Split out from ... - (elements_view::_Sentinel::operator-): ... here. Depend on - _Base2 instead of _Base in the return type. - * testsuite/std/ranges/adaptors/elements.cc (test06, test07): - New tests. - -2021-05-17 Thomas Rodgers - - * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): loop - until value change observed. - (__waiter_base::_M_laundered): New member. - (__waiter_base::_M_notify): Check _M_laundered to determine - whether to wake one or all. - (__detail::__atomic_compare): Return true if call to - __builtin_memcmp() == 0. - (__waiter_base::_S_do_spin_v): Adjust predicate. - * testsuite/29_atomics/atomic/wait_notify/100334.cc: New - test. - -2021-05-17 Jonathan Wakely - - PR libstdc++/100630 - * include/experimental/bits/fs_path.h (__is_constructible_from): - Test construction from a const lvalue, not an rvalue. - * testsuite/27_io/filesystem/path/construct/100630.cc: New test. - * testsuite/experimental/filesystem/path/construct/100630.cc: - New test. - -2021-05-17 Antony Polukhin - - PR libstdc++/89728 - * include/bits/locale_facets.h (ctype>): - Declare (but do not define) partial specialization. - * testsuite/22_locale/ctype/is/string/89728_neg.cc: New test. - -2021-05-17 Jonathan Wakely - - * include/std/thread (jthread::_S_create): Fix static assert - message. - * testsuite/30_threads/jthread/95989.cc: Re-enable test. - * testsuite/30_threads/jthread/jthread.cc: Do not require - pthread effective target. - * testsuite/30_threads/jthread/2.cc: Moved to... - * testsuite/30_threads/jthread/version.cc: ...here. - -2021-05-17 Jonathan Wakely - - * doc/Makefile.am: Simplify doxygen recipes and use --latex_cmd. - * doc/Makefile.in: Regenerate. - * doc/doxygen/user.cfg.in (LATEX_CMD_NAME): Add placeholder - value. - * scripts/run_doxygen (print_usage): Always print to stdout and - do not exit. - (fail): New function for exiting on error. - (parse_options): Handle --latex_cmd. Do not treat --help the - same as errors. Simplify handling of required arguments. - -2021-05-12 Jonathan Wakely - - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: - Increase dg-timeout-factor to 4. Fix -Wunused-parameter - warnings. Replace bitwise AND with logical AND in loop - condition. - * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: - Replace bitwise AND with logical AND in loop condition. - * testsuite/util/pstl/test_utils.h: Remove unused parameter - names. - -2021-05-11 Patrick Palka - - * src/c++17/ryu/LOCAL_PATCHES: Update. - * src/c++17/ryu/ryu_generic_128.h: Remove extern "C". - Remove declarations for never-defined functions. - * testsuite/20_util/to_chars/4.cc: New test. - -2021-05-11 Jonathan Wakely - - * testsuite/20_util/headers/memory/synopsis.cc: Define C++98 - alternative for macro. - * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective - target keyword. - * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11 - syntax. - -2021-05-11 Jonathan Wakely - - * include/bits/allocator.h (allocator) [C++20]: Add - missing noexcept to constructor. Restore missing POCMA and - is_always_equal_traits. - [C++17]: Make construct and destroy members private and - declare allocator_traits as a friend. - * include/bits/memoryfwd.h (allocator_traits): Declare. - * include/ext/malloc_allocator.h (malloc_allocator::allocate): - Add nodiscard attribute. Add static assertion for LWG 3307. - * include/ext/new_allocator.h (new_allocator::allocate): Add - static assertion for LWG 3307. - * testsuite/20_util/allocator/void.cc: Check that converting - constructor is noexcept. Check for propagation traits and - size_type and difference_type. Check that pointer and - const_pointer are gone in C++20. - -2021-05-10 Jonathan Wakely - - * include/std/stop_token: Remove TODO comment. - -2021-05-10 Jonathan Wakely - - * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): - Initialize a non-reference deleter from an rvalue, as per LWG - 3548. - (__shared_ptr::_UniqCompatible): Add missing constraint. - * testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test. - * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check - constraints. - -2021-05-10 Jonathan Wakely - - * testsuite/17_intro/headers/c++2017/all_attributes.cc: Remove - -std=gnu++17 from dg-options directive. - * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: - Likewise. - * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: - Likewise. - * testsuite/17_intro/headers/c++2017/operator_names.cc: - Likewise. - * testsuite/17_intro/headers/c++2017/parallel_mode.cc: Likewise. - * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise. - * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: - Likewise. - * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. - * testsuite/18_support/byte/81076.cc: Likewise. - * testsuite/18_support/byte/global_neg.cc: Likewise. - * testsuite/18_support/byte/ops.cc: Likewise. - * testsuite/18_support/byte/requirements.cc: Likewise. - * testsuite/18_support/headers/cfloat/values_c++17.cc: Likewise. - * testsuite/18_support/launder/1.cc: Likewise. - * testsuite/18_support/launder/nodiscard.cc: Likewise. - * testsuite/18_support/launder/requirements.cc: Likewise. - * testsuite/18_support/launder/requirements_neg.cc: Likewise. - * testsuite/18_support/new_aligned.cc: Likewise. - * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: - Likewise. - * testsuite/19_diagnostics/error_code/is_error_code_v.cc: - Likewise. - * testsuite/19_diagnostics/error_condition/hash.cc: Likewise. - * testsuite/20_util/addressof/requirements/constexpr.cc: - Likewise. - * testsuite/20_util/as_const/1.cc: Likewise. - * testsuite/20_util/as_const/rvalue_neg.cc: Likewise. - * testsuite/20_util/bind/83427.cc: Likewise. - * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. - * testsuite/20_util/bool_constant/requirements.cc: Likewise. - * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: - Likewise. - * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: - Likewise. - * testsuite/20_util/duration_cast/rounding.cc: Likewise. - * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: - Likewise. - * testsuite/20_util/from_chars/1_neg.cc: Likewise. - * testsuite/20_util/from_chars/requirements.cc: Likewise. - * testsuite/20_util/function/91456.cc: Likewise. - * testsuite/20_util/function/cons/deduction.cc: Likewise. - * testsuite/20_util/function_objects/83607.cc: Likewise. - * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. - * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. - * testsuite/20_util/function_objects/not_fn/1.cc: Likewise. - * testsuite/20_util/function_objects/not_fn/87538.cc: Likewise. - * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/has_unique_object_representations/value.cc: - Likewise. - * testsuite/20_util/hash/nullptr.cc: Likewise. - * testsuite/20_util/in_place/requirements.cc: Likewise. - * testsuite/20_util/is_aggregate/incomplete_neg.cc: Likewise. - * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_aggregate/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_aggregate/value.cc: Likewise. - * testsuite/20_util/is_invocable/83395.cc: Likewise. - * testsuite/20_util/is_invocable/91456.cc: Likewise. - * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_invocable/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_invocable/value.cc: Likewise. - * testsuite/20_util/is_literal_type/deprecated-1z.cc: Likewise. - * testsuite/20_util/is_nothrow_constructible/94003.cc: Likewise. - * testsuite/20_util/is_nothrow_invocable/83395.cc: Likewise. - * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc: Likewise. - * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise. - * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. - * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable_with/value.cc: - Likewise. - * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_swappable/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_swappable/value.cc: Likewise. - * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_swappable_with/value.cc: Likewise. - * testsuite/20_util/logical_traits/83134.cc: Likewise. - * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/logical_traits/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/logical_traits/value.cc: Likewise. - * testsuite/20_util/pair/cons/deduction.cc: Likewise. - * testsuite/20_util/pair/swap_cxx17.cc: Likewise. - * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: - Likewise. - * testsuite/20_util/reference_wrapper/83427.cc: Likewise. - * testsuite/20_util/reference_wrapper/deduction.cc: Likewise. - * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. - * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. - * testsuite/20_util/shared_ptr/requirements/weak_type.cc: - Likewise. - * testsuite/20_util/time_point/arithmetic/constexpr.cc: - Likewise. - * testsuite/20_util/time_point_cast/rounding.cc: Likewise. - * testsuite/20_util/to_chars/3.cc: Likewise. - * testsuite/20_util/to_chars/chars_format.cc: Likewise. - * testsuite/20_util/to_chars/lwg3266.cc: Likewise. - * testsuite/20_util/to_chars/requirements.cc: Likewise. - * testsuite/20_util/tuple/78939.cc: Likewise. - * testsuite/20_util/tuple/apply/1.cc: Likewise. - * testsuite/20_util/tuple/apply/2.cc: Likewise. - * testsuite/20_util/tuple/cons/deduction.cc: Likewise. - * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. - * testsuite/20_util/tuple/make_from_tuple/2.cc: Likewise. - * testsuite/20_util/tuple/swap_cxx17.cc: Likewise. - * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. - * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. - * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: - Likewise. - * testsuite/20_util/variable_templates_for_traits.cc: Likewise. - * testsuite/20_util/void_t/1.cc: Likewise. - * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. - * testsuite/24_iterators/container_access.cc: Likewise. - * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: - Likewise. - * testsuite/24_iterators/range_access/range_access_cpp17.cc: - Likewise. - * testsuite/24_iterators/range_access/range_access_cpp17_neg.cc: - Likewise. - * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. - * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. - * testsuite/26_numerics/headers/cmath/special_functions_global.cc: - Likewise. - * testsuite/26_numerics/lcm/1.cc: Likewise. - * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. - * testsuite/26_numerics/valarray/deduction.cc: Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: - Likewise. - * testsuite/27_io/manipulators/standard/char/quoted_sv.cc: - Likewise. - * testsuite/27_io/manipulators/standard/wchar_t/quoted_sv.cc: - Likewise. - * testsuite/27_io/types/4.cc: Likewise. - * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. - * testsuite/libstdc++-prettyprinters/91997.cc: Likewise. - * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/20_util/function_objects/searchers.cc: Remove - -std=gnu++17 from dg-options directive. - * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94831.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: - Likewise. - * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc: - Likewise. - * testsuite/25_algorithms/clamp/1.cc: Likewise. - * testsuite/25_algorithms/clamp/2.cc: Likewise. - * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. - * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc: - Likewise. - * testsuite/25_algorithms/for_each/for_each_n.cc: Likewise. - * testsuite/25_algorithms/for_each/for_each_n_debug.cc: - Likewise. - * testsuite/25_algorithms/sample/1.cc: Likewise. - * testsuite/25_algorithms/sample/2.cc: Likewise. - * testsuite/25_algorithms/sample/3.cc: Likewise. - * testsuite/25_algorithms/sample/81221.cc: Likewise. - * testsuite/25_algorithms/search/searcher.cc: Likewise. - * testsuite/26_numerics/exclusive_scan/1.cc: Likewise. - * testsuite/26_numerics/inclusive_scan/1.cc: Likewise. - * testsuite/26_numerics/reduce/1.cc: Likewise. - * testsuite/26_numerics/reduce/2.cc: Likewise. - * testsuite/26_numerics/transform_exclusive_scan/1.cc: Likewise. - * testsuite/26_numerics/transform_inclusive_scan/1.cc: Likewise. - * testsuite/26_numerics/transform_reduce/1.cc: Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/23_containers/array/cons/deduction.cc: Remove - -std=gnu++17 from dg-options directive. - * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: - Likewise. - * testsuite/23_containers/array/requirements/constexpr_iter.cc: - Likewise. - * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: - Likewise. - * testsuite/23_containers/deque/cons/deduction.cc: Likewise. - * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: - Likewise. - * testsuite/23_containers/forward_list/cons/deduction.cc: - Likewise. - * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: - Likewise. - * testsuite/23_containers/list/cons/deduction.cc: Likewise. - * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: - Likewise. - * testsuite/23_containers/map/cons/deduction.cc: Likewise. - * testsuite/23_containers/map/modifiers/extract.cc: Likewise. - * testsuite/23_containers/map/modifiers/insert/83226.cc: - Likewise. - * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: - Likewise. - * testsuite/23_containers/map/modifiers/merge.cc: Likewise. - * testsuite/23_containers/map/modifiers/try_emplace/1.cc: - Likewise. - * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. - * testsuite/23_containers/multimap/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise. - * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. - * testsuite/23_containers/multiset/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise. - * testsuite/23_containers/priority_queue/deduction.cc: Likewise. - * testsuite/23_containers/queue/deduction.cc: Likewise. - * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: - Likewise. - * testsuite/23_containers/set/cons/deduction.cc: Likewise. - * testsuite/23_containers/set/modifiers/extract.cc: Likewise. - * testsuite/23_containers/set/modifiers/merge.cc: Likewise. - * testsuite/23_containers/set/modifiers/node_swap.cc: Likewise. - * testsuite/23_containers/stack/deduction.cc: Likewise. - * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: - Likewise. - * testsuite/23_containers/unordered_map/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_map/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: - Likewise. - * testsuite/23_containers/unordered_map/modifiers/merge.cc: - Likewise. - * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: - Likewise. - * testsuite/23_containers/unordered_set/cons/deduction.cc: - Likewise. - * testsuite/23_containers/unordered_set/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/unordered_set/modifiers/merge.cc: - Likewise. - * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: - Likewise. - * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise. - * testsuite/23_containers/vector/cons/deduction.cc: Likewise. - * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: - Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/21_strings/basic_string/79162.cc: Remove - -std=gnu++17 from dg-options directive. - * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. - * testsuite/21_strings/basic_string/cons/char/79162.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/char/86138.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. - * testsuite/21_strings/basic_string/cons/char/deduction.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: - Likewise. - * testsuite/21_strings/basic_string/hash/hash.cc: Likewise. - * testsuite/21_strings/basic_string/lwg2758.cc: Likewise. - * testsuite/21_strings/basic_string/lwg2946.cc: Likewise. - * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/compare/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/data/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/data/char/86169.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/find/char/5.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: - Likewise. - * testsuite/21_strings/basic_string/operators/char/5.cc: - Likewise. - * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: - Likewise. - * testsuite/21_strings/basic_string_view/capacity/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/char/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/empty.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/include.cc: Likewise. - * testsuite/21_strings/basic_string_view/inserters/94051.cc: - Likewise. - * testsuite/21_strings/basic_string_view/inserters/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/inserters/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/inserters/char/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: - Likewise. - * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/types.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/literals/values.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/char/89446.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/wchar_t/89446.cc: - Likewise. - * testsuite/21_strings/basic_string_view/range_access/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/traits_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: - Likewise. - * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. - * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. - * testsuite/21_strings/char_traits/requirements/char/99181.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: - -2021-05-10 Jonathan Wakely - - * testsuite/20_util/memory_resource/1.cc: Remove -std=gnu++17 - from dg-options directive. - * testsuite/20_util/memory_resource/2.cc: Likewise. - * testsuite/20_util/monotonic_buffer_resource/1.cc: Likewise. - * testsuite/20_util/monotonic_buffer_resource/93208.cc: - Likewise. - * testsuite/20_util/monotonic_buffer_resource/allocate.cc: - Likewise. - * testsuite/20_util/monotonic_buffer_resource/deallocate.cc: - Likewise. - * testsuite/20_util/monotonic_buffer_resource/release.cc: - Likewise. - * testsuite/20_util/monotonic_buffer_resource/upstream_resource.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/1.cc: Likewise. - * testsuite/20_util/polymorphic_allocator/construct_pair.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise. - * testsuite/20_util/polymorphic_allocator/select.cc: Likewise. - * testsuite/20_util/synchronized_pool_resource/allocate.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/cons.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/cons_single.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/is_equal.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/options.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/release.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/release_single.cc: - Likewise. - * testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc: - Likewise. - * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: - Likewise. - * testsuite/20_util/unsynchronized_pool_resource/cons.cc: - Likewise. - * testsuite/20_util/unsynchronized_pool_resource/is_equal.cc: - Likewise. - * testsuite/20_util/unsynchronized_pool_resource/options.cc: - Likewise. - * testsuite/20_util/unsynchronized_pool_resource/release.cc: - Likewise. - * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/forward_list/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/list/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/list/pmr_typedefs_debug.cc: Likewise. - * testsuite/23_containers/map/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/map/pmr_typedefs_debug.cc: Likewise. - * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/multimap/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/multiset/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/set/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/set/pmr_typedefs_debug.cc: Likewise. - * testsuite/23_containers/unordered_map/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/unordered_set/pmr_typedefs.cc: - Likewise. - * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc: - Likewise. - * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise. - * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc: - Likewise. - * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/29_atomics/atomic/69769.cc: Remove -std=gnu++17 from - dg-options. - * testsuite/29_atomics/atomic/is_always_lock_free.cc: - * testsuite/29_atomics/atomic/requirements/typedefs.cc: - * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: - * testsuite/29_atomics/atomic_integral/requirements/typedefs.cc: - * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. - * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. - * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. - * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: - Likewise. - * testsuite/30_threads/shared_lock/70766.cc: Likewise. - * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. - * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: - Likewise. - * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Likewise. - * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: - Likewise. - * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. - * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. - * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/20_util/any/assign/1.cc: Remove -std=gnu++17 from - dg-options directive. - * testsuite/20_util/any/assign/2.cc: Likewise. - * testsuite/20_util/any/assign/emplace.cc: Likewise. - * testsuite/20_util/any/assign/exception.cc: Likewise. - * testsuite/20_util/any/assign/self.cc: Likewise. - * testsuite/20_util/any/cons/1.cc: Likewise. - * testsuite/20_util/any/cons/2.cc: Likewise. - * testsuite/20_util/any/cons/90415.cc: Likewise. - * testsuite/20_util/any/cons/92156.cc: Likewise. - * testsuite/20_util/any/cons/aligned.cc: Likewise. - * testsuite/20_util/any/cons/explicit.cc: Likewise. - * testsuite/20_util/any/cons/in_place.cc: Likewise. - * testsuite/20_util/any/cons/nontrivial.cc: Likewise. - * testsuite/20_util/any/make_any.cc: Likewise. - * testsuite/20_util/any/misc/any_cast.cc: Likewise. - * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise. - * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise. - * testsuite/20_util/any/misc/swap.cc: Likewise. - * testsuite/20_util/any/modifiers/1.cc: Likewise. - * testsuite/20_util/any/modifiers/83658.cc: Likewise. - * testsuite/20_util/any/modifiers/92156.cc: Likewise. - * testsuite/20_util/any/observers/type.cc: Likewise. - * testsuite/20_util/any/requirements.cc: Likewise. - * testsuite/20_util/any/typedefs.cc: Likewise. - * testsuite/20_util/optional/77288.cc: Likewise. - * testsuite/20_util/optional/84601.cc: Likewise. - * testsuite/20_util/optional/assignment/1.cc: Likewise. - * testsuite/20_util/optional/assignment/2.cc: Likewise. - * testsuite/20_util/optional/assignment/3.cc: Likewise. - * testsuite/20_util/optional/assignment/4.cc: Likewise. - * testsuite/20_util/optional/assignment/5.cc: Likewise. - * testsuite/20_util/optional/assignment/6.cc: Likewise. - * testsuite/20_util/optional/assignment/7.cc: Likewise. - * testsuite/20_util/optional/assignment/8.cc: Likewise. - * testsuite/20_util/optional/assignment/9.cc: Likewise. - * testsuite/20_util/optional/bad_access.cc: Likewise. - * testsuite/20_util/optional/cons/77727.cc: Likewise. - * testsuite/20_util/optional/cons/85642.cc: Likewise. - * testsuite/20_util/optional/cons/copy.cc: Likewise. - * testsuite/20_util/optional/cons/deduction.cc: Likewise. - * testsuite/20_util/optional/cons/default.cc: Likewise. - * testsuite/20_util/optional/cons/move.cc: Likewise. - * testsuite/20_util/optional/cons/trivial.cc: Likewise. - * testsuite/20_util/optional/cons/value.cc: Likewise. - * testsuite/20_util/optional/cons/value_neg.cc: Likewise. - * testsuite/20_util/optional/constexpr/cons/default.cc: - Likewise. - * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. - * testsuite/20_util/optional/constexpr/in_place.cc: Likewise. - * testsuite/20_util/optional/constexpr/make_optional.cc: - Likewise. - * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise. - * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. - * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. - * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. - * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. - * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. - * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. - * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. - * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. - * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. - * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. - * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. - * testsuite/20_util/optional/hash.cc: Likewise. - * testsuite/20_util/optional/in_place.cc: Likewise. - * testsuite/20_util/optional/make_optional.cc: Likewise. - * testsuite/20_util/optional/nullopt.cc: Likewise. - * testsuite/20_util/optional/observers/1.cc: Likewise. - * testsuite/20_util/optional/observers/2.cc: Likewise. - * testsuite/20_util/optional/observers/3.cc: Likewise. - * testsuite/20_util/optional/observers/4.cc: Likewise. - * testsuite/20_util/optional/observers/5.cc: Likewise. - * testsuite/20_util/optional/observers/6.cc: Likewise. - * testsuite/20_util/optional/relops/1.cc: Likewise. - * testsuite/20_util/optional/relops/2.cc: Likewise. - * testsuite/20_util/optional/relops/3.cc: Likewise. - * testsuite/20_util/optional/relops/4.cc: Likewise. - * testsuite/20_util/optional/relops/5.cc: Likewise. - * testsuite/20_util/optional/relops/6.cc: Likewise. - * testsuite/20_util/optional/relops/7.cc: Likewise. - * testsuite/20_util/optional/requirements.cc: Likewise. - * testsuite/20_util/optional/swap/1.cc: Likewise. - * testsuite/20_util/optional/swap/2.cc: Likewise. - * testsuite/20_util/optional/typedefs.cc: Likewise. - * testsuite/20_util/variant/80165.cc: Likewise. - * testsuite/20_util/variant/85183.cc: Likewise. - * testsuite/20_util/variant/86874.cc: Likewise. - * testsuite/20_util/variant/87431.cc: Likewise. - * testsuite/20_util/variant/87619.cc: Likewise. - * testsuite/20_util/variant/91807.cc: Likewise. - * testsuite/20_util/variant/any.cc: Likewise. - * testsuite/20_util/variant/compile.cc: Likewise. - * testsuite/20_util/variant/deduction.cc: Likewise. - * testsuite/20_util/variant/exception_safety.cc: Likewise. - * testsuite/20_util/variant/hash.cc: Likewise. - * testsuite/20_util/variant/index_type.cc: Likewise. - * testsuite/20_util/variant/relops/89851.cc: Likewise. - * testsuite/20_util/variant/relops/90008.cc: Likewise. - * testsuite/20_util/variant/run.cc: Likewise. - * testsuite/20_util/variant/visit.cc: Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/27_io/basic_filebuf/open/char/path.cc: Remove - -std=gnu++17 from dg-options directive. - * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. - * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. - * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. - * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. - * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise. - * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise. - * testsuite/27_io/filesystem/directory_entry/86597.cc: Likewise. - * testsuite/27_io/filesystem/directory_entry/lwg3171.cc: - Likewise. - * testsuite/27_io/filesystem/file_status/1.cc: Likewise. - * testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise. - * testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise. - * testsuite/27_io/filesystem/iterators/91067.cc: Likewise. - * testsuite/27_io/filesystem/iterators/caching.cc: Likewise. - * testsuite/27_io/filesystem/iterators/directory_iterator.cc: - Likewise. - * testsuite/27_io/filesystem/iterators/pop.cc: Likewise. - * testsuite/27_io/filesystem/iterators/recursion_pending.cc: - Likewise. - * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: - Likewise. - * testsuite/27_io/filesystem/operations/absolute.cc: Likewise. - * testsuite/27_io/filesystem/operations/all.cc: Likewise. - * testsuite/27_io/filesystem/operations/canonical.cc: Likewise. - * testsuite/27_io/filesystem/operations/copy.cc: Likewise. - * testsuite/27_io/filesystem/operations/copy_file.cc: Likewise. - * testsuite/27_io/filesystem/operations/create_directories.cc: - Likewise. - * testsuite/27_io/filesystem/operations/create_directory.cc: - Likewise. - * testsuite/27_io/filesystem/operations/create_symlink.cc: - Likewise. - * testsuite/27_io/filesystem/operations/current_path.cc: - Likewise. - * testsuite/27_io/filesystem/operations/equivalent.cc: Likewise. - * testsuite/27_io/filesystem/operations/exists.cc: Likewise. - * testsuite/27_io/filesystem/operations/file_size.cc: Likewise. - * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise. - * testsuite/27_io/filesystem/operations/last_write_time.cc: - Likewise. - * testsuite/27_io/filesystem/operations/permissions.cc: - Likewise. - * testsuite/27_io/filesystem/operations/proximate.cc: Likewise. - * testsuite/27_io/filesystem/operations/read_symlink.cc: - Likewise. - * testsuite/27_io/filesystem/operations/relative.cc: Likewise. - * testsuite/27_io/filesystem/operations/remove.cc: Likewise. - * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise. - * testsuite/27_io/filesystem/operations/rename.cc: Likewise. - * testsuite/27_io/filesystem/operations/resize_file.cc: - Likewise. - * testsuite/27_io/filesystem/operations/space.cc: Likewise. - * testsuite/27_io/filesystem/operations/status.cc: Likewise. - * testsuite/27_io/filesystem/operations/symlink_status.cc: - Likewise. - * testsuite/27_io/filesystem/operations/temp_directory_path.cc: - Likewise. - * testsuite/27_io/filesystem/operations/weakly_canonical.cc: - Likewise. - * testsuite/27_io/filesystem/path/append/path.cc: Likewise. - * testsuite/27_io/filesystem/path/append/source.cc: Likewise. - * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise. - * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. - * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise. - * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise. - * testsuite/27_io/filesystem/path/compare/path.cc: Likewise. - * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise. - * testsuite/27_io/filesystem/path/concat/92853.cc: Likewise. - * testsuite/27_io/filesystem/path/concat/94063.cc: Likewise. - * testsuite/27_io/filesystem/path/concat/path.cc: Likewise. - * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/90281.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/90634.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/default.cc: - Likewise. - * testsuite/27_io/filesystem/path/construct/format.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/range.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/string_view.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/extension.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/filename.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/parent_path.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/relative_path.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/root_directory.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/root_name.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/root_path.cc: - Likewise. - * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise. - * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: - Likewise. - * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. - * testsuite/27_io/filesystem/path/generation/normal.cc: - Likewise. - * testsuite/27_io/filesystem/path/generation/normal2.cc: - Likewise. - * testsuite/27_io/filesystem/path/generation/proximate.cc: - Likewise. - * testsuite/27_io/filesystem/path/generation/relative.cc: - Likewise. - * testsuite/27_io/filesystem/path/generic/94242.cc: Likewise. - * testsuite/27_io/filesystem/path/generic/generic_string.cc: - Likewise. - * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise. - * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise. - * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. - * testsuite/27_io/filesystem/path/itr/components.cc: Likewise. - * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise. - * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise. - * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: - Likewise. - * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: - Likewise. - * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: - Likewise. - * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: - Likewise. - * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise. - * testsuite/27_io/filesystem/path/native/alloc.cc: Likewise. - * testsuite/27_io/filesystem/path/native/string-char8_t.cc: - Likewise. - * testsuite/27_io/filesystem/path/native/string.cc: Likewise. - * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise. - * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise. - * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/empty.cc: Likewise. - * testsuite/27_io/filesystem/path/query/empty_neg.cc: - * testsuite/27_io/filesystem/path/query/has_extension.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/has_filename.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/has_parent_path.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/has_relative_path.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/has_root_directory.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/has_root_name.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/has_root_path.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise. - * testsuite/27_io/filesystem/path/query/is_absolute.cc: - Likewise. - * testsuite/27_io/filesystem/path/query/is_relative.cc: - Likewise. - * testsuite/experimental/filesystem/path/construct/string_view.cc: - Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: - Remove -std=gnu++17 from dg-options. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. - * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: Likewise. - * testsuite/26_numerics/pstl/numeric_ops/scan.cc: Likewise. - * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: - Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error - for additional errors in C++20. - * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: - Likewise. - * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. - * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. - -2021-05-10 Jonathan Wakely - - * testsuite/20_util/variant/compile.cc: Rename 'any' to avoid - clash with std::any. - -2021-05-07 Jonathan Wakely - - * include/std/istream (__rvalue_stream_extraction_t): Replace - use of __rval_streamable. - * include/std/ostream (__rvalue_stream_insertion_t): Likewise. - (__rval_streamable): Remove. - (_Require_derived_from_ios_base, __derived_from_ios_base): New - helper for checking constraints. - * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix - reference to the wrong subclause of the standard. - * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/99692.cc: - New test. - * testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned - errors. - -2021-05-06 Jonathan Wakely - - * include/bits/stl_algobase.h (__copy_move, __copy_move_backward): - Improve static_assert messages. - * testsuite/25_algorithms/copy/58982.cc: Adjust expected output. - * testsuite/25_algorithms/copy_n/58982.cc: Likewise. - -2021-05-06 Patrick Palka - - * include/std/ranges (filter_view::_Iterator::base): Make the - const& overload unconstrained and return a const reference as - per LWG 3533. Make unconditionally noexcept. - (transform_view::_Iterator::base): Likewise. - (elements_view::_Iterator::base): Likewise. - -2021-05-06 Patrick Palka - - * include/bits/stl_iterator.h (move_iterator::base): Make the - const& overload unconstrained and return a const reference as - per LWG 3391. Make unconditionally noexcept. - (counted_iterator::base): Likewise. - * testsuite/24_iterators/move_iterator/lwg3391.cc: New test. - * testsuite/24_iterators/move_iterator/move_only.cc: Adjust - has_member_base concept to decay-copy the result of base(). - -2021-05-06 Jonathan Wakely - - * include/std/type_traits (remove_cvref_t): Define in terms of - remove_cvref. - * testsuite/20_util/remove_cvref/value.cc: Check alias. - -2021-05-06 Jonathan Wakely - - Revert: - 2021-05-05 Jonathan Wakely - - * include/std/charconv (__from_chars_alnum): Pass unsigned - char to std::isdigit. - -2021-05-05 Patrick Palka - - * include/bits/ranges_util.h (enable_borrowed_range): - Remove constraints on this partial specialization. - * include/std/ranges (enable_borrowed_range): - Likewise. - -2021-05-05 Patrick Palka - - * include/std/ranges (transform_view::_Iterator::iter_swap): - Remove as per LWG 3520. - (join_view::_Iterator::iter_swap): Add indirectly_swappable - constraint as per LWG 3517. - -2021-05-05 Jonathan Wakely - - * testsuite/20_util/function_objects/invoke/3.cc: Check feature - test macro. - * testsuite/20_util/function_objects/invoke/version.cc: New test. - -2021-05-05 Jonathan Wakely - - * include/std/charconv (__from_chars_alnum): Pass unsigned - char to std::isdigit. - -2021-05-05 Corentin Gay - - * acinclude.m4: Add VxWorks-specific case for the - configuration of ctypes. - * configure: Regenerate. - * config/locale/vxworks/ctype_members.cc: Add VxWorks-specific - version. - * config/os/vxworks/ctype_base.h: Adjust for VxWorks7+. - * config/os/vxworks/ctype_configure_char.cc: Likewise. - * config/os/vxworks/ctype_inline.h: Likewise. - * testsuite/28_regex/traits/char/isctype.cc: Defines - NEWLINE_IN_CLASS_BLANK if the target is VxWorks. - * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise. - -2021-05-04 Jonathan Wakely - - * include/std/future (promise::set_value): Check for existence - of shared state before dereferncing it. - (promise::set_exception, promise::set_value_at_thread_exit) - (promise::set_exception_at_thread_exit): Likewise. - (promise::set_value, promise::set_exception) - (promise::set_value_at_thread_exit) - (promise::set_exception_at_thread_exit): Likewise. - (promise::set_value, promise::set_exception) - (promise::set_value_at_thread_exit) - (promise::set_exception_at_thread_exit): Likewise. - * testsuite/30_threads/promise/members/at_thread_exit2.cc: - Remove unused variable. - -2021-05-04 Jonathan Wakely - - * include/bits/basic_string.h (basic_string(const CharT*, const A&)): - Do not do arithmetic on null pointer. - -2021-05-04 Jonathan Wakely - - * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp - (find_key_pointer(key_const_reference, false_type)) - (find_key_pointer(key_const_reference, true_type)): Do not - dereference null pointer. - -2021-05-04 Jonathan Wakely - - * testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid - overflow. - * testsuite/24_iterators/reverse_iterator/2.cc: Do not add - non-zero value to null pointer. - * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: - Use past-the-end iterator for result. - * testsuite/25_algorithms/move_backward/69478.cc: Likewise. - * testsuite/25_algorithms/move_backward/93872.cc: Likewise. - -2021-05-04 Jonathan Wakely - - PR libstdc++/100384 - * include/std/variant (__get_t): New alias template yielding the - return type of std::get on a variant. - (__visit_result_t): New alias template yielding the result of - std::visit. - (__same_types): Move into namespace __detail::__variant. - (__check_visitor_results): Likewise. Use __invoke_result_t and - __get_t. - (__check_visitor_result): Remove. - (visit): Use __visit_result_t for return type. - * testsuite/20_util/variant/100384.cc: New test. - -2021-05-04 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_INT128_FLOAT128): Remove - checks for __int128 and rename to GLIBCXX_ENABLE_FLOAT128. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Adjust to use GLIBCXX_ENABLE_FLOAT128. - * include/bits/random.h (_Select_uint_least_t): - Use __SIZEOF_INT128__ to decide whether to use __int128. - * include/std/charconv (__to_chars_unsigned_type): Likewise. - -2021-05-03 Gerald Pfeifer - - * doc/xml/manual/ctype.xml: Move unix.org reference to https. - * doc/html/manual/facets.html: Regenerate. - -2021-04-30 Patrick Palka - - * include/std/ranges (__detail::__non_propating_cache): Define - as per P2328. - (join_view): Remove constraints on the value and reference types - of the wrapped iterator type as per P2328. - (join_view::_Iterator::_M_satisfy): Adjust as per P2328. - (join_view::_Iterator::operator++): Likewise. - (join_view::_M_inner): Use __non_propating_cache as per P2328. - Remove now-redundant use of __maybe_present_t. - * testsuite/std/ranges/adaptors/join.cc: Include . - (test10): New test. - -2021-04-30 Jonathan Wakely - - * include/bits/basic_string.h (__cpp_lib_constexpr_string): - Only define for C++17 and later. - * include/std/version (__cpp_lib_semaphore): Fix condition - to match the one in . - -2021-04-30 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_INT64_T): Delete. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Do not use GLIBCXX_CHECK_INT64_T. - * include/bits/postypes.h: Remove include of and - definition/undefinition of the __STDC_LIMIT_MACROS and - __STDC_CONSTANT_MACROS macros. - (streamoff): Use __INT64_TYPE__ if defined. - -2021-04-30 Patrick Palka - - * include/std/ranges (split_view::_InnerIter::operator++): - Depend on _Base instead of _Vp directly, as per LWG 3532. - -2021-04-30 Patrick Palka - - * include/bits/ranges_util.h (subrange::subrange): Avoid - list-initialization in delegating constructor. - * include/std/ranges (single_view): Replace implicit guide - with explicit deduction guide that decays its argument. - (_Single::operator()): Avoid CTAD when constructing the - single_view object. - (_Iota::operator()): Avoid list-initialization. - (__detail::__can_filter_view, _Filter::operator()): Likewise. - (__detail::__can_transform_view, _Transform::operator()): Likewise. - (take_view::begin): Likewise. - (__detail::__can_take_view, _Take::operator()): Likewise. - (__detail::__can_take_while_view, _TakeWhile::operator()): Likewise. - (__detail::__can_drop_view, _Drop::operator()): Likewise. - (__detail::__can_drop_while_view, _DropWhile::operator()): Likewise. - (split_view::split_view): Use views::single when initializing - _M_pattern. - (__detail::__can_split_view, _Split::operator()): Avoid - list-initialization. - (_Counted::operator()): Likewise. - * testsuite/std/ranges/p2367.cc: New test. - -2021-04-30 Jonathan Wakely - - PR libstdc++/60497 - * include/bits/basic_ios.tcc (basic_ios::copyfmt): use - std::addressof. - * include/bits/basic_string.tcc (basic_string::swap) - (basic_string::assign): Likewise. - * include/bits/deque.tcc (deque::operator=(const deque&)): - Likewise. - * include/bits/stl_tree.h (_Rb_tree::operator=(const * _Rb_tree&)): - Likewise. - * include/bits/vector.tcc (vector::operator=(const vector&)): - Likewise. - -2021-04-30 Jonathan Wakely - - * include/std/istream (operator>>(Istream&&, x&)): Simplify, as - per LWG 1203. - * include/std/ostream (operator<<(Ostream&&, const x&)): - Likewise. - * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: - Adjust dg-error pattern. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Define - is_extractable trait to replace std::__is_extractable. Make it - work with rvalue streams as well as lvalues, to replace f() and - g() helper functions. - * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: - Define is_insertable trait to replace std::__is_insertable. Make - it work with rvalue streams as well as lvalues, to replace f() - and g() helper functions. - * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: - Likewise. - * testsuite/27_io/filesystem/path/io/dr2989.cc: Prune additional - errors from new constraints. - * testsuite/27_io/rvalue_streams-2.cc: Remove PR 80675 checks, - which are no longer expected to compile. - * testsuite/27_io/rvalue_streams.cc: Adjust existing test. - Verify LWG 1203 changes. - -2021-04-30 Jonathan Wakely - - PR libstdc++/100285 - * include/experimental/socket (__basic_socket_impl::set_option) - (__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]: - Just set error code. - * testsuite/experimental/net/socket/socket_base.cc: CHeck - for not . - -2021-04-30 Jonathan Wakely - - PR libstdc++/100180 - PR libstdc++/100286 - PR libstdc++/100351 - * testsuite/experimental/net/internet/address/v4/comparisons.cc: - Use new effective-target keyword. - * testsuite/experimental/net/internet/address/v4/cons.cc: - Likewise. - * testsuite/experimental/net/internet/address/v4/creation.cc: - Likewise. - * testsuite/experimental/net/internet/address/v4/members.cc: - Likewise. - * testsuite/experimental/net/internet/address/v6/members.cc: - Likewise. - * testsuite/experimental/net/internet/resolver/base.cc: - Likewise. - * testsuite/experimental/net/internet/resolver/ops/lookup.cc: - Likewise. - * testsuite/experimental/net/internet/resolver/ops/reverse.cc: - Likewise. - * testsuite/experimental/net/internet/socket/opt.cc: - Likewise. - * testsuite/experimental/net/internet/tcp.cc: - Likewise. - * testsuite/experimental/net/internet/udp.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_effective_target_net_ts_ip): - New proc to check net_ts_ip et. - -2021-04-28 Jonathan Wakely - - PR libstdc++/97930 - * testsuite/20_util/pair/requirements/structural.cc: New test. - -2021-04-28 Jonathan Wakely - - * include/bits/stl_pair.h (pair) [__cplusplus > 202002]: Add - new definitions for constructors and assignment operators using - concepts for constraints. - * testsuite/20_util/pair/cons/99957.cc: Disable for C++20 and - later. - * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust - expected error messages to also match C++20 errors. - -2021-04-28 Jonathan Wakely - - PR libstdc++/99957 - * include/bits/stl_pair.h (_PCC::_MoveCopyPair, _PCC::_CopyMovePair): - Combine and replace with ... - (_PCC::_DeprConsPair): New SFINAE helper function. - (pair): Merge preprocessor blocks so that all C++03 members - are defined together at the end. - (pair::pair(const _T1&, _U2&&), pair::pair(_U1&&, const _T2&)): - Replace _T1 and _T2 parameters with __null_ptr_constant and - adjust constraints. - * testsuite/20_util/pair/40925.cc: Use nullptr instead of 0. - * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise. - * testsuite/20_util/pair/cons/99957.cc: New test. - -2021-04-28 Jonathan Wakely - - * include/bits/basic_string.h (__cpp_lib_constexpr_string): Define. - * include/std/version (__cpp_lib_constexpr_string): Define. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: - Check for __cpp_lib_constexpr_string. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/version.cc: New test. - -2021-04-28 Jonathan Wakely - - * doc/Makefile.am (stamp-pdf-doxygen): Improve comment about - dealing with errors. Use '@' to prevent shell command being - echoed. - * doc/Makefile.in: Regenerate. - -2021-04-28 Jonathan Wakely - - PR libstdc++/100298 - * include/bits/std_thread.h (thread::hardware_concurrency): Add - missing noexcept to inline definition for non-gthreads targets. - -2021-04-28 Patrick Palka - - PR libstdc++/100187 - PR libstdc++/100237 - PR libstdc++/100249 - PR libstdc++/100287 - * include/bits/ranges_algo.h (__search_n_fn::operator()): Give - the __value_comp lambda an explicit bool return type. - (__is_permutation_fn::operator()): Give the __proj_scan local - variable auto&& return type. Give the __comp_scan lambda an - explicit bool return type. - (__remove_fn::operator()): Give the __pred lambda an explicit - bool return type. - (__partition_fn::operator()): Don't std::move __first twice - when returning an empty subrange. - (__min_fn::operator()): Don't std::move __comp. - (__max_fn::operator()): Likewise. - (__minmax_fn::operator()): Likewise. - -2021-04-27 Patrick Palka - - PR libstdc++/100290 - * include/std/ranges (join_view::_Iterator::operator++): Correct - the return type of the lambda to avoid returning a copy of - _M_parent->_M_inner. - * testsuite/std/ranges/adaptors/join.cc (test10): New test. - -2021-04-27 Jakub Jelinek - - Revert: - 2021-04-22 Jakub Jelinek - - PR target/100182 - * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for - ia32. - * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for - ia32. - -2021-04-27 Jonathan Wakely - - * include/experimental/internet (address_v6::bytes_type): Adjust - formatting. - (basic_endpoint): Define _M_is_v6() to put all checks for - AF_INET6 in one place. - (basic_endpoint::resize): Simplify. - (operator==(const tcp&, const tcp&)): Add constexpr and noexcept. - (operator!=(const tcp&, const tcp&)): Likewise. - (operator==(const udp&, const udp&)): Likewise. - (operator!=(const udp&, const udp&)): Likewise. - * testsuite/experimental/net/internet/tcp.cc: New test. - * testsuite/experimental/net/internet/udp.cc: New test. - -2021-04-27 Jonathan Wakely - - PR libstdc++/100286 - * include/experimental/internet (resolver_errc, resolver_category()) - (make_error_code, make_error_condition): Define unconditionally, - only make enumerators and use of gai_strerror depend on the - availability of . - (address_v4::to_string): Use correct constant for string length. - (address_v4::to_string, address_v6::to_string): Define - unconditionally, throw if unsupported. - (make_address_v4, make_address_v6): Define unconditionally. - Return an error if unsupported. - (tcp, udp, v6_only, unicast::hops, multicast::*): Define - conditionally, - * testsuite/experimental/net/internet/socket/opt.cc: Check for - and before using types from - namespace net::ip. - -2021-04-27 Jonathan Wakely - - PR libstdc++/100285 - * include/experimental/internet (resolver_base::flags): - Define overloaded operators as hidden friends. - * include/experimental/socket (socket_base::message_flags): - Likewise. - -2021-04-26 Jonathan Wakely - - * include/experimental/internet (tcp::no_delay, v6_only) - (unicast::hops, multicast::hops, multicast::enable_loopback): - Change access of base class and static data members. Add - using-declaration for __socket_crtp::operator=(_Tp). - (multicast::__mcastopt): New type. - (multicast::join_group, multicast::leave_group): Derive from - __mcastopt for common implementation. - * include/experimental/socket: Add comment. - * testsuite/experimental/net/internet/socket/opt.cc: New test. - * testsuite/experimental/net/socket/socket_base.cc: Check for - protected constructor/destructor of socket_base. Check for - explicit constructors of socket option classes. - -2021-04-26 Jonathan Wakely - - * include/experimental/bits/net.h (__socket_base): Add - bool template parameter to allow BooleanSocketOption and - IntegerSocketOption to have different __socket_base - base classes. - (__socket_base): Adjust base class. - (__socket_base): Add partial specialization. - (__socket_crtp::operator=(_Tp)): Add noexcept-specifier. - * include/experimental/socket (socket_base::broadcast) - (socket_base::debug, socket_base::do_not_route) - (socket_base::keep_alive, socket_base::linger) - (socket_base::out_of_band_inline) - (socket_base::receive_buffer_size) - (socket_base::receive_low_watermark) - (socket_base::reuse_address, socket_base::send_buffer_size) - (socket_base::send_low_watermark): Add using-declaration for - __socket_crtp::operator=(_Tp). - * testsuite/experimental/net/socket/socket_base.cc: Check - properties of socket option types. - -2021-04-26 Jonathan Wakely - - * include/experimental/internet (resolver_base::flags): Remove - enumerators. Initialize constants directly with desired values. - Make all operators constexpr and noexcept. - * testsuite/experimental/net/internet/resolver/base.cc: Use - __gnu_test::test_bitmask_values for bitmask type. Check - construction and destruction is protected. - -2021-04-26 Jonathan Wakely - - * include/bits/semaphore_base.h: Include and . - -2021-04-26 Jonathan Wakely - - PR libstdc++/100259 - * include/experimental/internet (net::ip::make_error_code) - (net::ip::make_error_condition, net::ip::make_network_v4) - (net::ip::operator==(const udp&, const udp&)): Add 'inline'. - -2021-04-24 David Edelsohn - - * testsuite/lib/dg-options.exp (atomic_link_flags): New. - (add_options_for_libatomic): Use atomic_link_flags. - -2021-04-23 Jonathan Wakely - - PR libstdc++/100180 - * include/experimental/io_context (io_context): Define - dummy_pollfd type so that most member functions still compile - without and struct pollfd. - -2021-04-23 Jonathan Wakely - - * include/experimental/io_context (io_context::async_wait): Add - comment. - * include/experimental/socket (basic_socket::async_connect): - Cast wait_type constant to int. - (basic_datagram_socket::async_receive): Likewise. - (basic_datagram_socket::async_receive_from): Likewise. - (basic_datagram_socket::async_send): Likewise. - (basic_datagram_socket::async_send_to): Likewise. - (basic_stream_socket::async_receive): Likewise. - (basic_stream_socket::async_send): Likewise. Use io_context - parameter directly, instead of via an executor. - (basic_socket_acceptor::async_accept): Likewise. - -2021-04-23 Jonathan Wakely - - * include/experimental/socket (socket_base::shutdown_type): - (socket_base::wait_type, socket_base::message_flags): - Remove enumerators. Initialize constants directly with desired - values. - (socket_base::message_flags): Make all operators constexpr and - noexcept. - * testsuite/util/testsuite_common_types.h (test_bitmask_values): - New test utility. - * testsuite/experimental/net/socket/socket_base.cc: New test. - -2021-04-22 David Edelsohn - - * config/os/aix/atomicity.h: Delete. - -2021-04-22 Jonathan Wakely - - * include/bits/atomic_timed_wait.h (__cond_wait_until_impl): - Handle system_clock as well as steady_clock. - * testsuite/30_threads/semaphore/try_acquire_for.cc: Re-enable. - * testsuite/30_threads/semaphore/try_acquire_until.cc: - Re-enable. - -2021-04-22 Jonathan Wakely - - * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add - options for libatomic. - -2021-04-22 Jonathan Wakely - - * config/os/gnu-linux/os_defines.h: Fix type in comment. - -2021-04-22 Jonathan Wakely - - PR libstdc++/99006 - * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp - is not an array type. - * include/bits/shared_ptr_base.h (__allocate_shared): Likewise. - * testsuite/20_util/shared_ptr/creation/99006.cc: New test. - -2021-04-22 Thomas Rodgers - - * include/bits/atomic_wait.h: Always notify waiters in the - case of 'bare' address notification. - -2021-04-22 Jakub Jelinek - - PR target/100182 - * testsuite/29_atomics/atomic_float/1.cc: Add dg-xfail-run-if for - ia32. - * testsuite/29_atomics/atomic_float/wait_notify.cc: Add dg-skip-if for - ia32. - -2021-04-22 Jonathan Wakely - - PR libstdc++/100179 - * include/bits/semaphore_base.h: Remove #error. - * include/std/semaphore: Do not define anything unless one of - the implementations is available. - -2021-04-21 Thomas Rodgers - - * include/bits/semaphore_base.h: Always reload __old in - __atomic_semaphore::_S_do_try_acquire(). - * testsuite/30_threads/stop_token/stop_callback/destroy.cc: - re-enable testcase. - -2021-04-21 Philippe Blain - Jonathan Wakely - - PR libstdc++/99453 - * python/Makefile.am: Install libstdc++*-gdb.py more robustly. - * python/Makefile.in: Regenerate. - -2021-04-21 Thomas Rodgers - - * include/bits/semaphore_base.h: Add missing _M_try_acquire() - member to __platform_wait. - -2021-04-21 Jonathan Wakely - - * include/std/latch: Replace tab characters in license text. - * include/std/semaphore: Likewise. - -2021-04-21 Jakub Jelinek - - PR libstdc++/100164 - * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE - rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE. - * configure: Regenerated. - * config.h.in: Regenerated. - -2021-04-20 Jonathan Wakely - - * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable - test for targets not using futexes for semaphores. - * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. - * testsuite/30_threads/stop_token/stop_callback/destroy.cc: - Disable for all targets. - -2021-04-20 Thomas Rodgers - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/this_thread_sleep.h: New file. - * include/bits/atomic_base.h: Adjust all calls - to __atomic_wait/__atomic_notify for new call signatures. - * include/bits/atomic_timed_wait.h: Extensive rewrite. - * include/bits/atomic_wait.h: Likewise. - * include/bits/semaphore_base.h: Adjust all calls - to __atomic_wait/__atomic_notify for new call signatures. - * include/std/atomic: Likewise. - * include/std/barrier: Likewise. - * include/std/latch: Likewise. - * include/std/semaphore: Likewise. - * include/std/thread (this_thread::sleep_for) - (this_thread::sleep_until): Move to new header. - * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify - 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/29_atomics/atomic_ref/wait_notify.cc: Likewise. - -2021-04-20 Patrick Palka - - PR libstdc++/95983 - * include/bits/stl_iterator.h (__detail::__move_iter_cat): - Define. - (move_iterator): Derive from the above in C++20 in order to - conditionally define iterator_category as per P2259. - (move_iterator::__base_cat): No longer used, so remove. - (move_iterator::iterator_category): Remove in C++20. - (__detail::__common_iter_use_postfix_proxy): Define. - (common_iterator::_Proxy): Rename to ... - (common_iterator:__arrow_proxy): ... this. - (common_iterator::__postfix_proxy): Define as per P2259. - (common_iterator::operator->): Adjust. - (common_iterator::operator++): Adjust as per P2259. - (iterator_traits::_S_iter_cat): Define. - (iterator_traits::iterator_category): Change as - per P2259. - (__detail::__counted_iter_value_type): Define. - (__detail::__counted_iter_concept): Define. - (__detail::__counted_iter_cat): Define. - (counted_iterator): Derive from the above three classes in order - to conditionally define value_type, iterator_concept and - iterator category respectively as per P2259. - (counted_iterator::operator->): Define as per P2259. - (incrementable_traits): Remove as per P2259. - (iterator_traits): Adjust as per P2259. - * include/std/ranges (__detail::__iota_view_iter_cat): Define. - (iota_view::_Iterator): Derive from the above in order to - conditionally define iterator_category as per P2259. - (iota_view::_S_iter_cat): Rename to ... - (iota_view::_S_iter_concept): ... this. - (iota_view::iterator_concept): Use it to apply LWG 3291 changes. - (iota_view::iterator_category): Remove. - (__detail::__filter_view_iter_cat): Define. - (filter_view::_Iterator): Derive from the above in order to - conditionally define iterator_category as per P2259. - (filter_view::_Iterator): Move to struct __filter_view_iter_cat. - (filter_view::_Iterator::iterator_category): Remove. - (transform_view::_Base): Define. - (transform_view::__iter_cat): Define. - (transform_view::_Iterator): Derive from the above in order to - conditionally define iterator_category as per P2259. - (transform_view::_Iterator::_Base): Just alias - transform_view::_Base. - (transform_view::_Iterator::_S_iter_cat): Move to struct - transform_view::__iter_cat. - (transform_view::_Iterator::iterator_category): Remove. - (transform_view::_Sentinel::_Base): Just alias - transform_view::_Base. - (join_view::_Base): Define. - (join_view::_Outer_iter): Define. - (join_view::_Inner_iter): Define. - (join_view::_S_ref_is_glvalue): Define. - (join_view::__iter_cat): Define. - (join_view::_Iterator): Derive from it in order to conditionally - define iterator_category as per P2259. - (join_view::_Iterator::_Base): Just alias join_view::_Base. - (join_view::_Iterator::_S_ref_is_glvalue): Just alias - join_view::_S_ref_is_glvalue. - (join_view::_Iterator::_S_iter_cat): Move to struct - transform_view::__iter_cat. - (join_view::_Iterator::_Outer_iter): Just alias - join_view::_Outer_iter. - (join_view::_Iterator::_Inner_iter): Just alias - join_view::_Inner_iter. - (join_view::_Iterator::iterator_category): Remove. - (join_view::_Sentinel::_Base): Just alias join_view::_Base. - (__detail::__split_view_outer_iter_cat): Define. - (__detail::__split_view_inner_iter_cat): Define. - (split_view::_Base): Define. - (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat - in order to conditionally define iterator_category as per P2259. - (split_view::_Outer_iter::iterator_category): Remove. - (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat - in order to conditionally define iterator_category as per P2259. - (split_view::_Inner_iter::_S_iter_cat): Move to - __split_view_inner_iter_cat. - (split_view::_Inner_iter::iterator_category): Remove. - (elements_view::_Base): Define. - (elements_view::__iter_cat): Define. - (elements_view::_Iterator): Derive from the above in order to - conditionall define iterator_category as per P2259. - (elements_view::_Iterator::_Base): Just alias - elements_view::_Base. - (elements_view::_Iterator::_S_iter_concept) - (elements_view::_Iterator::iterator_concept): Define as per - P2259. - (elements_view::_Iterator::iterator_category): Remove. - (elements_view::_Sentinel::_Base): Just alias - elements_view::_Base. - * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: - Adjust constraints on iterator_traits. - * testsuite/std/ranges/p2259.cc: New test. - -2021-04-20 Jonathan Wakely - - PR libstdc++/100146 - * include/std/charconv (__cpp_lib_to_chars): Define - conditionally. - * include/std/version (__cpp_lib_to_chars): Likewise.. - * testsuite/20_util/from_chars/4.cc: Only check feature test - macro, not _GLIBCXX_HAVE_USELOCALE. - * testsuite/20_util/from_chars/5.cc: Likewise. - * testsuite/20_util/from_chars/6.cc: Likewise. - * testsuite/20_util/to_chars/long_double.cc: Likewise. - -2021-04-20 Jakub Jelinek - - * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol - versions with _IEEE128_ substring are found, set ieee_version_found - to true. Ignore missing symbols with _IEEE128_ in version name if - !ieee_version_found. Use i->first as version_name instead of - i->second.version_name if the latter is empty. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - -2021-04-19 H.J. Lu - - * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: - Updated. - -2021-04-17 Jakub Jelinek - - * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. - -2021-04-17 Jakub Jelinek - - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. - * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - -2021-04-15 Jonathan Wakely - - * testsuite/lib/dg-options.exp (add_options_for_libatomic): Also - add libatomic options for 32-bit sparc*-*-linux-gnu. - -2021-04-15 Jonathan Wakely - - PR libstdc++/96657 - * libsupc++/Makefile.am: Add atomicity.cc here. - * src/c++98/Makefile.am: Remove it from here. - * libsupc++/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * testsuite/18_support/exception_ptr/96657.cc: New test. - -2021-04-13 Jonathan Wakely - - PR libstdc++/100060 - * include/std/bit: Only include for - hosted build, use otherwise. - -2021-04-13 Jonathan Wakely - - * doc/xml/manual/backwards_compatibility.xml: Remove porting - notes for libg++ and libstdc++-v2, and bibliography. - * doc/html/*: Regenerated. - -2021-04-12 Jonathan Wakely - - PR libstdc++/100044 - * include/bits/ranges_util.h (__detail::__iterator_sentinel_pair): - Remove helper concept. - (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove - deduction guides, as per LWG 3404. - * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class - template argument deduction fails. - -2021-04-12 Jonathan Wakely - - * testsuite/26_numerics/random/linear_congruential_engine/requirements/non_uint_neg.cc: - Adjust expected error for C++20 mode. - * testsuite/tr1/5_numerical_facilities/random/linear_congruential/requirements/non_uint_neg.cc: - Likewise. - -2021-04-12 Jonathan Wakely - - PR libstdc++/99995 - * testsuite/17_intro/headers/c++1998/49745.cc: Include all - standard headers and XFAIL for effective-target c++20. - -2021-04-09 François Dumont - - PR libstdc++/99402 - * include/debug/helper_functions.h (__can_advance(_InputIterator, - const std::pair<_Diff, _Distance_precision>&, int)): New. - (__can_advance(const _Safe_iterator<>&, - const std::pair<_Diff, _Distance_precision>&, int)): New. - * include/debug/macros.h (__glibcxx_check_can_increment_dist): New, - use latter. - (__glibcxx_check_can_increment_range): Adapt to use latter. - (__glibcxx_check_can_decrement_range): Likewise. - * include/debug/safe_iterator.h - (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&, - int)): New. - (__can_advance(const _Safe_iterator<>&, - const std::pair<_Diff, _Distance_precision>&, int)): New. - * include/debug/safe_iterator.tcc - (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&, - int)): New. - (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&, - std::pair&, bool)): Adapt for - __dp_sign_max_size. - (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist. - (__copy_move_backward_a): Likewise. - (__equal_aux): Likewise. - * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&, - const std::pair<_Diff, _Distance_precision>&, int)): New. - (__can_advance(const std::move_iterator<>&, - const std::pair<_Diff, _Distance_precision>&, int)): New. - * testsuite/25_algorithms/copy/debug/99402.cc: New test. - -2021-04-09 Jonathan Wakely - - PR libstdc++/99985 - * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix - to be a valid constexpr function in C++11. - * testsuite/23_containers/unordered_set/cons/99985.cc: New test. - -2021-04-09 Jonathan Wakely - - * include/bits/fs_fwd.h: Fix doxygen group command. - * include/bits/streambuf_iterator.h: Likewise. - * include/bits/uses_allocator_args.h: Likewise. - * include/std/memory: Likewise. - * include/tr1/complex: Likewise. - -2021-04-08 Jonathan Wakely - - * include/bits/basic_string.h: Tweak doxygen comment. - -2021-04-08 Patrick Palka - - * include/std/ranges (__detail::find): Define. - (split_view::_OuterIter::operator++): Apply proposed resolution - of LWG 3505. - * testsuite/std/ranges/adaptors/split.cc (test10): New test. - -2021-04-08 Patrick Palka - - * include/std/ranges (__detail::find_if): Simplify. - (__detail::find_if_not): Likewise. - (__detail::min): Remove. - (__detail::mismatch): Simplify. - (take_view::size): Use std::min instead of __detail::min. - -2021-04-08 Patrick Palka - - * include/std/ranges (__detail::__returnable_element): New - concept. - (elements_view): Use this concept in its constraints. Add - missing private access specifier. - (elements_view::_S_get_element): Define as per LWG 3502. - (elements_view::operator*, elements_view::operator[]): Use - _S_get_element. - (elements_view::operator++): Remove unnecessary constraint - as per LWG 3492. - * testsuite/std/ranges/adaptors/elements.cc (test05): New test. - -2021-04-08 Jonathan Wakely - - * doc/Makefile.am (stamp-pdf-doxygen): Also grep for - out-of-memory error in log file. - * doc/Makefile.in: Regenerate. - -2021-04-08 Jonathan Wakely - - * configure: Regenerate. - -2021-04-08 Jonathan Wakely - - * include/bits/random.h: Fix doxygen group commands. - * include/bits/regex_constants.h: Likewise. - * include/tr1/random.h: Likewise. - -2021-04-08 Jonathan Wakely - - * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): - New function to determine noexcept-specifier for move - constructors. - (_Hashtable): Use _S_nothrow_move() on move constructors. - * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc: - Correct static assertion message. - * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc: - Likewise. - * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc: - Likewise. - -2021-04-08 Patrick Palka - - PR libstdc++/98384 - * testsuite/20_util/to_chars/long_double.cc: Don't run the test - on targets without a large long double. XFAIL the execution on - targets with a non-conforming printf. - -2021-04-08 Patrick Palka - - PR libstdc++/99433 - * include/std/ranges (__adaptor::__maybe_refwrap): Remove. - (__adaptor::__adaptor_invocable): New concept. - (__adaptor::__adaptor_partial_app_viable): New concept. - (__adaptor::_RangeAdaptorClosure): Rewrite, turning it into a - non-template base class. - (__adaptor::_RangeAdaptor): Rewrite, turning it into a CRTP base - class template. - (__adaptor::_Partial): New class template that represents - partial application of a range adaptor non-closure. - (__adaptor::__pipe_invocable): New concept. - (__adaptor::_Pipe): New class template. - (__detail::__can_ref_view): New concept. - (__detail::__can_subrange): New concept. - (all): Replace the lambda here with ... - (_All): ... this functor. Add appropriate constraints. - (__detail::__can_filter_view): New concept. - (filter, _Filter): As in all/_All. - (__detail::__can_transform): New concept. - (transform, _Transform): As in all/_All. - (__detail::__can_take_view): New concept. - (take, _Take): As in all/_All. - (__detail::__can_take_while_view): New concept. - (take_while, _TakeWhile): As in all/_All. - (__detail::__can_drop_view): New concept. - (drop, _Drop): As in all/_All. - (__detail::__can_drop_while_view): New concept. - (drop_while, _DropWhile): As in all/_All. - (__detail::__can_join_view): New concept. - (join, _Join): As in all/_All. - (__detail::__can_split_view): New concept. - (split, _Split): As in all/_All. Rename template parameter - _Fp to _Pattern. - (__detail::__already_common): New concept. - (__detail::__can_common_view): New concept. - (common, _Common): As in all/_All. - (__detail::__can_reverse_view): New concept. - (reverse, _Reverse): As in all/_All. - (__detail::__can_elements_view): New concept. - (elements, _Elements): As in all/_All. - (keys, values): Adjust. - * testsuite/std/ranges/adaptors/99433.cc: New test. - * testsuite/std/ranges/adaptors/all.cc: No longer expect that - adding empty range adaptor closure objects to a pipeline doesn't - increase the size of the pipeline. - (test05): New test. - * testsuite/std/ranges/adaptors/common.cc (test03): New test. - * testsuite/std/ranges/adaptors/drop.cc (test09): New test. - * testsuite/std/ranges/adaptors/drop_while.cc (test04): New test. - * testsuite/std/ranges/adaptors/elements.cc (test04): New test. - * testsuite/std/ranges/adaptors/filter.cc (test06): New test. - * testsuite/std/ranges/adaptors/join.cc (test09): New test. - * testsuite/std/ranges/adaptors/p2281.cc: New test. - * testsuite/std/ranges/adaptors/reverse.cc (test07): New test. - * testsuite/std/ranges/adaptors/split.cc (test01, test04): - Adjust. - (test09): New test. - * testsuite/std/ranges/adaptors/split_neg.cc (test01): Adjust - expected error message. - (test02): Likewise. Extend test. - * testsuite/std/ranges/adaptors/take.cc (test06): New test. - * testsuite/std/ranges/adaptors/take_while.cc (test05): New test. - * testsuite/std/ranges/adaptors/transform.cc (test07, test08): - New test. - -2021-04-08 Jonathan Wakely - - * include/std/string_view: Adjust Doxygen @file comment. - -2021-04-08 Jonathan Wakely - - * include/std/type_traits (is_scoped_enum): Constrain partial - specialization to not match incomplete enum types. Use a - requires-expression instead of instantiating is_convertible. - (is_scoped_enum): Add as workaround for PR c++/99968. - * testsuite/20_util/is_scoped_enum/value.cc: Check with - incomplete types and opaque-enum-declarations. - -2021-04-07 Jonathan Wakely - - PR libstdc++/99805 - * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call - non-const member on _M_pathname, to avoid copy-on-write. - * testsuite/27_io/filesystem/path/decompose/parent_path.cc: - Check construction from strings that might be shared. - -2021-04-06 Jonathan Wakely - - * include/bits/move.h (forward, move, move_if_noexcept) - (addressof): Add _GLIBCXX_NODISCARD. - * include/bits/ranges_cmp.h (identity::operator()): Add - nodiscard attribute. - * include/c_global/cstddef (to_integer): Likewise. - * include/std/bit (bit_cast): Likewise. - * include/std/utility (as_const, to_underlying): Likewise. - -2021-04-06 Jonathan Wakely - - * include/bits/move.h (forward): Change static_assert message - to be unambiguous about what must be true. - * testsuite/20_util/forward/c_neg.cc: Adjust dg-error. - * testsuite/20_util/forward/f_neg.cc: Likewise. - -2021-04-06 Jonathan Wakely - - * include/bits/alloc_traits.h: Use markdown for code font. - * include/bits/basic_string.h: Fix @param names. - * include/bits/max_size_type.h: Remove period after @file. - * include/bits/regex.h: Fix duplicate @retval names, and rename. - * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add - group open to match existing group close. - * include/ext/pb_ds/priority_queue.hpp: Add blank line before group - open. - -2021-04-06 Jonathan Wakely - - * include/bits/atomic_base.h: Fix doxygen group close. - * include/bits/basic_ios.h: Likewise. - * include/bits/forward_list.h: Likewise. - * include/bits/fs_dir.h: Likewise. - * include/bits/fs_ops.h: Likewise. - * include/bits/fs_path.h: Likewise. - * include/bits/functional_hash.h: Likewise. - * include/bits/gslice.h: Likewise. - * include/bits/gslice_array.h: Likewise. - * include/bits/hashtable_policy.h: Likewise. - * include/bits/indirect_array.h: Likewise. - * include/bits/locale_classes.h: Likewise. - * include/bits/locale_facets.h: Likewise. - * include/bits/locale_facets_nonio.h: Likewise. - * include/bits/mask_array.h: Likewise. - * include/bits/refwrap.h: Likewise. - * include/bits/regex.h: Likewise. - * include/bits/regex_automaton.h: Likewise. - * include/bits/regex_compiler.h: Likewise. - * include/bits/regex_constants.h: Likewise. - * include/bits/regex_error.h: Likewise. - * include/bits/regex_executor.h: Likewise. - * include/bits/regex_scanner.h: Likewise. - * include/bits/shared_ptr.h: Likewise. - * include/bits/shared_ptr_atomic.h: Likewise. - * include/bits/shared_ptr_base.h: Likewise. - * include/bits/slice_array.h: Likewise. - * include/bits/specfun.h: Likewise. - * include/bits/std_function.h: Likewise. - * include/bits/std_mutex.h: Likewise. - * include/bits/stl_deque.h: Likewise. - * include/bits/stl_iterator.h: Likewise. - * include/bits/stl_iterator_base_types.h: Likewise. - * include/bits/stl_map.h: Likewise. - * include/bits/stl_multimap.h: Likewise. - * include/bits/stl_multiset.h: Likewise. - * include/bits/stl_numeric.h: Likewise. - * include/bits/stl_pair.h: Likewise. - * include/bits/stl_set.h: Likewise. - * include/bits/stl_uninitialized.h: Likewise. - * include/bits/stream_iterator.h: Likewise. - * include/bits/streambuf_iterator.h: Likewise. - * include/bits/unique_ptr.h: Likewise. - * include/bits/unordered_map.h: Likewise. - * include/bits/unordered_set.h: Likewise. - * include/decimal/decimal: Likewise. - * include/experimental/any: Likewise. - * include/experimental/array: Likewise. - * include/experimental/bits/fs_dir.h: Likewise. - * include/experimental/bits/fs_fwd.h: Likewise. - * include/experimental/bits/fs_ops.h: Likewise. - * include/experimental/bits/fs_path.h: Likewise. - * include/experimental/buffer: Likewise. - * include/experimental/internet: Likewise. - * include/experimental/optional: Likewise. - * include/experimental/propagate_const: Likewise. - * include/experimental/socket: Likewise. - * include/ext/pb_ds/assoc_container.hpp: Likewise. - * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: - Likewise. - * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise. - * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise. - * include/ext/pb_ds/detail/types_traits.hpp: Likewise. - * include/ext/pb_ds/exception.hpp: Likewise. - * include/ext/pb_ds/priority_queue.hpp: Likewise. - * include/ext/pb_ds/tag_and_trait.hpp: Likewise. - * include/ext/random: Likewise. - * include/std/any: Likewise. - * include/std/atomic: Likewise. - * include/std/bitset: Likewise. - * include/std/chrono: Likewise. - * include/std/complex: Likewise. - * include/std/condition_variable: Likewise. - * include/std/fstream: Likewise. - * include/std/future: Likewise. - * include/std/iostream: Likewise. - * include/std/istream: Likewise. - * include/std/mutex: Likewise. - * include/std/numeric: Likewise. - * include/std/ostream: Likewise. - * include/std/ratio: Likewise. - * include/std/shared_mutex: Likewise. - * include/std/stdexcept: Likewise. - * include/std/streambuf: Likewise. - * include/std/system_error: Likewise. - * include/std/thread: Likewise. - * include/std/valarray: Likewise. - * include/std/variant: Likewise. - * include/tr1/cmath: Likewise. - * include/tr1/regex: Likewise. - * include/tr2/dynamic_bitset: Likewise. - * libsupc++/atomic_lockfree_defines.h: Likewise. - * libsupc++/exception: Likewise. - * libsupc++/exception.h: Likewise. - * libsupc++/exception_ptr.h: Likewise. - * libsupc++/nested_exception.h: Likewise. - -2021-03-31 Alexandre Oliva - - * testsuite/30_threads/future/members/poll.cc: Use faster - after-ready call in the calibration loop. - -2021-03-29 Jonathan Wakely - - * doc/xml/manual/status_cxx2017.xml: Adjust link for PSTL. - * doc/html/manual/status.html: Regenerate. - -2021-03-28 François Dumont - - * include/debug/forward_list - (forward_list(forward_list&&, const allocator_type&)): Add noexcept qualification. - * include/debug/list (list(list&&, const allocator_type&)): Likewise and add - call to safe container allocator aware move constructor. - * include/debug/vector (vector(vector&&, const allocator_type&)): - Fix noexcept qualification. - * testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc: - Add allocator-extended move constructor noexceot qualification check. - * testsuite/23_containers/list/cons/noexcept_move_construct.cc: Likewise. - -2021-03-26 Jonathan Wakely - - * src/c++11/random.cc (USE_LCG): Define when a pseudo-random - fallback is needed. - [USE_LCG] (bad_seed, construct_lcg_at, destroy_lcg_at, __lcg): - New helper functions and callback. - (random_device::_M_init): Add 'prng' and 'all' enumerators. - Replace switch with fallthrough with a series of 'if' statements. - [USE_LCG]: Construct an lcg_type engine and use __lcg when cpuid - checks fail. - (random_device::_M_init_pretr1) [USE_MT19937]: Accept "prng" - token. - (random_device::_M_getval): Check for callback unconditionally - and always pass _M_file pointer. - * testsuite/26_numerics/random/random_device/85494.cc: Remove - effective-target check. Use new random_device_available helper. - * testsuite/26_numerics/random/random_device/94087.cc: Likewise. - * testsuite/26_numerics/random/random_device/cons/default-cow.cc: - Remove effective-target check. - * testsuite/26_numerics/random/random_device/cons/default.cc: - Likewise. - * testsuite/26_numerics/random/random_device/cons/token.cc: Use - new random_device_available helper. Test "prng" token. - * testsuite/util/testsuite_random.h (random_device_available): - New helper function. - -2021-03-25 François Dumont - - * include/debug/string - (basic_string(const basic_string&, const _Alloc&)): Define even if !_GLIBCXX_USE_CXX11_ABI. - (basic_string(basic_string&&, const _Alloc&)): Likewise and add noexcept qualification. - (basic_string<>::erase): Adapt to take __const_iterator. - (basic_string(const _CharT*, const _Allocator&)): Remove assign call. - (basic_string<>::insert(const_iterator, _InputIte, _InputIte)): Try to - remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI. - [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New. - (__gnu_debug::u16string, __gnu_debug::u32string): New. - (std::hash<__gnu_debug::basic_string<>>): New partial specialization. - (std::__is_fast_hash<__gnu_debug::basic_string<>>): Likewise. - * testsuite/util/exception/safety.h - (erase_base<__gnu_debug::basic_string<>>): New partial specialization. - (insert_base<__gnu_debug::basic_string<>>): Likewise. - * testsuite/util/testsuite_container_traits.h (traits<__gnu_debug::basic_string<>>): - New partial specialization. - * testsuite/21_strings/basic_string/hash/debug.cc: New test. - * testsuite/21_strings/basic_string/requirements/citerators.cc: - Add test on __gnu_debug::string. - * testsuite/21_strings/basic_string/requirements/dr438/constructor.cc: Likewise. - * testsuite/21_strings/basic_string/requirements/exception/basic.cc: Likewise. - * testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/requirements/typedefs.cc: Likewise. - -2021-03-25 Jakub Jelinek - - PR c++/99672 - * testsuite/18_support/source_location/consteval.cc (main): Adjust - expected column numbers. - * testsuite/18_support/source_location/1.cc (main): Likewise. - -2021-03-25 Jonathan Wakely - - * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc. - -2021-03-25 Jonathan Wakely - - * testsuite/util/exception/safety.h (setup_base::generate): - Support seeding random engine. - (erase_point, erase_range): Adjust range of random numbers to - ensure dereferenceable iterators are used where required. - (generation_prohibited::run): Do not try to erase from empty - containers. - * testsuite/util/testsuite_containergen.h (test_containers): - Support seeding random engine. - -2021-03-23 Jonathan Wakely - - * testsuite/std/ranges/adaptors/reverse.cc: Replace duplicated - line with a check that uses the const being/end overloads. - -2021-03-23 Moritz Sichert - - * include/std/ranges (reverse_view::begin, reverse_view::end): - Qualify make_reverse_iterator calls to avoid ADL. - * testsuite/std/ranges/adaptors/reverse.cc: Test that - views::reverse works when make_reverse_iterator is defined - in an associated namespace. - -2021-03-23 Jonathan Wakely - - * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT): - Do not define when compiling with Clang. - -2021-03-22 Jonathan Wakely - - * include/std/string_view (basic_string_view(Range&&)): Define new - constructor and deduction guide. - * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: New test. - * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: New test. - -2021-03-22 Jonathan Wakely - - * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])): - Add missing 'noexcept' as per LWG 2280. - (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list)) - (rend(initializer_list)): Add 'noexcept' as per LWG 3537. - * testsuite/24_iterators/range_access/range_access.cc: Check for - expected noexcept specifiers. Check result types of generic - std::begin and std::end overloads. - * testsuite/24_iterators/range_access/range_access_cpp14.cc: - Check for expected noexcept specifiers. - * testsuite/24_iterators/range_access/range_access_cpp17.cc: - Likewise. - -2021-03-19 Jonathan Wakely - - * include/std/type_traits (is_scoped_enum): Define. - * include/std/version (__cpp_lib_is_scoped_enum): Define. - * testsuite/20_util/is_scoped_enum/value.cc: New test. - * testsuite/20_util/is_scoped_enum/version.cc: New test. - -2021-03-16 Jonathan Wakely - - PR libstdc++/99341 - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Remove - std::once_flag symbols. - * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: - Likewise. - * config/abi/pre/gnu.ver: Likewise. - * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX] - (struct __once_flag_compat): Remove. - (_ZNSt9once_flag11_M_activateEv): Remove. - (_ZNSt9once_flag9_M_finishEb): Remove. - -2021-03-16 Jonathan Wakely - - PR libstdc++/99341 - * include/std/mutex [_GLIBCXX_HAVE_LINUX_FUTEX] (once_flag): - Revert to pthread_once_t implementation. - [_GLIBCXX_HAVE_LINUX_FUTEX] (call_once): Likewise. - * src/c++11/mutex.cc [_GLIBCXX_HAVE_LINUX_FUTEX] - (struct __once_flag_compat): New type matching the reverted - implementation of once_flag using futexes. - (once_flag::_M_activate): Remove, replace with ... - (_ZNSt9once_flag11_M_activateEv): ... alias symbol. - (once_flag::_M_finish): Remove, replace with ... - (_ZNSt9once_flag9_M_finishEb): ... alias symbol. - * testsuite/30_threads/call_once/66146.cc: Removed. - -2021-03-15 Iain Sandoe - - * testsuite/17_intro/names.cc: Exclude j from the list - of test symbols for Darwin. - -2021-03-15 Iain Sandoe - - * config/os/bsd/darwin/ppc-extra.ver: Add matching for - to_chars and from_chars for long double. - -2021-03-15 Patrick Palka - - * include/bits/max_size_type.h (__max_size_type::operator _Tp): - Fix formatting. - (__max_size_type::operator++): Define. - (__max_size_type::operator--): Likewise. - (__max_size_type::operator<=>): Conditionally define (in place - of the other comparison operators). - (__max_diff_type::operator _Tp): Fix formatting. - (__max_diff_type::operator++): Define. - (__max_diff_type::operator--): Likewise. - (__max_diff_type::operator<=>): Conditionally define (in place - of the other comparison operators). - * testsuite/std/ranges/iota/max_size_type.cc (test01): Test - these operator overloads. - -2021-03-15 Caroline Tice - - PR libstdc++/99172 - * src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add - AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make - AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std' - filtered out. - * src/Makefile.in: Regenerate. - -2021-03-11 Patrick Palka - - * src/c++17/floating_to_chars.cc: Simplify the file as if - __SIZEOF_INT128__ is always defined. - [!defined __SIZEOF_INT128__]: Include "uint128_t.h". Define - a base-10 to_chars overload for the uint128_t class type. - * src/c++17/uint128_t.h: New file. - * testsuite/20_util/to_chars/long_double.cc: No longer expect an - execution FAIL on targets that have a large long double type - but lack __int128. - -2021-03-11 Patrick Palka - - * src/c++17/ryu/LOCAL_PATCHES: Update. - * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t. - * src/c++17/ryu/generic_128.h: Likewise. - * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128): - Use uint128_t instead of __uint128_t. - (generic_binary_to_decimal): Likewise. - -2021-03-11 Patrick Palka - - * src/c++17/ryu/LOCAL_PATCHES: New file. - -2021-03-11 Patrick Palka - - * src/c++17/floating_to_chars.cc (uint128_t): New conditionally - defined alias of unsigned __int128. - (floating_type_traits_binary128::mantissa_t): Use uint128_t - instead of unsigned __int128. - (floating_type_traits::mantissa_t) - [LONG_DOUBLE_KIND == LDK_IBM128]: Likewise. - (get_ieee_repr): Likewise. Make casts from uint_t to mantissa_t - and uint32_t explicit. Simplify the extraction of mantissa, - exponent and sign bit. - -2021-03-11 Jonathan Wakely - - * include/std/barrier (barrier::arrival_token): New move-only - class that encapsulates the underlying token value. - -2021-03-11 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (find_type): Use tag attribute - instead of unqualified() method. - -2021-03-11 Jonathan Wakely - - PR libstdc++/99537 - * include/std/stop_token (_Stop_state_t::_M_release_ownership): - Use acq_rel memory ordering. - -2021-03-11 Jonathan Wakely - - PR libstdc++/99533 - * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new - helper function to check for permission denied errors. - * src/filesystem/dir.cc (recursive_directory_iterator): - Likewise. - * src/filesystem/dir-common.h (is_permission_denied_error): New - helper function. - -2021-03-11 Jonathan Wakely - - PR libstdc++/99536 - * include/bits/random.h (normal_distribution): Use - default-initializer for _M_saved and _M_saved_available. - -2021-03-10 John David Anglin - - * testsuite/29_atomics/atomic/wait_notify/bool.cc: Add options to - link with libatomic. - * 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/30_threads/barrier/arrive.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. - * testsuite/30_threads/barrier/completion.cc: Likewise. - * testsuite/30_threads/latch/3.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. - -2021-03-10 Jonathan Wakely - - PR libstdc++/99413 - * include/bits/align.h: Include debug/assertions.h. - * include/bits/codecvt.h: Include bits/c++config.h. - * include/bits/enable_special_members.h: Likewise. - * include/bits/erase_if.h: Likewise. - * include/bits/functional_hash.h: Include . - * include/bits/invoke.h: Include bits/move.h. - * include/bits/ostream_insert.h: Include bits/exception_defines.h. - * include/bits/parse_numbers.h: Include . - * include/bits/predefined_ops.h: Include bits/c++config.h. - * include/bits/range_access.h: Include bits/stl_iterator.h. - * include/bits/stl_bvector.h: Do not include bits/stl_vector.h. - * include/bits/stl_iterator.h: Include bits/stl_iterator_base_types.h. - * include/bits/stl_uninitialized.h: Include bits/stl_algobase.h. - * include/bits/uniform_int_dist.h: Include bits/concept_check.h. - * include/bits/unique_lock.h: Include bits/std_mutex.h. - * include/debug/assertions.h: Include bits/c++config.h. - -2021-03-10 Jonathan Wakely - - * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove. - (ranges::equal_to, ranges::not_equal_to): Do not constrain - with __eq_builtin_ptr_cmp. - (ranges::less, ranges::greater, ranges::less_equal) - (ranges::greater_equal): Do not constrain with - __less_builtin_ptr_cmp. - * libsupc++/compare (compare_three_way): Do not constrain with - __3way_builtin_ptr_cmp. - * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to... - * testsuite/18_support/comparisons/object/lwg3530.cc: ...here. - * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test. - -2021-03-10 Jonathan Wakely - - * testsuite/std/time/syn_c++20.cc: Enable synopsis checks for - C++20 calendar types. - -2021-03-06 Jakub Jelinek - - PR libstdc++/99396 - * include/std/bit (__rotl, __rotr): Add optimized variants for power of - two _Nd which the compiler can pattern match the rotates. - -2021-03-04 Jonathan Wakely - - PR libstdc++/99382 - * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: - Make storage larger than required. Verify no write to the last - element. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: - Likewise. - -2021-03-03 Rainer Orth - - * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. - * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: - Likewise. - * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. - * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: - Likewise. - -2021-03-03 Rainer Orth - - * include/experimental/bits/simd.h: Replace reserved _X, _B by - _Xp, _Bp. - * include/experimental/bits/simd_builtin.h: Likewise. - * include/experimental/bits/simd_x86.h: Likewise. - -2021-02-27 Jonathan Wakely - - PR libstdc++/99301 - * include/std/chrono (year_month_day::_M_days_since_epoch()): - Convert chrono::month and chrono::day to unsigned before - converting to uint32_t. - -2021-02-25 Jonathan Wakely - - * include/std/chrono (year_month_day::_S_from_days): Perform - all calculations with type uint32_t. - -2021-02-25 Jonathan Wakely - - * doc/xml/manual/abi.xml: Document versioning for GCC 11. - * doc/html/manual/abi.html: Regenerate. - -2021-02-25 Jonathan Wakely - - PR libstdc++/99270 - * testsuite/27_io/headers/cstdio/types_std.cc: Use pointer to - FILE instead of FILE. - -2021-02-25 Andreas Schwab - - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - -2021-02-25 Jonathan Wakely - - PR libstdc++/99265 - * include/std/chrono (year_month_day::_S_from_days): Cast long - to int explicitly. - -2021-02-25 Jonathan Wakely - - * include/std/utility (to_underlying): Define. - * include/std/version (__cpp_lib_to_underlying): Define. - * testsuite/20_util/to_underlying/1.cc: New test. - * testsuite/20_util/to_underlying/version.cc: New test. - -2021-02-24 Jonathan Wakely - - PR libstdc++/99261 - * src/c++17/floating_to_chars.cc (sprintf_ld): Add extra args - before value to be printed. - -2021-02-24 Patrick Palka - - * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): - Relax the condition that guards the printf code path to accept - F128_type as well as long double. - -2021-02-24 Cassio Neri - - * include/std/chrono (year_month_day_last:day): New - implementation. - -2021-02-24 Cassio Neri - - * include/std/chrono (year::is_leap): New implementation. - * testsuite/std/time/year/2.cc: New test. - -2021-02-24 Cassio Neri - - * include/std/chrono (year_month_day::_M_days_since_epoch): - New implementation. - * testsuite/std/time/year_month_day/4.cc: New test. - -2021-02-24 Cassio Neri - - * include/std/chrono (year_month_day::_S_from_days): New - implementation. - * testsuite/std/time/year_month_day/3.cc: New test. - -2021-02-24 Patrick Palka - - PR libstdc++/98384 - * testsuite/20_util/to_chars/long_double.cc: Include . - (test01): Simplify verifying the nearby values by using a - 2-iteration loop and a dedicated output buffer to check that the - nearby values are different. Factor out the printf-based - verification into a local function, and check that the leading - hex digits agree before comparing to the output of printf. Also - verify the output by round-tripping it through from_chars. - -2021-02-24 Jonathan Wakely - - PR libstdc++/98389 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars - symbols for long double arguments mangled as 'g'. - * config/os/gnu-linux/ldbl-extra.ver: Likewise. - * config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise. - * src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]: - Use -mabi=ibmlongdouble for floating_to_chars.cc. - * src/c++17/Makefile.in: Regenerate. - * src/c++17/floating_to_chars.cc (floating_type_traits_binary128): - New type defining type traits of IEEE binary128 format. - (floating_type_traits<__float128>): Define specialization. - (floating_type_traits): Define in terms of - floating_type_traits_binary128 when appropriate. - (floating_to_shortest_scientific): Handle __float128. - (sprintf_ld): New function template for printing a long double - or __ieee128 value using sprintf. - (__floating_to_chars_shortest, __floating_to_chars_precision): - Use sprintf_ld. - (to_chars): Define overloads for __float128. - -2021-02-24 Jonathan Wakely - - * testsuite/17_intro/names.cc: Undefine 'u' on powerpc*-linux*. - -2021-02-23 Martin Sebor - - PR c++/99074 - * libsupc++/dyncast.cc (__dynamic_cast): Return null when - first argument is null. - -2021-02-23 Jakub Jelinek - - PR libstdc++/99181 - * testsuite/21_strings/char_traits/requirements/char/99181.cc: New - test. - -2021-02-23 Jakub Jelinek - - PR libstdc++/99181 - * include/bits/char_traits.h (char_traits::compare): For - constexpr evaluation don't call - __gnu_cxx::char_traits::compare but do the comparison loop - directly. - -2021-02-23 Jakub Jelinek - - PR libstdc++/97549 - * include/pstl/parallel_backend_serial.h: Remove __pstl::__par_backend. - -2021-02-23 Patrick Palka - - PR libstdc++/98384 - * src/c++17/floating_to_chars.cc (get_ieee_repr): Extract - the high- and low-order parts from an IBM long double value - in an endian-agnostic way. - -2021-02-19 Jonathan Wakely - - * include/bits/atomic_wait.h (__thread_relax()): Call - __thread_yield() not __gthread_yield(). - -2021-02-15 Jonathan Wakely - - * include/bits/atomic_wait.h (__thread_yield()): Check - _GLIBCXX_HAS_GTHREADS before using __gthread_yield. - (__thread_relax()): Use __thread_yield() instead of repeating - the preprocessor checks for __gthread_yield. - -2021-02-15 Jonathan Wakely - - * include/std/mutex (once_flag::_M_activate()): Add explicit - return statement for passive case. - (once_flag::_M_finish(bool)): Use reserved name for parameter. - -2021-02-14 Jonathan Wakely - - PR libstdc++/99096 - * testsuite/util/testsuite_fs.h: Always include . - -2021-02-12 Jonathan Wakely - - PR libstdc++/88881 - * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround. - -2021-02-12 Jonathan Wakely - - * doc/xml/manual/status_cxx2014.xml: Document implementation - specific properties of std::experimental::filesystem::rename. - * doc/xml/manual/status_cxx2017.xml: Document implementation - specific properties of std::filesystem::rename. - * doc/html/*: Regenerate. - * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour - for directories on Windows. - * src/filesystem/ops-common.h (__gnu_posix::rename): Use - MoveFileExW on Windows. - * testsuite/27_io/filesystem/operations/rename.cc: New test. - * testsuite/experimental/filesystem/operations/rename.cc: New test. - -2021-02-12 Jonathan Wakely - - * testsuite/util/testsuite_fs.h (nonexistent_path): Add - random number to the path. - -2021-02-12 Jonathan Wakely - - * include/experimental/internet (address_v6::to_string): Include - scope ID in string. - * testsuite/experimental/net/internet/address/v6/members.cc: - Test to_string() results. - -2021-02-12 Jonathan Wakely - - * include/experimental/internet (address_v6::any): Avoid using - memcpy in constexpr function. - (address_v6::loopback): Likewise. - (make_address_v6): Fix missing return statements on error paths. - * include/experimental/io_context: Avoid -Wdangling-else - warning. - * testsuite/experimental/net/internet/address/v4/members.cc: - Remove unused variables. - * testsuite/experimental/net/internet/address/v6/members.cc: - New test. - -2021-02-12 Jonathan Wakely - - * include/bits/shared_ptr_base.h (__shared_ptr::_M_get_deleter): - Add unused attribute to parameter. - * src/c++11/shared_ptr.cc (_Sp_make_shared_tag::_S_eq): - Likewise. - -2021-02-12 Jonathan Wakely - - * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail - if -fno-rtti is used. - * testsuite/30_threads/async/forced_unwind.cc: Expect test - to abort if -fno-rtti is used. - -2021-02-12 Jonathan Wakely - - * testsuite/util/testsuite_allocator.h (memory_resource): - Remove requirement for RTTI and exceptions to be enabled. - -2021-02-12 Jonathan Wakely - - * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Use - static_cast when RTTI is disabled. - * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: - Likewise. - * testsuite/27_io/basic_stringstream/str/char/2.cc: - Likewise. - * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: - Likewise. - -2021-02-12 Jonathan Wakely - - * include/std/ostream (__syncbuf_base::_S_get): Mark parameter - as unused and only use dynamic_cast when RTTI is enabled. - -2021-02-12 Jonathan Wakely - - PR libstdc++/99077 - * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)): - Change int parameter to error_code, to match std::ios_failure. - (__throw_ios_failure(const char*, int)): Construct error_code - from int parameter. - -2021-02-11 Jonathan Wakely - - * libsupc++/eh_ptr.cc (_GLIBCXX_EH_PTR_RELOPS_COMPAT): Define - new macro. - * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Check new - macro instead of _GLIBCXX_EH_PTR_COMPAT. - (operator==): Likewise. - -2021-02-11 Jonathan Wakely - - PR libstdc++/99058 - * doc/xml/manual/status_cxx2011.xml: Document when support - became stable. - * doc/xml/manual/status_cxx2014.xml: Likewise. - * doc/xml/manual/status_cxx2017.xml: Likewise. - * doc/html/manual/status.html: Regenerate. - -2021-02-10 Jonathan Wakely - - PR libstdc++/88881 - * src/c++17/fs_ops.cc (fs::status): Re-enable workaround. - -2021-02-10 Jonathan Wakely - - * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent) - (fs::remove): Use std::system_category() for error codes from - GetLastError(). - * src/filesystem/ops.cc (fs::create_hard_link, fs::remove): - Likewise. - -2021-02-10 Jonathan Wakely - - * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo - in __MINGW32__ macro name. - * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise. - * testsuite/27_io/filesystem/path/generation/proximate.cc: - Likewise. - * testsuite/27_io/filesystem/path/generation/relative.cc: - Likewise. - * testsuite/util/testsuite_fs.h: Likewise. - -2021-02-09 François Dumont - - * include/bits/stl_tree.h - (__has_is_transparent, __has_is_transparent_t): Move... - * include/bits/stl_function.h: ...here. - * include/bits/hashtable_policy.h (_Hash_code_base<>::_M_hash_code_tr): New.. - (_Hashtable_base<>::_M_equals_tr): New. - * include/bits/hashtable.h (_Hashtable<>::_M_find_tr, _Hashtable<>::_M_count_tr, - _Hashtable<>::_M_equal_range_tr): New member function templates to perform - heterogeneous lookup. - (_Hashtable<>::_M_find_before_node_tr): New. - (_Hashtable<>::_M_find_node_tr): New. - * include/bits/unordered_map.h (unordered_map::find<>, unordered_map::count<>, - unordered_map::contains<>, unordered_map::equal_range<>): New member function - templates to perform heterogeneous lookup. - (unordered_multimap::find<>, unordered_multimap::count<>, - unordered_multimap::contains<>, unordered_multimap::equal_range<>): Likewise. - * include/bits/unordered_set.h (unordered_set::find<>, unordered_set::count<>, - unordered_set::contains<>, unordered_set::equal_range<>): Likewise. - (unordered_multiset::find<>, unordered_multiset::count<>, - unordered_multiset::contains<>, unordered_multiset::equal_range<>): Likewise. - * include/debug/unordered_map - (unordered_map::find<>, unordered_map::equal_range<>): Likewise. - (unordered_multimap::find<>, unordered_multimap::equal_range<>): Likewise. - * include/debug/unordered_set - (unordered_set::find<>, unordered_set::equal_range<>): Likewise. - (unordered_multiset::find<>, unordered_multiset::equal_range<>): Likewise. - * testsuite/23_containers/unordered_map/operations/1.cc: New test. - * testsuite/23_containers/unordered_multimap/operations/1.cc: New test. - * testsuite/23_containers/unordered_multiset/operations/1.cc: New test. - * testsuite/23_containers/unordered_set/operations/1.cc: New test. - -2021-02-09 François Dumont - - * include/bits/stl_deque.h - (std::operator-(deque::iterator, deque::iterator)): Replace if/then with - a null pointer test. - -2021-02-09 Jonathan Wakely - - * testsuite/27_io/filesystem/operations/remove_all.cc: Remove - test directory after making it writable again. - * testsuite/experimental/filesystem/operations/remove_all.cc: - Likewise. - -2021-02-09 Jonathan Wakely - - PR libstdc++/99021 - * include/std/coroutine (coroutine_handle

::from_address): Add - noexcept. - -2021-02-09 Vladimir Vishnevsky - - * include/ext/stdio_sync_filebuf.h: Remove unused . - * src/c++17/fs_ops.cc (fs::permissions): Qualify mode_t. - -2021-02-09 Jakub Jelinek - - PR middle-end/98465 - * include/bits/basic_string.tcc (basic_string::_M_replace): When __s - points to the characters moved by earlier _S_move, compute the source - address using expression based on the __p pointer rather than __s - pointer. - -2021-02-03 Jonathan Wakely - - * testsuite/19_diagnostics/error_code/operators/not_equal.cc: - Add comparison with same category and different values. - * testsuite/19_diagnostics/error_code/operators/less.cc: - Likewise. Fix comparison involving different categories. - * testsuite/19_diagnostics/error_code/operators/three_way.cc: - Likewise. - * testsuite/19_diagnostics/error_condition/operators/less.cc: - Add comment. - * testsuite/19_diagnostics/error_condition/operators/three_way.cc: - Likewise. - -2021-02-03 yaozhongxiao - - * include/experimental/bits/simd_neon.h: Replace repeated vpadd - calls with a single vaddv for aarch64. - -2021-02-03 Matthias Kretz - - * testsuite/Makefile.am: Warn about the workaround. Add - -fno-tree-vrp to CXXFLAGS passed to the check_simd script. - Improve initial user feedback from make check-simd. - * testsuite/Makefile.in: Regenerated. - -2021-02-03 Matthias Kretz - - * include/experimental/bits/simd.h: Add __detail::_Minimum and - __detail::_Maximum to use them as _BinaryOperation to _S_reduce. - Add hmin and hmax overloads for simd and const_where_expression. - * include/experimental/bits/simd_scalar.h - (_SimdImplScalar::_S_reduce): Make unused _BinaryOperation - parameter const-ref to allow calling _S_reduce with an rvalue. - * testsuite/experimental/simd/tests/reductions.cc: Add tests for - hmin and hmax. Since the compiler statically determined that all - tests pass, repeat the test after a call to make_value_unknown. - -2021-02-03 Matthias Kretz - - * testsuite/experimental/simd/tests/bits/verify.h (verify): Add - instruction pointer data member. Ensure that the `if (m_failed)` - branch is always inlined into the calling code. The body of the - conditional can still be a function call. Move the get_ip call - into the verify ctor to simplify the ctor calls. - (COMPARE): Don't mention the use of all_of for reduction of a - simd_mask. It only distracts from the real issue. - -2021-02-03 Matthias Kretz - - * testsuite/experimental/simd/driver.sh: Abstract reading test - options into read_src_option function. Read skip, only, - expensive, and xfail via read_src_option. Add timeout and - timeout-factor options and adjust timeout variable accordingly. - * testsuite/experimental/simd/tests/loadstore.cc: Set - timeout-factor 2. - -2021-02-03 Matthias Kretz - - * testsuite/experimental/simd/driver.sh: When handling the pipe - to log (and on verbose to stdout) count the lines. If it exceeds - 1000 log the issue and exit 125, which is then handled as a - failure. - -2021-02-03 Matthias Kretz - - * testsuite/experimental/simd/tests/hypot3_fma.cc: Add skip: - markup for long double on powerpc64*. - -2021-02-03 Matthias Kretz - - * include/experimental/bits/simd.h: Add __have_power10vec - conditional on _ARCH_PWR10. - * include/experimental/bits/simd_builtin.h: Forward declare - _MaskImplPpc and use it as _MaskImpl when __ALTIVEC__ is - defined. - (_MaskImplBuiltin::_S_some_of): Call _S_popcount from the - _SuperImpl for optimizations and correctness. - * include/experimental/bits/simd_ppc.h: Add _MaskImplPpc. - (_MaskImplPpc::_S_popcount): Implement via vec_cntm for POWER10. - Otherwise, for >=int use -vec_sums divided by a sizeof factor. - For - - * testsuite/experimental/simd/driver.sh: Remove executable on - SIGINT. Process compiler and test executable output: In verbose - mode print messages immediately, limited to 1000 lines and - breaking long lines to below $COLUMNS (or 1024 if not set). - Communicating the exit status of the compiler / test with the - necessary pipe is done via a message through stdout/-in. - -2021-02-03 Matthias Kretz - - * testsuite/Makefile.am: Ensure .simd.summary is empty before - collecting a new summary. - * testsuite/Makefile.in: Regenerate. - -2021-02-03 Matthias Kretz - - * testsuite/experimental/simd/generate_makefile.sh: Use - different variables internally than documented for user - overrides. This makes internal append/prepend work as intended. - -2021-02-03 Matthias Kretz - - * testsuite/experimental/simd/driver.sh (verify_test): Print - test output on run xfail. Do not repeat lines from the log that - were already printed on stdout. - (test_selector): Make the compiler flags pattern usable as a - substring selector. - (toplevel): Trap on SIGINT and remove the log and sum files. - Call timout with --foreground to quickly terminate on SIGINT. - * testsuite/experimental/simd/generate_makefile.sh: Simplify run - targets via target patterns. Default DRIVEROPTS to -v for run - targets. Remove log and sum files after completion of the run - target (so that it's always recompiled). - Place help text into text file for reasonable 'make help' - performance. - -2021-02-03 Matthias Kretz - - * include/experimental/bits/simd.h: Remove unnecessary static - assertion. Allow sizeof(8) integer __intrinsic_type to enable - the necessary mask type. - -2021-02-03 Matthias Kretz - - * include/experimental/bits/simd.h: Let __intrinsic_type be valid if sizeof(long double) == sizeof(double) and - use a __vector double as member type. - -2021-02-03 Matthias Kretz - - * include/experimental/bits/simd.h (__is_intrinsic_type): New - internal type trait. Alias for __is_vector_type on x86. - (_VectorTraitsImpl): Enable for __intrinsic_type in addition for - __vector_type. - (__intrin_bitcast): Allow casting to & from vector & intrinsic - types. - (__intrinsic_type): Explicitly specialize for NEON intrinsic - vector types. - -2021-02-03 Matthias Kretz - - * testsuite/experimental/simd/driver.sh: Implement skip, only, - expensive, and xfail markers. They can select on type, ABI tag - subset number, target-triplet, and compiler flags. - * testsuite/experimental/simd/generate_makefile.sh: The summary - now includes lines for unexpected passes and expected failures. - If the skip or only markers are only conditional on the type, do - not generate rules for those types. - * testsuite/experimental/simd/tests/abs.cc: Mark test expensive - for ABI tag subsets 1-9. - * testsuite/experimental/simd/tests/algorithms.cc: Ditto. - * testsuite/experimental/simd/tests/broadcast.cc: Ditto. - * testsuite/experimental/simd/tests/casts.cc: Ditto. - * testsuite/experimental/simd/tests/generator.cc: Ditto. - * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. - * testsuite/experimental/simd/tests/loadstore.cc: Ditto. - * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. - * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. - * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/mask_loadstore.cc: Ditto. - * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. - * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. - * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/operators.cc: Ditto. - * testsuite/experimental/simd/tests/reductions.cc: Ditto. - * testsuite/experimental/simd/tests/simd.cc: Ditto. - * testsuite/experimental/simd/tests/split_concat.cc: Ditto. - * testsuite/experimental/simd/tests/splits.cc: Ditto. - * testsuite/experimental/simd/tests/where.cc: Ditto. - * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. In - addition replace "test only floattypes" marker by unconditional - "float|double|ldouble" only marker. - * testsuite/experimental/simd/tests/frexp.cc: Ditto. - * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. - * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: - Ditto. - * testsuite/experimental/simd/tests/logarithm.cc: Ditto. - * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. - * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. - * testsuite/experimental/simd/tests/remqo.cc: Ditto. - * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. - * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. - * testsuite/experimental/simd/tests/sincos.cc: Ditto. In - addition, xfail on run because the reference data is missing. - -2021-02-02 Jonathan Wakely - - * doc/xml/manual/status_cxx2011.xml: Remove stray table cell. - * doc/xml/manual/status_cxx2014.xml: Likewise. - * doc/xml/manual/status_cxx2017.xml: Likewise. - * doc/html/manual/status.html: Regenerate. - -2021-02-01 François Dumont - - PR libstdc++/70303 - * include/bits/stl_deque.h (std::deque<>::operator-(iterator, iterator)): - Return 0 if both iterators are value-initialized. - * testsuite/23_containers/deque/70303.cc: New test. - * testsuite/23_containers/vector/70303.cc: New test. - -2021-02-01 Jonathan Wakely - - * doc/xml/manual/status_cxx2011.xml: Update std::call_once - status. - * doc/xml/manual/status_cxx2014.xml: Likewise. - * doc/xml/manual/status_cxx2017.xml: Likewise. Update - std::from_chars and std::to_chars status. Fix formatting. - * doc/html/manual/status.html: Regenerate. - -2021-01-28 Jonathan Wakely - - * include/experimental/bits/numeric_traits.h: Update copyright - dates. - * include/experimental/bits/simd.h: Likewise. - * include/experimental/bits/simd_builtin.h: Likewise. - * include/experimental/bits/simd_converter.h: Likewise. - * include/experimental/bits/simd_detail.h: Likewise. - * include/experimental/bits/simd_fixed_size.h: Likewise. - * include/experimental/bits/simd_math.h: Likewise. - * include/experimental/bits/simd_neon.h: Likewise. - * include/experimental/bits/simd_ppc.h: Likewise. - * include/experimental/bits/simd_scalar.h: Likewise. - * include/experimental/bits/simd_x86.h: Likewise. - * include/experimental/bits/simd_x86_conversions.h: Likewise. - * include/experimental/simd: Likewise. - * testsuite/experimental/simd/*: Likewise. - -2021-01-27 Jonathan Wakely - - * doc/xml/manual/status_cxx2017.xml: Replace invalid entity. - * doc/html/*: Regenerate. - -2021-01-27 Jonathan Wakely - - * testsuite/experimental/simd/generate_makefile.sh: Use printf - instead of echo when printing escape characters. - -2021-01-27 Matthias Kretz - - * scripts/check_simd: New file. This script is called from the - the check-simd target. It determines a set of compiler flags and - simulator setups for calling generate_makefile.sh and passes the - information back to the check-simd target, which recurses to the - generated Makefiles. - * scripts/create_testsuite_files: Remove files below simd/tests/ - from testsuite_files and place them in testsuite_files_simd. - * testsuite/Makefile.am: Add testsuite_files_simd. Add - check-simd target. - * testsuite/Makefile.in: Regenerate. - * testsuite/experimental/simd/driver.sh: New file. This script - compiles and runs a given simd test, logging its output and - status. It uses the timeout command to implement compile and - test timeouts. - * testsuite/experimental/simd/generate_makefile.sh: New file. - This script generates a Makefile which uses driver.sh to compile - and run the tests and collect the logs into a single log file. - * testsuite/experimental/simd/tests/abs.cc: New file. Tests - abs(simd). - * testsuite/experimental/simd/tests/algorithms.cc: New file. - Tests min/max(simd, simd). - * testsuite/experimental/simd/tests/bits/conversions.h: New - file. Contains functions to support tests involving conversions. - * testsuite/experimental/simd/tests/bits/make_vec.h: New file. - Support functions make_mask and make_vec. - * testsuite/experimental/simd/tests/bits/mathreference.h: New - file. Support functions to supply precomputed math function - reference data. - * testsuite/experimental/simd/tests/bits/metahelpers.h: New - file. Support code for SFINAE testing. - * testsuite/experimental/simd/tests/bits/simd_view.h: New file. - * testsuite/experimental/simd/tests/bits/test_values.h: New - file. Test functions to easily drive a test with simd objects - initialized from a given list of values and a range of random - values. - * testsuite/experimental/simd/tests/bits/ulp.h: New file. - Support code to determine the ULP distance of simd objects. - * testsuite/experimental/simd/tests/bits/verify.h: New file. - Test framework for COMPARE'ing simd objects and instantiating - the test templates with value_type and ABI tag. - * testsuite/experimental/simd/tests/broadcast.cc: New file. Test - simd broadcasts. - * testsuite/experimental/simd/tests/casts.cc: New file. Test - simd casts. - * testsuite/experimental/simd/tests/fpclassify.cc: New file. - Test floating-point classification functions. - * testsuite/experimental/simd/tests/frexp.cc: New file. Test - frexp(simd). - * testsuite/experimental/simd/tests/generator.cc: New file. Test - simd generator constructor. - * testsuite/experimental/simd/tests/hypot3_fma.cc: New file. - Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim). - * testsuite/experimental/simd/tests/integer_operators.cc: New - file. Test integer operators. - * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: - New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and - modf(simd). - * testsuite/experimental/simd/tests/loadstore.cc: New file. Test - (converting) simd loads and stores. - * testsuite/experimental/simd/tests/logarithm.cc: New file. Test - log*(simd). - * testsuite/experimental/simd/tests/mask_broadcast.cc: New file. - Test simd_mask broadcasts. - * testsuite/experimental/simd/tests/mask_conversions.cc: New - file. Test simd_mask conversions. - * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New - file. Test simd_mask implicit conversions. - * testsuite/experimental/simd/tests/mask_loadstore.cc: New file. - Test simd_mask loads and stores. - * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New - file. Test simd_mask operators convert as specified. - * testsuite/experimental/simd/tests/mask_operators.cc: New file. - Test simd_mask compares, subscripts, and negation. - * testsuite/experimental/simd/tests/mask_reductions.cc: New - file. Test simd_mask reductions. - * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test - 1-arg math functions on simd. - * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test - 2-arg math functions on simd. - * testsuite/experimental/simd/tests/operator_cvt.cc: New file. - Test implicit conversions on simd binary operators behave as - specified. - * testsuite/experimental/simd/tests/operators.cc: New file. Test - simd compares, subscripts, not, unary minus, plus, minus, - multiplies, divides, increment, and decrement. - * testsuite/experimental/simd/tests/reductions.cc: New file. - Test reduce(simd). - * testsuite/experimental/simd/tests/remqo.cc: New file. Test - remqo(simd). - * testsuite/experimental/simd/tests/simd.cc: New file. Basic - sanity checks of simd types. - * testsuite/experimental/simd/tests/sincos.cc: New file. Test - sin(simd) and cos(simd). - * testsuite/experimental/simd/tests/split_concat.cc: New file. - Test split(simd) and concat(simd, simd). - * testsuite/experimental/simd/tests/splits.cc: New file. Test - split(simd_mask). - * testsuite/experimental/simd/tests/trigonometric.cc: New file. - Test remaining trigonometric functions on simd. - * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New - file. Test trunc(simd), ceil(simd), and floor(simd). - * testsuite/experimental/simd/tests/where.cc: New file. Test - masked operations using where. - -2021-01-27 Matthias Kretz - - * doc/xml/manual/status_cxx2017.xml: Add implementation status - of the Parallelism TS 2. Document implementation-defined types - and behavior. - * include/Makefile.am: Add new headers. - * include/Makefile.in: Regenerate. - * include/experimental/simd: New file. New header for - Parallelism TS 2. - * include/experimental/bits/numeric_traits.h: New file. - Implementation of P1841R1 using internal naming. Addition of - missing IEC559 functionality query. - * include/experimental/bits/simd.h: New file. Definition of the - public simd interfaces and general implementation helpers. - * include/experimental/bits/simd_builtin.h: New file. - Implementation of the _VecBuiltin simd_abi. - * include/experimental/bits/simd_converter.h: New file. Generic - simd conversions. - * include/experimental/bits/simd_detail.h: New file. Internal - macros for the simd implementation. - * include/experimental/bits/simd_fixed_size.h: New file. Simd - fixed_size ABI specific implementations. - * include/experimental/bits/simd_math.h: New file. Math - overloads for simd. - * include/experimental/bits/simd_neon.h: New file. Simd NEON - specific implementations. - * include/experimental/bits/simd_ppc.h: New file. Implement bit - shifts to avoid invalid results for integral types smaller than - int. - * include/experimental/bits/simd_scalar.h: New file. Simd scalar - ABI specific implementations. - * include/experimental/bits/simd_x86.h: New file. Simd x86 - specific implementations. - * include/experimental/bits/simd_x86_conversions.h: New file. - x86 specific conversion optimizations. The conversion patterns - work around missing conversion patterns in the compiler and - should be removed as soon as PR85048 is resolved. - * testsuite/experimental/simd/standard_abi_usable.cc: New file. - Test that all (not all fixed_size, though) standard simd and - simd_mask types are usable. - * testsuite/experimental/simd/standard_abi_usable_2.cc: New - file. As above but with -ffast-math. - * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests - from the standard test loop. Instead use - check_vect_support_and_set_flags to build simd tests with the - relevant machine flags. - -2021-01-27 Jonathan Wakely - - PR libstdc++/66414 - * include/bits/string_view.tcc - (basic_string_view::find(const CharT*, size_type, size_type)): - Optimize. - -2021-01-27 Paul Fee - - * include/bits/basic_string.h (basic_string::contains): New - member functions. - * include/std/string_view (basic_string_view::contains): - Likewise. - * include/std/version (__cpp_lib_string_contains): Define. - * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc: - Remove trailing whitespace. - * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test. - * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test. - * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test. - * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test. - -2021-01-21 Jonathan Wakely - - * src/c++17/Makefile.in: Regenerate. - -2021-01-20 David Edelsohn - - * config/os/aix/ctype_inline.h (bool ctype:: is): Cast - _OBJ_DATA subscript to unsigned char. Add _THREAD_SAFE access to - __lc_type. - (const char* ctype:: is): Same. - -2021-01-18 Jonathan Wakely - - PR libstdc++/98725 - * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to - write to a wide character stream if wide character support is - disabled in the library. - -2021-01-18 Jonathan Wakely - - * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use - stringbuf not wstringbuf. - -2021-01-18 Jakub Jelinek - - PR debug/98708 - * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s): - Compile with -gno-as-loc-support. - * src/c++11/Makefile.in: Regenerated. - -2021-01-16 H.J. Lu - - * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: - Add -fcf-protection=none to -march=i486. - -2021-01-14 François Dumont - - * testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11 - compliant. - -2021-01-14 Alexandre Oliva - - * testsuite/30_threads/future/members/poll.cc: Calibrate - iteration count. - -2021-01-14 François Dumont - - PR libstdc++/98466 - * include/bits/hashtable_policy.h (_Node_iterator_base()): Set _M_cur to nullptr. - (_Node_iterator()): Make default. - (_Node_const_iterator()): Make default. - * include/debug/macros.h (__glibcxx_check_erae_range_after): Add _M_singular - iterator checks. - * include/debug/safe_iterator.h - (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Accept if both iterator are value initialized. - * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): - Likewise. - * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): Add - _M_singular checks on input iterators. - * src/c++11/debug.cc (_Safe_iterator_base::_M_can_compare): Remove _M_singular - checks. - * testsuite/23_containers/deque/debug/98466.cc: New test. - * testsuite/23_containers/unordered_map/debug/98466.cc: New test. - -2021-01-14 Jonathan Wakely - - PR libstdc++/98471 - * include/bits/fs_path.h (__throw_conversion_error): New - function to throw or abort on character conversion errors. - (__wstr_from_utf8): Move definition after filesystem_error has - been defined. Use __throw_conversion_error. - (path::_S_convert<_EcharT>): Use __throw_conversion_error. - (path::_S_str_convert<_CharT, _Traits, _Allocator>): Likewise. - (path::u8string): Likewise. - -2021-01-14 Jonathan Wakely - - * include/std/barrier: Update copyright years. Fix whitespace. - * include/std/version: Fix whitespace. - * testsuite/30_threads/barrier/1.cc: Update copyright years. - * testsuite/30_threads/barrier/2.cc: Likewise. - * testsuite/30_threads/barrier/arrive.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. - * testsuite/30_threads/barrier/completion.cc: Likewise. - -2021-01-13 Jonathan Wakely - - * doc/doxygen/user.cfg.in (INPUT): Remove include/debug/array. - -2021-01-10 David Edelsohn - - PR libstdc++/98613 - * testsuite/ext/vstring/cons/moveable.cc: Suppress false positive - warning. - * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Same. - -2021-01-08 Olivier Hainque - - * testsuite/20_util/bind/ref_neg.cc: Tweak the - dg-prune-output regex for out-of-build-tree contexts. - -2021-01-07 Thomas Rodgers - - * doc/doxygen/user.cfg.in: Add new header. - * include/Makefile.am (std_headers): likewise. - * include/Makefile.in: Regenerate. - * include/precompiled/stdc++.h: Add new header. - * include/std/barrier: New file. - * include/std/version: Add __cpp_lib_barrier feature test macro. - * testsuite/30_threads/barrier/1.cc: New test. - * testsuite/30_threads/barrier/2.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. - * testsuite/30_threads/barrier/arrive.cc: Likewise. - * testsuite/30_threads/barrier/completion.cc: Likewise. - -2021-01-07 Patrick Palka - - PR libstdc++/98384 - * testsuite/20_util/to_chars/long_double.cc: Use nexttowardl - instead of the non-standard nextupl and nextdownl. - -2021-01-05 Samuel Thibault - - * configure: Re-generate. - -2021-01-05 Ed Smith-Rowland <3dw4rd@verizon.net> - - * include/precompiled/stdc++.h: Add to C++20 section. - -2021-01-01 Jakub Jelinek - - * ChangeLog-2020: Rotate ChangeLog. New file. - -Copyright (C) 2021 Free Software Foundation, Inc. +Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright -- cgit v1.1